Next release

Fixed output of ExplanationOfBenefit.supportingInfo.timing[x]

In some cases it was output as a timingDateTime, that is non-compliant - now fixed to always use either timingPeriod or timingDate.

(H/d6d40bc7)

Fix the Immunization.manufacturer mapping

(H/175d5a31)

Fix use of custom extension when mapping from Coding bound to a value set (e.g. R4 Encounter.class)

(H/db40ab63)

Fixed crash generating R4 Provenance

. . . for patients that did not have an associated user that last modified it.

(H/33472c4a)

Addedd an internal setting to disable populating R4 Meta.source and the corresponding DSTU2/STU3 extension

This allow endpoints to revert to the old behavior where Meta.source or the corresponding extension (for DSTU2/STU3) was not populated.

(H/b4af7db0)

Forbid resource creation and update when in blinded mode

It caused weird errors when updating certain resources (notably Patient)

(H/56f0f079)

Fail with a 400 if user specifies If-None-Exist on create, update, or in a transaction

Our server does not support conditional create (yet), so it is better to fail instead of just ignoring that header / element.

(H/42871b25)

Fix to generate Provenance also for Basic resources

Previously Basic resources (representing referrals) did not have a corresponding Provenance.

(H/8e5a839e)

Improvements to the search parameters auto-generated documentation

Added explicit documentation to some search parameters that either lacked it or whose standard documentation did not really apply to our case (eg MedicationDispense.context being 'Returns dispenses with a specific context (episode or episode of care)' whereas in our implementation it is always and only encounters)

(H/c3250e75)

Fix crash in bulk export

Bulk export crashed due to a problem introduced by the 'Populate meta.source' change.

(H/68cafbe9)

29.20.0

Consumers 29.20.3, HIEBus 29.19.1
Consumers 29.20.2, HIEBus 29.19.1
Consumers 29.20.1, HIEBus 29.19.1
Consumers 29.20.0, HIEBus 29.19.0

Specify the source when POSTing/PUTing/DELETEing data in the FHIR test page

The Put, Post, Delete and Operation tabs of the FHIR test page ([WebClient base]/fhir/search) have a new 'Source' drop-down allowing the select one of the available sources and pass it in the request URL.

(C/0c865bcf)

Performance improvement when processing transactions

Processing transaction with many resources of the same type (e.g. a lot of Observations) is now considerably faster.

(H/29f0b6c4)

Populate meta.source

meta.source in R4 resources and its corresponding http://hl7.org/fhir/4.0/StructureDefinition/extension-meta.source extension in STU3/R4 resources is now populated with the resource source URI.

(H/988dc74c)

Performance improvement when processing transactions

Reduced the number of database queries generated when processing transactions

(H/76b2f583)

Fixed Provenance.occurredDateTime and Provenance.recorded for patients

They always used only the patient creation date, without considering subsequent updates, now fixed.

(H/1ff79946)

Client can specify a source when POSTing data and search by source

Clients specify the source when POSTing / PUTing / DELETEing data with (in order of priority):

  1. specifying the source URI using the _source parameter in the request URL

  2. sending the source URI in the custom x-ce-source HTTP header;

  3. setting the POSTed / PUTed resource meta.source element to the source URI;

  4. when POSTin / PUTing a Patient or Practitioner using the source URI as the system of one of its identifiers

When POSTing a transaction or batch Bundle method (3) above looks first in Bundle.meta, if no source is specified there it then looks at the meta element of all resources. If different resources specify different sources an error is returned.

Similarly, when POSTing a transaction Bundle method (4) looks at all the Patient and Practitioner resources contained in the bundle, and returns an error if there are conflicting sources.

meta.source is available only from FHIR R4, for FHIR DSTU2 and STU3 clients can use the corresponding meta extension http://hl7.org/fhir/4.0/StructureDefinition/extension-meta.source.

The server has an internal configuration listing the possible sources for each connecting user. There is a new operation $list-sources that returns the list these sources. Attempts to specify a source that is not in this list results in an error.

The common standard search parameter _source now works for all resources supporting a source.

Searching by _source and provenance-agent now works also for the Practitioner resource, previously provenance-agent was not implemented.

(H/7d204f87)

29.19.0

Consumers 29.19.2, HIEBus 29.18.0
Consumers 29.19.1, HIEBus 29.18.0
Consumers 29.19.0, HIEBus 29.18.0

Add a description for all search parameters in the auto-generated documentation

Previously only custom search parameter had a description, now also all the standard search parameter have one (matching the description in the FHIR specifications)

(H/02a90276)

Fixed Provenance.occurred and Provenance.recorded for some resources

The Provenance.occurred and Provenance.recorded element values could be not correct because they did not consider all the possible changes for CareTeam, CarePlan, ProcedureRequest and ServiceRequest resources - now fixed.

(H/d3d0cbf4)

Add support for the prefer header on searches

See 'Unknown and unsupported parameters' in the specifications.

(H/72e64f8f)

Updates to the ExplanationOfBenefit and Claim resources to support pharmacy claims with multiple medications

(H/729f599e)

Fixed a rare crash when returning any search result

It resulted in an error 500 returned to the client and a logged InvalidCastException.

(H/72356df2)

Add support for the :missing modifier on applicable search parameters

Previously the :missing modifier worked only on reference search parameters, now it works also for strings, tokens and dates.

(H/a50cef9f)

Profiles declaration improvements

(H/60e23cd5)

Fixed crash when specifying includes with empty colon-separated fields

E.G. a search like [base]/Person?_id=48a1efae-51b1-ec11-8112-f8f21e213b20&_include=:missingPerson:relatedpatient caused a crash (error 500), now retrurns a 400 with an explanation of the wrong _include.

(H/26b64cbe)

Bulk export: fix a crash occurring when exporting a group filtering by provenance agents or record authorities and not specifying _since

(H/8e27e5d9, H/8d2dc3a5)

Bulk export supports filtering by multiple provenance agents

The (custom) bulk export parameter provenance-agent-identifier now supports multiple comma-separated values.

There is a new (again, custom) bulk export parameter _recordAuthorityCodes, it accepts a comma-separated list of record authority codes used
to filter the output (it complements the existing _recordAuthorityCode parameter that accepts only a single value).

(H/a1400c8a, H/1b3d41b3)

Bulk export allow multiple filesets per user (don't overwrite previous export data), fix bugs including file data and errors when interrupting running export

(H/9f8182e1, H/e4f8e4ee, H/fac3e7af)

29.18.0

Consumers 29.18.2, HIEBus 29.17.0
Consumers 29.18.1, HIEBus 29.17.0
Consumers 29.18.0, HIEBus 29.17.0

Add the CareEvolution provider id to the Practitioner.identifier search parameter systems in the search test page

(C/79eb9457)

Fixed software version

The software version returned in the CapabilityStatement / Conformance and displayed in the /fhir auto-generated documentation page now matches the versions listed in the release notes.

(C/16dbf1de)

Populate entry.fullUrl in the Bundle returned by the $everything operation

Previously it was absent, that is non-conformant with the specifications.

(H/e6f207a0)

Support the _summary parameter in read interactions

Previously attempts to use the _summary parameter for reads (as opposed to searches) resulted in an error, now when set to true returns only the summary and required elements of the resource as per the FHIR specifications.

(H/baa606fa)

Fix for Immunization and Condition _has search conditions

Search conditions using the _has modifier did not work correctly for the Immunization and Condition resources, they could returned extra resources that were not really matching the condition; now fixed.

(H/4aad202b)

Bulk export: fix a crash occurring when exporting a group filtering by provenance agents or record authorities and not specifying _since

(H/8e27e5d9, H/8d2dc3a5)

Bulk export supports filtering by multiple provenance agents

The (custom) bulk export parameter provenance-agent-identifier now supports multiple comma-separated values.

There is a new (again, custom) bulk export parameter _recordAuthorityCodes, it accepts a comma-separated list of record authority codes used
to filter the output (it complements the existing _recordAuthorityCode parameter that accepts only a single value).

(H/a1400c8a, H/1b3d41b3)

29.17.0

Consumers 29.17.3, HIEBus 29.16.0
Consumers 29.17.2, HIEBus 29.16.0
Consumers 29.17.1, HIEBus 29.16.0
Consumers 29.17.0, HIEBus 29.16.0

Add ValueSet $available-versions operation

(H/1dca69e2)

29.16.7

Consumers 29.16.7, HIEBus 29.15.1
Consumers 29.16.6, HIEBus 29.15.1
Consumers 29.16.4, HIEBus 29.15.1
Consumers 29.16.3, HIEBus 29.15.1

Revert breaking change from 29.8.0: Generate CodeableConcept.text property from first available CodeableConcept.coding[x].display as we did prior to 29.8.0

(H/990e8572)

29.16.0

Consumers 29.16.2, HIEBus 29.15.0
Consumers 29.16.1, HIEBus 29.15.0
Consumers 29.16.0, HIEBus 29.15.0

Support Patient $match operation

(C/bfd63379, C/062ae7d7)

Link to the correct SMART version specs in the information pages

The previous link was to the default (currently 2.0) specifications, fixed to point to the 1.0 specifications.

(C/de7d2c22)

Bulk export allow multiple filesets per user (don't overwrite previous export data), fix bugs including file data and errors when interrupting running export

(H/9f8182e1, H/e4f8e4ee, H/fac3e7af)

Populate DiagnosticReport.resultInterpreter from CareEvolution Report.VerifiedByCaregiverID

(H/1a95a314)

Fix crash when processing a FHIR Observation with a hasMember element referencing a non-contained resource

(H/6d7a507b)

29.15.0

Consumers 29.15.0, HIEBus 29.14.0

Populate MedicationRequest.dispenseRequest.quantity from CareEvolution Order.Quantity

(H/bab31b81)

Use latest version of CareEvolution.Fhir.Core that fixes an issue when parsing valueQuantity FHIR elements

(H/67ff740e)

Claim resources do not save property bag if no category or revenue

(H/9097e573)

ExplanationOfBenefit/Claim resources save ClaimSupportingInfo concept when missing sequence

(H/576b018a)

29.14.0

Consumers 29.14.0, HIEBus 29.13.0

List the branded endpoints in the self-generated documentation

Expands the list of FHIR endpoints for sites that use multiple brands (e.g. Anthem that is going to have about 30 of these and that might change over time).

Also makes that list of endpoints available as Json.

Removed the links to client registration and get token pages.

(C/da4a9b88)

29.13.0

Consumers 29.13.0, HIEBus 29.13.0

AuditEvent (all versions) search: 'agent' search updated to specify :identifier modifier requirement, removed chained searches that did not really work

(C/c29af26a)

Coverage (all versions) no longer has possible CoordinationOfBenefitsPriority extension (http://careevolution.com/fhirextensions#coverage-coordinationOfBenefitsPriority)

(H/a5a7f6c0)

Map CareEvolution ReferralProblem concept to the Condition resource

(H/9dc41b3b)

Encounter STU3 and R4 ExplanationOfBenefit add 'encounter' search parameter

(H/9d65d0b0)

AuditEvent (all versions): added new 'agent-name' search parameter

(H/b79e120d)

Attempts to POST FHIR resources which decimal values with more than 8 integer digits caused a crash, now generates an invalid data error

(H/a8cbd4cd)

29.12.0

Consumers 29.12.0, HIEBus 29.8.0

No longer populate the CodeableConcept 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)

Populate Coverage.status from CareEvolution Insurance.Status

Potentially breaking change: R4 Coverage.status may be null - making the resource invalid - if the insurance status is not mapped to FHIR a status*

(H/c0157426)

Populate Coverage.order (for R4 and STU3) and the new extension http://careevolution.com/fhirextensions#coverage-priority (for DSTU2) from the newly added CareEvolution Insurance.Priority property

(H/c0157426)

Bulk export of a group when specifying the _since parameter now includes also all the data for patient that have been added to the group since the specified date

(H/b0b051b3)

29.11.9

Consumers 29.11.9, HIEBus 29.4.0

List the branded endpoints in the self-generated documentation

Expands the list of FHIR endpoints for sites that use multiple brands (e.g. Anthem that is going to have about 30 of these and that might change over time).

Also makes that list of endpoints available as Json.

Removed the links to client registration and get token pages.

(C/da4a9b88)

29.11.0

Consumers 29.11.8, HIEBus 29.4.0
Consumers 29.11.7, HIEBus 29.4.0
Consumers 29.11.6, HIEBus 29.4.0
Consumers 29.11.5, HIEBus 29.4.0
Consumers 29.11.3, HIEBus 29.4.0
Consumers 29.11.1, HIEBus 29.4.0
Consumers 29.11.0, HIEBus 29.4.0

R4 Coverage.status is always active. This undo the change done back in version 28.23 to compute the status based on dates, because it resulted in many Coverage without any status, that is invalid

(H/2cebb5cf)

Added custom provenance-agent-identifier parameter to bulk export to restrict the output to only resources with the specified provenance (identified via Provenance.agent.identifier). (#3643)

(H/bc790f9d)

In multi-tenant deployments bulk export did not restrict its output to the current user's tenant - now fixed.

(H/bc790f9d)

29.10.0

Consumers 29.10.0, HIEBus 29.3.0

Bulk export now uses the same mapping configuration of the FHIR end point used to trigger it. Previously it used a mapping configuration read from a separate internal configuration, that could result in mismatches between the FHIR output of the end point and that of bulk export

(H/0d666485)

The ExplanationOfBenefit.supportingInfo:dawcode slice is now populated with codes from the NCPDP Dispense As Written (DAW)/Product Selection Code code system. It maps the newly added CareEvolution Medication.DawCode term

(H/21d9092e)

29.9.10

Consumers 29.9.10, HIEBus 29.2.1
Consumers 29.9.9, HIEBus 29.2.1
Consumers 29.9.8, HIEBus 29.2.1
Consumers 29.9.7, HIEBus 29.2.1
Consumers 29.9.6, HIEBus 29.2.1

R4 Coverage.status is always active. This undo the change done back in version 28.23 to compute the status based on dates, because it resulted in many Coverage without any status, that is invalid

(H/2cebb5cf)

29.9.0

Consumers 29.9.5, HIEBus 29.2.0
Consumers 29.9.4, HIEBus 29.2.0
Consumers 29.9.3, HIEBus 29.2.0
Consumers 29.9.2, HIEBus 29.2.0
Consumers 29.9.1, HIEBus 29.2.0
Consumers 29.9.0, HIEBus 29.2.0
Consumers 29.8.0, HIEBus 29.2.0

Fix error 404 trying to access patient in context

If a user

then attempts to access this second patient data failed with a 404 error. This has been fixed.

(H/b88747c4)

Add the http://careevolution.com/fhirextensions#explanationOfBenefit-referralReference extension to ExplanationOfBenefit (R4 only), it contains a reference to a Basic resource representing the associated referral. It maps CareEvolution Claim.ReferralID

(H/8104b907)

29.6.0

Consumers 29.6.0, HIEBus 29.1.0
Consumers 29.5.0, HIEBus 29.1.0
Consumers 29.4.0, HIEBus 29.1.0
Consumers 29.3.0, HIEBus 29.1.0
Consumers 29.2.0, HIEBus 29.1.0
Consumers 29.1.0, HIEBus 29.1.0

Modifying existing ExplanatonOfBenefit and DiagnosticReport resulted in supporting information and result elements being added to the existing one, now they correctly replace them

(H/0aeabb17)

Add the http://careevolution.com/fhirextensions#explanationOfBenefit-claimRevision extension to ExplanationOfBenefit, mapping CareEvolution Claim.Revision

(H/725df5b0)

Added an extension to the R4 ExplanationOfBenefit and Claim resources (http://careevolution.com/fhirextensions#explanationOfBenefit-claimRevision and http://careevolution.com/fhirextensions#claim-revision respectively) containing the claim revision number

(H/725df5b0, H/84ae7565)

Map required MedicationAdministration ScheduledTime

(H/a9b3b7af, H/a4d6e9e9)

Improvements to provider index support

(H/96259029)

Map CareEvolution MedicationAdministration.ScheduledTime to/from Immunization.Date / Immunization.occurence

ScheduledTime is required in CareEvolutiondata model, and it is what we really use as the immunization date-time.

MedicationAdministration.DoseStartTime is still mapped from FHIR and to FHIR for compatibility.

(H/205fd905)

Access provider index data

(H/fc5ad4c6)