Note: This version of HAPI FHIR is a SNAPSHOT (prerelease), meaning that it has not yet been released, but all changes and fixes listed here are available to try out as Snapshot Builds.
#2417 |
Support for the FHIR _list search parameter. |
|
#2332 |
All created placeholder resources now have a meta extension with the url http://hapifhir.io/fhir/StructureDefinition/resource-meta-placeholder and the value 'true'. Also, terminology storage is now skipped for placeholder ValueSet and ConceptMap resources. |
|
#2401 |
Group Bulk exports are now supported. You can export all data for a Group of Patients via the |
|
#2407 |
When using the JPA server in partitioned mode with a partition interceptor, the interceptor is now called even for resource types that can not be placed in a non-default partition (e.g. SearchParameter, CodeSystem, etc.). The interceptor may return null or default in this case, but can include a non-null partition date if needed. |
|
#2409 |
In MDM matching rules, support has been added for using FHIRPath expressions instead of Resource Path expressions via the |
|
#2404 |
Supplementary characters in the parameters might cause errors when calculating hash values |
|
#2417 |
A NullPointerException was corrected when indexing resources containing an indexed Period field that had a start but not an end defined. |
|
#2426 |
When using the Generic Client, search invocations where the parameters are supplied using |
Released: 2021-02-18
Codename: (Odyssey)
The version of a few dependencies have been bumped to the latest versions (dependent HAPI modules listed in brackets):
|
||
#2054 |
Two new switches have neen added to FhirInstanceValidator to suppress optional warning messages. Thanks to Anders Havn for the pull request! |
|
#2177 |
Redesigning the Enterprise Master Patient Index solution to a Master Data Management solution. The new MDM solution supports other FHIR resources where EMPI only allowed Person resource to be used. For example, if MDM is occurring on a patient, we will create a new Patient, and tag that patient as a Golden Record. This means that several things have changed:
Code-level changes include the following changes:
|
|
#2182 |
When a unique index SearchParameter violation is blocked, the error message will now include the ID of the relevant SearchParameter, in order to make troubleshooting easier. |
|
#2191 |
Added a new IResourceChangeListenerRegistry service and modified SearchParamRegistry and SubscriptionRegistry to use it. This service contains an in-memory list of all registered {@link IResourceChangeListener} instances along with their caches and other details needed to maintain those caches. Register an {@link IResourceChangeListener} instance with this service to be notified when resources you care about are changed. This service quickly notifies listeners of changes that happened on the local process and also eventually notifies listeners of changes that were made by remote processes. |
|
#2198 |
It is now possible for read operations (read/history/search/etc) in a partitioned server to read across more than one partition if the partitioning interceptor indicates multiple partitions. |
|
#2213 |
Non release (i.e. SNAPSHOT) builds of HAPI FHIR will now include the Git revision hash as well as the build date in the version string that is logged on initialization, and included in the default server X-Powered-By string. Release builds are not affected by this change. |
|
#2221 |
The error message returned by the transaction processor has been improved for the case where a transaction uses an unsupported/disabled resource types. |
|
#2234 |
When performing a conditional create/update containing the email search parameter, any |
|
#2237 |
It is now possible to use a parameter of type |
|
#2261 |
Optionally supports storage and search in canonical form of the quantity value which is defined by 'http://unitsofmeasure.org'; please check ModelConfig for the configuration. No changes were made to the existing behaviour. |
|
#2264 |
A new interceptor called the Repository Validating Interceptor has been added. This new interceptor allows a HAPI FHIR JPA Server to declare rules about mandatory profiles that all resources stored to the server must declare conformance and/or correctly validate against. |
|
#2264 |
The interceptor framework will now recognize and invoke |
|
#2282 |
When performing a ValueSet expansion where the valueset to be expanded includes a display name for concepts it is explicitly including, this display name will be propagated to the expansion if no other display is available. Thanks to Hanan Awwad for the contribution! |
|
#2310 |
A new utility called FHIRPathResourceGeneratorR4 has been added. This class can be used to build and populate a resource model object using FHIRPath expressions. Thanks to Marcel P for the contribution! |
|
#2323 |
The JPA server has a new setting on the |
|
Added support for the $evaluate-measure Operation as part of adding CQL support. |
||
#2302 |
The JPA server generated SQL for date search parameters has been streamlined to avoid the use of redundant OR expressions that slow down performance in some cases. |
|
#2190 |
Updates to Hibernate Search require a full reindexing of all indexed fulltext data, which is held in Lucene or Elasticsearch. Users using elasticsearch for fulltext indexing must upgrade to Elasticsearch 7.10.0. |
|
#2197 |
The resource IDs for several LOINC resources were corrected. Thanks to Steven Wagers for the pull request! |
|
#2264 |
The experimental |
|
#2290 |
In the JPA server. the SQL datatype used to index quantities has been changed from |
|
#2340 |
The |
|
#2372 |
ElasticsearchHibernatePropertiesBuilder will now reject any REST url which is protocol-aware. Protocol information should be set in the protocol field of the builder. |
|
#2175 |
Expanding a ValueSet using a filter now evaluates the display with left-matching by string token, case-insensitive. |
|
#2180 |
Loading a package without a description was causing a null pointer exception. This has been fixed. |
|
#2183 |
The |
|
#2192 |
ApacheRestfulClientFactory now uses system properties for proxy configuration. Thanks to Vladimir Nemergut for the pull request! |
|
#2195 |
When performing a ValueSet expansion with a filter a large pre-expanded ValueSet (more than 1000 codes), the filter failed to find concepts appearing after the first thousand. This has been corrected. |
|
#2205 |
The new JPA SearchBuilder failed to perform FHIR Searches on Oracle DB with an invalid SQL error. This has been corrected. |
|
#2208 |
When performing a JPA server search on a partitioned server, searches with only the |
|
#2211 |
The recent EMPI project accidentally caused a split package in ca.uhn.fhir.rest.server. This has been corrected. Thanks to Bill Denton for the pull request! |
|
#2214 |
When using the validator from within the JPA server, validating CapabilityStatement resources failed with an error when trying to load linked SearchParameter resources. This has been corrected. |
|
#2215 |
When using a partitioned JPA server, auto-create placeholder targets did not work if the partition interceptor was registered against the server (e.g. for a multitenancy configuration). This has been corrected. Thanks to Rob Whelan for reporting! |
|
#2262 |
Sorting of search results was not working for MySQL, MSSQL and MariaDB due to recent changes made to handle sorting of nullable columns. This has now been fixed. |
|
#2265 |
The new optimized SQL Generator introduced in HAPI FHIR 5.2.0 did not correctly bind variables for SQL Server queries, making the search functionality unusable. This has been corrected. |
|
#2269 |
A database index in the JPA server was added in HAPI FHIR 5.2.0 and Smile CDR 2020.11 that exceeded the maximum index length in MySQL, preventing server upgrades on that database platform. This has been corrected. |
|
#2271 |
Attempts to load IG packs when partitioning was enabled, resulted in nullpointer exceptions. This has now been fixed and IG packs and conformance resources will be loaded to the DEFAULT partition. |
|
#2273 |
An incorrect HTML resource path led to a utility JavaScript library failing to load in the TestPage Overlay module. Thanks to Alejandro Medina for the pull request! |
|
#2297 |
When performing a FHIR create using the HAPI FHIR client, if the payload is a Bundle resource the individual resources in the Bundle had their IDs removed by the client during payload serialization. This has been corrected. |
|
#2298 |
A recent change inadvertently caused an issue with DB migration utility such that it would attempt to drop indexes even when the |
|
#2299 |
The BulkExportDaoSvc bean was forgotten from the BaseConfig context. It has been added. |
|
#2309 |
In the JPA server, HumanName.name.text was not being indexed and therefore was not searchable. This has been corrected. |
|
#2327 |
The $expand filter parameter was not matching the ValueSet display value in all cases. E.g. a ValueSet with name 'abc def ghi' would match 'abc def' and 'def' but not 'def ghi'. This has been corrected so the ValueSet will match the filter if any substring of the ValueSet display value matches the $expand filter. |
|
#2361 |
Unrecognized search param prefix strings were silently discarded. This is now an error. |
|
#2365 |
A bug in the InMemoryResourceMatcher caused AND clauses to be treated as OR clauses. Thanks to Jari Maijenburg for the report and pull request! |
|
#2369 |
When using the Consent Interceptor, the |
|
#2361 |
As of version 2.69, the LOINC Top2000CommonLabResultsSi.csv and Top2000CommonLabResultsUs.csv became optional. The Terminology Loader Service has been updated to reflect this change. |
|
#2220 |
An important security issue with the JPA Server was solved. This issue applies only to JPA servers running in partitioned mode. When performing searches on a partitioned server, search results from previously cached searches against different partitions may be returned, potentially leaking data across partitions. This issue has been resolved. |
|
#2229 |
Remove support for the |
Released: 2021-01-20
Codename: (Numbats)
#2298 |
A recent change inadvertently caused an issue with DB migration utility such that it would attempt to drop indexes even when the |