aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-09-27 18:28:00 +0700
committerKseniya Tomskikh <ktomskih@datamonsters.co>2017-09-27 19:11:58 +0700
commitc24679f1ae7d7ccc4e6693535b0aa3ac0e1ca225 (patch)
tree00d66671eab65447e6d87be8b6e3db6a8fa3a05e /src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala
parent2d72ce34d6ea12cd863ae0a8747e65bd1d2a1487 (diff)
downloadrest-query-c24679f1ae7d7ccc4e6693535b0aa3ac0e1ca225.tar.gz
rest-query-c24679f1ae7d7ccc4e6693535b0aa3ac0e1ca225.tar.bz2
rest-query-c24679f1ae7d7ccc4e6693535b0aa3ac0e1ca225.zip
PDSUI-2275 Added map with all intervention typesv0.3.25
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala
index d0eefa9..9ccc267 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Intervention.scala
@@ -170,6 +170,18 @@ object InterventionType {
Rectal
)
+ val All: Map[LongId[InterventionType], InterventionType] = Map[LongId[InterventionType], InterventionType](
+ LongId[InterventionType](1) -> RadiationTherapy,
+ LongId[InterventionType](2) -> Chemotherapy,
+ LongId[InterventionType](3) -> TargetedTherapy,
+ LongId[InterventionType](4) -> Immunotherapy,
+ LongId[InterventionType](5) -> Surgery,
+ LongId[InterventionType](6) -> HormoneTherapy,
+ LongId[InterventionType](7) -> Other,
+ LongId[InterventionType](8) -> Radiation,
+ LongId[InterventionType](9) -> SurgeryProcedure
+ )
+
implicit def toPhiString(x: InterventionType): PhiString = {
import x._
phi"InterventionType(id=$id, name=${Unsafe(name)})"
@@ -194,7 +206,17 @@ final case class Intervention(id: LongId[Intervention],
dosage: String,
originalDosage: String,
isActive: Boolean,
- deliveryMethod: Option[String])
+ deliveryMethod: Option[String]) {
+ def deliveryMethodIsCorrect: Boolean = {
+ if (this.typeId.nonEmpty) {
+ this.deliveryMethod.nonEmpty &&
+ InterventionType.All
+ .getOrElse(this.typeId.get, throw new IllegalArgumentException(s"Not found Intervention type ${this.typeId}"))
+ .deliveryMethods
+ .contains(DeliveryMethod.fromString(this.deliveryMethod.get))
+ } else true
+ }
+}
object Intervention {
implicit def toPhiString(x: Intervention): PhiString = {