Support blinded mode (#3211)
Data returned by FHIR for users that have the BlindedMode
role are automatically blinded
Support multiple values for string search parameters (#3130)
When using multiple value the system uses exact matching, not starts-with.
Support US Core Medication List - fetching all medications for the R4 MedicationRequest resource (#3147).
This change adds the ability to search, create, and update self reported medications via the R4 MedicationRequest resource. There are no site configuration requirements for this feature to store/fetch self reported medication orders. The medication orders with Priority terms equal to the CareEvolution MedicationStatement term will indicate self reported medication. To include additional patient self reported medication orders not posted via Fhir, configure the GetMedicationStatementTermSubset in the MappingConfiguration and add the Order Priority terms to that subset.
ne
, sa
, eb
, ap
operators for date search parameters (#3110)Condition.asserter populated for all resources, including those coming from claim data (#3043)
Added the OperationDefinition resource (#3064)
Add Implementation to the Capability Statement (#3091)
Support SMART access scopes (only in version 28 or higher) (#3012)
Better documentation (#3038)
Update all patient
reference search parameters to support missing=true (was not allowed previously). Add link
reference search parameter to Person resource (#3030)
Fix the DocumentReference resource to support revinclude/include searches (#3063)
Add to ExplanationOfBenefit R4 resource, all remaining CE Claim data elements not mapped as extensions (#3019)
Update ExplanationOfBenefit R4 resource for CarinBB STU1 (leaving old uri/codes for backward compatibility as needed for our sites) (#3055)
adjudication
header level to output if we have a non payment reason codePolling updated to not import duplicate orders from Epic (#3061)
Update to the FHIR CapabilityStatement for all versions
implementation.description
which is mapped from the FHIR mapping configuration Site URI value for the FHIR endpoint. (#3091)Fix chained searches using the PatientId
identifier. (#3077)
Added validation to identifiers to detect NPI values. (#3080)
Add to Condition resource (all versions) asserter
when mapping ClaimProblem use CaregiverRelationships with RelationshipTypeTerm equal to CareEvolution.AdmittingPhysician term. (#3043)
Support multiple value sets in token search parameters using the :in
and :not-in
modifiers (#3016)
Added a per-endpoint configurable time-out for internal SQL search queries. Requests that hit the time-out fails with an error 500 and a Internal time-out processing the request
error message (#2996)
R4 MedicationAdministration fix: use dosage.rateQuantity
instead of dosage.rateRange
that is not conformant (265db950edbd6f46c010b41cbb2b4a6ae036eed2)
R4 Polling for Claim and ExplanationOfBenefit resource fix: Will now warn when missing the procedure component (instead of exception). (#2997)
Breaking Change (changes persistence of ClaimProcedures)
Condition.VerificationStatus defaults to unconfirmed
(R4) or unknown
(STU3 & DSTU2), previously it was left empty if not specified in the underlying data (#2978)
Including AuditEvent:agent
in an AuditEvent search caused a crash, now includes the referenced Person resources as expected (#2978)
Map Encounter classHistory
(#2985)
Changes/Additions to R4 ExplanationOfBenefit to support CarinBB specification (#2979).
Add the provider
reference search parameter.
Breaking Change (changes existing search parameter)
type
token search parameter. The search parameter now expects the search values in the http://hl7.org/fhir/R4/valueset-claim-type.html valueset.Map referrals to the FHIR Basic resource (#2952)
To search referrals use GET [base]/Basic?code=referral& . . .
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/carin/CodeSystem/carin-bb-claim-type",
"code": "pharmacy"
},
{
"system": "http://fhir.careevolution.com/codes/Facets/ClaimType",
"code": "P"
}
],
"text": "pharmacy"
},
to:
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/carin/CodeSystem/carin-bb-claim-type",
"code": "pharmacy"
},
{
"system": "http://fhir.careevolution.com/codes/Facets/ClaimType",
"code": "P"
},
{
"system": "http://fhir.careevolution.com/codes/FhirCodes/ClaimType",
"code": "pharmacy"
}
],
"text": "pharmacy"
},
Changes/Additions to R4 ExplanationOfBenefit to support CarinBB specification (#2963, #2893, #2949, #2931)
Breaking Changes (changes existing mappings)
Claim.Type
code matches 'pharmacy', ignores system.careteam
, mapping no longer looks for a resourceReference.identifier
and creates a caregiver. It will now map to Claim.CaregiverRelationships
only if resource reference returns a valid caregiver. Previously all caregivers in Claim.CaregiverRelationships
would be mapped to careteam
. Now only caregivers with relationship type terms that map to terms in the FhirCodes termnamespace (terms in these valuesets: http://build.fhir.org/ig/HL7/carin-bb/CodeSystem-C4BBClaimCareTeamRole.html and https://terminology.hl7.org/1.0.0//CodeSystem-claimcareteamrole.html) will appear in careteam
. Look to payee
and provider
fhir elements for caregivers with relationship type terms mapped to Terms.CaregiverRelationshipType.PayToProvider and Terms.CaregiverRelationshipType.ClaimProvider.supportingInfo
and it maps to these claim concepts Claim.AdmitType
, Claim.AdmitSource
, Claim.Drg
, Claim.AdmitDate
, Claim.DischargeDate
, Claim.BillClass
, Claim.FacilityType
, Claim.PatientStatus
, Medication.RefillNumber
, Medication.DaysSupplied
, Medication.DispenseAsWritten
, and Medication.Term
(if isGeneric and toFhir only). Previously Medication.RefillNumber
, Medication.DaysSupplied
were mapped to the quantity
extensions. Previously Claim.BillClass
would map from a CMSBlueButton type code from the type
fhir element.adjudication
, it maps to Claim.TotalCharges
, Claim.TotalPaid
, Claim.TotalPatientPaid
, Claim.NonPaymentReason
, ClaimService.AmountPaid
, ClaimService.AmountClaimed
, ClaimService.PatientPaid
, ClaimService.Units
, Medication.AmountPaid
, and Medication.AmountBilled
. Previously amount fields were mapped based on supporting specific Blue Button extension urls.total
, it maps to the Claim.TotalCharges
, Claim.TotalPaid
, and Claim.TotalPatientPaid
. Previously it mapped total
to a propertybag.Update payment
, it maps to Claim.TotalPaid
, Claim.Status
(toFhir only), Claim.PaidDate
. Previously it only mapped to Claim.TotalPaid
.
A Note About Mapping Claim Amounts:
When mapping FromFhir: the payment
, total
, and adjudication
elements can each contain information that we map to the claim TotalCharges, TotalPaid, PaidDate, TotalPatientPaid, and NonPaymentReason fields. Since none of the elements are required, the mapper tries to get data from each element for mapping. First it tries to get data from payment
(as it has most info about payment and date). Then it looks at total
and lastly at adjudication
.
When mapping ToFhir: the payment
and total
are always mapped to fhir and adjudication
only if no line item adjudication exists.
Update diagnosis
, remove old CMS BB logic that looks for a packageCode instead of a diagnostic code in resource. Maps to ClaimProblem as before.
procedure
, now supports procedureCodeableConcept
or procedureReference
(when polling). Add type
mapping to Procedure.Type
. If no fhir data exists, will persist 'undefined' term to Procedure.Type
. Previously Procedure.Type
was not mapped from fhir, it was constant and would always be 'undefined'.Remove all Blue Button extensions. These include extensions in the following elements: billablePeriod
, facility
, item
, item.quantity
, and at the resource level.
Additive Changes
meta.profile
it equals http://hl7.org/fhir/us/carin-bb/StructureDefinition/CARIN-BB-ExplanationOfBenefitprovider
and payee
These map to Claim.CaregiverRelationships
, caregivers with relationship type terms mapped to Terms.CaregiverRelationshipType.PayToProvider and Terms.CaregiverRelationshipType.ClaimProvider.focal
to insurance
, it is always true.sequence
to item
. insurer
as contained resource, it maps to Claim.InsuranceID
.outcome
element.Changes to Claim R4 (to align better with above EOB mappings) (#2963, #2893, #2949, #2931)
Breaking Changes (changes existing mappings)
careteam
. These map to Claim.CaregiverRelationships
, for caregivers with relationship type term mapped to terms in the FhirCodesAlternate1 termnamspace (this valueset: https://terminology.hl7.org/1.0.0//CodeSystem-claimcareteamrole.html). Previous versions mapped careteam
to extensions.insurance
maps to Claim.InsuranceID
and insurance.focal
is always true.Update procedure
, now supports procedureCodeableConcept
or procedureReference
(when polling). Add type
mapping to Procedure.Type
. If no fhir data exists, will persist undefined
term to Procedure.Type
. Previously Procedure.Type
was not mapped from fhir, it was constant and would always be 'undefined'.
Additive Changes
insurer
as a contained resource. maps to Claim.InsuranceID
.Map Procedure.VerifiedByCaregiverID
to/from FHIR R4 Procedure.asserter
and to/from the corresponding standard Reference extension http://hl7.org/fhir/4.0/StructureDefinition/extension-Procedure.asserter
in FHIR DSTU2 and STU3 (#2954)
Map Encounter.Drg
field to/from the CodeableConcept extension http://careevolution.com/fhirextensions#encounter-drg
(#2953)
Clear LabReport.LabReportContent
when mapping from FHIR DiagnosticReport
- previously it was an empty array, that got exported as System.Byte[]
in Standard Data Output (#2951)
Map Encounter.AdmissionType
to/from FHIR Encounter.priority
(DSTU2, STU3 and R4) (#2935)
Map Claim.CreatedDate
(that is a new addition to the data model) to/from FHIR Claim.created
and ExplanationOfBenefit.created
(STU3 and R4) (#2900)
Map Claim.StartDate
and Claim.EndDate
to/from FHIR R4 Claim.billablePeriod
. Previously FHIR Claim.billablePeriod
was mapped to/from properties instead, Claim.StartDate
was mapped to Claim.created
and Claim.EndDate
was mapped to an extension, Breaking change (#2900)
CarePlan.care-team
: reference - it was token, Encounter.reason-reference
: reference - it was token, telecom
: token - it was string (#2843)Map Procedure.Status
to/from FHIR Procedure.status
(DSTU2, STU3 and R4) (#2859)
Map Procedure.Properties
to/from the http://careevolution.com/fhirextensions#properties
extension (DSTU2, STU3 and R4) (#2859)
Medication.AmountBilled
to/from FHIR R4 ExplanationOfBenefit.item.net
and Claim.item.net
(#2839)
Implemented the bulk export _typeFilter
and _elements
parameters (#2845)
Support multiple sort parameters, and automatically add a sort by id to all the other sorts, to ensure a stable sort order even when the main sort field has the same value for multiple resources. (94d5efc77e7182aedba8ddf2f65f173fcc916ae5)
Add the ExplanationOfBenefit.service-date
search parameter (STU3 and R4), it searches by ExplanationOfBenefit.billablePeriod
corresponding to Claim.StartDate
and Claim.EndDate
internally (5ad543f76d056a71e41b4cd65626e119b569d264)
Date-time search fixes. Breaking change (#2836)
The date-time search using equality on periods (eg encounter admit and discharge) was not correct: it wrongly matched open-ended periods.
The date-time search using le
(less than or equal) and ge
(greater than or equal) on periods did not work correctly: they matched periods overlapping the search interval instead of contained in it.
Added the ExplanationOfBenefit.type
search parameter (STU3 and R4), it searches by ExplanationOfBenefit.type
corresponding to Claim.ClaimType
internally (312f5f761c8e9d12a72185d39b68d42a59eb8eee)
Added the Binary resource (#2807)
It maps Report.ReportContent
+ Report.ReportFormat
, LabReport.LabReportContent
+ LabReport.LabReportFormat
and DemographicPicture.Picture
+ DemographicPicture.MimeType
. It is a read-only resource and supports only the 'read' interaction, no searches. As per FHIR specifications it returns the JSON or XML representation of the FHIR Binary resource when the client explicitly ask for it using either the 'Accept' header or the _format query parameter, but in all other cases it returns the raw binary data, that is more efficient.
If the user issuing a FHIR request has access to the Binary
resource then DiagnosticReport.presentedForm
, Practitioner.photo
, Patient.photo
, Person.photo
use URL to the corresponding binary resource instead of embedding the binary data base64-encoded directly in the resource. This is in general more efficient. Note that this is a breaking change for user that have by default access to all resources. User that have been granted access to only specific resources typically do not have access to Binary
(it did not exist), so they'll still see the same data.