Breaking change
When POSTing attachments (e.g. DiagnosticReport.presentedForm
) URLs ([Attachment.url](http://hl7.org/fhir/datatypes-definitions.html#Attachment.url)
) are no longer accepted by default. Either use [Attachment.data](http://hl7.org/fhir/datatypes-definitions.html#Attachment.data)
or you can ask the system administrators to enable the specific hosts or domains your URLs refer to.
(H/6f6ae5dc)
Consumers 30.18.2, HIEBus 30.16.0
By default the content-encoding
header of the (gzipped) ndjson files produced by bulk export in AWS S3 is gzip
, but this can cause issue like unwanted automatic decompression, so system administrator can now configure it to a different value.
(H/c3dbe303)
System administrators can configure bulk export to use multiple threads, that can speed it up by factors of 2 or more.
(H/cf77b039)
Resource reads (e.g. GET Patient/[id]
) are now supported inside transactions
Multiple searches with the exact same request URL in a transaction caused a crash, now result in a error 400 with an explanation
Failures in searches and operations within a transaction resulted in a failure of the whole transaction, now they are reported as errors just for that individual transaction entry
Transaction searches and operations did not work with absolute request URLs
(H/d972d6e9)
Consumers 30.18.1, HIEBus 30.15.0
Consumers 30.18.0, HIEBus 30.15.0
Consumers 30.17.0, HIEBus 30.15.0
Consumers 30.16.5, HIEBus 30.14.1
Consumers 30.16.4, HIEBus 30.14.0
Consumers 30.16.3, HIEBus 30.14.0
Consumers 30.16.2, HIEBus 30.14.0
Consumers 30.16.1, HIEBus 30.14.0
Consumers 30.16.0, HIEBus 30.14.0
When a user attempts to do a search that is not authorized due to search parameter requirements the resulting error message now includes an explanation of what to do to fix the search.
(H/f46dcaf4)
Consumers 30.15.0, HIEBus 30.13.0
It was set to 2.16.840.1.113883.6.13
instead of the correct 2.16.840.1.113883.4.9
, so mapping from FHIR using the OID instead of the URL to identify it did not work correctly.
(H/b2a8be8f)
Breaking change
Partially restore the behavior of before the H/5a411773
change
(H/d9fc5dff)
In some circumstances the (required) text
sub-extension was not populated even if there was a race or ethnicity - now it is always populated using the display
of the existing race / ethnicity if no other value is available.
(H/1b93ce0b)
When mapping to FHIR populate Immunization.manufacturer.display
with the underlying display value and Immunization.manufacturer.identifier.value
with the underlying code
Keep the mapping to a contained Organization resource for backward compatibility, populating also Organization.identifier.value
with the underlying code
When mapping from FHIR use first Immunization.manufacturer.display
and Immunization.manufacturer.identifier.code
, look at the referenced contained organization only if Immunization.manufacturer.display
is empty
When mapping from FHIR create the manufacturer term in the default term namespace - not to 'pollute' the CareEvolution namespace
(H/175d5a31)
Previously if there were conflicting values it was left empty, producing a resource that was not US Core conformant.
(H/4e9d73d8)
Consider only our own custom http://careevolution.com/fhirextensions#coding
extension and not other extensions with a coding value
Use the extension userSelected
value (if present) also when there is no main code
(H/db40ab63)
Breaking change
Previously referenced Practitioner and Location resources where always included in an export, even if they were not listed in the _type
parameter - now if a _type
parameter is specified it must list those resources for them to be included in the export. If _type
is not specified then Location and Practitioner are now by default not included in the export.
Also, removed the includeAssociatedData _none
special param value as Practitioner and Location include are now opt-in only.
(H/5a411773)
Consumers 30.14.0, HIEBus 30.12.0
Consumers 30.13.0, HIEBus 30.12.0
Consumers 30.12.0, HIEBus 30.12.0
Previously POSTing a transaction bundle contained multiple operation with the same request URL (i.e. if the same operation was called multiple times) caused an error 500.
(H/1b1c4f54)
_lastUpdated
standard search parameter to the CareTeam, Device, Goal, Specimen, Task, ValueSet, Location, and AuditEvent resources(H/f2717a37)
Previously all operation definition were at the top level that is not correct for R4.
(H/db7e4a10)
(H/732d4b0b)
_lastUpdated
standard search parameter to the DocumentReference resource(H/18c63cd4, H/daf037e6)
They were removed (and so those resources where never tagged as compliant) by mistake
(H/c6d17608)
Consumers 30.9.0, HIEBus 30.10.2
Consumers 30.8.2, HIEBus 30.10.2
Consumers 30.8.1, HIEBus 30.10.2
Consumers 30.8.0, HIEBus 30.10.2
The endpoint is [base]/../api/tokenintrospection
and it implements the SMART specifications. It requires authentication and can be used only by users that have been granted specific permission to access it.
(C/9d9505cf)
Consumers 30.7.0, HIEBus 30.10.0
Consumers 30.6.2, HIEBus 30.10.0
Adds new claim and insurance fields to the HIEBus internal data model and maps them to
ExplanationOfBenefit.item.adjudication:denialreason and to the ExplanationOfBenefit contained Organization.identifier
(H/70be298c)
ExplanationOfBenefit.related
Populate the ExplanationOfBenefit.related
element from the OriginalClaimNumber
internal custom claim property
http://careevolution.com/fhirextensions#properties
extension ExplanationOfBenefit.itemIt was not populated with the internal claim item custom properties, now fixed.
(H/48b7261d)
(H/399d233a)
_since
date.Adds a custom parameter _disableGroupSinceNewMemberFullHistory
that when set to true
disables the export of full history for group members that were added after the _since
date. This is not what the specifications prescribe, but it can be usuful in some cirumstances.
No changes in behavior if no _since
date is specified.
(H/6b03399b)
Consumers 30.6.0, HIEBus 30.7.0
Consumers 30.5.0, HIEBus 30.7.0
(C/26e6556f)
Previously they returned a custom (non-FHIR) JSON or XML response body.
(C/4fc647dd)
scope
property in refresh and backend authorization token responsesAs per SMART specifications.
(C/ac4859f6)
Previously any user that had read access to the Patient resource could also execute bulk exports, now this permission can be denied.
(H/cecc5aa1)
Previously the content encoding was a non-standard x-gzip
, now it is the standard gzip
.
(H/792ba36f)
OperationOutcome.issue.code
Previously it was mostly missing, that is non-compliant
(H/5b367c8e)
Immunization.occurrence
(R4) / Immunization.date
(DSTU2)Previously those elemnts where simply omitted if there was no value available to populate them, that is non-conformant.
(H/3043bae6)
CapablityStatement.rest.compartment
to contain compartment URIs instead of resource types.E.G. http://hl7.org/fhir/CompartmentDefinition/Patient
instead of just Patient
.
(H/1f4bbdbe)
_source
search parameter type to be URI instead of tokenAs per the FHIR specifications.
(H/a62efc87)
agent
search parameter type to be reference instead of tokenAs per the FHIR specifications.
(H/06507682)
topic
search parameter type to be token instead of stringAs per the FHIR specifications.
(H/88628545)
Some Patient searches and searches including non-conformant resources on endpoints configured to suppress non-conformant resources resulted in crashes (error 500).
(H/27051f78)
Patient.deceased[x]
Previously if the system had conflicting values (some sources reporting deceased and some not) the deceased[x]
element was not populated and had a DataAbsentReason extension of unknown
, now it is populated with the deceased value (either 'yes' or a date).
(H/63523f64)
Consumers 30.4.0, HIEBus 30.6.1
Consumers 30.3.0, HIEBus 30.6.0
. . . for patients that did not have an associated user that last modified it.
(H/33472c4a)
Adjusted internal filtering to make CareTeam searches perform more quickly
(H/ebaadb57)
Consumers 30.2.3, HIEBus 30.4.0
Consumers 30.2.2, HIEBus 30.4.0
Consumers 30.2.1, HIEBus 30.4.0
Consumers 30.2.0, HIEBus 30.4.0
This allow endpoints to revert to the old behavior where CodeableConcept.text
was always populated.
(H/07b839d6)
Meta.source
and the corresponding DSTU2/STU3 extensionThis allow endpoints to revert to the old behavior where Meta.source
or the corresponding extension (for DSTU2/STU3) was not populated.
(H/b4af7db0)
It caused weird errors when updating certain resources (notably Patient)
(H/56f0f079)
fullUrl
Now create (POST) and update (PUT) entries without a populated fullUrl
element are accepted and correctly processed as per specifications, previously they caused an error.
(H/e5143709)
For example a Procedure referencing a Patient and an Encounter that references a different Patient.
Now instead the client gets a 400 error specifying which references are in conflict.
(H/5e7afeae)
Add support for the If-None-Exist
header in POST and PUT request and for the IfNoneExist
request element for transaction. See the specifications.
(H/58591a19)
If-None-Exist
on create, update, or in a transactionOur server does not support conditional create (yet), so it is better to fail instead of just ignoring that header / element.
(H/42871b25)
Consumers 30.1.0, HIEBus 30.2.0
Consumers 30.0.0, HIEBus 30.2.0
POSTing or PUTting ExplanationOfBenefit that (1) already existed, (2) had less associated services (ExplanationOfBenefit.item
) than the existing one and (3) had care team members associated with the services that no longer existed caused a crash.
(H/6587e369)
meta.profile
is populated only when the resource is actually conformant to the specified US Core or Carin BB profile - previously it was assumed that they were conformant.
meta.profile
is no longer populated for all STU3 resources.
There is a new internal configuration flag that allows endpoint to suppress resources that are not conformant with either the base specifications or the US Core / Carin BB profiles.
Encounter.reasonCode
no longer handled as if it was requiredThe Encounter.reasonCode
element used to be treated as if it was a required element, so if it could not be populated the system produced a DataAbsentReason extension. It is not actually a required element, so now there won't be such DataAbsentReason extension any more.
CarePlan.activity.detail.status
defaults to in-progress
Previously it was not populated if there was no available value.
Procedure.code
, Procedure.performed
, Device.udi
, Device.type
, Goal.description
and Goal.status
are required by the Argonaut profiles. . . so they now they have a DataAbsentReason extension if there is no available value.
Patient.gender
is set to unknown
if there is no available valuePreviously it was not populated in that case.
Procedure.status
is set to completed
if there is no available valuePreviously it was not populated in that case.
Encounter.type
, Device.udi
and Device.type
are required by the US Core profiles. . . so they now they have a DataAbsentReason extension if there is no available value.
(H/702c779e)
Breaking change
Various standard conding system URIs where incorrect or missing, they are now fixed:
System | Old system URI | New system URI |
---|---|---|
HCPCS | http://www.cms.gov/Medicare/Coding/HCPCSReleaseCodeSets |
https://www.cms.gov/Medicare/Coding/HCPCSReleaseCodeSets |
Ub04PointOfOriginNewBorn | https://www.nubc.org/CodeSystem/PointOfOrigin-NewBorn |
https://www.nubc.org/CodeSystem/PointOfOriginNewBorn |
UBFacilityType | N/A | https://rosetta.careevolution.com/UBFacilityType |
CDT | N/A | http://www.ada.org/cdt |
UNII | N/A | http://fdasis.nlm.nih.gov |
(H/5ec05d8e)
When validating ($validate
operation) and POSTing / PUTing resources the system check also that there are no conflicting references - e.g. a Procedure referencing a Patient and an Encounter that references a different Patient.
Breaking change: FHIR POST / PUT that previously were OK (and generated conflicting references in CareEvolutionData) are now rejected.
(H/ab0b619e)
Previously such data - typically coming from wearable dvices like FitBit - was not visible via FHIR at all.
(H/f217f7d5)
Breaking change
The R4 Condition.category coding system for health-concern
is now (correctly) http://hl7.org/fhir/us/core/CodeSystem/condition-category
instead of http://terminology.hl7.org/CodeSystem/condition-category
.
See the US Core Condiiton category value set.
Also, added the 16100001
SNOMED code (Death diagnosis) to the possible category codes, in addition to problem-list-item
, encounter-diagnosis
and health-concern
.
(H/4d617edb)
Previously CodeableConcepts (especially those in the http://careevolution.com/fhirextensions#term
extension of Code elements) could contain one or more codings with systems like [Site URI]/codes/FhirCodes. . . .
, e.g.:
"gender": "female",
"_gender": {
"id": "gender1",
"extension": [
{
"url": "http://careevolution.com/fhirextensions#term",
"valueCodeableConcept": {
"id": "gender2",
"coding": [
{
"system": "http://fhir.carevolution.com/codes/FhirCodes/Gender",
"code": "female",
"display": "Female",
"userSelected": true
},
{
"system": "http://fhir.carevolution.com/codes/CareEvolution/Gender",
"code": "F",
"display": "Female",
"userSelected": false
},
{
"system": "http://fhir.carevolution.com/codes/FhirCodesAlternate1/Gender",
"code": "F",
"display": "F",
"userSelected": false
},
{
"system": "http://fhir.carevolution.com/codes/HL7Gender/Reference",
"code": "F",
"display": "Female",
"userSelected": false
}
]
}
}
]
},
These codings are an artifact of the internal logic used to map to standard FHIR codes, and have now been removed from the output, e.g.:
"gender": "female",
"_gender": {
"id": "gender1",
"extension": [
{
"url": "http://careevolution.com/fhirextensions#term",
"valueCodeableConcept": {
"id": "gender2",
"coding": [
{
"system": "http://fhir.carevolution.com/codes/CareEvolution/Gender",
"code": "F",
"display": "Female",
"userSelected": false
},
{
"system": "http://fhir.carevolution.com/codes/HL7Gender/Reference",
"code": "F",
"display": "Female",
"userSelected": false
}
]
}
}
]
},
There is no loss of information because the actual standard FHIR code is available in either the code elements itself (for code elements with a http://careevolution.com/fhirextensions#term
extension) or in a coding with a standard FHIR system URI (for CodeableConcept elements).
(H/6dfab04c)
text
element from existing codings.Breaking change
The text
element is populated only when there is an actual separate text in the source data, to better align with the FHIR specifications.
See the documentation on how to use text
and display
elements.
(H/e56568a6, H/1ad2da96)