aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-11-01 18:54:15 +0700
committerKseniya Tomskikh <ktomskih@datamonsters.co>2017-11-01 18:54:15 +0700
commitaefa081802218fad505ba1bca02c0497f2ce7be4 (patch)
treef8b8f6ef6f70fef57110117c601abf49b6e3662b
parentff8729639c7067aee7dca130c0a0fc3f425488f0 (diff)
downloadrest-query-0.12.1.tar.gz
rest-query-0.12.1.tar.bz2
rest-query-0.12.1.zip
Fixed patient's criteria updatev0.12.1
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala4
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/PatientCriterionService.scala10
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/PatientCriterionFormatSuite.scala2
3 files changed, 12 insertions, 4 deletions
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 3c14a37..e4d7de6 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala
@@ -94,7 +94,9 @@ object treatmentmatching {
def nextDraftPatientCriterion(): DraftPatientCriterion = DraftPatientCriterion(
id = nextLongId[PatientCriterion],
- eligibilityStatus = generators.nextOption(fakes.entities.labels.nextLabelValue()),
+ eligibilityStatus = generators.nextOption(
+ generators.nextOption(fakes.entities.labels.nextLabelValue())
+ ),
isVerified = generators.nextOption(generators.nextBoolean())
)
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/PatientCriterionService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/PatientCriterionService.scala
index 4d0e188..f2b4434 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/PatientCriterionService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/PatientCriterionService.scala
@@ -15,16 +15,22 @@ import scala.concurrent.Future
object PatientCriterionService {
final case class DraftPatientCriterion(id: LongId[PatientCriterion],
- eligibilityStatus: Option[LabelValue],
+ eligibilityStatus: Option[Option[LabelValue]],
isVerified: Option[Boolean]) {
def applyTo(orig: PatientCriterion) = {
orig.copy(
- eligibilityStatus = eligibilityStatus.orElse(orig.eligibilityStatus),
+ eligibilityStatus = eligibilityStatus.getOrElse(orig.eligibilityStatus),
isVerified = isVerified.getOrElse(orig.isVerified)
)
}
}
+ object DraftPatientCriterion {
+ implicit def toPhiString(x: DraftPatientCriterion): PhiString = {
+ phi"DraftPatientCriterion(id=${x.id}, eligibilityStatus=${Unsafe(x.eligibilityStatus)}, isVerified=${x.isVerified})"
+ }
+ }
+
trait DefaultPatientNotFoundError {
def userMessage: String = "Patient not found"
}
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/PatientCriterionFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/PatientCriterionFormatSuite.scala
index e0f96bb..60e0fff 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/PatientCriterionFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/PatientCriterionFormatSuite.scala
@@ -51,7 +51,7 @@ class PatientCriterionFormatSuite extends FlatSpec with Matchers {
val updateBulkPatientCriterionJson =
"""[{"id":1,"eligibilityStatus":"No"},{"id":2,"isVerified":false}]""".parseJson
val expectedDraftPatientCriterionList = List(
- DraftPatientCriterion(id = LongId(1), eligibilityStatus = Some(LabelValue.No), isVerified = None),
+ DraftPatientCriterion(id = LongId(1), eligibilityStatus = Some(Some(LabelValue.No)), isVerified = None),
DraftPatientCriterion(id = LongId(2), eligibilityStatus = None, isVerified = Some(false))
)
val parsedDraftPatientCriterionList = draftPatientCriterionListReader.read(updateBulkPatientCriterionJson)