aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/entities
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-06-27 17:13:02 -0700
committervlad <vlad@driver.xyz>2017-06-27 17:13:02 -0700
commit5832f63b84d7388441d1200f2442dc1e9de0225c (patch)
tree32f63acdc920c14effc3d0d2822c05c125ad49e4 /src/main/scala/xyz/driver/pdsuidomain/entities
parent9dd50590d4c8f8b9442d7c21ddd1def9dd453d5e (diff)
downloadrest-query-5832f63b84d7388441d1200f2442dc1e9de0225c.tar.gz
rest-query-5832f63b84d7388441d1200f2442dc1e9de0225c.tar.bz2
rest-query-5832f63b84d7388441d1200f2442dc1e9de0225c.zip
All PDS UI domain models, API case classes, service traits and necessary utils moved to pdsui-commonv0.1.11
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/entities')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Arm.scala10
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala30
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala22
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/PatientHypothesis.scala10
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/PatientLabel.scala14
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/RawPatientLabel.scala27
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/ScrapedTrial.scala105
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabel.scala28
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabelEvidence.scala32
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabelEvidenceDocument.scala30
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientWithLabels.scala25
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrial.scala27
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialArm.scala15
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala32
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala56
15 files changed, 161 insertions, 302 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Arm.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Arm.scala
index 70b84ff..2190b8d 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Arm.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Arm.scala
@@ -5,11 +5,11 @@ import java.time.LocalDateTime
import xyz.driver.pdsuicommon.domain.{LongId, StringId}
import xyz.driver.pdsuicommon.logging._
-case class Arm(id: LongId[Arm],
- name: String,
- originalName: String,
- trialId: StringId[Trial],
- deleted: Option[LocalDateTime] = None)
+final case class Arm(id: LongId[Arm],
+ name: String,
+ originalName: String,
+ trialId: StringId[Trial],
+ deleted: Option[LocalDateTime] = None)
object Arm {
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala
index 19c0021..5af00bc 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala
@@ -34,7 +34,7 @@ object DocumentType {
object Document {
- case class Meta(predicted: Option[Boolean], startPage: Double, endPage: Double) {
+ final case class Meta(predicted: Option[Boolean], startPage: Double, endPage: Double) {
/**
* Return a regular meta: this meta is considered as not predicted
@@ -121,20 +121,20 @@ object Document {
}
@JsonIgnoreProperties(value = Array("valid"))
-case class Document(id: LongId[Document] = LongId(0L),
- status: Document.Status,
- previousStatus: Option[Document.Status],
- assignee: Option[LongId[User]],
- previousAssignee: Option[LongId[User]],
- recordId: LongId[MedicalRecord],
- physician: Option[String],
- typeId: Option[LongId[DocumentType]], // not null
- providerName: Option[String], // not null
- providerTypeId: Option[LongId[ProviderType]], // not null
- meta: Option[TextJson[Meta]], // not null
- startDate: Option[LocalDate], // not null
- endDate: Option[LocalDate],
- lastUpdate: LocalDateTime) {
+final case class Document(id: LongId[Document] = LongId(0L),
+ status: Document.Status,
+ previousStatus: Option[Document.Status],
+ assignee: Option[LongId[User]],
+ previousAssignee: Option[LongId[User]],
+ recordId: LongId[MedicalRecord],
+ physician: Option[String],
+ typeId: Option[LongId[DocumentType]], // not null
+ providerName: Option[String], // not null
+ providerTypeId: Option[LongId[ProviderType]], // not null
+ meta: Option[TextJson[Meta]], // not null
+ startDate: Option[LocalDate], // not null
+ endDate: Option[LocalDate],
+ lastUpdate: LocalDateTime) {
import Document.Status._
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
index bc80ce3..93262a4 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
@@ -50,17 +50,17 @@ object Patient {
}
}
-case class Patient(id: UuidId[Patient],
- status: Patient.Status,
- name: String,
- dob: LocalDate,
- assignee: Option[LongId[User]],
- previousStatus: Option[Patient.Status],
- previousAssignee: Option[LongId[User]],
- isUpdateRequired: Boolean,
- condition: String,
- orderId: PatientOrderId,
- lastUpdate: LocalDateTime) {
+final case class Patient(id: UuidId[Patient],
+ status: Patient.Status,
+ name: String,
+ dob: LocalDate,
+ assignee: Option[LongId[User]],
+ previousStatus: Option[Patient.Status],
+ previousAssignee: Option[LongId[User]],
+ isUpdateRequired: Boolean,
+ condition: String,
+ orderId: PatientOrderId,
+ lastUpdate: LocalDateTime) {
import Patient.Status._
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientHypothesis.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientHypothesis.scala
index 146b1c3..23bb546 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientHypothesis.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientHypothesis.scala
@@ -11,8 +11,8 @@ object PatientHypothesis {
}
}
-case class PatientHypothesis(id: UuidId[PatientHypothesis],
- patientId: UuidId[Patient],
- hypothesisId: UuidId[Hypothesis],
- rationale: Option[String],
- matchedTrials: Long)
+final case class PatientHypothesis(id: UuidId[PatientHypothesis],
+ patientId: UuidId[Patient],
+ hypothesisId: UuidId[Hypothesis],
+ rationale: Option[String],
+ matchedTrials: Long)
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientLabel.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientLabel.scala
index 63d38f8..633a347 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientLabel.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientLabel.scala
@@ -29,10 +29,10 @@ object PatientLabelEvidence {
}
}
-case class PatientLabelEvidence(id: LongId[PatientLabelEvidence],
- patientLabelId: LongId[PatientLabel],
- value: FuzzyValue,
- evidenceText: String,
- reportId: Option[UuidId[DirectReport]],
- documentId: Option[LongId[Document]],
- evidenceId: Option[LongId[ExtractedData]])
+final case class PatientLabelEvidence(id: LongId[PatientLabelEvidence],
+ patientLabelId: LongId[PatientLabel],
+ value: FuzzyValue,
+ evidenceText: String,
+ reportId: Option[UuidId[DirectReport]],
+ documentId: Option[LongId[Document]],
+ evidenceId: Option[LongId[ExtractedData]])
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/RawPatientLabel.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/RawPatientLabel.scala
index 052b2fa..e7956a8 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/RawPatientLabel.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/RawPatientLabel.scala
@@ -5,19 +5,19 @@ import java.time.LocalDate
import xyz.driver.pdsuicommon.domain.{FuzzyValue, LongId, UuidId}
import xyz.driver.pdsuicommon.logging._
-case class RawPatientLabel(patientId: UuidId[Patient],
- labelId: LongId[Label],
- label: String,
- value: FuzzyValue,
- evidenceId: LongId[ExtractedData],
- evidenceText: String,
- disease: String,
- documentId: LongId[Document],
- requestId: RecordRequestId,
- documentType: String,
- providerType: String,
- startDate: LocalDate,
- endDate: Option[LocalDate])
+final case class RawPatientLabel(patientId: UuidId[Patient],
+ labelId: LongId[Label],
+ label: String,
+ value: FuzzyValue,
+ evidenceId: LongId[ExtractedData],
+ evidenceText: String,
+ disease: String,
+ documentId: LongId[Document],
+ requestId: RecordRequestId,
+ documentType: String,
+ providerType: String,
+ startDate: LocalDate,
+ endDate: Option[LocalDate])
object RawPatientLabel {
@@ -29,5 +29,4 @@ object RawPatientLabel {
phi"documentType=${Unsafe(documentType)}, providerType=${Unsafe(providerType)}, " +
phi"startDate=$startDate, endDate=$endDate)"
}
-
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/ScrapedTrial.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/ScrapedTrial.scala
new file mode 100644
index 0000000..40e84c9
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/ScrapedTrial.scala
@@ -0,0 +1,105 @@
+package xyz.driver.pdsuidomain.entities
+
+import java.time.LocalDateTime
+import java.util.UUID
+
+import xyz.driver.pdsuicommon.logging._
+import xyz.driver.pdsuicommon.domain.UuidId
+
+final case class ScrapedStudyDesign(value: String)
+
+final case class ScrapedOverall(affiliation: String,
+ status: String,
+ facilityName: Option[String],
+ firstName: Option[String],
+ lastName: Option[String],
+ phone: Option[String],
+ phoneExt: Option[String],
+ email: Option[String],
+ isBackup: Boolean)
+
+final case class ScrapedLocationContact(firstName: Option[String],
+ lastName: Option[String],
+ phone: Option[String],
+ phoneExt: Option[String],
+ email: Option[String],
+ isBackup: Boolean)
+
+final case class ScrapedLocation(id: UuidId[ScrapedLocation],
+ createdAt: LocalDateTime,
+ facilityName: Option[String],
+ city: Option[String],
+ state: Option[String],
+ zip: Option[String],
+ country: Option[String],
+ latitude: Option[Double],
+ longitude: Option[Double],
+ preferredName: Option[String],
+ partnershipStatus: Option[String],
+ lastReviewed: LocalDateTime,
+ contacts: Set[ScrapedLocationContact])
+
+final case class ScrapedInterventionType(value: String)
+
+final case class ScrapedIntervention(name: String,
+ kind: ScrapedInterventionType,
+ description: Option[String],
+ isSynonym: Boolean)
+
+object ScrapedIntervention {
+
+ implicit def toPhiString(x: ScrapedIntervention): PhiString = phi"ScrapedIntervention(${Unsafe(x.name)})"
+}
+
+final case class ScrapedArm(name: String,
+ kind: Option[String],
+ interventions: Set[ScrapedIntervention])
+
+object ScrapedArm {
+
+ implicit def toPhiString(x: ScrapedArm): PhiString = {
+ import x._
+ phi"ScrapedArm(name=${Unsafe(name)}, inverventions=$interventions)"
+ }
+}
+
+final case class ScrapedTrialChecksum(eligibilityCriteria: String,
+ briefSummary: String,
+ detailedDescription: String,
+ armDescription: String)
+
+object ScrapedTrialChecksum {
+
+ implicit def toPhiString(x: ScrapedTrialChecksum): PhiString = {
+ import x._
+ phi"ScrapedTrialChecksum(eligibilityCriteria=${Unsafe(eligibilityCriteria)}, briefSummary=${Unsafe(briefSummary)}, " +
+ phi"detailedDescription=${Unsafe(detailedDescription)}, armDescription=${Unsafe(armDescription)}"
+ }
+}
+
+object ScrapedTrial {
+
+ implicit def toPhiString(x: ScrapedTrial): PhiString = {
+ import x._
+ phi"ScrapedTrial(rawId=$rawId, nctId=${Unsafe(nctId)}, " +
+ phi"location.size=${Unsafe(locations.size)}, arms=$arms, checksum=$checksum)"
+ }
+}
+
+final case class ScrapedTrial(rawId: UuidId[ScrapedTrial],
+ createdAt: LocalDateTime,
+ disease: String,
+ nctId: String,
+ nctUuid: UUID,
+ title: Option[String],
+ startDate: Option[LocalDateTime],
+ phase: String,
+ studyDesign: Option[ScrapedStudyDesign],
+ overall: Set[ScrapedOverall],
+ locations: Set[ScrapedLocation],
+ // // see ClinicalTrialRaw
+ // trialHtml: String,
+ // eligibilityText: String,
+ lastReviewed: LocalDateTime,
+ arms: Set[ScrapedArm],
+ checksum: ScrapedTrialChecksum)
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabel.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabel.scala
deleted file mode 100644
index 3b7a6ad..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabel.scala
+++ /dev/null
@@ -1,28 +0,0 @@
-package xyz.driver.pdsuidomain.entities.export.patient
-
-import xyz.driver.pdsuicommon.domain.LongId
-import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuidomain.entities.{Label, RawPatientLabel}
-
-case class ExportPatientLabel(id: LongId[Label], name: String, evidences: List[ExportPatientLabelEvidence])
-
-object ExportPatientLabel extends PhiLogging {
-
- implicit def toPhiString(x: ExportPatientLabel): PhiString = {
- import x._
- phi"ExportPatientLabel(id=$id, evidences=$evidences)"
- }
-
- def fromRaw(labelId: LongId[Label], rawPatientLabels: List[RawPatientLabel]): ExportPatientLabel = {
- val firstLabel = rawPatientLabels.headOption
- if (firstLabel.isEmpty) {
- logger.warn(phi"rawPatientLabels is empty, labelId: $labelId")
- }
-
- ExportPatientLabel(
- id = labelId,
- name = firstLabel.map(_.label).getOrElse(""),
- evidences = rawPatientLabels.map(ExportPatientLabelEvidence.fromRaw)
- )
- }
-}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabelEvidence.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabelEvidence.scala
deleted file mode 100644
index ff0fb6c..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabelEvidence.scala
+++ /dev/null
@@ -1,32 +0,0 @@
-package xyz.driver.pdsuidomain.entities.export.patient
-
-import xyz.driver.pdsuicommon.domain.{FuzzyValue, LongId}
-import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuidomain.entities.{ExtractedData, RawPatientLabel}
-
-case class ExportPatientLabelEvidence(id: LongId[ExtractedData],
- value: FuzzyValue,
- evidenceText: String,
- document: ExportPatientLabelEvidenceDocument)
-
-object ExportPatientLabelEvidence {
-
- implicit def toPhiString(x: ExportPatientLabelEvidence): PhiString = {
- import x._
- phi"ExportPatientLabelEvidence(id=${Unsafe(id)}, value=$value, " +
- phi"evidenceText=${Unsafe(evidenceText)}, document=$document)"
- }
-
- def fromRaw(x: RawPatientLabel) = ExportPatientLabelEvidence(
- id = x.evidenceId,
- value = x.value,
- evidenceText = x.evidenceText,
- document = ExportPatientLabelEvidenceDocument(
- x.documentId,
- x.requestId,
- x.documentType,
- x.providerType,
- x.startDate
- )
- )
-}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabelEvidenceDocument.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabelEvidenceDocument.scala
deleted file mode 100644
index 978c4b8..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientLabelEvidenceDocument.scala
+++ /dev/null
@@ -1,30 +0,0 @@
-package xyz.driver.pdsuidomain.entities.export.patient
-
-import java.time.LocalDate
-
-import xyz.driver.pdsuicommon.domain.LongId
-import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuidomain.entities.{Document, RawPatientLabel, RecordRequestId}
-
-case class ExportPatientLabelEvidenceDocument(documentId: LongId[Document],
- requestId: RecordRequestId,
- documentType: String,
- providerType: String,
- date: LocalDate)
-
-object ExportPatientLabelEvidenceDocument extends PhiLogging {
-
- implicit def toPhiString(x: ExportPatientLabelEvidenceDocument): PhiString = {
- import x._
- phi"ExportPatientLabelEvidenceDocument(documentId=$documentId, requestId=$requestId, " +
- phi"documentType=${Unsafe(documentType)}, providerType=${Unsafe(providerType)}, date=$date)"
- }
-
- def fromRaw(x: RawPatientLabel) = ExportPatientLabelEvidenceDocument(
- documentId = x.documentId,
- requestId = x.requestId,
- documentType = x.documentType,
- providerType = x.providerType,
- date = x.startDate
- )
-}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientWithLabels.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientWithLabels.scala
deleted file mode 100644
index 718255b..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/patient/ExportPatientWithLabels.scala
+++ /dev/null
@@ -1,25 +0,0 @@
-package xyz.driver.pdsuidomain.entities.export.patient
-
-import xyz.driver.pdsuicommon.domain.UuidId
-import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuidomain.entities.{Patient, RawPatientLabel}
-
-import scala.collection.breakOut
-
-case class ExportPatientWithLabels(patientId: UuidId[Patient], labelVersion: Long, labels: List[ExportPatientLabel])
-
-object ExportPatientWithLabels {
-
- implicit def toPhiString(x: ExportPatientWithLabels): PhiString = {
- import x._
- phi"ExportPatientWithLabels(patientId=$patientId, version=${Unsafe(labelVersion)}, labels=$labels)"
- }
-
- def fromRaw(patientId: UuidId[Patient], rawPatientRefs: List[RawPatientLabel]) = ExportPatientWithLabels(
- patientId = patientId,
- labelVersion = 1L, // TODO It is needed to replace this mock label version.
- labels = rawPatientRefs
- .groupBy(_.labelId)
- .map(Function.tupled(ExportPatientLabel.fromRaw))(breakOut)
- )
-}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrial.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrial.scala
deleted file mode 100644
index a3a0e90..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrial.scala
+++ /dev/null
@@ -1,27 +0,0 @@
-package xyz.driver.pdsuidomain.entities.export.trial
-
-import java.time.LocalDateTime
-
-import xyz.driver.pdsuicommon.domain.{StringId, UuidId}
-import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuidomain.entities.Trial
-
-case class ExportTrial(nctId: StringId[Trial],
- trialId: UuidId[Trial],
- condition: Trial.Condition,
- lastReviewed: LocalDateTime)
-
-object ExportTrial {
-
- implicit def toPhiString(x: ExportTrial): PhiString = {
- import x._
- phi"ExportTrial(nctId=$nctId, trialId=$trialId, condition=${Unsafe(condition)}, lastReviewed=$lastReviewed)"
- }
-
- def fromDomain(x: Trial) = ExportTrial(
- nctId = x.id,
- trialId = x.externalId,
- condition = x.condition,
- lastReviewed = x.lastUpdate
- )
-}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialArm.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialArm.scala
deleted file mode 100644
index abdade4..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialArm.scala
+++ /dev/null
@@ -1,15 +0,0 @@
-package xyz.driver.pdsuidomain.entities.export.trial
-
-import xyz.driver.pdsuicommon.domain.LongId
-import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuidomain.entities.Arm
-
-case class ExportTrialArm(armId: LongId[Arm], armName: String)
-
-object ExportTrialArm {
-
- implicit def toPhiString(x: ExportTrialArm): PhiString = {
- import x._
- phi"ExportTrialArm(armId=$armId, armName=${Unsafe(armName)})"
- }
-}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala
deleted file mode 100644
index 1dccaa5..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala
+++ /dev/null
@@ -1,32 +0,0 @@
-package xyz.driver.pdsuidomain.entities.export.trial
-
-import xyz.driver.pdsuicommon.domain.LongId
-import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuidomain.entities.{Arm, Criterion, Label, RawTrialLabel}
-
-case class ExportTrialLabelCriterion(criterionId: LongId[Criterion],
- value: Option[Boolean],
- labelId: LongId[Label],
- armIds: Set[LongId[Arm]],
- criteria: String,
- isCompound: Boolean,
- isDefining: Boolean)
-
-object ExportTrialLabelCriterion {
-
- implicit def toPhiString(x: ExportTrialLabelCriterion): PhiString = {
- import x._
- phi"TrialLabelCriterion(criterionId=$criterionId, value=$value, labelId=$labelId, " +
- phi"criteria=${Unsafe(criteria)}, isCompound=$isCompound, isDefining=$isDefining)"
- }
-
- def fromRaw(x: RawTrialLabel, armIds: Set[LongId[Arm]]) = ExportTrialLabelCriterion(
- criterionId = x.criterionId,
- value = x.value,
- labelId = x.labelId,
- armIds = armIds,
- criteria = x.criteria,
- isCompound = x.isCompound,
- isDefining = x.isDefining
- )
-}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala
deleted file mode 100644
index 2580e54..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala
+++ /dev/null
@@ -1,56 +0,0 @@
-package xyz.driver.pdsuidomain.entities.export.trial
-
-import java.time.LocalDateTime
-
-import xyz.driver.pdsuicommon.domain.{StringId, UuidId}
-import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuidomain.entities.{RawTrialLabel, Trial}
-
-import scala.collection.breakOut
-
-case class ExportTrialWithLabels(nctId: StringId[Trial],
- trialId: UuidId[Trial],
- condition: String,
- lastReviewed: LocalDateTime,
- labelVersion: Long,
- arms: List[ExportTrialArm],
- criteria: List[ExportTrialLabelCriterion])
-
-object ExportTrialWithLabels {
-
- implicit def toPhiString(x: ExportTrialWithLabels): PhiString = {
- import x._
- phi"TrialWithLabels(nctId=$nctId, trialId=$trialId, condition=${Unsafe(condition)}, " +
- phi"lastReviewed=$lastReviewed, labelVersion=${Unsafe(labelVersion)}, arms=$arms, criteria=$criteria)"
- }
-
- def fromRaw(rawData: List[RawTrialLabel]): ExportTrialWithLabels = {
- val trials: Set[StringId[Trial]] = rawData.map(_.nctId)(breakOut)
-
- assert(trials.size == 1, "There are more than one trials in the rawData")
- val trial = rawData.head
-
- ExportTrialWithLabels(
- nctId = trial.nctId,
- trialId = trial.trialId,
- condition = trial.condition,
- lastReviewed = trial.lastReviewed,
- labelVersion = 1, // TODO It is needed to replace this mock label version.
- arms = rawData
- .groupBy(_.armId)
- .map {
- case (armId, rawTrials) =>
- ExportTrialArm(armId, rawTrials.head.armName)
- }(breakOut),
- criteria = rawData
- .groupBy { x =>
- (x.criterionId, x.labelId)
- }
- .map {
- case (_, rawTrialLabels) =>
- val armIds = rawTrialLabels.map(_.criterionArmId).toSet
- ExportTrialLabelCriterion.fromRaw(rawTrialLabels.head, armIds)
- }(breakOut)
- )
- }
-}