package xyz.driver.pdsuidomain.fakes.entities import xyz.driver.core.generators import xyz.driver.entities.clinic.ClinicalRecord import xyz.driver.entities.labels.Label import xyz.driver.fakes import xyz.driver.pdsuidomain.entities.export.patient._ import xyz.driver.pdsuidomain.entities.export.trial._ import xyz.driver.pdsuidomain.entities._ object export { import common._ import xyz.driver.core.generators._ def nextExportTrialArm(): ExportTrialArm = ExportTrialArm(armId = nextLongId[EligibilityArm], armName = nextString(100), diseaseList = listOf(nextString(100))) def nextExportTrialLabelCriterion(): ExportTrialLabelCriterion = ExportTrialLabelCriterion( criterionId = nextLongId[Criterion], value = nextOption[Boolean](nextBoolean()), labelId = nextLongId[Label], armIds = setOf(nextLongId[EligibilityArm]), criteria = nextString(100), isCompound = nextBoolean(), isDefining = nextBoolean(), inclusion = nextOption(nextBoolean()) ) def nextExportTrialWithLabels(): ExportTrialWithLabels = ExportTrialWithLabels( nctId = nextStringId[Trial], trialId = nextUuidId[Trial], lastReviewed = nextLocalDateTime, labelVersion = nextInt(100).toLong, arms = listOf(nextExportTrialArm()), criteria = listOf(nextExportTrialLabelCriterion()) ) def nextExportPatientLabelEvidenceDocument(): ExportPatientLabelEvidenceDocument = { ExportPatientLabelEvidenceDocument( documentId = nextLongId[Document], requestId = generators.nextId[ClinicalRecord](), documentType = nextDocumentType(), providerType = nextProviderType(), date = nextLocalDate ) } def nextExportPatientLabelEvidence(): ExportPatientLabelEvidence = { ExportPatientLabelEvidence( id = nextLongId[ExtractedData], value = fakes.entities.labels.nextLabelValue(), evidenceText = nextString(), document = nextExportPatientLabelEvidenceDocument() ) } def nextExportPatientLabel(): ExportPatientLabel = { ExportPatientLabel( id = nextLongId[Label], evidences = List.fill(nextInt(10))(nextExportPatientLabelEvidence()) ) } def nextExportPatientWithLabels(): ExportPatientWithLabels = { ExportPatientWithLabels( patientId = nextUuidId[Patient], labelVersion = nextInt(Int.MaxValue).toLong, labels = List.fill(nextInt(10))(nextExportPatientLabel()) ) } }