aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/entities/EligibilityArm.scala
blob: 50b49ad32a70e5b9e624dbe5b78a697c05a88409 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package xyz.driver.pdsuidomain.entities

import java.time.LocalDateTime

import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuicommon.domain.{LongId, StringId}
import xyz.driver.pdsuicommon.logging._

final case class EligibilityArm(id: LongId[EligibilityArm],
                                name: String,
                                originalName: String,
                                trialId: StringId[Trial],
                                deleted: Option[LocalDateTime] = None)

object EligibilityArm {

  implicit def toPhiString(x: EligibilityArm): PhiString = {
    import x._
    phi"Arm(id=$id, name=${Unsafe(x.name)}, trialId=${Unsafe(x.trialId)})"
  }
}

final case class EligibilityArmDisease(eligibilityArmId: LongId[EligibilityArm], disease: CancerType)

object EligibilityArmDisease {

  implicit def toPhiString(x: EligibilityArmDisease): PhiString = {
    phi"EligibilityArmDisease(eligibilityArmId=${Unsafe(x.eligibilityArmId)}, disease=${Unsafe(x.disease)})"
  }

}

final case class EligibilityArmWithDiseases(eligibilityArm: EligibilityArm,
                                            eligibilityArmDiseases: Seq[EligibilityArmDisease])

object EligibilityArmWithDiseases {

  implicit def toPhiString(x: EligibilityArmWithDiseases): PhiString = {
    import x._
    phi"EligibilityArmWithDiseases(eligibilityArm=$eligibilityArm, eligibilityArmDiseases=$eligibilityArmDiseases)"
  }
}