diff options
author | Kseniya Tomskikh <ktomskih@datamonsters.co> | 2018-01-18 22:14:22 +0200 |
---|---|---|
committer | Kseniya Tomskikh <ktomskih@datamonsters.co> | 2018-01-18 22:14:22 +0200 |
commit | e6efab471cb30df21d07883b56af6e94e0507849 (patch) | |
tree | f4e5a107db79fec4a3dca724aa01b2f500f8f320 /src/main/scala/xyz/driver/pdsuidomain/entities | |
parent | af10bb0a3131ebad9050f1766dadfa3954268f2c (diff) | |
parent | 57b1a08669ddb3fb54cf79a2f42cb473e0ced3f5 (diff) | |
download | rest-query-e6efab471cb30df21d07883b56af6e94e0507849.tar.gz rest-query-e6efab471cb30df21d07883b56af6e94e0507849.tar.bz2 rest-query-e6efab471cb30df21d07883b56af6e94e0507849.zip |
Merge branch 'master' into TRIAL-193v0.15.1.1
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/entities')
3 files changed, 46 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala index 193e8cb..e6d466a 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala @@ -2,7 +2,7 @@ package xyz.driver.pdsuidomain.entities import java.time.LocalDateTime -import xyz.driver.entities.labels.LabelValue +import xyz.driver.entities.labels.{Label, LabelValue} import xyz.driver.pdsuicommon.domain.{LongId, StringId} import xyz.driver.pdsuicommon.logging._ @@ -57,6 +57,33 @@ final case class PatientCriterion(id: LongId[PatientCriterion], def isIneligibleForEv: Boolean = eligibilityStatus === LabelValue.No && isVerified } +final case class DraftPatientCriterion(id: LongId[PatientCriterion], + eligibilityStatus: Option[LabelValue], + isVerified: Option[Boolean]) { + def applyTo(orig: PatientCriterion) = { + orig.copy( + eligibilityStatus = eligibilityStatus.getOrElse(orig.eligibilityStatus), + isVerified = isVerified.getOrElse(orig.isVerified) + ) + } +} + +object DraftPatientCriterion { + implicit def toPhiString(x: DraftPatientCriterion): PhiString = { + phi"DraftPatientCriterion(id=${x.id}, eligibilityStatus=${Unsafe(x.eligibilityStatus)}, isVerified=${x.isVerified})" + } +} + +final case class RichPatientCriterion(patientCriterion: PatientCriterion, + labelId: LongId[Label], + armList: List[PatientCriterionArm]) + +object RichPatientCriterion { + implicit def toPhiString(x: RichPatientCriterion): PhiString = { + phi"RichPatientCriterion(patientCriterion=${x.patientCriterion}, labelId=${x.labelId}, arms=${x.armList})" + } +} + object PatientCriterionArm { implicit def toPhiString(x: PatientCriterionArm): PhiString = { diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala index 179056a..4f62a9e 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala @@ -82,3 +82,13 @@ final case class PatientTrialArmGroupView(id: LongId[PatientTrialArmGroup], ) } } + +final case class RichPatientEligibleTrial(trial: Trial, + group: PatientTrialArmGroupView, + arms: List[PatientCriterionArm]) + +object RichPatientEligibleTrial { + implicit def toPhiString(x: RichPatientEligibleTrial): PhiString = { + phi"RichPatientEligibleTrial(group=${x.group}, trial=${x.trial}, arms=${x.arms})" + } +} diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientLabel.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientLabel.scala index df86175..8d64389 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientLabel.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientLabel.scala @@ -22,6 +22,14 @@ final case class PatientLabel(id: LongId[PatientLabel], isImplicitMatch: Boolean, isVisible: Boolean) +final case class RichPatientLabel(patientLabel: PatientLabel, isVerified: Boolean) + +object RichPatientLabel { + implicit def toPhiString(x: RichPatientLabel): PhiString = { + phi"RichPatientLabel(patientLabel=${x.patientLabel}, isVerified=${x.isVerified})" + } +} + object PatientLabelEvidence { implicit def toPhiString(x: PatientLabelEvidence): PhiString = { import x._ |