From eeeb6d90f1c6882f0b3d765022b114d97e4dba40 Mon Sep 17 00:00:00 2001 From: vlad Date: Mon, 9 Oct 2017 12:49:02 -0700 Subject: Getting rid of the FuzzyValues, Name as a string, and condition --- .../xyz/driver/pdsuidomain/entities/Patient.scala | 2 +- .../pdsuidomain/entities/RawTrialLabel.scala | 32 ------------------- .../xyz/driver/pdsuidomain/entities/Trial.scala | 23 ++------------ .../export/trial/ExportTrialLabelCriterion.scala | 12 +------- .../export/trial/ExportTrialWithLabels.scala | 36 ++-------------------- 5 files changed, 8 insertions(+), 97 deletions(-) delete mode 100644 src/main/scala/xyz/driver/pdsuidomain/entities/RawTrialLabel.scala (limited to 'src/main/scala/xyz/driver/pdsuidomain/entities') diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala index 193ef11..598b11e 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala @@ -61,7 +61,7 @@ final case class Patient(id: UuidId[Patient], previousAssignee: Option[StringId[User]], lastActiveUserId: Option[StringId[User]], isUpdateRequired: Boolean, - cancerType: CancerType, + disease: CancerType, orderId: PatientOrderId, lastUpdate: LocalDateTime) { diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/RawTrialLabel.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/RawTrialLabel.scala deleted file mode 100644 index bdbc4ea..0000000 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/RawTrialLabel.scala +++ /dev/null @@ -1,32 +0,0 @@ -package xyz.driver.pdsuidomain.entities - -import java.time.LocalDateTime - -import xyz.driver.entities.labels.Label -import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId} -import xyz.driver.pdsuicommon.logging._ - -final case class RawTrialLabel(nctId: StringId[Trial], - trialId: UuidId[Trial], - condition: String, - lastReviewed: LocalDateTime, - armName: String, - armId: LongId[Arm], - labelId: LongId[Label], - value: Option[Boolean], - criterionId: LongId[Criterion], - criteria: String, - criterionArmId: LongId[Arm], - isCompound: Boolean, - isDefining: Boolean) - -object RawTrialLabel { - - implicit def toPhiString(x: RawTrialLabel): PhiString = { - import x._ - phi"RawTrialLabel(nctId=$nctId, trialId=$trialId, condition=${Unsafe(condition)}, lastReviewed=$lastReviewed, " + - phi"armId=$armId, armName=${Unsafe(armName)}, labelId=$labelId, value=$value, " + - phi"criterionId=$criterionId, criteria=${Unsafe(criteria)}, criterionArmId=$criterionArmId, " + - phi"isCompound=$isCompound, isDefining=$isDefining)" - } -} diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala index db4def2..7584e9c 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala @@ -2,10 +2,11 @@ package xyz.driver.pdsuidomain.entities import java.time.LocalDateTime +import xyz.driver.entities.patient.CancerType import xyz.driver.pdsuicommon.domain.{LongId, StringId, User, UuidId} import xyz.driver.pdsuicommon.logging._ import xyz.driver.pdsuicommon.utils.Utils -import xyz.driver.pdsuidomain.entities.Trial.{Condition, Status} +import xyz.driver.pdsuidomain.entities.Trial.Status final case class StudyDesign(id: LongId[StudyDesign], name: String) @@ -58,24 +59,6 @@ object Trial { } final case class Locations(locations: List[String]) - - sealed trait Condition - - object Condition { - - case object Breast extends Condition - case object Lung extends Condition - case object Prostate extends Condition - - def fromString(condition: String): Option[Condition] = condition match { - case "Breast" => Some(Breast) - case "Lung" => Some(Lung) - case "Prostate" => Some(Prostate) - case _ => None - } - - val All: Set[Condition] = Set(Breast, Lung, Prostate) - } } final case class Trial(id: StringId[Trial], @@ -86,7 +69,7 @@ final case class Trial(id: StringId[Trial], previousAssignee: Option[StringId[User]], lastActiveUserId: Option[StringId[User]], lastUpdate: LocalDateTime, - condition: Condition, + disease: CancerType, phase: String, hypothesisId: Option[UuidId[Hypothesis]], studyDesignId: Option[LongId[StudyDesign]], 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 index 1f06e0d..385bbbe 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala @@ -3,7 +3,7 @@ package xyz.driver.pdsuidomain.entities.export.trial import xyz.driver.entities.labels.Label import xyz.driver.pdsuicommon.domain._ import xyz.driver.pdsuicommon.logging._ -import xyz.driver.pdsuidomain.entities.{Arm, Criterion, RawTrialLabel} +import xyz.driver.pdsuidomain.entities.{Arm, Criterion} final case class ExportTrialLabelCriterion(criterionId: LongId[Criterion], value: Option[Boolean], @@ -20,14 +20,4 @@ object ExportTrialLabelCriterion { 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 index cf55694..3a9434b 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala @@ -4,13 +4,11 @@ import java.time.LocalDateTime import xyz.driver.pdsuicommon.domain._ import xyz.driver.pdsuicommon.logging._ -import xyz.driver.pdsuidomain.entities.{RawTrialLabel, Trial} - -import scala.collection.breakOut +import xyz.driver.pdsuidomain.entities.Trial final case class ExportTrialWithLabels(nctId: StringId[Trial], trialId: UuidId[Trial], - condition: String, + disease: String, lastReviewed: LocalDateTime, labelVersion: Long, arms: List[ExportTrialArm], @@ -20,35 +18,7 @@ object ExportTrialWithLabels { implicit def toPhiString(x: ExportTrialWithLabels): PhiString = { import x._ - phi"TrialWithLabels(nctId=$nctId, trialId=$trialId, condition=${Unsafe(condition)}, " + + phi"TrialWithLabels(nctId=$nctId, trialId=$trialId, disease=${Unsafe(disease)}, " + 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 trial 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) - ) - } } -- cgit v1.2.3