Skip to content

Releases: LinuxForHealth/FHIR

IBM FHIR Server 4.6.0

12 Mar 22:47
7a3c121
Compare
Choose a tag to compare

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:

  • [fhir-persistence-schem...
Read more

IBM FHIR Server 4.5.5

08 Feb 20:40
9b5c077
Compare
Choose a tag to compare

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

This release focuses on fixing bugs, improving query performance, and introducing a new high-performance bulkdata system export implementation.

Added

Changed

Deprecated

  • FHIRDbProxyDatasourceConnectionStrategy; this has been our default connection strategy since 4.0. Starting with 4.6.0, we plan to change the default to FHIRDbTenantDatasourceConnectionStrategy, which will mean that all datasource configuration will be configured via Liberty's server.xml and related configDropins. See the User's Guide for more information.

Fixed

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.5.5.

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.5.5.zip to cache your repository locally.

IBM FHIR Server 4.5.4

13 Jan 14:54
8f72a0a
Compare
Choose a tag to compare

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

This release focuses on fixing bugs and finishing patient-access-related changes including the ability to limit the server to specific resource types and the ability to automatically scope searches by the current patient context.

Added

Changed

Fixed

Security

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.5.4.

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.5.4.zip to cache your repository locally.

IBM FHIR Server 4.5.3

16 Dec 18:13
6058d4d
Compare
Choose a tag to compare

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

This release changes fhir-audit configuration to add early support for FHIR's AuditEvent, decouples the Kafka configuration from the EventsStreams binding, improves multi-tenant support for the refresh of Db2 tenants, and addresses a number of issues.

Please be sure to review the notes section.

Changed

Fixed

Security

Deprecated

  • fhir-audit: Update Kafka configuration #1542 which decouples the Kafka configuration also changes the package name and structure of the serviceClassName:
    • com.ibm.fhir.audit.logging.impl.DisabledAuditLogService is now com.ibm.fhir.audit.impl.NopService
    • com.ibm.fhir.audit.logging.impl.WhcAuditCadfLogService is now com.ibm.fhir.audit.impl.KafkaService

This change is backwards compatible, however, it is recommended you update your configuration to use the new serviceClassName as the mapping may be removed in the future.

Notes

  1. If you are updating from a release prior to 4.5.2, be sure to "reindex" the resources after the upgrade. See the Search Configuration Guide for information on the $reindex operation.
  2. If you are updating from a prior release with an IBM Db2 as the persistence layer, be sure to refresh tenants as documented in the 4.5.0 Release Notes when you have the following conditions:
    • migrating from prior to 4.5.0 (because 4.5.0 added a table); or
    • migrating from ANY prior version if using multiple tenants in a single schema (due to #1789)
  3. The Docker container ibmcom/ibm-fhir-schematool is an early technology preview and is experimental.

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 and fhir-swagger-generator 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.5.3.

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.5.3.zip to cache your repository locally.

IBM FHIR Server 4.5.2

03 Dec 19:26
960c425
Compare
Choose a tag to compare

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

This release fixes multiple issues with the fhir-persistence-schema tool:

  1. --update-schema does not properly update the user function for PostgreSQL databases
  2. --update-proc is broken due to an extraneous commit
  3. schema versioning (FHIR_ADMIN) is case sensitive; fails with DuplicateNameException when user executes --update-schema with an existing schema name with different casing

If you are updating from a previous release, be sure to "reindex" the resources after the upgrade.
See the Search Configuration Guide for information on the $reindex operation.

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.

Note: The Docker image ibmcom/ibm-fhir-schematool is an early technology preview and is experimental.

Executable jar files for the fhir-persistence-schema and fhir-swagger-generator 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.5.2.

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.5.2.zip to cache your repository locally.

IBM FHIR Server 4.5.1

02 Dec 13:15
74cace4
Compare
Choose a tag to compare

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

This release focuses on fixing bugs, improving the performance of select search queries, and updating the pre-packaged Implementation Guides associated with the CMS Interoperability and Patient Access final rule.

If you are updating from a previous release, be sure to "reindex" the resources after the upgrade.
See the Search Configuration Guide for information on the $reindex operation.

Added

Changed

Fixed

Security

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 and fhir-swagger-generator 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.5.1.

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.5.1.zip to cache your repository locally.

IBM FHIR Server 4.5.0

11 Nov 15:08
a02db91
Compare
Choose a tag to compare

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

This release introduces an improved schema design that stores reference and token values more efficiently. It also introduces the $reindex operation which must be used to move existing data into the updated schema. See Database Migration below for more information.

Added

Changed

Removed

Fixed

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 and fhir-swagger-generator 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.5.0.

Database Migration

Issue #1366 introduces a significant schema change related to the storage of references and token values, reducing the size of the database for a set of resources with the additional benefit of improving ingestion performance. To migrate to 4.5.0, you must:

  1. Migrate the schema;
  2. Reindex existing resources

Schema Migration

With the server stopped, run the following commands to migrate the schema (using Db2 as an example):

# Add new tables/columns/indexes etc
java -jar schema/fhir-persistence-schema-*-cli.jar \
  --prop-file db2.properties --schema-name FHIRDATA --update-schema \
  --pool-size 1

# Rerun grants to cover any new tables added by the above migration step 
java -jar schema/fhir-persistence-schema-*-cli.jar \
  --prop-file db2.properties --schema-name <FHIR-DATA-SCHEMA> --grant-to <FHIR-USER> --pool-size 2

# ***Db2-only***: Make sure that the new tables have partitions for existing tenants
java -jar schema/fhir-persistence-schema-*-cli.jar \
  --prop-file db2.properties --refresh-tenants

Note that the --update-schema operation uses a pool-size of 1. This is to avoid deadlocks in the Db2 catalog when trying to manipulate foreign keys in parallel.

Reindex resources

After the schema has been migrated, new resources and be stored and retrieved per normal. However, some searches for existing resources will not be successful until those resources are reindexed. Reindexing is a new custom operation introduced in release 4.5.0 which tells the server to read each resource, and replace the existing search parameters with those newly extracted from the resource body.

After migrating the schema and starting the server, use the new fhir-bucket tool to drive reindexing of resources currently stored in the server. The fhir-bucket tool uses a thread-pool to make concurrent POST requests to the IBM FHIR Server $reindex custom operation. This custom operation reads each resource in turn (up to the limit specific as a parameter) and updates the stored parameter data. This is very similar to creating a new version of a resource, except in this case the version number doesn't change and the data for the resource never leaves the server.

To run the reindex step, see this example (using Postgres):

JAR="/path/to/fhir-bucket-4.5.0-cli.jar"

java \
  -Djava.util.logging.config.file=logging.properties \
  -jar "${JAR}" \
  --db-type postgresql \
  --fhir-properties fhir.properties \
  --tenant-name "YOUR-TENANT-NAME" \
  --max-concurrent-fhir-requests 200 \
  --no-scan \
  --reindex-tstamp YYYY-MM-DD \
  --reindex-resource-count 10 \
  --reindex-concurrent-requests 200

The value of YYYY-MM-DD is a date-stamp used to indicate the date on which the resources have been reindexed. The IBM FHIR Server tracks when a resource was last reindexed and only resources with a reindex_tstamp value less than the given YYYY-MM-DD parameter will be processed. When a resource is reindexed, its reindex_tstamp is set to the given YYYY-MM-DD value indicating it has been processed. In most cases, using the current date (for example "2020-10-27") is the best option for this value.

Reindexing is resource-intensive and can take several hours or even days to complete depending on the number of resources currently in the system and the capability of the hosting platform.

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.5.0.zip to cache your repository locally.

IBM FHIR Server 4.4.2

22 Oct 03:00
3a0f6d3
Compare
Choose a tag to compare

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

This release focuses on fixing bugs and improving the configurability of the server.

Added

Changed

Removed

Fixed

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 and fhir-swagger-generator 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.4.2.

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.4.2.zip to cache your repository locally.

IBM FHIR Server 4.4.1

15 Oct 19:45
86d6299
Compare
Choose a tag to compare

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

This release focuses on fixing bugs and improving support for the CMS Interoperability and Patient Access final rule.

Added

Changed

Removed

Fixed

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 and fhir-swagger-generator 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.4.1.

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.4.1.zip to cache your repository locally.

IBM FHIR Server 4.4.0

08 Sep 13:36
78efcce
Compare
Choose a tag to compare

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

This release focuses on fixing bugs, improving validation support, adding and updating implementation guides.

Added

For the proceeding two additions, the extended validation performed during object construction can be turned on or off using fhirServer/core/extendedCodeableConceptValidation as discussed in the IBM FHIR Server User's Guide

Changed

Deprecated

  • None

Removed

  • None

Fixed

Security

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 and fhir-swagger-generator 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.4.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.4.0.zip to cache your repository locally.