aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2017-11-27 22:25:42 -0800
committerGitHub <noreply@github.com>2017-11-27 22:25:42 -0800
commit357ed83683bf49c952c4de60d8a671089150e23c (patch)
treebf2a82ae1cdfd4a92fb072a2dfe8fb0d6bcddf94 /src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala
parenta8714cbcf0c19639bc33418e7d3a06b3d0b857ef (diff)
parent4a657a974815a5e6de56808d818efc84164c3956 (diff)
downloadrest-query-357ed83683bf49c952c4de60d8a671089150e23c.tar.gz
rest-query-357ed83683bf49c952c4de60d8a671089150e23c.tar.bz2
rest-query-357ed83683bf49c952c4de60d8a671089150e23c.zip
Merge pull request #69 from drivergroup/revert-trial-formatsv0.14.20
Revert trial formats
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala
index f21b0cb..4c006f9 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala
@@ -8,14 +8,13 @@ import xyz.driver.pdsuidomain.services.PatientEligibleTrialService.RichPatientEl
object patienteligibletrial {
import DefaultJsonProtocol._
import common._
- import xyz.driver.pdsuidomain.formats.json.trial._
- import xyz.driver.pdsuidomain.formats.json.patientcriterion._
def applyUpdateToTrialArmGroup(json: JsValue, orig: PatientTrialArmGroupView): PatientTrialArmGroupView =
json match {
case JsObject(fields) =>
- val isVerified = fields.get("group").map(_.asJsObject)
- .flatMap(_.fields.get("isVerified")).map(_.convertTo[Boolean])
+ val isVerified = fields
+ .get("isVerified")
+ .map(_.convertTo[Boolean])
.getOrElse(orig.isVerified)
orig.copy(isVerified = isVerified)
@@ -23,10 +22,19 @@ object patienteligibletrial {
case _ => deserializationError(s"Expected Json Object as partial PatientTrialArmGroupView, but got $json")
}
- implicit val patientEligibleArmGroupView: RootJsonFormat[PatientTrialArmGroupView] =
- jsonFormat7(PatientTrialArmGroupView.apply)
-
- implicit val patientEligibleTrialFormat: RootJsonFormat[RichPatientEligibleTrial] =
- jsonFormat3(RichPatientEligibleTrial.apply)
+ implicit val patientEligibleTrialWriter: RootJsonWriter[RichPatientEligibleTrial] =
+ new RootJsonWriter[RichPatientEligibleTrial] {
+ override def write(obj: RichPatientEligibleTrial) =
+ JsObject(
+ "id" -> obj.group.id.toJson,
+ "patientId" -> obj.group.patientId.toJson,
+ "trialId" -> obj.group.trialId.toJson,
+ "trialTitle" -> obj.trial.title.toJson,
+ "arms" -> obj.arms.map(_.armName).toJson,
+ "hypothesisId" -> obj.trial.hypothesisId.toJson,
+ "verifiedEligibilityStatus" -> obj.group.verifiedEligibilityStatus.toJson,
+ "isVerified" -> obj.group.isVerified.toJson
+ )
+ }
}