diff options
author | vlad <vlad@driver.xyz> | 2017-06-16 12:11:48 -0700 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2017-06-16 12:11:48 -0700 |
commit | 1f0cb533633fc95df948a2617351335646f3e200 (patch) | |
tree | bdce2bad8632bb1cc2c85c9750e2edac9e079958 | |
parent | 111311fd935d9bd271c673cf10c0babe54bde8a6 (diff) | |
download | rest-query-1f0cb533633fc95df948a2617351335646f3e200.tar.gz rest-query-1f0cb533633fc95df948a2617351335646f3e200.tar.bz2 rest-query-1f0cb533633fc95df948a2617351335646f3e200.zip |
Added DirectReport entityv0.1.6
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/entities/DirectReport.scala | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/DirectReport.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/DirectReport.scala new file mode 100644 index 0000000..b5714b6 --- /dev/null +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/DirectReport.scala @@ -0,0 +1,41 @@ +package xyz.driver.pdsuidomain.entities + +import java.time.LocalDate + +import xyz.driver.pdsuicommon.logging._ +import xyz.driver.pdsuicommon.domain.UuidId +import xyz.driver.pdsuicommon.utils.Utils +import xyz.driver.pdsuidomain.entities.DirectReport.ReportType + +object DirectReport { + + sealed trait ReportType extends Product with Serializable { + def oneOf(xs: ReportType*): Boolean = xs.contains(this) + + def oneOf(xs: Set[ReportType]): Boolean = xs.contains(this) + } + + object ReportType { + case object IHC extends ReportType + case object DNA extends ReportType + case object CFDNA extends ReportType + + val All = Set(IHC, DNA, CFDNA) + implicit def toPhiString(x: ReportType): PhiString = Unsafe(Utils.getClassSimpleName(x.getClass)) + } + + implicit def toPhiString(x: DirectReport): PhiString = { + import x._ + phi"DirectReport(id=$id, patientId=$patientId, reportType=$reportType, date=${Unsafe(date)}, " + + phi"documentType=${Unsafe(documentType)}, providerType=${Unsafe(providerType)}, " + + phi"providerName=${Unsafe(providerName)})" + } +} + +case class DirectReport(id: UuidId[DirectReport], + patientId: UuidId[Patient], + reportType: ReportType, + date: LocalDate, + documentType: String, + providerType: String, + providerName: String) |