aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/rep/ExportPatientGen.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/fakes/entities/rep/ExportPatientGen.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/rep/ExportPatientGen.scala55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/rep/ExportPatientGen.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/rep/ExportPatientGen.scala
new file mode 100644
index 0000000..4a4164a
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/rep/ExportPatientGen.scala
@@ -0,0 +1,55 @@
+package xyz.driver.pdsuidomain.fakes.entities.rep
+
+import xyz.driver.core.generators._
+import xyz.driver.pdsuicommon.domain.{LongId, UuidId}
+import xyz.driver.pdsuidomain.entities.{Document, ExtractedData, Label, RecordRequestId}
+import xyz.driver.pdsuidomain.entities.export.patient.{
+ExportPatientLabel,
+ExportPatientLabelEvidence,
+ExportPatientLabelEvidenceDocument,
+ExportPatientWithLabels
+}
+import xyz.driver.pdsuidomain.fakes.entities.common.{nextLocalDate, nextLongId}
+
+object ExportPatientGen {
+ private val maxItemsInCollectionNumber = 3
+
+ def nextExportPatientLabelEvidenceDocument(documentId: LongId[Document]): ExportPatientLabelEvidenceDocument = {
+ ExportPatientLabelEvidenceDocument(
+ documentId = documentId,
+ requestId = RecordRequestId(nextUuid()),
+ documentType = nextString(),
+ providerType = nextString(),
+ date = nextLocalDate
+ )
+ }
+
+ def nextExportPatientLabelEvidence(documentId: LongId[Document]): ExportPatientLabelEvidence = {
+ ExportPatientLabelEvidence(
+ id = nextLongId[ExtractedData],
+ value = Common.nextFuzzyValue(),
+ evidenceText = nextString(),
+ document = nextExportPatientLabelEvidenceDocument(documentId)
+ )
+ }
+
+ def nextExportPatientLabel(documentId: LongId[Document]): ExportPatientLabel = {
+ ExportPatientLabel(
+ id = nextLongId[Label],
+ evidences = List.fill(
+ nextInt(maxItemsInCollectionNumber, minValue = 0)
+ )(nextExportPatientLabelEvidence(documentId))
+ )
+ }
+
+ def nextExportPatientWithLabels(documentId: LongId[Document]): ExportPatientWithLabels = {
+ ExportPatientWithLabels(
+ patientId = UuidId[xyz.driver.pdsuidomain.entities.Patient](nextUuid()),
+ labelVersion = scala.util.Random.nextLong(),
+ labels = List.fill(
+ nextInt(maxItemsInCollectionNumber, minValue = 0)
+ )(nextExportPatientLabel(documentId))
+ )
+ }
+
+}