aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/document.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/documenthistory.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/documentissue.scala8
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/export.scala1
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/patient.scala22
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/patienthistory.scala6
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/patientissue.scala8
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/record.scala27
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/recordhistory.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/recordissue.scala8
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/trial.scala11
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue.scala6
13 files changed, 49 insertions, 56 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 aaca391..3cce5de 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/document.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/document.scala
@@ -3,7 +3,7 @@ package xyz.driver.pdsuidomain.formats.json
import java.time.{LocalDate, LocalDateTime}
import spray.json._
-import xyz.driver.core.json.EnumJsonFormat
+import xyz.driver.core.json._
import xyz.driver.pdsuicommon.domain.{LongId, TextJson}
import xyz.driver.pdsuidomain.entities._
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/documenthistory.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/documenthistory.scala
index a0eb3f5..ea79b92 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/documenthistory.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/documenthistory.scala
@@ -1,7 +1,7 @@
package xyz.driver.pdsuidomain.formats.json
import spray.json._
-import xyz.driver.core.json.EnumJsonFormat
+import xyz.driver.core.json._
import xyz.driver.pdsuidomain.entities._
object documenthistory {
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/documentissue.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/documentissue.scala
index 082fa83..dbf544e 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/documentissue.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/documentissue.scala
@@ -3,7 +3,9 @@ package xyz.driver.pdsuidomain.formats.json
import java.time.LocalDateTime
import spray.json._
-import xyz.driver.pdsuicommon.domain.{LongId, StringId, User}
+import xyz.driver.core.auth.User
+import xyz.driver.core.json._
+import xyz.driver.pdsuicommon.domain.LongId
import xyz.driver.pdsuidomain.entities._
object documentissue {
@@ -36,7 +38,9 @@ object documentissue {
}
- def jsValueToDocumentIssue(json: JsValue, documentId: LongId[Document], userId: StringId[User]): DocumentIssue =
+ def jsValueToDocumentIssue(json: JsValue,
+ documentId: LongId[Document],
+ userId: xyz.driver.core.Id[User]): DocumentIssue =
json match {
case JsObject(fields) =>
val text = fields
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/export.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/export.scala
index d70ce6f..8fb7d03 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/export.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/export.scala
@@ -1,6 +1,7 @@
package xyz.driver.pdsuidomain.formats.json
import spray.json._
+import xyz.driver.core.json.idFormat
import xyz.driver.entities.labels.Label
import xyz.driver.formats.json.labels._
import xyz.driver.pdsuicommon.domain.LongId
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient.scala
index 0830723..774a1ff 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient.scala
@@ -3,12 +3,14 @@ package xyz.driver.pdsuidomain.formats.json
import java.time.{LocalDate, LocalDateTime}
import spray.json._
-import xyz.driver.core.json.EnumJsonFormat
+import xyz.driver.core.auth.User
+import xyz.driver.core.json._
+import xyz.driver.entities.clinic.TestOrder
import xyz.driver.entities.common.FullName
import xyz.driver.entities.patient.CancerType
import xyz.driver.formats.json.common._
import xyz.driver.formats.json.patient._
-import xyz.driver.pdsuicommon.domain.{StringId, User, UuidId}
+import xyz.driver.pdsuicommon.domain.UuidId
import xyz.driver.pdsuidomain.entities._
object patient {
@@ -25,14 +27,6 @@ object patient {
"Flagged" -> Status.Flagged
)
- implicit val patientOrderIdFormat: RootJsonFormat[PatientOrderId] = new RootJsonFormat[PatientOrderId] {
- override def write(orderId: PatientOrderId): JsString = JsString(orderId.toString)
- override def read(json: JsValue): PatientOrderId = json match {
- case JsString(value) => PatientOrderId(value)
- case _ => deserializationError(s"Expected string as PatientOrderId, but got $json")
- }
- }
-
implicit val patientFormat: RootJsonFormat[Patient] = new RootJsonFormat[Patient] {
override def write(patient: Patient): JsValue =
JsObject(
@@ -74,7 +68,7 @@ object patient {
val assignee = fields
.get("assignee")
- .flatMap(_.convertTo[Option[StringId[User]]])
+ .flatMap(_.convertTo[Option[xyz.driver.core.Id[User]]])
val previousStatus = fields
.get("previousStatus")
@@ -82,11 +76,11 @@ object patient {
val previousAssignee = fields
.get("previousAssignee")
- .flatMap(_.convertTo[Option[StringId[User]]])
+ .flatMap(_.convertTo[Option[xyz.driver.core.Id[User]]])
val lastActiveUser = fields
.get("lastActiveUser")
- .flatMap(_.convertTo[Option[StringId[User]]])
+ .flatMap(_.convertTo[Option[xyz.driver.core.Id[User]]])
val disease = fields
.get("disease")
@@ -95,7 +89,7 @@ object patient {
val orderId = fields
.get("orderId")
- .map(_.convertTo[PatientOrderId])
+ .map(_.convertTo[xyz.driver.core.Id[TestOrder]])
.getOrElse(deserializationError(s"Patient create json object does not contain `orderId` field: $json"))
val lastUpdate = fields
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienthistory.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienthistory.scala
index bd20b27..c9cdc63 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienthistory.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienthistory.scala
@@ -1,7 +1,7 @@
package xyz.driver.pdsuidomain.formats.json
import spray.json._
-import xyz.driver.core.json.EnumJsonFormat
+import xyz.driver.core.json._
import xyz.driver.pdsuidomain.entities._
object patienthistory {
@@ -9,14 +9,14 @@ object patienthistory {
import PatientHistory._
import common._
- implicit val patientStateFormat = new EnumJsonFormat[State](
+ implicit val patientStateFormat: RootJsonFormat[State] = new EnumJsonFormat[State](
"Verify" -> State.Verify,
"Curate" -> State.Curate,
"Review" -> State.Review,
"Flag" -> State.Flag
)
- implicit val patientActionFormat = new EnumJsonFormat[Action](
+ implicit val patientActionFormat: RootJsonFormat[Action] = new EnumJsonFormat[Action](
"Start" -> Action.Start,
"Submit" -> Action.Submit,
"Unassign" -> Action.Unassign,
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientissue.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientissue.scala
index 9345581..0ee4c6c 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientissue.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patientissue.scala
@@ -3,7 +3,9 @@ package xyz.driver.pdsuidomain.formats.json
import java.time.LocalDateTime
import spray.json._
-import xyz.driver.pdsuicommon.domain.{LongId, StringId, User, UuidId}
+import xyz.driver.core.auth.User
+import xyz.driver.core.json._
+import xyz.driver.pdsuicommon.domain.{LongId, UuidId}
import xyz.driver.pdsuidomain.entities._
object patientissue {
@@ -22,7 +24,9 @@ object patientissue {
}
}
- def jsValueToPatientIssue(json: JsValue, patientId: UuidId[Patient], userId: StringId[User]): PatientIssue = {
+ def jsValueToPatientIssue(json: JsValue,
+ patientId: UuidId[Patient],
+ userId: xyz.driver.core.Id[User]): PatientIssue = {
json.asJsObject.getFields("text") match {
case Seq(text) =>
PatientIssue(
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record.scala
index b6ed103..083796b 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record.scala
@@ -1,10 +1,11 @@
package xyz.driver.pdsuidomain.formats.json
import java.time.LocalDateTime
-import java.util.UUID
import spray.json._
-import xyz.driver.core.json.{EnumJsonFormat, GadtJsonFormat}
+import xyz.driver.core.Id
+import xyz.driver.core.json._
+import xyz.driver.entities.clinic.ClinicalRecord
import xyz.driver.pdsuicommon.domain.{LongId, TextJson, UuidId}
import xyz.driver.pdsuidomain.entities.MedicalRecord.Meta._
import xyz.driver.pdsuidomain.entities._
@@ -14,7 +15,7 @@ object record {
import MedicalRecord._
import common._
- implicit val recordStatusFormat = new EnumJsonFormat[Status](
+ implicit val recordStatusFormat: EnumJsonFormat[Status] = new EnumJsonFormat[Status](
"PreCleaning" -> Status.PreCleaning,
"Unprocessed" -> Status.Unprocessed,
"PreOrganized" -> Status.PreOrganized,
@@ -29,14 +30,6 @@ object record {
"Archived" -> Status.Archived
)
- implicit val requestIdFormat = new RootJsonFormat[RecordRequestId] {
- override def write(requestId: RecordRequestId): JsString = JsString(requestId.toString)
- override def read(json: JsValue): RecordRequestId = json match {
- case JsString(value) => RecordRequestId(UUID.fromString(value))
- case _ => deserializationError(s"Expected string as RecordRequestId, but got $json")
- }
- }
-
implicit val providerTypeFormat: RootJsonFormat[ProviderType] = new RootJsonFormat[ProviderType] {
override def read(json: JsValue): ProviderType = json match {
case JsObject(fields) =>
@@ -56,14 +49,6 @@ object record {
JsObject("id" -> obj.id.toJson, "name" -> obj.name.toJson)
}
- implicit val caseIdFormat = new RootJsonFormat[CaseId] {
- override def write(caseId: CaseId): JsString = JsString(caseId.toString)
- override def read(json: JsValue): CaseId = json match {
- case JsString(value) => CaseId(value)
- case _ => deserializationError(s"Expected string as CaseId, but got $json")
- }
- }
-
implicit val duplicateMetaFormat: RootJsonFormat[Duplicate] = new RootJsonFormat[Duplicate] {
override def write(obj: Duplicate) =
JsObject(
@@ -149,7 +134,7 @@ object record {
}
}
- implicit val recordMetaFormat = new RootJsonFormat[TextJson[List[Meta]]] {
+ implicit val recordMetaFormat: RootJsonFormat[TextJson[List[Meta]]] = new RootJsonFormat[TextJson[List[Meta]]] {
override def write(obj: TextJson[List[Meta]]): JsArray = JsArray(obj.content.map(_.toJson).toVector)
override def read(json: JsValue): TextJson[List[Meta]] = json match {
case JsArray(values) => TextJson[List[Meta]](values.map(_.convertTo[Meta]).toList)
@@ -191,7 +176,7 @@ object record {
val requestId = fields
.get("requestId")
- .map(_.convertTo[RecordRequestId])
+ .map(_.convertTo[Id[ClinicalRecord]])
.getOrElse(deserializationError(s"MedicalRecord json object does not contain `requestId` field: $json"))
MedicalRecord(
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/recordhistory.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/recordhistory.scala
index 00071e1..8341f97 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/recordhistory.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/recordhistory.scala
@@ -1,7 +1,7 @@
package xyz.driver.pdsuidomain.formats.json
import spray.json._
-import xyz.driver.core.json.EnumJsonFormat
+import xyz.driver.core.json._
import xyz.driver.pdsuidomain.entities._
object recordhistory {
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/recordissue.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/recordissue.scala
index 29b12f6..976a852 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/recordissue.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/recordissue.scala
@@ -3,7 +3,9 @@ package xyz.driver.pdsuidomain.formats.json
import java.time.LocalDateTime
import spray.json._
-import xyz.driver.pdsuicommon.domain.{LongId, StringId, User}
+import xyz.driver.core.auth.User
+import xyz.driver.core.json._
+import xyz.driver.pdsuicommon.domain.LongId
import xyz.driver.pdsuidomain.entities._
object recordissue {
@@ -39,7 +41,7 @@ object recordissue {
def jsValueToRecordIssue(json: JsValue,
recordId: LongId[MedicalRecord],
- userId: StringId[User]): MedicalRecordIssue = json match {
+ userId: xyz.driver.core.Id[User]): MedicalRecordIssue = json match {
case JsObject(fields) =>
val text = fields
.get("text")
@@ -63,6 +65,6 @@ object recordissue {
case _ => deserializationError(s"Expected Json Object as MedicalRecordIssue, but got $json")
}
- implicit val recordIssueFormat = jsonFormat9(MedicalRecordIssue.apply)
+ implicit val recordIssueFormat: RootJsonFormat[MedicalRecordIssue] = jsonFormat9(MedicalRecordIssue.apply)
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial.scala
index dc9c5e0..ac02070 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial.scala
@@ -3,8 +3,9 @@ package xyz.driver.pdsuidomain.formats.json
import java.time.{LocalDateTime, ZoneId, ZonedDateTime}
import spray.json._
-import xyz.driver.core.json.EnumJsonFormat
-import xyz.driver.pdsuicommon.domain.{LongId, StringId, User, UuidId}
+import xyz.driver.core.auth.User
+import xyz.driver.core.json._
+import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId}
import xyz.driver.pdsuidomain.entities._
object trial {
@@ -64,16 +65,16 @@ object trial {
.getOrElse(deserializationError(s"Trial create json object does not contain `status` field: $json"))
val assignee = fields
.get("assignee")
- .flatMap(_.convertTo[Option[StringId[User]]])
+ .flatMap(_.convertTo[Option[xyz.driver.core.Id[User]]])
val previousStatus = fields
.get("previousStatus")
.flatMap(_.convertTo[Option[Trial.Status]])
val previousAssignee = fields
.get("previousAssignee")
- .flatMap(_.convertTo[Option[StringId[User]]])
+ .flatMap(_.convertTo[Option[xyz.driver.core.Id[User]]])
val lastActiveUser = fields
.get("lastActiveUser")
- .flatMap(_.convertTo[Option[StringId[User]]])
+ .flatMap(_.convertTo[Option[xyz.driver.core.Id[User]]])
val lastUpdate = fields
.get("lastUpdate")
.map(_.convertTo[LocalDateTime])
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 6185d5a..cc01dd1 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory.scala
@@ -1,7 +1,7 @@
package xyz.driver.pdsuidomain.formats.json
import spray.json._
-import xyz.driver.core.json.EnumJsonFormat
+import xyz.driver.core.json._
import xyz.driver.pdsuidomain.entities._
object trialhistory {
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue.scala
index b2a3023..bb431fe 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue.scala
@@ -3,7 +3,9 @@ package xyz.driver.pdsuidomain.formats.json
import java.time.LocalDateTime
import spray.json._
-import xyz.driver.pdsuicommon.domain.{LongId, StringId, User}
+import xyz.driver.core.auth.User
+import xyz.driver.core.json._
+import xyz.driver.pdsuicommon.domain.{LongId, StringId}
import xyz.driver.pdsuidomain.entities._
object trialissue {
@@ -24,7 +26,7 @@ object trialissue {
}
}
- def jsValueToTrialIssue(json: JsValue, trialId: StringId[Trial], userId: StringId[User]): TrialIssue = {
+ def jsValueToTrialIssue(json: JsValue, trialId: StringId[Trial], userId: xyz.driver.core.Id[User]): TrialIssue = {
json.asJsObject.getFields("text", "evidence", "meta") match {
case Seq(text, evidence, meta) =>
TrialIssue(