aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala322
1 files changed, 0 insertions, 322 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala
deleted file mode 100644
index d3d76b8..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala
+++ /dev/null
@@ -1,322 +0,0 @@
-package xyz.driver.pdsuidomain.fakes.entities
-
-import java.time.LocalDate
-
-import xyz.driver.core.auth.User
-import xyz.driver.core.generators
-import xyz.driver.core.generators._
-import xyz.driver.entities.assays.PatientCase
-import xyz.driver.entities.clinic.ClinicalRecord
-import xyz.driver.entities.labels.{Label, LabelCategory, LabelValue}
-import xyz.driver.pdsuicommon.domain.{LongId, TextJson}
-import xyz.driver.pdsuidomain.ListResponse
-import xyz.driver.pdsuidomain.entities.ExtractedData.Meta
-import xyz.driver.pdsuidomain.entities._
-import xyz.driver.pdsuidomain.fakes.entities.common._
-import xyz.driver.pdsuidomain.services.ExtractedDataService.RichExtractedData
-
-object recordprocessing {
-
- private val maxItemsInCollectionNumber: Int = 50
- private val maxPageNumber = 100
- private val maxIndexNumber = 100
- private val maxOffsetNumber = 10
-
- implicit private class LocalDateOrdering(localData: LocalDate) extends Ordered[LocalDate] {
- override def compare(that: LocalDate): Int = {
- this.localData.compareTo(that)
- }
- }
-
- implicit private class TextLayerPositionOrdering(textLayerPosition: ExtractedData.Meta.TextLayerPosition)
- extends Ordered[ExtractedData.Meta.TextLayerPosition] {
- override def compare(that: Meta.TextLayerPosition): Int = {
- if (this.textLayerPosition.page < that.page) -1
- else if (this.textLayerPosition.page > that.page) 1
- else if (this.textLayerPosition.index < that.index) -1
- else if (this.textLayerPosition.index > that.index) 1
- else if (this.textLayerPosition.offset < that.offset) -1
- else if (this.textLayerPosition.offset > that.offset) 1
- else 0
- }
- }
-
- private def nextDates(): (Option[LocalDate], Option[LocalDate]) =
- genBoundedRangeOption[LocalDate](nextLocalDate, nextLocalDate)
-
- private val medicalRecordMeta: Set[() => MedicalRecord.Meta] = {
- Set(
- () => nextMedicalRecordMetaReorder(),
- () => nextMedicalRecordMetaDuplicate(),
- () => nextMedicalRecordMetaRotation()
- )
- }
-
- def nextMedicalRecordMeta(count: Int): List[MedicalRecord.Meta] =
- List.fill(count)(nextMedicalRecordMeta())
-
- def nextMedicalRecordMetaJson(): TextJson[List[MedicalRecord.Meta]] =
- TextJson(nextMedicalRecordMeta(nextInt(maxItemsInCollectionNumber)))
-
- private def nextDocumentList(count: Int): List[Document] =
- List.fill(count)(nextDocument())
-
- def nextDocumentList(recordId: LongId[MedicalRecord]): TextJson[List[Document]] = {
- val documents = nextDocumentList(
- nextInt(maxItemsInCollectionNumber)
- )
- TextJson(documents.map(_.copy(recordId = recordId)))
- }
-
- def nextMedicalRecordStatus(): MedicalRecord.Status =
- generators.oneOf[MedicalRecord.Status](MedicalRecord.Status.All)
-
- def nextMedicalRecordHistoryState(): MedicalRecordHistory.State =
- generators.oneOf[MedicalRecordHistory.State](MedicalRecordHistory.State.All)
-
- def nextMedicalRecordHistoryAction(): MedicalRecordHistory.Action =
- generators.oneOf[MedicalRecordHistory.Action](MedicalRecordHistory.Action.All)
-
- def nextMedicalRecordMetaReorder(): MedicalRecord.Meta.Reorder = {
- val itemsNumber = maxItemsInCollectionNumber
- val items = scala.util.Random.shuffle(Seq.tabulate(itemsNumber)(identity))
-
- MedicalRecord.Meta.Reorder(items)
- }
-
- def nextMedicalRecordMetaDuplicate(): MedicalRecord.Meta.Duplicate = {
- val startPageGen = nextInt(maxPageNumber)
- val endPageGen = nextInt(maxPageNumber, startPageGen)
-
- MedicalRecord.Meta.Duplicate(
- startPage = startPageGen.toDouble,
- endPage = endPageGen.toDouble,
- startOriginalPage = startPageGen.toDouble,
- endOriginalPage = nextOption(endPageGen.toDouble)
- )
- }
-
- def nextMedicalRecordMetaRotation(): MedicalRecord.Meta.Rotation = {
- val items = Array.tabulate(maxItemsInCollectionNumber)(index => nextString() -> index).toMap
-
- MedicalRecord.Meta.Rotation(items = items)
- }
-
- def nextMedicalRecordMeta(): MedicalRecord.Meta = generators.oneOf(medicalRecordMeta)()
-
- def nextMedicalRecord(): MedicalRecord = MedicalRecord(
- id = nextLongId[MedicalRecord],
- status = nextMedicalRecordStatus(),
- previousStatus = nextOption(generators.oneOf[MedicalRecord.Status](MedicalRecord.Status.AllPrevious)),
- assignee = nextOption(generators.nextId[User]),
- previousAssignee = nextOption(generators.nextId[User]),
- lastActiveUserId = nextOption(generators.nextId[User]),
- patientId = nextUuidId[Patient],
- requestId = generators.nextId[ClinicalRecord](),
- disease = generators.nextString(),
- caseId = nextOption(generators.nextId[PatientCase]()),
- physician = nextOption(generators.nextString()),
- meta = nextOption(nextMedicalRecordMetaJson()),
- lastUpdate = nextLocalDateTime,
- totalPages = nextInt(10)
- )
-
- def nextMedicalRecordHistory(): MedicalRecordHistory = MedicalRecordHistory(
- id = nextLongId[MedicalRecordHistory],
- executor = generators.nextId[User],
- recordId = nextLongId[MedicalRecord],
- state = nextMedicalRecordHistoryState(),
- action = nextMedicalRecordHistoryAction(),
- created = nextLocalDateTime
- )
-
- def nextMedicalRecordIssue(): MedicalRecordIssue = {
- val (startPage, endPage) = nextStartAndEndPagesOption
-
- MedicalRecordIssue(
- id = nextLongId[MedicalRecordIssue],
- userId = generators.nextId[User],
- recordId = nextLongId[MedicalRecord],
- startPage = startPage,
- endPage = endPage,
- lastUpdate = nextLocalDateTime,
- isDraft = nextBoolean(),
- text = nextString(),
- archiveRequired = nextBoolean()
- )
- }
-
- def nextDocumentStatus(): Document.Status = generators.oneOf[Document.Status](Document.Status.All)
-
- def nextDocumentRequiredType(): Document.RequiredType =
- generators.oneOf[Document.RequiredType](Document.RequiredType.All)
-
- def nextDocumentHistoryState(): DocumentHistory.State =
- generators.oneOf[DocumentHistory.State](DocumentHistory.State.All)
-
- def nextDocumentHistoryAction(): DocumentHistory.Action =
- generators.oneOf[DocumentHistory.Action](DocumentHistory.Action.All)
-
- def nextDocumentMeta(): Document.Meta = {
- val (startPage, endPage) = nextStartAndEndPages
- Document.Meta(startPage, endPage)
- }
-
- def nextDocumentMetaJson(): TextJson[Document.Meta] = nextTextJson(nextDocumentMeta())
-
- def nextDocument(): Document = {
- val (startDate, endDate) = nextDates()
-
- Document(
- id = nextLongId[Document],
- status = nextDocumentStatus(),
- previousStatus = nextOption(generators.oneOf[Document.Status](Document.Status.AllPrevious)),
- assignee = nextOption(generators.nextId[User]),
- previousAssignee = nextOption(generators.nextId[User]),
- lastActiveUserId = nextOption(generators.nextId[User]),
- recordId = nextLongId[MedicalRecord],
- physician = nextOption(nextString()),
- typeId = nextOption(nextLongId[DocumentType]),
- providerName = nextOption(nextString()),
- providerTypeId = nextOption(nextLongId[ProviderType]),
- requiredType = nextOption(nextDocumentRequiredType()),
- institutionName = nextOption(nextString()),
- meta = nextOption(nextDocumentMetaJson()),
- startDate = startDate,
- endDate = endDate,
- lastUpdate = nextLocalDateTime,
- labelVersion = generators.nextInt(100)
- )
- }
-
- def nextDocumentIssue(): DocumentIssue = {
- val (startPage, endPage) = nextStartAndEndPagesOption
- DocumentIssue(
- id = nextLongId[DocumentIssue],
- userId = generators.nextId[User],
- documentId = nextLongId[Document],
- startPage = startPage,
- endPage = endPage,
- lastUpdate = nextLocalDateTime,
- isDraft = nextBoolean(),
- text = nextString(),
- archiveRequired = nextBoolean()
- )
- }
-
- def nextDocumentHistory(): DocumentHistory = DocumentHistory(
- id = nextLongId[DocumentHistory],
- executor = generators.nextId[User],
- documentId = nextLongId[Document],
- state = nextDocumentHistoryState(),
- action = nextDocumentHistoryAction(),
- created = nextLocalDateTime
- )
-
- def nextExtractedDataMetaKeyword(): Meta.Keyword = {
- ExtractedData.Meta.Keyword(
- page = nextInt(maxPageNumber),
- pageRatio = nextOption(nextDouble()),
- index = nextInt(maxIndexNumber),
- sortIndex = nextString()
- )
- }
-
- def nextExtractedDataMetaTextLayerPosition(): Meta.TextLayerPosition = {
- ExtractedData.Meta.TextLayerPosition(
- page = nextInt(maxPageNumber),
- index = nextInt(maxIndexNumber),
- offset = nextInt(maxOffsetNumber)
- )
- }
-
- def nextExtractedDataMetaEvidence(): Meta.Evidence = {
- val (start, end) =
- genBoundedRange[ExtractedData.Meta.TextLayerPosition](
- nextExtractedDataMetaTextLayerPosition(),
- nextExtractedDataMetaTextLayerPosition()
- )
-
- ExtractedData.Meta.Evidence(
- pageRatio = nextDouble(),
- start = start,
- end = end
- )
- }
-
- def nextExtractedDataMeta(): Meta = {
- ExtractedData.Meta(
- nextOption(nextExtractedDataMetaKeyword()),
- nextOption(nextExtractedDataMetaEvidence())
- )
- }
-
- def nextExtractedDataMetaJson(): TextJson[Meta] =
- nextTextJson(nextExtractedDataMeta())
-
- def nextExtractedData(): ExtractedData = {
- ExtractedData(
- id = nextLongId[ExtractedData],
- documentId = nextLongId[Document],
- keywordId = nextOption(nextLongId[Keyword]),
- evidenceText = nextOption(nextString()),
- meta = nextOption(nextExtractedDataMetaJson())
- )
- }
-
- def nextExtractedDataLabel(): ExtractedDataLabel = {
- ExtractedDataLabel(
- id = nextLongId[ExtractedDataLabel],
- dataId = nextLongId[ExtractedData],
- labelId = nextOption(nextLongId[Label]),
- categoryId = nextOption(nextLongId[LabelCategory]),
- value = nextOption(generators.oneOf[LabelValue](LabelValue.Yes, LabelValue.No, LabelValue.Maybe))
- )
- }
-
- def nextRichExtractedData(): RichExtractedData = {
- val extractedData = nextExtractedData()
- RichExtractedData(
- extractedData = extractedData,
- labels = List.fill(
- nextInt(maxItemsInCollectionNumber)
- )(nextExtractedDataLabel())
- )
- }
-
- def nextMedicalRecordListResponse(): ListResponse[MedicalRecord] = {
- val xs: Seq[MedicalRecord] = Seq.fill(3)(nextMedicalRecord())
- nextListResponse(xs)
- }
-
- def nextMedicalRecordIssueListResponse(): ListResponse[MedicalRecordIssue] = {
- val xs: Seq[MedicalRecordIssue] = Seq.fill(3)(nextMedicalRecordIssue())
- nextListResponse(xs)
- }
-
- def nextMedicalRecordHistoryListResponse(): ListResponse[MedicalRecordHistory] = {
- val xs: Seq[MedicalRecordHistory] = Seq.fill(3)(nextMedicalRecordHistory())
- nextListResponse(xs)
- }
-
- def nextDocumentListResponse(): ListResponse[Document] = {
- val xs: Seq[Document] = Seq.fill(3)(nextDocument())
- nextListResponse(xs)
- }
-
- def nextDocumentIssueListResponse(): ListResponse[DocumentIssue] = {
- val xs: Seq[DocumentIssue] = Seq.fill(3)(nextDocumentIssue())
- nextListResponse(xs)
- }
-
- def nextDocumentHistoryListResponse(): ListResponse[DocumentHistory] = {
- val xs: Seq[DocumentHistory] = Seq.fill(3)(nextDocumentHistory())
- nextListResponse(xs)
- }
-
- def nextRichExtractedDataListResponse(): ListResponse[RichExtractedData] = {
- val xs: Seq[RichExtractedData] = Seq.fill(3)(nextRichExtractedData())
- nextListResponse(xs)
- }
-
-}