aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-06-30 19:38:37 -0700
committervlad <vlad@driver.xyz>2017-06-30 19:38:37 -0700
commit96d81a36286e41035ff4068859a3b0f9da924fbc (patch)
tree8d9f0014140d1f07ca449b56adaba8ccb3d2fc59 /src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala
parenta997aa6539d1f0af4ab4fc395ff2033335da312a (diff)
downloadrest-query-96d81a36286e41035ff4068859a3b0f9da924fbc.tar.gz
rest-query-96d81a36286e41035ff4068859a3b0f9da924fbc.tar.bz2
rest-query-96d81a36286e41035ff4068859a3b0f9da924fbc.zip
Latest PDS UI utils including all the domain stuffv0.1.12
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala39
1 files changed, 8 insertions, 31 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala
index 8084884..e16c324 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientEligibleTrial.scala
@@ -82,35 +82,8 @@ object PatientTrialArmGroup {
implicit def toPhiString(x: PatientTrialArmGroup): PhiString = {
import x._
phi"PatientTrialArmGroup(id=$id, eligibleTrialId=$eligibleTrialId, " +
- phi"eligibilityStatus=${Unsafe(eligibilityStatus)}, isVerified=$isVerified)"
- }
-
- /**
- * @see https://driverinc.atlassian.net/wiki/display/DMPD/EV+Business+Process
- */
- def getEligibilityStatusForEvToRc(criterionList: List[(Option[Boolean], Option[FuzzyValue])]): Option[FuzzyValue] = {
- def isEligible = {
- // Eligible, if for all (verified for EV) label-criteria eligibilityStatus=NULL or YES and at least one has status=YES
- // If method executes from PatientService (when EV submit patient) need to check value PatientCriterion.isVerified
- val verifiedList = criterionList.filter { case (isVerifiedOpt, _) => isVerifiedOpt.isEmpty || isVerifiedOpt.get }
- verifiedList.forall {
- case (_, eligibilityStatus) =>
- eligibilityStatus.isEmpty || eligibilityStatus.contains(FuzzyValue.Yes)
- } && verifiedList.exists { case (_, eligibilityStatus) => eligibilityStatus.contains(FuzzyValue.Yes) }
- }
-
- if (criterionList.exists {
- case (isVerified, eligibilityStatus) =>
- eligibilityStatus.contains(FuzzyValue.No) && (isVerified.isEmpty || isVerified.get)
- }) { Some(FuzzyValue.No) } else if (criterionList.forall {
- case (_, eligibilityStatus) => eligibilityStatus.isEmpty
- }) {
- None
- } else if (isEligible) {
- Some(FuzzyValue.Yes)
- } else {
- Some(FuzzyValue.Maybe)
- }
+ phi"eligibilityStatus=${Unsafe(eligibilityStatus)}, " +
+ phi"verifiedEligibilityStatus=${Unsafe(verifiedEligibilityStatus)}, isVerified=$isVerified)"
}
/**
@@ -131,14 +104,16 @@ object PatientTrialArmGroup {
final case class PatientTrialArmGroup(id: LongId[PatientTrialArmGroup],
eligibleTrialId: UuidId[PatientEligibleTrial],
eligibilityStatus: Option[FuzzyValue],
+ verifiedEligibilityStatus: Option[FuzzyValue],
isVerified: Boolean)
object PatientTrialArmGroupView {
implicit def toPhiString(x: PatientTrialArmGroupView): PhiString = {
import x._
- phi"PatientTrialArmGroupView(id=$id, patientId=$patientId, trialId=$trialId, hypothesisId=$hypothesisId, " +
- phi"eligibilityStatus=${Unsafe(eligibilityStatus)}, isVerified=$isVerified)"
+ phi"PatientTrialArmGroupView(id=$id, patientId=$patientId, trialId=$trialId, " +
+ phi"hypothesisId=$hypothesisId, eligibilityStatus=${Unsafe(eligibilityStatus)}, " +
+ phi"verifiedEligibilityStatus=${Unsafe(verifiedEligibilityStatus)}, isVerified=$isVerified)"
}
}
@@ -147,11 +122,13 @@ final case class PatientTrialArmGroupView(id: LongId[PatientTrialArmGroup],
trialId: StringId[Trial],
hypothesisId: UuidId[Hypothesis],
eligibilityStatus: Option[FuzzyValue],
+ verifiedEligibilityStatus: Option[FuzzyValue],
isVerified: Boolean) {
def applyTo(trialArmGroup: PatientTrialArmGroup) = {
trialArmGroup.copy(
eligibilityStatus = this.eligibilityStatus,
+ verifiedEligibilityStatus = this.verifiedEligibilityStatus,
isVerified = this.isVerified
)
}