diff options
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/patient')
8 files changed, 86 insertions, 58 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala index 0a3938c..caa556b 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala @@ -28,7 +28,7 @@ object ApiPatient { (JsPath \ "previousAssignee").formatNullable[Long] and (JsPath \ "lastUpdate").format[ZonedDateTime] and (JsPath \ "condition").format[String] - ) (ApiPatient.apply, unlift(ApiPatient.unapply)) + )(ApiPatient.apply, unlift(ApiPatient.unapply)) def fromDomain(patient: Patient) = ApiPatient( id = patient.id.toString, diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/PatientStatus.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/PatientStatus.scala index d906fc6..a23a1de 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/PatientStatus.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/PatientStatus.scala @@ -5,20 +5,20 @@ import xyz.driver.pdsuidomain.entities.Patient.Status object PatientStatus { val statusFromString: PartialFunction[String, Status] = { - case "New" => Status.New + case "New" => Status.New case "Verified" => Status.Verified case "Reviewed" => Status.Reviewed - case "Curated" => Status.Curated - case "Flagged" => Status.Flagged - case "Done" => Status.Done + case "Curated" => Status.Curated + case "Flagged" => Status.Flagged + case "Done" => Status.Done } def statusToString(x: Status): String = x match { - case Status.New => "New" + case Status.New => "New" case Status.Verified => "Verified" case Status.Reviewed => "Reviewed" - case Status.Curated => "Curated" - case Status.Flagged => "Flagged" - case Status.Done => "Done" + case Status.Curated => "Curated" + case Status.Flagged => "Flagged" + case Status.Done => "Done" } } diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/eligible/ApiPatientEligibleTrial.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/eligible/ApiPatientEligibleTrial.scala index c1a6e76..42c3259 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/eligible/ApiPatientEligibleTrial.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/eligible/ApiPatientEligibleTrial.scala @@ -26,12 +26,17 @@ object ApiPatientEligibleTrial { (JsPath \ "trialTitle").format[String] and (JsPath \ "arms").format[List[String]] and (JsPath \ "hypothesisId").format[UUID] and - (JsPath \ "eligibilityStatus").formatNullable[String](Format(Reads.of[String].filter(ValidationError("unknown eligibility status"))({ - case x if FuzzyValue.fromString.isDefinedAt(x) => true - case _ => false - }), Writes.of[String])) and + (JsPath \ "eligibilityStatus").formatNullable[String](Format( + Reads + .of[String] + .filter(ValidationError("unknown eligibility status"))({ + case x if FuzzyValue.fromString.isDefinedAt(x) => true + case _ => false + }), + Writes.of[String] + )) and (JsPath \ "isVerified").format[Boolean] - ) (ApiPatientEligibleTrial.apply, unlift(ApiPatientEligibleTrial.unapply)) + )(ApiPatientEligibleTrial.apply, unlift(ApiPatientEligibleTrial.unapply)) def fromDomain(eligibleTrialWithTrial: RichPatientEligibleTrial) = ApiPatientEligibleTrial( id = eligibleTrialWithTrial.group.id.id, diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/hypothesis/ApiPatientHypothesis.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/hypothesis/ApiPatientHypothesis.scala index 1b0767d..374370e 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/hypothesis/ApiPatientHypothesis.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/hypothesis/ApiPatientHypothesis.scala @@ -20,7 +20,7 @@ object ApiPatientHypothesis { (JsPath \ "hypothesisId").format[UUID] and (JsPath \ "matchedTrials").format[Long] and (JsPath \ "rationale").formatNullable[String] - ) (ApiPatientHypothesis.apply, unlift(ApiPatientHypothesis.unapply)) + )(ApiPatientHypothesis.apply, unlift(ApiPatientHypothesis.unapply)) def fromDomain(patientHypothesis: PatientHypothesis) = ApiPatientHypothesis( id = patientHypothesis.id.id, diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPartialPatientLabel.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPartialPatientLabel.scala index 82e3a3f..40f7de4 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPartialPatientLabel.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPartialPatientLabel.scala @@ -8,13 +8,13 @@ import play.api.libs.functional.syntax._ import play.api.libs.json._ import xyz.driver.pdsuicommon.domain.FuzzyValue -final case class ApiPartialPatientLabel(primaryValue: Option[String], - verifiedPrimaryValue: Tristate[String]) { +final case class ApiPartialPatientLabel(primaryValue: Option[String], verifiedPrimaryValue: Tristate[String]) { def applyTo(orig: PatientLabel): PatientLabel = { orig.copy( primaryValue = primaryValue.map(FuzzyValue.fromString).orElse(orig.primaryValue), - verifiedPrimaryValue = verifiedPrimaryValue.cata(x => Some(FuzzyValue.fromString(x)), None, orig.verifiedPrimaryValue) + verifiedPrimaryValue = + verifiedPrimaryValue.cata(x => Some(FuzzyValue.fromString(x)), None, orig.verifiedPrimaryValue) ) } @@ -23,16 +23,24 @@ final case class ApiPartialPatientLabel(primaryValue: Option[String], object ApiPartialPatientLabel { implicit val format: Format[ApiPartialPatientLabel] = ( - (JsPath \ "primaryValue").formatNullable[String](Format( - Reads.of[String].filter(ValidationError("unknown primary value"))({ - case x if FuzzyValue.fromString.isDefinedAt(x) => true - case _ => false - }), Writes.of[String])) and - (JsPath \ "verifiedPrimaryValue").formatTristate[String](Format( - Reads.of[String].filter(ValidationError("unknown verified primary value"))({ - case x if FuzzyValue.fromString.isDefinedAt(x) => true - case _ => false - }), Writes.of[String])) - ) (ApiPartialPatientLabel.apply, unlift(ApiPartialPatientLabel.unapply)) + (JsPath \ "primaryValue").formatNullable[String]( + Format(Reads + .of[String] + .filter(ValidationError("unknown primary value"))({ + case x if FuzzyValue.fromString.isDefinedAt(x) => true + case _ => false + }), + Writes.of[String])) and + (JsPath \ "verifiedPrimaryValue").formatTristate[String]( + Format( + Reads + .of[String] + .filter(ValidationError("unknown verified primary value"))({ + case x if FuzzyValue.fromString.isDefinedAt(x) => true + case _ => false + }), + Writes.of[String] + )) + )(ApiPartialPatientLabel.apply, unlift(ApiPartialPatientLabel.unapply)) } diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPatientLabelDefiningCriteria.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPatientLabelDefiningCriteria.scala index 3fe135e..ae64c33 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPatientLabelDefiningCriteria.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPatientLabelDefiningCriteria.scala @@ -12,11 +12,15 @@ object ApiPatientLabelDefiningCriteria { implicit val format: Format[ApiPatientLabelDefiningCriteria] = ( (JsPath \ "labelId").format[Long] and - (JsPath \ "value").formatNullable[String](Format(Reads.of[String].filter(ValidationError("unknown value"))({ - case x if FuzzyValue.fromString.isDefinedAt(x) => true - case _ => false - }), Writes.of[String])) - ) (ApiPatientLabelDefiningCriteria.apply, unlift(ApiPatientLabelDefiningCriteria.unapply)) + (JsPath \ "value").formatNullable[String]( + Format(Reads + .of[String] + .filter(ValidationError("unknown value"))({ + case x if FuzzyValue.fromString.isDefinedAt(x) => true + case _ => false + }), + Writes.of[String])) + )(ApiPatientLabelDefiningCriteria.apply, unlift(ApiPatientLabelDefiningCriteria.unapply)) def fromDomain(x: PatientLabel) = ApiPatientLabelDefiningCriteria( labelId = x.labelId.id, diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPartialPatientCriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPartialPatientCriterion.scala index b68dad5..399bc7d 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPartialPatientCriterion.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPartialPatientCriterion.scala @@ -9,16 +9,13 @@ import play.api.libs.json.{Format, JsPath, Reads, Writes} import xyz.driver.pdsuicommon.domain.FuzzyValue final case class ApiPartialPatientCriterion(eligibilityStatus: Option[String], - verifiedEligibilityStatus: Tristate[String]) { + verifiedEligibilityStatus: Tristate[String]) { def applyTo(orig: PatientCriterion): PatientCriterion = { orig.copy( eligibilityStatus = eligibilityStatus.map(FuzzyValue.fromString).orElse(orig.eligibilityStatus), - verifiedEligibilityStatus = verifiedEligibilityStatus.cata(x => - Some(FuzzyValue.fromString(x)), - None, - orig.verifiedEligibilityStatus - ) + verifiedEligibilityStatus = + verifiedEligibilityStatus.cata(x => Some(FuzzyValue.fromString(x)), None, orig.verifiedEligibilityStatus) ) } } @@ -26,15 +23,25 @@ final case class ApiPartialPatientCriterion(eligibilityStatus: Option[String], object ApiPartialPatientCriterion { implicit val format: Format[ApiPartialPatientCriterion] = ( - (JsPath \ "eligibilityStatus").formatNullable[String](Format( - Reads.of[String].filter(ValidationError("unknown eligibility status"))({ - case x if FuzzyValue.fromString.isDefinedAt(x) => true - case _ => false - }), Writes.of[String])) and - (JsPath \ "verifiedEligibilityStatus").formatTristate[String](Format( - Reads.of[String].filter(ValidationError("unknown verified eligibility status"))({ - case x if FuzzyValue.fromString.isDefinedAt(x) => true - case _ => false - }), Writes.of[String])) - ) (ApiPartialPatientCriterion.apply, unlift(ApiPartialPatientCriterion.unapply)) + (JsPath \ "eligibilityStatus").formatNullable[String]( + Format( + Reads + .of[String] + .filter(ValidationError("unknown eligibility status"))({ + case x if FuzzyValue.fromString.isDefinedAt(x) => true + case _ => false + }), + Writes.of[String] + )) and + (JsPath \ "verifiedEligibilityStatus").formatTristate[String]( + Format( + Reads + .of[String] + .filter(ValidationError("unknown verified eligibility status"))({ + case x if FuzzyValue.fromString.isDefinedAt(x) => true + case _ => false + }), + Writes.of[String] + )) + )(ApiPartialPatientCriterion.apply, unlift(ApiPartialPatientCriterion.unapply)) } diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPartialPatientCriterionList.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPartialPatientCriterionList.scala index 71cb58f..4b08970 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPartialPatientCriterionList.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPartialPatientCriterionList.scala @@ -8,8 +8,8 @@ import play.api.libs.json.{Format, JsPath, Reads, Writes} import xyz.driver.pdsuidomain.services.PatientCriterionService.DraftPatientCriterion final case class ApiPartialPatientCriterionList(id: Long, - eligibilityStatus: Option[String], - isVerified: Option[Boolean]) { + eligibilityStatus: Option[String], + isVerified: Option[Boolean]) { def toDomain: DraftPatientCriterion = DraftPatientCriterion( id = LongId[PatientCriterion](id), @@ -23,10 +23,14 @@ object ApiPartialPatientCriterionList { implicit val format: Format[ApiPartialPatientCriterionList] = ( (JsPath \ "id").format[Long] and (JsPath \ "eligibilityStatus").formatNullable[String](Format( - Reads.of[String].filter(ValidationError("unknown eligibility status"))({ - case x if FuzzyValue.fromString.isDefinedAt(x) => true - case _ => false - }), Writes.of[String])) and + Reads + .of[String] + .filter(ValidationError("unknown eligibility status"))({ + case x if FuzzyValue.fromString.isDefinedAt(x) => true + case _ => false + }), + Writes.of[String] + )) and (JsPath \ "isVerified").formatNullable[Boolean] - ) (ApiPartialPatientCriterionList.apply, unlift(ApiPartialPatientCriterionList.unapply)) + )(ApiPartialPatientCriterionList.apply, unlift(ApiPartialPatientCriterionList.unapply)) } |