First release for 2022 comes with version 5.7.0, Sojourner!
Highlights of this release are shown below. See the Changelog for a complete list. There will be a live Webinar (recording available on-demand afterward) on Feb 17 2021. Details available here: https://www.smilecdr.com/quarterly-product-release-webinar-reminder
General Client/Server/Parser Changes
- Calling the
$document
operation previously omitted the fullUrl of the bundle entries. This has been corrected. - New configuration option added to validate bundle resources concurrently.
- Fixed language code validation so that it is case insensitive (eg, en-US, en-us, EN-US, EN-us should all work)
- Implement support for $member-match operation by coverage-id or coverage-identifier. (Beneficiary demographic matching not supported)
- Fixed a bug in pagination of the $everything operation when using offset mode.
- Transactions with entries that have request.url values that are fully qualified urls will now be rejected.
- Previously,
$binary-access-read
and other operations that return neither method outcomes nor resources were causing no invocation of theSERVER_OUTGOING_RESPONSE
pointcut. This has been corrected, and those operations will now correctly invokeSERVER_OUTGOING_RESPONSE
. - Added ability to specify max code lengths for supported Phonetic Encoders (Metaphone, Double_Metaphone).
- Added ability to load Implementation Guide packages from filesystem by supporting the file:/ syntax of url.
JPA Server General Changes
- In the JPA server, the token
:of-type
modifier is now supported. This is an optional feature and must be explicitly enabled (default is disabled). - Added http://hapifhir.io/fhir/StructureDefinition/subscription-delivery-retry-count extension that can be provided to a subscription to define a specific retry strategy.
- Provided a Remote Terminology Service implementation for the $validate-code Operation."
- Fixed a race condition in tag creation when multiple identical tags were being created.
- Added the ability for rest hook subscriptions to send Delete requests
JPA Server Partitioning Changes
- Added partition support for subscriptions. Subscriptions will now only match resource from the same partition
- Added support for cross-partition subscriptions. Subscription in the default partition can now listen to resource changes from all partitions
- In rare cases where patient ID String happened to have hashCode equal to Integer.MIN_VALUE, PatientIdPartitionInterceptor would generate an invalid partition ID. This has been fixed.
Terminology Server and Validation Changes
JPA Server MDM Enhancements
- Previously in configuring MDM, you were only allowed to set a single
eidSystem
which was global regardless of how many resource types you were performing MDM on. This has been changed. That field is now deprecated, and a new field calledeidSystems
(a json object) should be used instead.
Performance Changes
- A redundant set of hash calculations in the JPA server was eliminated.
- Code System deletion background tasks were taking over a day to complete on very large CodeSystems for PostgreSQL, SQL Server and Oracle databases. That was improved now taking less than an hour in all three platforms
- A number of minor optimizations have been added to the JsonParser serializer module as well as to the transaction processor. These optimizations lead to a significant performance improvement when processing large transaction bundles (i.e. transaction bundles containing a larger number of entries).
- Fixed a serious performance issue with the
$reindex
operation. - Improved validation performance by switching validation serialization from XML to JSON.
- Significantly improved $delete-expunge performance by adding database indexes, and filtering needed foreign keys to delete by resource type.
- A new JPA setting has been added to DaoConfig settings called Inline Resource Text Below Size. This improves read/write performance (often by a significant amount) at the expense of a slightly larger amount of disk usage.
- Improved the performance of the query for searching by chained search parameter when the
Index Contained Resources
feature is enabled.
Security Changes
- Users were able to access data on partitions they did not have access to by using pagination links generated by users who did have access.