aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
deleted file mode 100644
index c48e0d9..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
+++ /dev/null
@@ -1,63 +0,0 @@
-package xyz.driver.pdsuidomain.entities
-
-import java.time.{LocalDate, LocalDateTime}
-
-import xyz.driver.core.auth.User
-import xyz.driver.entities.clinic.TestOrder
-import xyz.driver.entities.common.FullName
-import xyz.driver.entities.patient.CancerType
-import xyz.driver.pdsuicommon.domain._
-import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuicommon.utils.Utils
-
-object Patient {
-
- // Product with Serizalizable fixes issue:
- // Set(New, Verified) has type Set[Status with Product with Serializable]
- sealed trait Status extends Product with Serializable {
- def oneOf(xs: Status*): Boolean = xs.contains(this)
-
- def oneOf(xs: Set[Status]): Boolean = xs.contains(this)
- }
-
- object Status {
- case object New extends Status
- case object Verified extends Status
- case object Reviewed extends Status
- case object Curated extends Status
- case object Flagged extends Status
- case object Done extends Status
-
- val AllPrevious: Set[Status] = Set[Status](New, Verified, Reviewed, Curated)
-
- val All: Set[Status] = Set[Status](New, Verified, Reviewed, Curated, Flagged, Done)
-
- implicit def toPhiString(x: Status): PhiString = Unsafe(Utils.getClassSimpleName(x.getClass))
- }
-
- implicit def toPhiString(x: Patient): PhiString = {
- import x._
- phi"Patient(id=$id, status=$status, previousStatus=$previousStatus, lastActiveUserId=${Unsafe(lastActiveUserId)}" +
- phi"assignee=${Unsafe(assignee)}, previousAssignee=${Unsafe(previousAssignee)})"
- }
-}
-
-final case class Patient(id: UuidId[Patient],
- status: Patient.Status,
- name: FullName[Patient],
- dob: LocalDate,
- assignee: Option[xyz.driver.core.Id[User]],
- previousStatus: Option[Patient.Status],
- previousAssignee: Option[xyz.driver.core.Id[User]],
- lastActiveUserId: Option[xyz.driver.core.Id[User]],
- isUpdateRequired: Boolean,
- disease: CancerType,
- orderId: xyz.driver.core.Id[TestOrder],
- lastUpdate: LocalDateTime) {
-
- import Patient.Status._
-
- if (previousStatus.nonEmpty) {
- assert(AllPrevious.contains(previousStatus.get), s"Previous status has invalid value: ${previousStatus.get}")
- }
-}