aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala3
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/RawTrialLabel.scala32
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala23
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala12
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala36
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/common.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/export.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala3
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala12
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patient.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/trial.scala9
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala17
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/TrialService.scala5
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala7
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala9
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ExportFormatSuite.scala2
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientEligibleTrialFormatSuite.scala3
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientFormatSuite.scala4
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/TrialFormatSuite.scala5
20 files changed, 50 insertions, 140 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala b/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
index 83c4e6f..6d2a068 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
@@ -15,6 +15,7 @@ import xyz.driver.pdsuidomain.formats.json.sprayformats.trial._
import xyz.driver.pdsuidomain.formats.json.sprayformats.trialhistory._
import xyz.driver.pdsuidomain.formats.json.sprayformats.trialissue._
import xyz.driver.core.swagger.CustomSwaggerJsonConverter._
+import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuicommon.concurrent.BridgeUploadQueue
import xyz.driver.pdsuidomain.services.CriterionService.RichCriterion
import xyz.driver.pdsuidomain.services.ExtractedDataService.RichExtractedData
@@ -32,7 +33,7 @@ object CustomSwaggerJsonFormats {
)
val customTrialCurationProperties = immutable.Map[Class[_], Property](
classOf[Trial.Status] -> stringProperty(),
- classOf[Trial.Condition] -> stringProperty(),
+ classOf[CancerType] -> stringProperty(),
classOf[TrialHistory.Action] -> stringProperty(),
classOf[TrialHistory.State] -> stringProperty()
) ++ customCommonProperties
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
index 193ef11..598b11e 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
@@ -61,7 +61,7 @@ final case class Patient(id: UuidId[Patient],
previousAssignee: Option[StringId[User]],
lastActiveUserId: Option[StringId[User]],
isUpdateRequired: Boolean,
- cancerType: CancerType,
+ disease: CancerType,
orderId: PatientOrderId,
lastUpdate: LocalDateTime) {
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/RawTrialLabel.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/RawTrialLabel.scala
deleted file mode 100644
index bdbc4ea..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/RawTrialLabel.scala
+++ /dev/null
@@ -1,32 +0,0 @@
-package xyz.driver.pdsuidomain.entities
-
-import java.time.LocalDateTime
-
-import xyz.driver.entities.labels.Label
-import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId}
-import xyz.driver.pdsuicommon.logging._
-
-final case class RawTrialLabel(nctId: StringId[Trial],
- trialId: UuidId[Trial],
- condition: String,
- lastReviewed: LocalDateTime,
- armName: String,
- armId: LongId[Arm],
- labelId: LongId[Label],
- value: Option[Boolean],
- criterionId: LongId[Criterion],
- criteria: String,
- criterionArmId: LongId[Arm],
- isCompound: Boolean,
- isDefining: Boolean)
-
-object RawTrialLabel {
-
- implicit def toPhiString(x: RawTrialLabel): PhiString = {
- import x._
- phi"RawTrialLabel(nctId=$nctId, trialId=$trialId, condition=${Unsafe(condition)}, lastReviewed=$lastReviewed, " +
- phi"armId=$armId, armName=${Unsafe(armName)}, labelId=$labelId, value=$value, " +
- phi"criterionId=$criterionId, criteria=${Unsafe(criteria)}, criterionArmId=$criterionArmId, " +
- phi"isCompound=$isCompound, isDefining=$isDefining)"
- }
-}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala
index db4def2..7584e9c 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala
@@ -2,10 +2,11 @@ package xyz.driver.pdsuidomain.entities
import java.time.LocalDateTime
+import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuicommon.domain.{LongId, StringId, User, UuidId}
import xyz.driver.pdsuicommon.logging._
import xyz.driver.pdsuicommon.utils.Utils
-import xyz.driver.pdsuidomain.entities.Trial.{Condition, Status}
+import xyz.driver.pdsuidomain.entities.Trial.Status
final case class StudyDesign(id: LongId[StudyDesign], name: String)
@@ -58,24 +59,6 @@ object Trial {
}
final case class Locations(locations: List[String])
-
- sealed trait Condition
-
- object Condition {
-
- case object Breast extends Condition
- case object Lung extends Condition
- case object Prostate extends Condition
-
- def fromString(condition: String): Option[Condition] = condition match {
- case "Breast" => Some(Breast)
- case "Lung" => Some(Lung)
- case "Prostate" => Some(Prostate)
- case _ => None
- }
-
- val All: Set[Condition] = Set(Breast, Lung, Prostate)
- }
}
final case class Trial(id: StringId[Trial],
@@ -86,7 +69,7 @@ final case class Trial(id: StringId[Trial],
previousAssignee: Option[StringId[User]],
lastActiveUserId: Option[StringId[User]],
lastUpdate: LocalDateTime,
- condition: Condition,
+ disease: CancerType,
phase: String,
hypothesisId: Option[UuidId[Hypothesis]],
studyDesignId: Option[LongId[StudyDesign]],
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala
index 1f06e0d..385bbbe 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialLabelCriterion.scala
@@ -3,7 +3,7 @@ package xyz.driver.pdsuidomain.entities.export.trial
import xyz.driver.entities.labels.Label
import xyz.driver.pdsuicommon.domain._
import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuidomain.entities.{Arm, Criterion, RawTrialLabel}
+import xyz.driver.pdsuidomain.entities.{Arm, Criterion}
final case class ExportTrialLabelCriterion(criterionId: LongId[Criterion],
value: Option[Boolean],
@@ -20,14 +20,4 @@ object ExportTrialLabelCriterion {
phi"TrialLabelCriterion(criterionId=$criterionId, value=$value, labelId=$labelId, " +
phi"criteria=${Unsafe(criteria)}, isCompound=$isCompound, isDefining=$isDefining)"
}
-
- def fromRaw(x: RawTrialLabel, armIds: Set[LongId[Arm]]) = ExportTrialLabelCriterion(
- criterionId = x.criterionId,
- value = x.value,
- labelId = x.labelId,
- armIds = armIds,
- criteria = x.criteria,
- isCompound = x.isCompound,
- isDefining = x.isDefining
- )
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala
index cf55694..3a9434b 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/export/trial/ExportTrialWithLabels.scala
@@ -4,13 +4,11 @@ import java.time.LocalDateTime
import xyz.driver.pdsuicommon.domain._
import xyz.driver.pdsuicommon.logging._
-import xyz.driver.pdsuidomain.entities.{RawTrialLabel, Trial}
-
-import scala.collection.breakOut
+import xyz.driver.pdsuidomain.entities.Trial
final case class ExportTrialWithLabels(nctId: StringId[Trial],
trialId: UuidId[Trial],
- condition: String,
+ disease: String,
lastReviewed: LocalDateTime,
labelVersion: Long,
arms: List[ExportTrialArm],
@@ -20,35 +18,7 @@ object ExportTrialWithLabels {
implicit def toPhiString(x: ExportTrialWithLabels): PhiString = {
import x._
- phi"TrialWithLabels(nctId=$nctId, trialId=$trialId, condition=${Unsafe(condition)}, " +
+ phi"TrialWithLabels(nctId=$nctId, trialId=$trialId, disease=${Unsafe(disease)}, " +
phi"lastReviewed=$lastReviewed, labelVersion=${Unsafe(labelVersion)}, arms=$arms, criteria=$criteria)"
}
-
- def fromRaw(rawData: List[RawTrialLabel]): ExportTrialWithLabels = {
- val trials: Set[StringId[Trial]] = rawData.map(_.nctId)(breakOut)
-
- assert(trials.size == 1, "There are more than one trial in the rawData")
- val trial = rawData.head
-
- ExportTrialWithLabels(
- nctId = trial.nctId,
- trialId = trial.trialId,
- condition = trial.condition,
- lastReviewed = trial.lastReviewed,
- labelVersion = 1, // TODO It is needed to replace this mock label version.
- arms = rawData
- .groupBy(_.armId)
- .map {
- case (armId, rawTrials) =>
- ExportTrialArm(armId, rawTrials.head.armName)
- }(breakOut),
- criteria = rawData
- .groupBy(x => (x.criterionId, x.labelId))
- .map {
- case (_, rawTrialLabels) =>
- val armIds = rawTrialLabels.map(_.criterionArmId).toSet
- ExportTrialLabelCriterion.fromRaw(rawTrialLabels.head, armIds)
- }(breakOut)
- )
- }
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/common.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/common.scala
index a38d52c..f77c2e0 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/common.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/common.scala
@@ -29,8 +29,6 @@ object common {
1 + Random.nextInt(28) // all months have at least 28 days
)
- def nextCondition = generators.oneOf[Trial.Condition](Trial.Condition.All)
-
def nextTrialAction = generators.oneOf[TrialHistory.Action](TrialHistory.Action.All)
def nextTrialState = generators.oneOf[TrialHistory.State](TrialHistory.State.All)
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/export.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/export.scala
index 7f3c410..a3ba562 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/export.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/export.scala
@@ -26,7 +26,7 @@ object export {
ExportTrialWithLabels(
nctId = nextStringId[Trial],
trialId = nextUuidId[Trial],
- condition = nextString(100),
+ disease = nextString(100),
lastReviewed = nextLocalDateTime,
labelVersion = nextInt(100).toLong,
arms = listOf(nextExportTrialArm()),
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala
index 9a5022c..069d1f1 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala
@@ -1,6 +1,7 @@
package xyz.driver.pdsuidomain.fakes.entities
import xyz.driver.entities.labels.{Label, LabelCategory}
+import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuicommon.domain.{LongId, User}
import xyz.driver.pdsuidomain.entities._
import xyz.driver.pdsuidomain.services.CriterionService.RichCriterion
@@ -19,7 +20,7 @@ object trialcuration {
previousAssignee = Option(nextStringId[User]),
lastActiveUserId = Option(nextStringId[User]),
lastUpdate = nextLocalDateTime,
- condition = nextCondition,
+ disease = generators.oneOf[CancerType](CancerType.Breast, CancerType.Lung, CancerType.Prostate),
phase = generators.nextString(),
hypothesisId = Option(nextUuidId[Hypothesis]),
studyDesignId = Option(nextLongId[StudyDesign]),
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala
index ad6bc80..585d4ed 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala
@@ -19,7 +19,7 @@ final case class ApiPatient(id: String,
previousAssignee: Option[String],
lastActiveUser: Option[String],
lastUpdate: ZonedDateTime,
- condition: String,
+ disease: String,
orderId: UUID) {
private def extractStatus(status: String): Patient.Status =
@@ -45,9 +45,9 @@ final case class ApiPatient(id: String,
previousAssignee = this.previousAssignee.map(StringId(_)),
lastActiveUserId = this.lastActiveUser.map(StringId(_)),
isUpdateRequired = false,
- cancerType = patient.CancerType
- .fromString(this.condition)
- .getOrElse(throw new IllegalArgumentException(s"Unknown cancer type ${this.condition}")),
+ disease = patient.CancerType
+ .fromString(this.disease)
+ .getOrElse(throw new IllegalArgumentException(s"Unknown cancer type ${this.disease}")),
orderId = PatientOrderId(this.orderId),
lastUpdate = this.lastUpdate.toLocalDateTime
)
@@ -66,7 +66,7 @@ object ApiPatient {
(JsPath \ "previousAssignee").formatNullable[String] and
(JsPath \ "lastActiveUser").formatNullable[String] and
(JsPath \ "lastUpdate").format[ZonedDateTime] and
- (JsPath \ "condition").format[String] and
+ (JsPath \ "disease").format[String] and
(JsPath \ "orderId").format[UUID]
)(ApiPatient.apply, unlift(ApiPatient.unapply))
@@ -80,7 +80,7 @@ object ApiPatient {
previousAssignee = patient.previousAssignee.map(_.id),
lastActiveUser = patient.lastActiveUserId.map(_.id),
lastUpdate = ZonedDateTime.of(patient.lastUpdate, ZoneId.of("Z")),
- condition = patient.cancerType.toString,
+ disease = patient.disease.toString,
orderId = patient.orderId.id
)
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patient.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patient.scala
index 3da76c1..2b0dfe5 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patient.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/patient.scala
@@ -40,7 +40,7 @@ object patient {
"previousAssignee" -> patient.previousAssignee.toJson,
"lastActiveUser" -> patient.lastActiveUserId.toJson,
"lastUpdate" -> patient.lastUpdate.toJson,
- "condition" -> patient.cancerType.toJson,
+ "disease" -> patient.disease.toJson,
"orderId" -> patient.orderId.toJson
)
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/trial.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/trial.scala
index 8000a27..d851c2c 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/trial.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/trial.scala
@@ -6,6 +6,7 @@ import spray.json._
import xyz.driver.core.json.EnumJsonFormat
import xyz.driver.pdsuicommon.domain.{LongId, UuidId}
import xyz.driver.pdsuidomain.entities._
+import xyz.driver.formats.json.patient._
object trial {
import DefaultJsonProtocol._
@@ -24,12 +25,6 @@ object trial {
"Archived" -> Status.Archived
)
- implicit val conditionFormat = new EnumJsonFormat[Condition](
- "Breast" -> Condition.Breast,
- "Lung" -> Condition.Lung,
- "Prostate" -> Condition.Prostate
- )
-
implicit val trialWriter: RootJsonWriter[Trial] = new RootJsonWriter[Trial] {
override def write(obj: Trial) =
JsObject(
@@ -41,7 +36,7 @@ object trial {
"previousStatus" -> obj.previousStatus.toJson,
"previousAssignee" -> obj.previousAssignee.toJson,
"lastActiveUser" -> obj.lastActiveUserId.toJson,
- "condition" -> obj.condition.toJson,
+ "disease" -> obj.disease.toJson,
"phase" -> obj.phase.toJson,
"hypothesisId" -> obj.hypothesisId.toJson,
"studyDesignId" -> obj.studyDesignId.toJson,
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala
index 1b4ac64..a2a1ca9 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala
@@ -2,11 +2,12 @@ package xyz.driver.pdsuidomain.formats.json.trial
import java.time.{ZoneId, ZonedDateTime}
import java.util.UUID
-import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId}
+import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId}
import xyz.driver.pdsuidomain.entities.Trial
import play.api.libs.functional.syntax._
import play.api.libs.json._
+import xyz.driver.entities.patient.CancerType
final case class ApiTrial(id: String,
externalId: UUID,
@@ -16,7 +17,7 @@ final case class ApiTrial(id: String,
previousStatus: Option[String],
previousAssignee: Option[String],
lastActiveUser: Option[String],
- condition: String,
+ disease: String,
phase: String,
hypothesisId: Option[UUID],
studyDesignId: Option[Long],
@@ -37,11 +38,9 @@ final case class ApiTrial(id: String,
previousAssignee = this.previousAssignee.map(id => StringId(id)),
lastActiveUserId = this.lastActiveUser.map(id => StringId(id)),
lastUpdate = this.lastUpdate.toLocalDateTime,
- condition = Trial.Condition
- .fromString(this.condition)
- .getOrElse(
- throw new NoSuchElementException(s"unknown condition ${this.condition}")
- ),
+ disease = CancerType
+ .fromString(this.disease)
+ .getOrElse(throw new NoSuchElementException(s"Unknown disease ${this.disease}")),
phase = this.phase,
hypothesisId = this.hypothesisId.map(id => UuidId(id)),
studyDesignId = this.studyDesignId.map(id => LongId(id)),
@@ -67,7 +66,7 @@ object ApiTrial {
(JsPath \ "previousStatus").formatNullable[String] and
(JsPath \ "previousAssignee").formatNullable[String] and
(JsPath \ "lastActiveUser").formatNullable[String] and
- (JsPath \ "condition").format[String] and
+ (JsPath \ "disease").format[String] and
(JsPath \ "phase").format[String] and
(JsPath \ "hypothesisId").formatNullable[UUID] and
(JsPath \ "studyDesignId").formatNullable[Long] and
@@ -89,7 +88,7 @@ object ApiTrial {
previousAssignee = trial.previousAssignee.map(_.id),
lastActiveUser = trial.lastActiveUserId.map(_.id),
lastUpdate = ZonedDateTime.of(trial.lastUpdate, ZoneId.of("Z")),
- condition = trial.condition.toString,
+ disease = trial.disease.toString,
phase = trial.phase,
hypothesisId = trial.hypothesisId.map(_.id),
studyDesignId = trial.studyDesignId.map(_.id),
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/TrialService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/TrialService.scala
index c6ab2d2..92233e4 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/TrialService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/TrialService.scala
@@ -5,6 +5,7 @@ import java.time.LocalDateTime
import akka.NotUsed
import akka.stream.scaladsl.Source
import akka.util.ByteString
+import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuicommon.auth.AuthenticatedRequestContext
import xyz.driver.pdsuicommon.db._
import xyz.driver.pdsuicommon.domain.StringId
@@ -108,10 +109,10 @@ trait TrialService {
def getById(id: StringId[Trial])(implicit requestContext: AuthenticatedRequestContext): Future[GetByIdReply]
- def getTrialWithLabels(trialId: StringId[Trial], condition: String)(
+ def getTrialWithLabels(trialId: StringId[Trial], cancerType: CancerType)(
implicit requestContext: AuthenticatedRequestContext): Future[GetTrialWithLabelsReply]
- def getTrialsWithLabels(condition: String)(
+ def getTrialsWithLabels(cancerType: CancerType)(
implicit requestContext: AuthenticatedRequestContext): Future[GetTrialsWithLabelsReply]
def getPdfSource(trialId: StringId[Trial])(
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala
index cd62d48..a1efdac 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala
@@ -7,6 +7,7 @@ import akka.stream.scaladsl.Source
import akka.util.ByteString
import xyz.driver.core.generators
import xyz.driver.entities.labels.Label
+import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuicommon.auth.AuthenticatedRequestContext
import xyz.driver.pdsuicommon.db._
import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId}
@@ -29,7 +30,7 @@ class FakeTrialService extends TrialService {
previousAssignee = None,
lastActiveUserId = None,
lastUpdate = LocalDateTime.now(),
- condition = Trial.Condition.Breast,
+ disease = CancerType.Breast,
phase = "",
hypothesisId = None,
studyDesignId = None,
@@ -57,11 +58,11 @@ class FakeTrialService extends TrialService {
implicit requestContext: AuthenticatedRequestContext): Future[GetListReply] =
Future.successful(GetListReply.EntityList(Seq(trial), 1, None))
- override def getTrialWithLabels(trialId: StringId[Trial], condition: String)(
+ override def getTrialWithLabels(trialId: StringId[Trial], cancerType: CancerType)(
implicit requestContext: AuthenticatedRequestContext): Future[GetTrialWithLabelsReply] =
Future.successful(GetTrialWithLabelsReply.Entity(nextExportTrialWithLabels()))
- override def getTrialsWithLabels(condition: String)(
+ override def getTrialsWithLabels(cancerType: CancerType)(
implicit requestContext: AuthenticatedRequestContext): Future[GetTrialsWithLabelsReply] =
Future.successful(GetTrialsWithLabelsReply.EntityList(generators.seqOf(nextExportTrialWithLabels())))
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala
index 42f32fc..ea719e1 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala
@@ -18,6 +18,7 @@ import xyz.driver.pdsuidomain.formats.json.trial.ApiTrial
import xyz.driver.pdsuidomain.services.TrialService
import spray.json.DefaultJsonProtocol._
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._
+import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuidomain.formats.json.sprayformats.export._
class RestTrialService(transport: ServiceTransport, baseUri: Uri)(implicit protected val materializer: Materializer,
@@ -37,9 +38,9 @@ class RestTrialService(transport: ServiceTransport, baseUri: Uri)(implicit prote
}
}
- def getTrialWithLabels(trialId: StringId[Trial], disease: String)(
+ def getTrialWithLabels(trialId: StringId[Trial], cancerType: CancerType)(
implicit requestContext: AuthenticatedRequestContext): Future[GetTrialWithLabelsReply] = {
- val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/export/trial/$disease/$trialId"))
+ val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/export/trial/$cancerType/$trialId"))
for {
response <- transport.sendRequestGetResponse(requestContext)(request)
reply <- apiResponse[ExportTrialWithLabels](response)
@@ -48,9 +49,9 @@ class RestTrialService(transport: ServiceTransport, baseUri: Uri)(implicit prote
}
}
- def getTrialsWithLabels(disease: String)(
+ def getTrialsWithLabels(cancerType: CancerType)(
implicit requestContext: AuthenticatedRequestContext): Future[GetTrialsWithLabelsReply] = {
- val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/export/trial/$disease"))
+ val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/export/trial/$cancerType"))
for {
response <- transport.sendRequestGetResponse(requestContext)(request)
reply <- apiResponse[Seq[ExportTrialWithLabels]](response)
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ExportFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ExportFormatSuite.scala
index 05f5863..402e893 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ExportFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ExportFormatSuite.scala
@@ -107,7 +107,7 @@ class ExportFormatSuite extends FlatSpec with Matchers {
val trialWithLabels = ExportTrialWithLabels(
nctId = StringId("NCT000001"),
trialId = UuidId("40892a07-c638-49d2-9795-1edfefbbcc7c"),
- condition = "Breast",
+ disease = "Breast",
lastReviewed = LocalDateTime.parse("2017-08-10T18:00:00"),
labelVersion = 1L,
arms = arms,
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientEligibleTrialFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientEligibleTrialFormatSuite.scala
index f48625c..31f541f 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientEligibleTrialFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientEligibleTrialFormatSuite.scala
@@ -5,6 +5,7 @@ import java.time.LocalDateTime
import spray.json._
import org.scalatest.{FlatSpec, Matchers}
import xyz.driver.entities.labels.LabelValue
+import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId}
import xyz.driver.pdsuidomain.entities.{PatientCriterionArm, PatientTrialArmGroupView, Trial}
import xyz.driver.pdsuidomain.services.PatientEligibleTrialService.RichPatientEligibleTrial
@@ -22,7 +23,7 @@ class PatientEligibleTrialFormatSuite extends FlatSpec with Matchers {
previousAssignee = None,
lastActiveUserId = None,
lastUpdate = LocalDateTime.parse("2017-08-10T18:16:19"),
- condition = Trial.Condition.Breast,
+ disease = CancerType.Breast,
phase = "",
hypothesisId = Some(UuidId("e76e2fc4-a29c-44fb-a81b-8856d06bb1d4")),
studyDesignId = Some(LongId(321)),
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientFormatSuite.scala
index 443c8e8..ad12b3b 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientFormatSuite.scala
@@ -23,7 +23,7 @@ class PatientFormatSuite extends FlatSpec with Matchers {
previousAssignee = None,
lastActiveUserId = None,
isUpdateRequired = false,
- cancerType = CancerType.Breast,
+ disease = CancerType.Breast,
orderId = PatientOrderId("7b54a75d-4197-4b27-9045-b9b6cb131be9"),
lastUpdate = LocalDateTime.parse("2017-08-10T18:00:00")
)
@@ -33,7 +33,7 @@ class PatientFormatSuite extends FlatSpec with Matchers {
"""{"id":"748b5884-3528-4cb9-904b-7a8151d6e343","dob":"1980-06-30",
"name":{"firstName":"John","middleName":"","lastName":"Doe"},"status":"New","assignee":null,
"previousStatus":null,"previousAssignee":null,"lastActiveUser":null,"lastUpdate":"2017-08-10T18:00Z",
- "orderId":"7b54a75d-4197-4b27-9045-b9b6cb131be9","condition":"Breast"}""".parseJson)
+ "orderId":"7b54a75d-4197-4b27-9045-b9b6cb131be9","disease":"Breast"}""".parseJson)
}
}
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/TrialFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/TrialFormatSuite.scala
index 59cf779..beb69c4 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/TrialFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/TrialFormatSuite.scala
@@ -4,6 +4,7 @@ import java.time.LocalDateTime
import spray.json._
import org.scalatest.{FlatSpec, Matchers}
+import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId}
import xyz.driver.pdsuidomain.entities.Trial
@@ -20,7 +21,7 @@ class TrialFormatSuite extends FlatSpec with Matchers {
previousAssignee = None,
lastActiveUserId = None,
lastUpdate = LocalDateTime.parse("2017-08-10T18:16:19"),
- condition = Trial.Condition.Breast,
+ disease = CancerType.Breast,
phase = "",
hypothesisId = Some(UuidId("3b80b2e2-5372-4cf5-a342-6e4ebe10fafd")),
studyDesignId = Some(LongId(321)),
@@ -39,7 +40,7 @@ class TrialFormatSuite extends FlatSpec with Matchers {
"isUpdated":false,"overviewTemplate":"","phase":"","originalStudyDesignId":null,
"hypothesisId":"3b80b2e2-5372-4cf5-a342-6e4ebe10fafd","originalTitle":"orig trial title",
"studyDesignId":321,"lastActiveUser":null,"externalid":"40892a07-c638-49d2-9795-1edfefbbcc7c",
- "id":"NCT000001","condition":"Breast","status":"New","overview":null,"previousAssignee":null,"title":"trial title"}""".parseJson)
+ "id":"NCT000001","disease":"Breast","status":"New","overview":null,"previousAssignee":null,"title":"trial title"}""".parseJson)
val updateTrialJson = """{"hypothesisId":null,"overview":"new overview"}""".parseJson
val expectedUpdatedTrial = orig.copy(hypothesisId = None, overview = Some("new overview"))