Next release

R4 ExplanationofBenefit sets payment.type to data absent unknown if no Claim.status


Support multiple values for string search parameters

Note that when using multiple value the system uses exact matching, not starts-with.


Support ne, sa, eb, ap operators for date search parameters



Consumers 27.36.0, HIEBus 27.25.0
Consumers 27.35.0, HIEBus 27.24.0

Added the $process-message operation



Consumers 27.34.0, HIEBus 27.21.0

Better auto-generated documentation

  1. added the HIEBus version to the main FHIR documentation page (/fhir)
  2. added the mapping description for Provenance
  3. added an 'Import mappings' section to the end point documentation page (/fhir/documentation) that shows the mappings used by the polling code, with links to new pages (/fhir/pollingresource) for each resource detailing the element mappings.
  4. the concept mappings tables in the end point documentation page (/fhir/documentation) and the mapping tables in the resource documentation pages (/fhir/resource, /fhir/pollingresource) now by default display the FHIR resource or element on the left and the corresponding CareEvolution concept or property on the right, and the two columns can be swapped clicking on the arrow icons next to the column headings


Condition.asserter populated for all resources, including those coming from claim data


Add to Condition resource (all versions) asserter when mapping ClaimProblem use CaregiverRelationships with RelationshipTypeTerm equal to CareEvolution.AdmittingPhysician term.


Add Implementation to the Capability Statement


Added validation to identifiers to detect NPI values


Added the OperationDefinition resource


Update ExplanationOfBenefit R4 resource for CarinBB STU1 (leaving old uri/codes for backward compatibility as needed for our sites)

  1. update valueset uri's and codes for adjudication, supportingInfo, careteam roles
  2. fix adjudication allowedunits output to value (was money)
  3. add claim identifier type
  4. add procedure type valueset binding
  5. update adjudication header level to output if we have a non payment reason code
  6. update Patient resource, identifier type value set uri's and codes


Fix the DocumentReference resource to support revinclude/include searches (#3063)


Update all patient reference search parameters to support missing=true (was not allowed previously)



Add more data (as extensions) to ExplanationOfBenefit


Add all CareEvolution Claim data elements that were still not mapped to ExplanationOfBenefit R4 resource as extensions


Support multiple value sets in token search parameters using the :in and :not-in modifiers


R4 Polling for Claim and ExplanationOfBenefit resource fix: Will now warn when missing the procedure component (instead of exception)

Breaking Change (changes persistence of ClaimProcedures)

Polling will not persist claim procedures if processing the procedure component results in null procedure term. Previously, claim procedures with null procedure terms were persisted.


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


R4 MedicationAdministration fix: use dosage.rateQuantity instead of dosage.rateRange that is not conformant


Condition.VerificationStatus defaults to unconfirmed (R4) or unknown (STU3 & DSTU2), previously it was left empty if not specified in the underlying data


Including AuditEvent:agent in an AuditEvent search caused a crash, now includes the referenced Person resources as expected (#2978)


Map Encounter classHistory



Consumers 27.33.0, HIEBus 27.19.0
Consumers 27.32.9, HIEBus 27.19.0
Consumers 27.32.8, HIEBus 27.19.0
Consumers 27.32.7, HIEBus 27.19.0
Consumers 27.32.6, HIEBus 27.19.0
Consumers 27.32.5, HIEBus 27.19.0
Consumers 27.32.4, HIEBus 27.19.0
Consumers 27.32.3, HIEBus 27.19.0
Consumers 27.32.2, HIEBus 27.19.0
Consumers 27.32.1, HIEBus 27.19.0
Consumers 27.32.0, HIEBus 27.19.0
Consumers 27.31.0, HIEBus 27.19.0

Changes/Additions to R4 ExplanationOfBenefit to support CarinBB specification


Map referrals to the FHIR Basic resource

To search referrals use GET [base]/Basic?code=referral& . . .



Consumers 27.30.0, HIEBus 27.18.2
Consumers 27.29.0, HIEBus 27.18.0

Changes/Additions to R4 ExplanationOfBenefit to support CarinBB specification

Breaking Changes (changes existing mappings)

Additive Changes


Changes to Claim R4 (to align better with ExplanationOfBenefit mappings)

Breaking Changes (changes existing mappings)

Additive Changes


Leave all codes when mapping terms to CodeableConcept with a required binding (previously codes identical to the required one were removed) - eg ExplanationOfBenefit.type from:

        "type": {
            "coding": [
                    "system": "",
                    "code": "pharmacy"
                    "system": "",
                    "code": "P"
            "text": "pharmacy"


        "type": {
            "coding": [
                    "system": "",
                    "code": "pharmacy"
                    "system": "",
                    "code": "P"
                    "system": "",
                    "code": "pharmacy"
            "text": "pharmacy"



Consumers 27.28.9, HIEBus 27.17.1
Consumers 27.28.8, HIEBus 27.17.1
Consumers 27.28.7, HIEBus 27.17.1
Consumers 27.28.6, HIEBus 27.17.1
Consumers 27.28.5, HIEBus 27.17.1
Consumers 27.28.4, HIEBus 27.17.1
Consumers 27.28.3, HIEBus 27.17.1
Consumers 27.28.2, HIEBus 27.17.1
Consumers 27.28.1, HIEBus 27.17.1
Consumers 27.28.0, HIEBus 27.17.1
Consumers 27.27.0, HIEBus 27.17.0

Map Procedure.VerifiedByCaregiverID to/from FHIR R4 Procedure.asserter and to/from the corresponding standard Reference extension in FHIR DSTU2 and STU3


Map Encounter.Drg field to/from the CodeableConcept extension


Clear LabReport.LabReportContent when mapping from FHIR DiagnosticReport - previously it was an empty array, that got exported as System.Byte[] in Standard Data Output


Map Encounter.AdmissionType to/from FHIR Encounter.priority (DSTU2, STU3 and R4)


Map Claim.CreatedDate (that is a new addition to the data model) to/from FHIR Claim.created and ExplanationOfBenefit.created (STU3 and R4)


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



Consumers 27.26.0, HIEBus 27.16.0

Fix search parameter types for reference - it was token, Encounter.reason-reference: reference - it was token, telecom: token - it was string


Map Procedure.Status to/from FHIR Procedure.status (DSTU2, STU3 and R4)

Map Procedure.Properties to/from the extension (DSTU2, STU3 and R4)

Medication.AmountBilled to/from FHIR R4 and


Implemented the bulk export _typeFilter and _elements parameters


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.



Consumers 27.25.6, HIEBus 27.15.0
Consumers 27.25.5, HIEBus 27.15.0
Consumers 27.25.4, HIEBus 27.15.0
Consumers 27.25.2, HIEBus 27.15.0
Consumers 27.25.1, HIEBus 27.15.0
Consumers 27.25.0, HIEBus 27.15.0
Consumers 27.24.0, HIEBus 27.15.0
Consumers 27.23.0, HIEBus 27.15.0
Consumers 27.22.0, HIEBus 27.15.0

Add the ExplanationOfBenefit.service-date search parameter (STU3 and R4), it searches by ExplanationOfBenefit.billablePeriod corresponding to Claim.StartDate and Claim.EndDate internally


Date-time search fixes. Breaking change

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


Added the Binary resource

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,,, 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.