aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksandr <ognelisar@gmail.com>2017-10-23 14:46:32 +0700
committerAleksandr <ognelisar@gmail.com>2017-10-23 14:46:32 +0700
commit133b4fe8487db9df80c1f39f64bbe7d6fc039952 (patch)
tree8f4abc394cf5592e4144bf6c58ead22f064c1877 /src
parent9ca0cae09bc880ce083c2a49ae3804889cc9d4c4 (diff)
downloadrest-query-133b4fe8487db9df80c1f39f64bbe7d6fc039952.tar.gz
rest-query-133b4fe8487db9df80c1f39f64bbe7d6fc039952.tar.bz2
rest-query-133b4fe8487db9df80c1f39f64bbe7d6fc039952.zip
Added 'inclusion' field to PatientCriterion
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala7
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala3
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPatientCriterion.scala9
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala3
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientCriterionFormatSuite.scala5
5 files changed, 17 insertions, 10 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala
index 79a19ed..7027eef 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala
@@ -9,11 +9,11 @@ import xyz.driver.pdsuicommon.logging._
object PatientCriterion {
implicit def toPhiString(x: PatientCriterion): PhiString = {
import x._
- phi"PatientCriterion(id=$id, patientLabelId=$patientLabelId, trialId=${Unsafe(trialId)}, nctId=${Unsafe(nctId)}, " +
+ phi"PatientCriterion(id=$id, patientLabelId=$patientLabelId, trialId=${Unsafe(trialId)}, nctId=$nctId, " +
phi"criterionId=$criterionId, criterionValue=${Unsafe(criterionValue)}, " +
phi"isImplicitMatch=$criterionIsDefining), criterionIsDefining=${Unsafe(criterionIsDefining)}, " +
phi"eligibilityStatus=${Unsafe(eligibilityStatus)}, verifiedEligibilityStatus=${Unsafe(verifiedEligibilityStatus)}, " +
- phi"isVerified=${Unsafe(isVerified)}, lastUpdate=${Unsafe(lastUpdate)}"
+ phi"isVerified=${Unsafe(isVerified)}, lastUpdate=${Unsafe(lastUpdate)}, inclusion=${Unsafe(inclusion)}"
}
/**
@@ -52,7 +52,8 @@ final case class PatientCriterion(id: LongId[PatientCriterion],
verifiedEligibilityStatus: Option[LabelValue],
isVerified: Boolean,
isVisible: Boolean,
- lastUpdate: LocalDateTime) {
+ lastUpdate: LocalDateTime,
+ inclusion: Option[Boolean]) {
def isIneligibleForEv: Boolean = eligibilityStatus.contains(LabelValue.No) && isVerified
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala
index b0ca136..b10c7de 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala
@@ -66,7 +66,8 @@ object treatmentmatching {
verifiedEligibilityStatus = generators.nextOption(fakes.entities.labels.nextLabelValue()),
isVerified = generators.nextBoolean(),
isVisible = generators.nextBoolean(),
- lastUpdate = nextLocalDateTime
+ lastUpdate = nextLocalDateTime,
+ inclusion = generators.nextOption(generators.nextBoolean())
)
def nextDraftPatientCriterion(): DraftPatientCriterion = DraftPatientCriterion(
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPatientCriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPatientCriterion.scala
index b9bf772..5e44413 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPatientCriterion.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/trial/ApiPatientCriterion.scala
@@ -22,7 +22,8 @@ final case class ApiPatientCriterion(id: Long,
verifiedEligibilityStatus: Option[String],
isVerified: Boolean,
isVisible: Boolean,
- lastUpdate: ZonedDateTime)
+ lastUpdate: ZonedDateTime,
+ inclusion: Option[Boolean])
object ApiPatientCriterion {
@@ -49,7 +50,8 @@ object ApiPatientCriterion {
}), Writes.of[String])) and
(JsPath \ "isVerified").format[Boolean] and
(JsPath \ "isVisible").format[Boolean] and
- (JsPath \ "lastUpdate").format[ZonedDateTime]
+ (JsPath \ "lastUpdate").format[ZonedDateTime] and
+ (JsPath \ "inclusion").formatNullable[Boolean]
) (ApiPatientCriterion.apply, unlift(ApiPatientCriterion.unapply))
def fromDomain(patientCriterion: PatientCriterion,
@@ -70,6 +72,7 @@ object ApiPatientCriterion {
verifiedEligibilityStatus = patientCriterion.verifiedEligibilityStatus.map(_.toString),
isVerified = patientCriterion.isVerified,
isVisible = patientCriterion.isVisible,
- lastUpdate = ZonedDateTime.of(patientCriterion.lastUpdate, ZoneId.of("Z"))
+ lastUpdate = ZonedDateTime.of(patientCriterion.lastUpdate, ZoneId.of("Z")),
+ inclusion = patientCriterion.inclusion
)
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala
index f41c846..2cad78c 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patientcriterion.scala
@@ -56,7 +56,8 @@ object patientcriterion {
"verifiedEligibilityStatus" -> obj.patientCriterion.verifiedEligibilityStatus.toJson,
"isVerified" -> obj.patientCriterion.isVerified.toJson,
"isVisible" -> obj.patientCriterion.isVisible.toJson,
- "lastUpdate" -> obj.patientCriterion.lastUpdate.toJson
+ "lastUpdate" -> obj.patientCriterion.lastUpdate.toJson,
+ "inclusion" -> obj.patientCriterion.inclusion.toJson
)
}
}
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientCriterionFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientCriterionFormatSuite.scala
index b254013..27e27c2 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientCriterionFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientCriterionFormatSuite.scala
@@ -26,7 +26,8 @@ class PatientCriterionFormatSuite extends FlatSpec with Matchers {
verifiedEligibilityStatus = None,
isVisible = true,
isVerified = true,
- lastUpdate = LocalDateTime.parse("2017-08-10T18:00:00")
+ lastUpdate = LocalDateTime.parse("2017-08-10T18:00:00"),
+ inclusion = Some(true)
)
val arms = List(
PatientCriterionArm(patientCriterionId = LongId(1), armId = LongId(31), armName = "arm 31"),
@@ -38,7 +39,7 @@ class PatientCriterionFormatSuite extends FlatSpec with Matchers {
writtenJson should be(
"""{"id":1,"labelId":21,"nctId":"NCT00001","criterionId":101,"criterionText":"criterion text","criterionValue":"Yes",
"criterionIsDefining":false,"criterionIsCompound":false,"eligibilityStatus":"Yes","verifiedEligibilityStatus":null,
- "isVisible":true,"isVerified":true,"lastUpdate":"2017-08-10T18:00Z","arms":["arm 31","arm 32"]}""".parseJson)
+ "isVisible":true,"isVerified":true,"lastUpdate":"2017-08-10T18:00Z","arms":["arm 31","arm 32"],"inclusion":true}""".parseJson)
val updatePatientCriterionJson = """{"verifiedEligibilityStatus":"No"}""".parseJson
val expectedUpdatedPatientCriterion = orig.copy(verifiedEligibilityStatus = Some(LabelValue.No))