Skip to content

IBM FHIR Server 4.6.0

Choose a tag to compare

@lmsurpre lmsurpre released this 12 Mar 22:47
· 3246 commits to main since this release
7a3c121

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

This release moves datasource connection properties from fhir-server-config.json to Liberty server configDropins, completely revamps the bulkdata section of the fhir-server-config.json, introduces a high-speed whole-system "changes feed", modifies the IBM FHIR Server schema to handle composite search parameters more efficiently, and more.

For users upgrading from a previous release, please review the Migration Considerations before attempting the upgrade.

Added

Changed

Removed

Fixed

Security

Migration Considerations

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

  1. Analyze configuration changes and prepare for the upgrade
    • remove persistence/jdbc/enableProxyDatasource from fhir-server-config.json
    • remove persistence/jdbc/dataSourceJndiName from fhir-server-config.json
    • remove persistence/datasources/<dsid>/connectionProperties and put the connection information into a configDropin as documented in the User's Guide
    • ensure there are no references to the com.ibm.fhir.persistence.proxy.FHIRProxyXADataSource jdbcDriver in your server.xml or configDropins (this used to be in our default server.xml but was removed along with the implementation)
    • for bulkdata users, the bulkdata configuration section of fhir-server-config.json has been totally reworked; please see the User's Guide for updated configuration information
  2. Stop the server (or otherwise prevent write requests).
  3. Perform a database back up.
  4. Run the fhir-persistence-schema --update-schema command. If using a non-admin user (recommended), also perform the --grant-to action. Note: it is no longer necessary to separately invoke --refresh-tenants.
  5. Deploy the new server.
  6. Perform re-indexing. Note that this step is only required for resources with composite search values.

Covered in these steps are one-time special considerations for upgrading to 4.6.0:

  • For #1955, we introduced a new table named RESOURCE_CHANGE_LOG which stores all resource changes (creates, updates, and deletes) and serves the new whole-system history interaction. If (and only if) this table is empty, the --update-schema action will auto-populate this table with historical data from the database.
  • For #1929, we introduced a new index. This can take a while to populate (~1000s on our test DB with ~10M resources).
  • For #1958 and #2011, we introduced IS_DELETED and LAST_UPDATED columns to the x_LOGICAL_RESOURCES tables. These columns are automatically populated from the database as part of the --update-schema action.
  • For #1683, we removed the x_COMPOSITES tables from the database and added a new composite_id column to the x_y_VALUES tables in its stead. Populating these new column values is what requires the re-index and so this step can be skipped for resource types that have no search parameters of type composite.

Using the Release

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

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

Usage is documented in the corresponding README files:

For Maven users, all project binaries are posted to BinTray with a version of 4.6.0.

Please note as of 2021-MAY-01, JCenter is shutting down BinTray. The libraries, as of that date, are no longer available on BinTray. Please download the release-repo-4.6.0.zip to cache your repository locally.