Skip to content

LinuxForHealth FHIR Server 5.0.0

Compare
Choose a tag to compare
@lmsurpre lmsurpre released this 15 Sep 20:44
· 228 commits to main since this release
f383bd6

The first release of the LinuxForHealth FHIR Server (formerly the IBM FHIR Server)!

This version of the LinuxForHealth FHIR Server supports HL7 FHIR versions 4.0.1 and 4.3.0.

This release introduces support for HL7 FHIR version 4.3 (sometimes called "R4B") and removes support for select 4.0 resource types that have been removed in the specification.

It also introduces experimental support for:

  1. the Citus distributed PostgreSQL backend for scale-out scenarios; and
  2. asynchronous search parameter indexing for improved ingestion performance

Both of these experimental features have important limitations to be aware of:

  1. Citus search limitations
  2. Async indexing impacts data consistency

Added

Changed

Removed

Fixed

Security

Migration Considerations

To migrate from a prior version to version 5.0.0:

  1. Analyze configuration changes and prepare for the upgrade
    • Due to the package rename (com.ibm -> org.linuxforhealth), fhirServer/persistence/factoryClassname and fhirServer/audit/serviceClassName values must be updated in each fhir-server-config.json
    • fhirServer/bulkdata/core/batchIdEncryptionKey was renamed to fhirServer/bulkdata/core/batchIdEncodingKey
  2. Stop the server (or otherwise prevent write requests).
  3. Perform a database back up.
  4. Run the fhir-persistence-schema-5.0.0-cli.jar --update-schema command.
  5. Deploy the new server.
  6. Perform a complete re-indexing.

Special considerations for upgrading to 5.0.0:

  • Due to the package rename (com.ibm -> org.linuxforhealth), all META-INF/service files must be renamed. This impacts all FHIRRegistryResourceProvider (e.g. packaging for IGs) and FHIRPersistenceInterceptor implementations.
  • There is no support for migrating data from an existing (single-node) PostgreSQL installation to a distributed Citus backend.
  • fhir-persistence-schema: Prior to LinuxForHealth FHIR Server version 5.0.0, the default value for --db-type was db2. As of version 5.0.0, there is no longer a default value and --db-type must be specified every time.

If upgrading from a version prior to 4.11.0, be sure to review the applicable migration considerations:

Note: for schema migrations, only the latest version of the fhir-persistence-schema tool must be run.

Using the Release

Run or extend the Docker image from https://github.com/LinuxForHealth/FHIR/pkgs/container/fhir-server or download fhir-install-5.0.0.zip and install as described at https://linuxforhealth.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 groupId of org.linuxforhealth.fhir and a version of 5.0.0.