diff options
author | Marvin Bertin <marvin.bertin@gmail.com> | 2017-10-03 13:09:49 -0700 |
---|---|---|
committer | Marvin Bertin <marvin.bertin@gmail.com> | 2017-10-03 13:09:49 -0700 |
commit | 98d6f3d136a16310300e23b12e6b730ac7ade6b6 (patch) | |
tree | 34ef97bc59f3c34d20a18cd65107655d319097fc /src/main/scala/xyz/driver/pdsuidomain/fakes/entities/eligibility.scala | |
parent | 1d0202a3964637ffb93180a1c89617633ab5ab18 (diff) | |
parent | 0653b90dddc294fddb0e81059aef00b202113d78 (diff) | |
download | rest-query-98d6f3d136a16310300e23b12e6b730ac7ade6b6.tar.gz rest-query-98d6f3d136a16310300e23b12e6b730ac7ade6b6.tar.bz2 rest-query-98d6f3d136a16310300e23b12e6b730ac7ade6b6.zip |
Merge branch 'add-slot-eligibility-arms' into trial-46-disease-entity
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/fakes/entities/eligibility.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/fakes/entities/eligibility.scala | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/eligibility.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/eligibility.scala new file mode 100644 index 0000000..5f3321c --- /dev/null +++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/eligibility.scala @@ -0,0 +1,72 @@ +package xyz.driver.pdsuidomain.fakes.entities + +import xyz.driver.core.generators +import xyz.driver.entities.clinic.{ClinicalRecord, TestOrder} +import xyz.driver.entities.patient.{CancerType, Patient} +import xyz.driver.entities.report.Report +import xyz.driver.fakes +import xyz.driver.pdsuidomain.entities.eligibility._ + +object eligibility { + import xyz.driver.core.generators._ + + def nextMolecularEvidenceDocument(): MolecularEvidenceDocument = + MolecularEvidenceDocument( + documentType = xyz.driver.pdsuidomain.fakes.entities.rep.DocumentGen.nextDocumentType(), + providerType = xyz.driver.pdsuidomain.fakes.entities.rep.MedicalRecordGen.nextProviderType(), + providerName = nextOption(nextString(100)), + date = nextOption(nextDate()), + reportId = nextId[Report](), + reportType = fakes.entities.assays.nextAssayType(), + isDriverDocument = nextBoolean() + ) + + def nextClinicalEvidenceDocument(): ClinicalEvidenceDocument = + ClinicalEvidenceDocument( + documentType = xyz.driver.pdsuidomain.fakes.entities.rep.DocumentGen.nextDocumentType(), + providerType = xyz.driver.pdsuidomain.fakes.entities.rep.MedicalRecordGen.nextProviderType(), + providerName = nextOption(nextString(100)), + date = nextOption(nextDate()), + documentId = nextId[ClinicalEvidenceDocument](), + requestId = nextId[ClinicalRecord](), + isDriverDocument = nextBoolean() + ) + + def nextEvidenceDocument(): EvidenceDocument = + oneOf[EvidenceDocument](nextMolecularEvidenceDocument(), + nextClinicalEvidenceDocument(), + nextClinicalEvidenceDocument()) // For more clinical documents + + def nextEvidence(): Evidence = + Evidence( + evidenceId = Option(nextId[Evidence]()), + evidenceText = nextString(100), + labelValue = xyz.driver.fakes.entities.labels.nextLabelValue(), + nextEvidenceDocument(), + isPrimaryValue = nextOption(nextBoolean()) + ) + + def nextLabelEvidence(): LabelEvidence = + LabelEvidence(label = fakes.entities.labels.nextLabel(), evidence = Seq.empty) + + def nextLabelMismatchRank(): LabelMismatchRank = + LabelMismatchRank( + label = fakes.entities.labels.nextLabel(), + score = nextInt(100), + trials = seqOf(xyz.driver.pdsuidomain.fakes.entities.export.nextExportTrialWithLabels()), + evidence = seqOf(nextEvidence()) + ) + + def nextMismatchRankedLabels(): MismatchRankedLabels = + MismatchRankedLabels(data = seqOf(nextLabelMismatchRank()), labelVersion = nextInt(100)) + + def nextMatchedPatient(): MatchedPatient = + MatchedPatient( + patientId = nextId[Patient](), + name = fakes.entities.common.nextFullName[Patient](), + birthDate = nextDate(), + orderId = nextId[TestOrder](), + disease = generators.oneOf[CancerType](CancerType.Breast, CancerType.Lung, CancerType.Prostate), + patientDataStatus = fakes.entities.process.nextProcessStepExecutionStatus() + ) +} |