diff options
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json')
5 files changed, 30 insertions, 11 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/document.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/document.scala index 8ab6f13..66e95f3 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/document.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/document.scala @@ -141,6 +141,14 @@ object document { .map(_.convertTo[LongId[MedicalRecord]]) .getOrElse(deserializationError(s"Document create json object does not contain `recordId` field: $json")) + val status = fields + .get("status") + .flatMap(_.convertTo[Option[Document.Status]]) + + val previousStatus = fields + .get("previousStatus") + .flatMap(_.convertTo[Option[Document.Status]]) + val physician = fields .get("physician") .flatMap(_.convertTo[Option[String]]) @@ -149,6 +157,10 @@ object document { .get("typeId") .flatMap(_.convertTo[Option[LongId[DocumentType]]]) + val requiredType = fields + .get("requiredType") + .flatMap(_.convertTo[Option[Document.RequiredType]]) + val provider = fields .get("provider") .flatMap(_.convertTo[Option[String]]) @@ -173,25 +185,33 @@ object document { .get("endDate") .flatMap(_.convertTo[Option[LocalDate]]) + val lastUpdate = fields + .get("lastUpdate") + .flatMap(_.convertTo[Option[LocalDateTime]]) + + val labelVersion = fields + .get("labelVersion") + .flatMap(_.convertTo[Option[Int]]) + Document( id = id.getOrElse(LongId(0)), recordId = recordId, - status = Document.Status.New, + status = status.getOrElse(Document.Status.New), physician = physician, typeId = typeId, startDate = startDate, endDate = endDate, providerName = provider, providerTypeId = providerTypeId, - requiredType = None, + requiredType = requiredType, institutionName = institutionName, meta = meta, - previousStatus = None, + previousStatus = previousStatus, assignee = None, previousAssignee = None, lastActiveUserId = None, - lastUpdate = LocalDateTime.MIN, - labelVersion = 0 + lastUpdate = lastUpdate.getOrElse(LocalDateTime.MIN), + labelVersion = labelVersion.getOrElse(0) ) case _ => deserializationError(s"Expected Json Object as Document, but got $json") diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientcriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientcriterion.scala index b5696f7..1004c5b 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientcriterion.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientcriterion.scala @@ -15,12 +15,12 @@ object patientcriterion { case JsObject(fields) => val eligibilityStatus = fields .get("eligibilityStatus") - .map(_.convertTo[Option[LabelValue]]) + .map(_.convertTo[LabelValue]) .getOrElse(orig.eligibilityStatus) val verifiedEligibilityStatus = fields .get("verifiedEligibilityStatus") - .map(_.convertTo[Option[LabelValue]]) + .map(_.convertTo[LabelValue]) .getOrElse(orig.verifiedEligibilityStatus) orig.copy( diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientdefiningcriteria.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientdefiningcriteria.scala index 0b4fbae..a67115c 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientdefiningcriteria.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientdefiningcriteria.scala @@ -5,7 +5,6 @@ import xyz.driver.formats.json.labels._ import xyz.driver.pdsuidomain.entities.PatientLabel object patientdefiningcriteria { - import DefaultJsonProtocol._ import common._ implicit val patientLabelDefiningCriteriaWriter: RootJsonWriter[PatientLabel] = new RootJsonWriter[PatientLabel] { diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientlabel.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientlabel.scala index d944e42..6499318 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientlabel.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientlabel.scala @@ -17,12 +17,12 @@ object patientlabel { case JsObject(fields) => val primaryValue = fields .get("primaryValue") - .map(_.convertTo[Option[LabelValue]]) + .map(_.convertTo[LabelValue]) .getOrElse(orig.primaryValue) val verifiedPrimaryValue = fields .get("verifiedPrimaryValue") - .map(_.convertTo[Option[LabelValue]]) + .map(_.convertTo[LabelValue]) .getOrElse(orig.verifiedPrimaryValue) orig.copy( diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory.scala index cc01dd1..c8df1d8 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory.scala @@ -25,6 +25,6 @@ object trialhistory { "Archive" -> Action.Archive ) - implicit val trialHistoryFormat: RootJsonFormat[TrialHistory] = jsonFormat6(TrialHistory.apply) + implicit val trialHistoryFormat: RootJsonFormat[TrialHistory] = jsonFormat7(TrialHistory.apply) } |