diff options
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala index affb346..87e2a3a 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala @@ -11,17 +11,15 @@ object patientcriterion { def applyUpdateToPatientCriterion(json: JsValue, orig: PatientCriterion): PatientCriterion = json match { case JsObject(fields) => - val eligibilityStatus = if (fields.contains("eligibilityStatus")) { - fields - .get("eligibilityStatus") - .map(_.convertTo[FuzzyValue]) - } else orig.eligibilityStatus - - val verifiedEligibilityStatus = if (fields.contains("verifiedEligibilityStatus")) { - fields - .get("verifiedEligibilityStatus") - .map(_.convertTo[FuzzyValue]) - } else orig.verifiedEligibilityStatus + val eligibilityStatus = fields + .get("eligibilityStatus") + .map(_.convertTo[Option[FuzzyValue]]) + .getOrElse(orig.eligibilityStatus) + + val verifiedEligibilityStatus = fields + .get("verifiedEligibilityStatus") + .map(_.convertTo[Option[FuzzyValue]]) + .getOrElse(orig.verifiedEligibilityStatus) orig.copy( eligibilityStatus = eligibilityStatus, |