Skip to content

IBM FHIR Server 4.9.0

Compare
Choose a tag to compare
@lmsurpre lmsurpre released this 11 Aug 22:24
· 2068 commits to main since this release
d0545fb

This version of the IBM FHIR Server supports HL7 FHIR Specification version v4.0.1.

This release focuses on whole-system search and reindex performance.

Added

Changed

Deprecated

Removed

Fixed

Security

Migration Considerations

To migrate from a prior version of the IBM FHIR Server to version 4.9.0:

  1. Analyze configuration changes and prepare for the upgrade
    • fhirServer/core/externalBaseUrl is introduced as an alternative to constructing the baseUrl from the value of the configured "originalRequestUriHeaderName"
    • fhirServer/bulkdata/storageProviders/(source)/exportPublic has been removed
    • fhirServer/notifications/common/maxNotificationSizeBytes and fhirServer/notifications/common/maxNotificationSizeBehavior were introduced for controlling the notification behavior for large messages
    • fhirServer/validation/failFast was introduced to make it possible to ask the validator to fail on the first error
    • fhirServer/search/enableLegacyWholeSystemSearchParams was introduced to allow whole-system param queries to continue working after migration and before a complete reindex. This parameter should be added and set to true before migration.
  2. Stop the server (or otherwise prevent write requests).
  3. Perform a database back up.
  4. Run the fhir-persistence-schema-4.9.0-cli.jar --update-schema command. If using a non-admin user (recommended), also perform the --grant-to action.
  5. Deploy the new server.
  6. Perform re-indexing.
    • Needed for #264. See special considerations for more info.
  7. Remove fhirServer/search/enableLegacyWholeSystemSearchParams (or explicitly set it to false)

Special considerations for upgrading to 4.9.0:

  • The schema migration for 4.9.0 adds columns to the whole-system logical_resources table and populates these columns for each resource in the database. This can be a lengthy process (9 hours on our PostgreSQL database with ~80 million resources). We have tested on-line migration (serving read-only requests while the update is live) and encountered no issue, but care should be taken to avoid potential impact to end users.
  • Starting in 4.9.0, the $reindex operation will skip resources with no search parameter changes. However, this is driven by a new column in the database that stores the hash of the parameter values and so the first reindex after upgrading will populate that column for all resources.
  • The location of _security, _tag, and _profile search parameter values is updated in 4.9.0. To ensure that queries continue to work as expected during migration, please use the newly introduced fhirServer/search/enableLegacyWholeSystemSearchParams parameter. When set to true, ingestion and reindexing will extract the value to both locations and searches will look in the old location. When set to false (the default), ingestion and reindexing and search will use only the new location which is expected to yield improved performance for select queries.

Using the Release

Run or extend the Docker image from https://hub.docker.com/r/ibmcom/ibm-fhir-server or download fhir-install-4.9.0.zip and install as described at https://ibm.github.io/FHIR/guides/FHIRServerUsersGuide.

Executable jar files for the fhir-persistence-schema, fhir-swagger-generator, fhir-bucket, and fhir-path projects are also available:

Usage is documented in the corresponding README files:

For Maven users, all project binaries are posted to Maven Central with a version of 4.9.0.