diff options
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala deleted file mode 100644 index e057c55..0000000 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala +++ /dev/null @@ -1,53 +0,0 @@ -package xyz.driver.pdsuidomain.services.rest - -import akka.http.scaladsl.model.Uri -import akka.stream.Materializer -import spray.json.DefaultJsonProtocol -import xyz.driver.core.Id -import xyz.driver.core.rest.{AuthorizedServiceRequestContext, RestService, ServiceTransport} -import xyz.driver.entities.patient -import xyz.driver.entities.patient.Patient -import xyz.driver.entities.users.AuthUserInfo -import xyz.driver.pdsuicommon.domain.LongId -import xyz.driver.pdsuidomain.entities.eligibility.{MatchedPatient, MismatchRankedLabels} -import xyz.driver.pdsuidomain.entities.{EligibilityArm, eligibility} -import xyz.driver.pdsuidomain.services.EligibilityVerificationService - -import scala.concurrent.{ExecutionContext, Future} -import scalaz.ListT -import scalaz.Scalaz.futureInstance - -class RestEligibilityVerificationService(transport: ServiceTransport, baseUri: Uri)( - implicit protected val materializer: Materializer, - protected val exec: ExecutionContext -) extends EligibilityVerificationService with RestService { - - import DefaultJsonProtocol._ - import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._ - import xyz.driver.pdsuidomain.formats.json.eligibility._ - - override def getMatchedPatients()( - implicit ctx: AuthorizedServiceRequestContext[AuthUserInfo]): ListT[Future, eligibility.MatchedPatient] = { - val request = get(baseUri, s"/v1/patients") - listResponse[MatchedPatient](transport.sendRequest(ctx)(request)) - } - - override def getMismatchRankedLabels(patientId: Id[Patient], - cancerType: patient.CancerType, - excludedArms: Seq[LongId[EligibilityArm]])( - implicit ctx: AuthorizedServiceRequestContext[AuthUserInfo]): Future[eligibility.MismatchRankedLabels] = { - - val query = Seq("disease" -> cancerType.toString.toUpperCase) ++ (if (excludedArms.nonEmpty) { - Seq( - "ineligible_arms" -> excludedArms - .map(_.id) - .mkString(",")) - } else { - Seq.empty[(String, String)] - }) - - val request = get(baseUri, s"/v1/patients/$patientId/labels", query) - optionalResponse[MismatchRankedLabels](transport.sendRequest(ctx)(request)) - .getOrElse(throw new Exception(s"The data of patient $patientId is not ready yet")) - } -} |