aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-06-13 16:12:20 -0700
committervlad <vlad@driver.xyz>2017-06-13 16:12:20 -0700
commitcd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c (patch)
tree062e8dad1a1513e26b0fd08b1742d6ff2ee874f7 /src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala
parent0000a65ab4479a2a40e2d6468036438e9705b4aa (diff)
downloadrest-query-cd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c.tar.gz
rest-query-cd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c.tar.bz2
rest-query-cd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c.zip
Adding domain entitiesv0.1.0
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala
new file mode 100644
index 0000000..6ff1a67
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala
@@ -0,0 +1,48 @@
+package xyz.driver.pdsuidomain.entities
+
+import xyz.driver.pdsuicommon.domain.{LongId, StringId}
+import xyz.driver.pdsuicommon.logging._
+
+
+final case class InterventionType(id: LongId[InterventionType], name: String)
+
+object InterventionType {
+ implicit def toPhiString(x: InterventionType): PhiString = {
+ import x._
+ phi"InterventionType(id=$id, name=${Unsafe(name)})"
+ }
+}
+
+final case class InterventionArm(armId: LongId[Arm], interventionId: LongId[Intervention])
+
+object InterventionArm {
+ implicit def toPhiString(x: InterventionArm): PhiString = {
+ import x._
+ phi"InterventionArm(armId=$armId, interventionId=$interventionId)"
+ }
+}
+
+final case class Intervention(id: LongId[Intervention],
+ trialId: StringId[Trial],
+ name: String,
+ originalName: String,
+ typeId: Option[LongId[InterventionType]],
+ originalType: Option[String],
+ description: String,
+ isActive: Boolean)
+
+object Intervention {
+ implicit def toPhiString(x: Intervention): PhiString = {
+ import x._
+ phi"Intervention(id=$id, trialId=$trialId, name=${Unsafe(name)}, typeId=$typeId, isActive=$isActive)"
+ }
+}
+
+final case class InterventionWithArms(intervention: Intervention, arms: List[InterventionArm])
+
+object InterventionWithArms {
+ implicit def toPhiString(x: InterventionWithArms): PhiString = {
+ import x._
+ phi"InterventionWithArms(intervention=$intervention, arms=$arms)"
+ }
+}