diff options
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/export.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/export.scala | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/export.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/export.scala deleted file mode 100644 index 4391453..0000000 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/export.scala +++ /dev/null @@ -1,86 +0,0 @@ -package xyz.driver.pdsuidomain.formats.json.sprayformats - -import spray.json._ -import xyz.driver.entities.labels.Label -import xyz.driver.formats.json.labels._ -import xyz.driver.pdsuidomain.entities.export.patient._ -import xyz.driver.pdsuidomain.entities.export.trial.{ExportTrialArm, ExportTrialLabelCriterion, ExportTrialWithLabels} -import xyz.driver.pdsuidomain.entities.{Criterion, EligibilityArm} - -object export { - import DefaultJsonProtocol._ - import common._ - import document._ - import record._ - - implicit val patientLabelEvidenceDocumentFormat: RootJsonFormat[ExportPatientLabelEvidenceDocument] = - jsonFormat5(ExportPatientLabelEvidenceDocument.apply) - - implicit val patientLabelEvidenceFormat: RootJsonFormat[ExportPatientLabelEvidence] = - jsonFormat(ExportPatientLabelEvidence.apply, "evidenceId", "labelValue", "evidenceText", "document") - - implicit val patientLabelFormat: RootJsonFormat[ExportPatientLabel] = - jsonFormat(ExportPatientLabel.apply, "labelId", "evidence") - - implicit val patientWithLabelsFormat: RootJsonFormat[ExportPatientWithLabels] = - jsonFormat(ExportPatientWithLabels.apply, "patientId", "labelVersion", "labels") - - implicit val trialArmFormat: RootJsonFormat[ExportTrialArm] = jsonFormat3(ExportTrialArm.apply) - - implicit val trialLabelCriterionFormat: RootJsonFormat[ExportTrialLabelCriterion] = - new RootJsonFormat[ExportTrialLabelCriterion] { - override def write(obj: ExportTrialLabelCriterion): JsValue = - JsObject( - "value" -> obj.value - .map { - case true => "Yes" - case false => "No" - } - .getOrElse("Unknown") - .toJson, - "labelId" -> obj.labelId.toJson, - "criterionId" -> obj.criterionId.toJson, - "criterionText" -> obj.criteria.toJson, - "armIds" -> obj.armIds.toJson, - "isCompound" -> obj.isCompound.toJson, - "isDefining" -> obj.isDefining.toJson - ) - - override def read(json: JsValue): ExportTrialLabelCriterion = { - - val fields = Seq("value", "labelId", "criterionId", "criterionText", "armIds", "isCompound", "isDefining") - - json.asJsObject.getFields(fields: _*) match { - case Seq(JsString(valueString), - labelId, - criterionId, - JsString(criterionText), - JsArray(armIdsVector), - JsBoolean(isCompound), - JsBoolean(isDefining)) => - val value = valueString match { - case "Yes" => Option(true) - case "No" => Option(false) - case "Unknown" => Option.empty[Boolean] - } - - ExportTrialLabelCriterion( - longIdFormat[Criterion].read(criterionId), - value, - longIdFormat[Label].read(labelId), - armIdsVector.map(longIdFormat[EligibilityArm].read).toSet, - criterionText, - isCompound, - isDefining - ) - - case _ => - deserializationError( - s"Cannot find required fields ${fields.mkString(", ")} in ExportTrialLabelCriterion object!") - } - } - } - - implicit val trialWithLabelsFormat: RootJsonFormat[ExportTrialWithLabels] = - jsonFormat(ExportTrialWithLabels.apply, "nctId", "trialId", "lastReviewed", "labelVersion", "arms", "criteria") -} |