aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/evidence/ApiPatientLabelEvidence.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/evidence/ApiPatientLabelEvidence.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/evidence/ApiPatientLabelEvidence.scala38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/evidence/ApiPatientLabelEvidence.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/evidence/ApiPatientLabelEvidence.scala
new file mode 100644
index 0000000..2bb4945
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/evidence/ApiPatientLabelEvidence.scala
@@ -0,0 +1,38 @@
+package xyz.driver.pdsuidomain.formats.json.evidence
+
+import java.time.LocalDate
+
+import xyz.driver.pdsuidomain.services.PatientLabelEvidenceService
+import play.api.libs.json._
+import xyz.driver.pdsuicommon.domain.FuzzyValue
+
+final case class ApiPatientLabelEvidence(id: Long,
+ value: String,
+ evidenceText: String,
+ documentId: Option[Long],
+ evidenceId: Option[Long],
+ reportId: Option[String],
+ documentType: String,
+ date: LocalDate,
+ providerType: String)
+
+object ApiPatientLabelEvidence {
+
+ implicit val format: Format[ApiPatientLabelEvidence] = Json.format
+
+ def fromDomain(x: PatientLabelEvidenceService.Aggregated): ApiPatientLabelEvidence = {
+ import x._
+
+ ApiPatientLabelEvidence(
+ id = evidence.id.id,
+ value = FuzzyValue.valueToString(evidence.value),
+ evidenceText = evidence.evidenceText,
+ documentId = evidence.documentId.map(_.id),
+ evidenceId = evidence.evidenceId.map(_.id),
+ reportId = evidence.reportId.map(_.toString),
+ documentType = documentType,
+ date = date,
+ providerType = providerType
+ )
+ }
+}