FHIR Chat · releases · ibm

Stream: ibm

Topic: releases


view this post on Zulip Paul Bastide (Oct 28 2019 at 18:00):

The team just posted 4.0.0 RC1 - https://github.com/IBM/FHIR/releases/tag/4.0.0-RC1

The first release candidate for the IBM FHIR Server under the Apache 2.0 license.

This release represents a complete overhaul of the internal IBM FHIR Server component that was used within IBM Watson Health, including:

    a new FHIR R4 object model that implements both the builder pattern for creating valid, thread-safe, immutable objects and the visitor pattern for allowing simple traversal
    high-performance JSON and XML parsers and generators for readings and writing FHIR objects
    a high-performance FHIRPath engine that operates directly over the model and supports both instance validation and search parameter extraction
    an updated JDBC schema and database utilities for deploying a Db2 multi-tenant schema in under 2 minutes
    numerous changes to support a combined score of 98% compliance on the AEGIS Touchstone Basic and Advanced test suites
    significant cleanup and refactoring to reduce the surface area of the server implementation

view this post on Zulip Paul Bastide (Oct 28 2019 at 19:30):

https://www.ibm.com/blogs/watson-health/health-data-interoperability/ announcement

view this post on Zulip Paul Bastide (Oct 31 2019 at 13:24):

The team posted 4.0.0 RC2 - https://github.com/IBM/FHIR/releases/tag/4.0.0-RC2 (major themes on conformance, performance, and bugs) ... if you have any questions, open a topic on the stream. Happy to help.

view this post on Zulip Lee Surprenant (Oct 31 2019 at 13:33):

Don't forget Security! In my mind, that was the main reason for the RC2. RC1 was using a backlevel Jackson that had a known CVE. If you picked up RC1, you should definitely upgrade to RC2 (no db schema updates, so upgrade is quite simple)

view this post on Zulip Paul Bastide (Dec 21 2019 at 16:22):

IBM FHIR Server 4.0.0

The public release for the IBM FHIR Server version 4.0.0 under the Apache 2.0 license.
This version of the IBM FHIR Server supports HL7 FHIR Specification version v4.0.1.

Changes

The release contains the following changes:

Enhancements

  • Update specification artifacts for FHIR v4.0.1
  • Update schema (breaking change from Release Candidates to Release). Please drop existing schemas and re-add.
  • Implement profiling and constraint generation
  • Add FHIR Path spec validation

Search

Using the Release

For Maven users, all of the project's binaries for this release are posted to BinTray with direct downloads from BinTray Downloads.

For users wanting a downloaded package, please download from the attached binaries in this release. https://github.com/IBM/FHIR/releases/tag/4.0.0

view this post on Zulip Paul Bastide (Dec 21 2019 at 16:27):

FYI, I am currently uploading the artifacts to bintray (releases) it should be done in 30 or so minutes

view this post on Zulip Paul Bastide (Dec 21 2019 at 16:42):

artifacts are up and available.

view this post on Zulip Paul Bastide (Dec 28 2019 at 20:17):

FYI - Javadocs are updated https://ibm.github.io/FHIR/javadocs/latest/index.html

view this post on Zulip Lee Surprenant (Jan 08 2020 at 19:21):

FYI we found and fixed an issue with the windows install.bat that shipped with 4.0.0: https://github.com/IBM/FHIR/issues/557
We're working on a 4.0.1 to package the fix.

view this post on Zulip Paul Bastide (Jan 10 2020 at 13:31):

A small mea culpa, Lee found the source and javadoc jars were missing from our BinTray releases. I have just built off the tag, and pushed the javadocs and sources.

view this post on Zulip Lee Surprenant (Jan 20 2020 at 23:25):

IBM FHIR Server 4.0.1 - https://github.com/IBM/FHIR/releases/tag/4.0.1

The public release of IBM FHIR Server version 4.0.1 under an Apache 2.0 license. This version of the IBM FHIR Server supports HL7 FHIR Specification version v4.0.1.

Fixed

  • _sort Search with Compartment fails due to unordered adding of parameters #590
  • In certain cases, _id and _lastUpdated search values are not added #577
  • UriBuilder returns invalid self/url #588
  • Source and Javadoc Jars are missing from BinTray for the 4.0.0 artifacts #572
  • ModelSupport is missing certain choice types
  • Windows
    - Address issue with following directions to install ibm-fhir on windows ... install.bat fails #557
    - FilePath Separator is hard coded for Linux in some tests #581
    - FileSystemException cannot access file Files.copy #579

Changed

  • Deduplicate the SearchParameter map #535
  • Allow to run the Server without TLS #331
  • Support multiple operations with the same code but different resource types #107
  • Improve Bulk Export for Patient/Group #107
  • Support processing JSON with unrecognized elements #318
    - fhirServer/core/handling config prop is replaced by fhirServer/core/defaultHandling and fhirServer/core/allowClientHandlingPref

  • Swagger/OpenApi
    - introduce examples to the Swagger/OpenAPI #536
    - specify charset for the swagger/openapi JsonWriter #584

  • Javadocs
    - Posted latest 4.0.1 Javadocs
    - Minor javadoc improvement for Resource.as and Element.as
    1. added support for @throws javadoc annotation in CodeBuilder
    2. used this to add @throws documentation for Resource.as and Element.as

Added

  • Introduce executable flavor of fhir-persistence-schema and document usage #573
  • Introduce executable flavor of fhir-swagger-generator and document usage #564
  • Conditional read support #160
  • Support for the :missing modifier on positional search (near) #510
  • Initial draft of FHIR Validation Guide #565
  • End-to-end tests for Windows #562
  • Travis/GitHub Actions tag release automation #145
  • Javadoc Linting Automation

Using the Release

Download and install the fhir-server-distribution.zip artifact 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 and usage is documented in the corresponding README files:

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

view this post on Zulip Paul Bastide (Jan 21 2020 at 00:07):

Excellent

view this post on Zulip John Timm (Apr 03 2020 at 16:12):

IBM FHIR Server 4.1.0 - https://github.com/IBM/FHIR/releases/tag/4.1.0

This release focuses on shoring up the database schema, improving profile validation, fixing bugs, and implementing the bulk data specification.

Highlights:

  • Database schema documentation and migration support
  • Schema fix for FK constraints on the X_COMPOSITES tables (for each resource type)
  • Search behavior change for date, number, and quantity parameters; now all values are stored as ranges
  • Removed the need for extension-parameter-value-types.json; now the SQL queries work similarly, irregardless of the FHIR datatype which the data was extracted from
  • Improved profile validation and packaging of US Core, CARIN BlueButton, and mCODE implementation guides
  • Bulk export to NDJSON

Using the Release

Download and install the fhir-server-distribution.zip artifact 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 and usage is documented in the corresponding README files:

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

view this post on Zulip Lee Surprenant (Apr 08 2020 at 16:05):

The IBM FHIR Server 4.1.0 release is now available from Dockerhub!
https://hub.docker.com/r/ibmcom/ibm-fhir-server

Try it out!
docker run -p9443:9443 ibmcom/ibm-fhir-server

view this post on Zulip Albert(Xu) Wang (May 06 2020 at 20:00):

IBM FHIR Server 4.2.1 - https://github.com/IBM/FHIR/releases/tag/4.2.1
This release focuses on fixing bugs, adding documentation, and implementing new Validation warnings,
experimental support for bulkdata $import and experimental PostgreSQL support.
Highlights:
* Support dynamicity in the fhir-registry
* FHIR Server registry resource provider and persistence interceptor
* Experimental Bulk data import
* Experimental PostgreSQL support
* NATS notification support
* Update to Liberty 20.0.0.3
Using the Release
Download and install the fhir-server-distribution.zip artifact from the Releases tab or pull the latest Docker image from https://hub.docker.com/r/ibmcom/ibm-fhir-server.
More information on installing and running the server is available in the User Guide at https://ibm.github.io/FHIR/guides/FHIRServerUsersGuide.
For Maven users, all project binaries are posted to BinTray with a version of 4.2.1.

view this post on Zulip Robin Arnold (May 22 2020 at 15:05):

IBM FHIR Server 4.2.2 - https://github.com/IBM/FHIR/releases/tag/4.2.2

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

This release focuses on fixing bugs, adding support for the DaVinci PDEX Plan Net implementation guide, tweaking validator output, and improving the experimental PostgreSQL backend.

Highlights:

  • Stored procedure and parameterNameId/codesystemId caches for improved PostgreSQL performance
  • Bulk Data User's Guide
  • Pre-package Payer Directory (PDEX Plan-Net) Implementation Guide
  • Cache support for the capabilities request
  • Supplemental issues when an instance includes extensions we cannot validate
  • UCUM variants and non-standard unit support like mi and miles for positional / location search
  • Constraint generation via intermediate profiled complex data types

Using the Release
Download and install the fhir-server-distribution.zip artifact from the Releases tab or pull the latest Docker image from https://hub.docker.com/r/ibmcom/ibm-fhir-server.
More information on installing and running the server is available in the User Guide at https://ibm.github.io/FHIR/guides/FHIRServerUsersGuide.

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

view this post on Zulip Lee Surprenant (Jun 01 2020 at 20:36):

IBM FHIR Server 4.2.3 - https://github.com/IBM/FHIR/releases/tag/4.2.3

This release focuses on improving bulk export, introducing Java terminology service APIs, and removing unused transitive dependencies brought in by Apache CXF.

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

view this post on Zulip Paul Bastide (Jun 23 2020 at 14:05):

Announcement IBM FHIR Server 4.3.0 Released

view this post on Zulip Paul Bastide (Jun 23 2020 at 14:05):

Announcement IBM FHIR Server 4.3.0 - https://github.com/IBM/FHIR/releases/tag/4.3.0

This release updates from Liberty 20.0.0.3 to Liberty 20.0.0.6, greatly improves bulk export performance, and introduces an initial implementation of light-weight terminology services.

Added

Changed

Removed

  • None

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

view this post on Zulip Paul Bastide (Jul 15 2020 at 12:19):

Heads up... the 4.3.1 image on docker is being tested right now.

view this post on Zulip Paul Bastide (Jul 15 2020 at 12:20):

Once testing is complete, we'll make the release official

view this post on Zulip Paul Bastide (Jul 15 2020 at 20:31):

We're going to rebuild the 4.3.1 image. hold tight please... I'm going to remove the cli that was published

view this post on Zulip Paul Bastide (Jul 16 2020 at 20:14):

Rebuild going on now

view this post on Zulip Paul Bastide (Jul 20 2020 at 16:25):

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

Added

Postgres SQL Automation #1234
Support minio for bulkdata #1242
Dynamic Group to Search Query Compilation #1306

Changed

None

Removed

None

Fixed

Search based on Date with the Procedure resource is not working #1294
Enable value set binding to Quantity fields in profile validation #1213
DISTINCT in subquery prevents Db2 from selecting optimal execution plan #1327
Fix for Code Scans and IST Build Issues #1325
Improve performance of default FHIRTermServiceProvider implementation #1288
Incorrect hash code computation in some generated classes #1295
Choice element names incorrectly generated #1302
Improve handling of cross-resource-type searchparam code conflicts #1271
Failing Conditional Update within Transaction: 'Bundle.Entry.resource must contain an id field for a PUT operation.' #1319
ConstraintGenerator does not include type check on exists clause for required vocabulary constraints that include a choice type #1321
SearchAllTest timeout and slowdowns after BulkData Load #836
R4JDBCExamplesProcessor fails to correctly set tenant key for DB2 #1122
Remove tenantKey from request context and support tenantKey without requiring fhir-server-config files #1324
Frequent calls to Connection.getSchema() #1144
DefaultTermServiceProvider validateCode throws NPE when display is specified and invalid #1278

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:
fhir-persistence-schema-4.3.1-cli.jar
fhir-swagger-generator-4.3.1-cli.jar

Usage is documented in the corresponding README files:
https://github.com/IBM/FHIR/tree/master/fhir-persistence-schema
https://github.com/IBM/FHIR/tree/master/fhir-swagger-generator

For Maven users, all project binaries are posted on BinTray with a version of 4.3.1.

view this post on Zulip Paul Bastide (Jul 20 2020 at 20:05):

For those following the development branch of IBM FHIR Server, please rebuild fhir-examples to pickup up 4.3.2-SNAPSHOT (mvn clean install -f fhir-examples)

view this post on Zulip Paul Bastide (Jul 29 2020 at 23:41):

IBM FHIR 4.3.2

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

This release focuses on performance improvements and minor bug fixes.

Added

Changed

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

view this post on Zulip Paul Bastide (Jul 29 2020 at 23:42):

We just posted to all the normal locations

view this post on Zulip Lee Surprenant (Aug 03 2020 at 21:36):

Today we tagged FHIR 4.3.3 which includes some additional performance improvements. Most notably, we've fixed a couple advanced "whole-system search" cases and added an index for the _lastUpdated column of our Resource tables which should help on related queries.
Check out https://github.com/IBM/FHIR/releases/tag/4.3.3 for the full release notes.

view this post on Zulip Paul Bastide (Sep 08 2020 at 13:37):

IBM FHIR Server 4.4.0

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.

view this post on Zulip Paul Bastide (Sep 08 2020 at 13:39):

We've posted to all the normal locations.
If you are following on with the main branch, please rebuild fhir-examples, and import the new projects - fhir-smart, fhir-bucket. fhir-persistence-scout is not needed at this time for the build process.

view this post on Zulip Liz Dettman (Oct 15 2020 at 21:33):

IBM FHIR server 4.4.1 is now available.

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

Full release notes are available here: https://github.com/IBM/FHIR/releases/tag/4.4.1

view this post on Zulip Lee Surprenant (Oct 22 2020 at 13:11):

The IBM FHIR Server team is proud to announce version 4.4.2

This version fixes a bad bug which prevented our smart-configuration page from working correctly. It also includes an update to CARIN for BlueButton 0.1.7 (the latest CI Build version) and a change to fhir-server-config.json.

See https://github.com/IBM/FHIR/releases/tag/4.4.2 for the full release notes.

view this post on Zulip Mike Schroeder (Nov 11 2020 at 16:19):

The IBM FHIR Server team is proud to announce version 4.5.0

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 https://github.com/IBM/FHIR/releases/tag/4.5.0 for the full release notes.

view this post on Zulip Dag Roppe (Dec 02 2020 at 15:23):

We have tagged and released IBM FHIR Server version 4.5.1
The 4.5.0 release contains a reindexing bug which is now fixed. All users of 4.5.0 should upgrade as soon as possible.
Also included are other fixes and performance enhancements.
Please see https://github.com/IBM/FHIR/releases/tag/4.5.1 for full release notes.

view this post on Zulip Lee Surprenant (Dec 03 2020 at 19:35):

Hot on the heels of 4.5.1 (hotter than we'd like), we've now tagged 4.5.2.
This release fixes multiple issues with the fhir-persistence-schema tool (and not much else).
PostgreSQL installations that were created prior to 4.5.0 will need this version (and not 4.5.0 or 4.5.1) for properly functioning search behavior. And all installations migrating from pre-4.5.1 must follow the reindex guidance.
https://github.com/IBM/FHIR/releases/tag/4.5.2

view this post on Zulip Paul Bastide (Dec 16 2020 at 18:19):

Announcing IBM FHIR Server Release 4.5.3 - 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.. https://github.com/IBM/FHIR/releases/tag/4.5.3

view this post on Zulip Mike Schroeder (Jan 13 2021 at 15:20):

Announcing IBM FHIR Server Release 4.5.4
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.
See https://github.com/IBM/FHIR/releases/tag/4.5.4 for the full release notes.

view this post on Zulip Lee Surprenant (Feb 09 2021 at 02:16):

The IBM FHIR Server team is proud to bring you version 4.5.5.
This release focuses on fixing bugs, improving query performance, and introducing a new high-performance bulkdata system export implementation.
As usual, see the GitHub Releases page for the release notes:
https://github.com/IBM/FHIR/releases/tag/4.5.5

view this post on Zulip Robin Arnold (Mar 15 2021 at 13:27):

Announcing IBM FHIR Server Release 4.6.0
This release includes a number of schema enhancements to improve performance, overhauls bulkdata configuration, adds a new high-performance whole-system history API for rapid retrieval of resource change events, and more.
See https://github.com/IBM/FHIR/releases/tag/4.6.0 for the full release notes.

view this post on Zulip Paul Bastide (Mar 24 2021 at 14:34):

Announcing IBM FHIR Server Release 4.6.1

This release includes a number of fixes to improve Bulk Data, reindexing, performance and security. This release also introduces support for :of-type, _total, and an $everything module.

See https://github.com/IBM/FHIR/releases/tag/4.6.1 for the full release notes.

view this post on Zulip Troy Biesterfeld (Apr 13 2021 at 14:46):

Announcing IBM FHIR Server Release 4.7.0
This release expands search behavior, introduces a new experimental fhir-term-graph module, includes numerous dependency updates, and makes significant changes to the ibmcom/ibm-fhir-server docker image.
See https://github.com/IBM/FHIR/releases/tag/4.7.0 for the full release notes.

view this post on Zulip John Timm (Apr 26 2021 at 14:40):

Announcing IBM FHIR Server Release 4.7.1
This release adds opt-in support for "update if modified" behavior, introduces a new experimental fhir-term-remote module, and fixes a number of bugs.
See https://github.com/IBM/FHIR/releases/tag/4.7.1 for the full release notes.

view this post on Zulip Lee Surprenant (May 17 2021 at 18:44):

Announcing IBM FHIR server 4.8.0!
This release introduces a huge search performance improvement for a number of key scenarios (e.g. compartment search and searches with many matches).
We’ve also expanded the “update-only-if-needed” optimization to batch/transaction interactions, implemented more search features, and introduced support for hard deletion through a new $erase operation.
Plus bug fixes and more.
See https://github.com/IBM/FHIR/releases for the release notes.

view this post on Zulip Lee Surprenant (May 24 2021 at 21:40):

Last week we tagged and released IBM FHIR Server 4.8.1 with important dependency updates and other minor changes.
4.8.2 is now available as well and builds on 4.8.1 with a couple important fixes.
Please find the full release notes for each release at https://github.com/IBM/FHIR/releases.

view this post on Zulip Lee Surprenant (Jun 07 2021 at 11:42):

The IBM FHIR Server team has tagged 4.8.3. This release focuses on fixing bugs, improving performance, and adding support for customizable compartment definitions. See the full release notes at https://github.com/IBM/FHIR/releases/tag/4.8.3

view this post on Zulip Lee Surprenant (Aug 13 2021 at 15:52):

The IBM FHIR Server team has tagged and released version 4.9.0!
This release includes a new-and-improved client-driven reindex strategy and an optimization for skipping search parameter extraction on resources with no search parameter changes.
This release also overhauls our support for “whole-system” search (searches to [base]/ instead of searches to endpoints like [base]/[resourceType]) and whole-system search parameters like _profile, _tag, and _security in general.
Therefore, if you are updating from a previous version there will be a potentially-lengthy database schema upgrade AND a reindex.
See https://github.com/IBM/FHIR/releases/tag/4.9.0 for the full release notes and, in particular, the Migration Considerations sections for migrating from a prior release.

P.S. There was a slight hiccup with the release automation which led a single artifact, fhir-examples, being omitted in the push to Maven Central. This is a dependency for most of our modules, but only with test scope. Therefore, we don’t expect this missing artifact to cause any issue. If you see something failing because of it, please let us know ASAP.

view this post on Zulip Mahesh Dabi (Aug 17 2021 at 11:21):

We are testing Bulk Export in Inferno and below is a scenario

Request URL: GET
https://fhir.secureit.co.in:9443/fhir-server/api/v4/Group/17b537afab8-0b948c12-497f-477f-b115-c4763375dfb9/$export

Request Header:
accept: application/fhir+xml

Response code received: 202 with no Body

The expected response code should be 4XX or 5XX with details in Body, could be like below
{
"resourceType": "OperationOutcome",
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Operation Outcome</h1><table border=\"0\"><tr><td style=\"font-weight:bold;\">error</td><td>[]</td><td><pre>The Accept header must be application/fhir+json</pre></td></tr></table></div>"
},
"issue": [
{
"severity": "error",
"code": "processing",
"diagnostics": "The Accept header must be application/fhir+json"
}
]
}

Are we missing some configuration?

Thanks
Mahesh

view this post on Zulip Mahesh Dabi (Aug 17 2021 at 11:23):

One more for bulk export

As we are testing Bulk Export in Inferno and below is a scenario

Request URL: GET
https://fhir.secureit.co.in:9443/fhir-server/api/v4/Group/17b537afab8-0b948c12-497f-477f-b115-c4763375dfb9/$export

Request Header:
prefer: return=representation

Response code received: 202 with no Body

The Expected response code should be 4XX or 5XX with details in Body, could be like below
{
"resourceType": "OperationOutcome",
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Operation Outcome</h1><table border=\"0\"><tr><td style=\"font-weight:bold;\">error</td><td>[]</td><td><pre>The Prefer header must be respond-async</pre></td></tr></table></div>"
},
"issue": [
{
"severity": "error",
"code": "processing",
"diagnostics": "The Prefer header must be respond-async"
}
]
}

view this post on Zulip Lee Surprenant (Aug 17 2021 at 13:48):

As you can see, we havn't done much testing with inferno on bulk export, so the above reports are useful.

I believe that both tests are based on the following section from the spec:
https://hl7.org/fhir/uv/bulkdata/export/index.html#headers

However, I don't think either one really makes sense to me in real usage.

We don't emit a response body on the export request (unless something goes wrong), so why would it matter what the client used for the Accept header of the request?

We only support async for bulk export, so it seems a little silly to fail the client if they don't explicitly set that as their preference.

view this post on Zulip Mahesh Dabi (Aug 18 2021 at 14:04):

Prefer:
Yes, it is expected to support "prefer: respond-async". But when some client explicitly sets this, to say something like 'return=representation' as in the inferno test case, they expect the FHIR server to send the response code as 4XX or 5XX instead of a 202 (success) so that the client is made aware that this value is not acceptable/supported.

Accept:
As is the case above, here 'application/fhir+json' is expected to support. But when a client sets this to something like 'application/fhir+xml' that is not currently supported, then in that case a response code 4XX or 5XX should be sent instead of 202 (success) so that the client knows that currently it is not acceptable/supported.

Now, since we are getting response code 202 in both cases, the client thinks that it is a success, despite there being no support for these values.

I hope this makes sense. Please let me know your thoughts.

view this post on Zulip Lee Surprenant (Aug 18 2021 at 17:39):

I still don't think either test case is particularly helpful.

Prefer:
The bulk data operation is specifically defined to be async and no client preference header is going to change that. The prefer header is really is just a client preference and servers shouldn't be bound to that. To me, it seems overly harsh to reject a request due to unexpected content in this header.

Accept:
My understanding is that the accept header indicates which Content types a client can accept for a given interaction. In the case of our $export endpoint, I believe the possible responses are:

  • 202 with no body
  • non-202 with an OperationOutcome
    In the case of the 202, there's not body so it seems like any Content type would be fine.
    In the other case, I'm not sure why we wouldn't be allowed to offer an additional format beyond what is required in the spec.

With that said, I'm not opposed to some additional checking. Feel free to open and issue at https://github.com/IBM/FHIR/issues and, if you'd like a quick resolution, submit a patch for it.

view this post on Zulip Lee Surprenant (Aug 18 2021 at 17:50):

or perhaps we can start a discussion in #inferno to see if these test cases can be relaxed. I'm guessing they will just point to this section of the spec, so maybe we could ask for clarification on #bulk data

view this post on Zulip Lee Surprenant (Aug 18 2021 at 18:33):

ok, i did a quick search and found https://chat.fhir.org/#narrow/stream/179250-bulk-data/topic/Bulk.20Export.20Headers.20-.20required.20for.20servers.20or.20clients.3F/near/242910082 and https://jira.hl7.org/browse/FHIR-32062 which seems to back up my interpretation. i think the inferno tests need an update here

view this post on Zulip Lee Surprenant (Aug 18 2021 at 18:33):

please raise on #inferno

view this post on Zulip Mahesh Dabi (Aug 19 2021 at 13:02):

https://chat.fhir.org/#narrow/stream/179250-bulk-data/topic/Bulk.20Export.20Headers.20-.20required.20for.20servers.20or.20clients.3F/near/249982199

Here is I am trying to confirm if inferno tool can handle this. We will see.

Thanks
Mahesh

view this post on Zulip Mahesh Dabi (Aug 19 2021 at 13:53):

Hi Lee

Regarding one more scenario for bulk export

A scenario while testing in Inferno

Request URL:
https://fhir.secureit.co.in:9443/fhir-server/api/v4/$bulkdata-status?job=HRheZqFY_KT5TXhdXFuY7g

Response Body:
{
"transactionTime": "2021-08-18T10:21:53.82Z",
"request": "https://fhir.secureit.co.in:9443/fhir-server/api/v4/Group/17b58c31108-77f6763e-008b-4010-b428-c42ee061aa57/$export",
"requiresAccessToken": false,
"output": [{
"type": "AllergyIntolerance",
"url": "_jVMAj-5zOenYBhcTN5pa5b6DvR2rsx2Cpv4l9wuXOY/AllergyIntolerance_1.ndjson",
"count": 10
},
{
"type": "CarePlan",
"url": "_jVMAj-5zOenYBhcTN5pa5b6DvR2rsx2Cpv4l9wuXOY/CarePlan_1.ndjson",
"count": 2
}
]
}

This test case is a pass, except that it needs few extra things in the response as mentioned below:

1 - "requiresAccessToken": false. This parameter in the response is false, we need to return this in response as true. We have done all the required changes but are not able to get this.
Could you please let us know how to achieve this?

2 - "error": [] . This request is a pass, but it is expected here that "error":[], should be a part of the response, even if there is no error in this request. Please help us in this.

Also, we are getting "An unexpected error has ocurred while deleting the job", when a DELETE is initiated. Is it that we are missing any configuration?

We are close to passing the Bulkdata test in Inferno, after we get all of these resolved.

Please let us know your thoughts.

view this post on Zulip Mahesh Dabi (Aug 20 2021 at 05:52):

Mahesh Dabi said:

https://chat.fhir.org/#narrow/stream/179250-bulk-data/topic/Bulk.20Export.20Headers.20-.20required.20for.20servers.20or.20clients.3F/near/249982199

Here is I am trying to confirm if inferno tool can handle this. We will see.

Thanks
Mahesh

BDE-04 and BDE-05 will be removed from Multi Patient test. So Inferno will not test server's response for client request with header value other than what specified in Bulk Data IG....this is confirmed from inferno team so we are good.

view this post on Zulip Mahesh Dabi (Aug 20 2021 at 05:55):

Mahesh Dabi said:

Hi Lee

Regarding one more scenario for bulk export

A scenario while testing in Inferno

Request URL:
https://fhir.secureit.co.in:9443/fhir-server/api/v4/$bulkdata-status?job=HRheZqFY_KT5TXhdXFuY7g

Response Body:
{
"transactionTime": "2021-08-18T10:21:53.82Z",
"request": "https://fhir.secureit.co.in:9443/fhir-server/api/v4/Group/17b58c31108-77f6763e-008b-4010-b428-c42ee061aa57/$export",
"requiresAccessToken": false,
"output": [{
"type": "AllergyIntolerance",
"url": "_jVMAj-5zOenYBhcTN5pa5b6DvR2rsx2Cpv4l9wuXOY/AllergyIntolerance_1.ndjson",
"count": 10
},
{
"type": "CarePlan",
"url": "_jVMAj-5zOenYBhcTN5pa5b6DvR2rsx2Cpv4l9wuXOY/CarePlan_1.ndjson",
"count": 2
}
]
}

This test case is a pass, except that it needs few extra things in the response as mentioned below:

1 - "requiresAccessToken": false. This parameter in the response is false, we need to return this in response as true. We have done all the required changes but are not able to get this.
Could you please let us know how to achieve this?

2 - "error": [] . This request is a pass, but it is expected here that "error":[], should be a part of the response, even if there is no error in this request. Please help us in this.

Also, we are getting "An unexpected error has ocurred while deleting the job", when a DELETE is initiated. Is it that we are missing any configuration?

We are close to passing the Bulkdata test in Inferno, after we get all of these resolved.

Please let us know your thoughts.

This is the only issue remaining now.

view this post on Zulip Lee Surprenant (Aug 23 2021 at 16:46):

"An unexpected error has ocurred while deleting the job"

I've also seen this and I think there are some undocumented limitations around job deletion. Do you mind opening an issue at https://github.com/IBM/FHIR/issues with whatever detail you can get wrt the failing test case? Then we can try to fix if possiible, or at least document the limitations?

view this post on Zulip Mahesh Dabi (Aug 24 2021 at 15:03):

Yes Lee

I have added to github about delete job. Will you please help about first two issues

1 - "requiresAccessToken": false. This parameter in the response is false, we need to return this in response as true. We have done all the required changes but are not able to get this.
Could you please let us know how to achieve this?

2 - "error": [] . This request is a pass, but it is expected here that "error":[], should be a part of the response, even if there is no error in this request. Please help us in this.

Thanks
Mahesh

view this post on Zulip Paul Bastide (Aug 24 2021 at 15:07):

Mahesh Dabi said:

1 - "requiresAccessToken": false. This parameter in the response is false, we need to return this in response as true. We have done all the required changes but are not able to get this.
Could you please let us know how to achieve this?

it's a fixed value

2 - "error": [] . This request is a pass, but it is expected here that "error":[], should be a part of the response, even if there is no error in this request. Please help us in this.

view this post on Zulip Paul Bastide (Aug 24 2021 at 15:08):

if you open an issue on #2 we can add support for Error even if it's empty

view this post on Zulip Paul Bastide (Aug 24 2021 at 15:09):

image.png

view this post on Zulip Paul Bastide (Aug 24 2021 at 15:10):

the code for #1. ... if you need this configurable, please open an issue, we can add a new property for it - based on the storageProvider interface

view this post on Zulip Mahesh Dabi (Aug 24 2021 at 15:49):

Great let me add two issues

view this post on Zulip Paul Bastide (Aug 24 2021 at 16:03):

Thank you, I'll work on these later on today.

view this post on Zulip Mahesh Dabi (Aug 24 2021 at 16:17):

Thanks a lot Paul...really appreciate your help.

Mahesh

view this post on Zulip Mahesh Dabi (Aug 26 2021 at 05:10):

Hi Paul

Seems that all the issues are fixed by you. really appreciate it. How we will get these fixes? Are you going to release Jar file?

Thanks
Mahesh

view this post on Zulip Paul Bastide (Aug 26 2021 at 13:49):

Hi Mahesh, we are going to release a 4.9.1 in a few days

view this post on Zulip Paul Bastide (Aug 26 2021 at 13:53):

I'm still working on the delete. The fix suggested was only a partial fix

view this post on Zulip Paul Bastide (Aug 26 2021 at 13:53):

*it's true only if it's completed

view this post on Zulip Mahesh Dabi (Aug 27 2021 at 13:13):

Thanks a lot Paul. We have one more issue

BDE-02: Bulk Data Server declares support for Group export operation in CapabilityStatement

The Bulk Data Server SHALL declare support for Group/[id]/$export operation in its server CapabilityStatement
http://hl7.org/fhir/uv/bulkdata/OperationDefinition-group-export.html

This gives error as
**
Message:
Server CapabilityStatement did not declare support for export operation in Group resource**

"operation": [
{
"name": "export",
"definition": "http://hl7.org/fhir/uv/bulkdata/OperationDefinition/group-export|1.0.1",
"documentation": "FHIR Operation to obtain a detailed set of FHIR resources of diverse resource types pertaining to all patients in specified Group. The FHIR server SHALL support invocation of this operation using the FHIR Asynchronous Request Pattern"
}

I think in capability statement we need to change name "export" to "group-export".

If you feel appropriate then I can put this as issue.

Thanks
Mahesh

view this post on Zulip Lee Surprenant (Aug 27 2021 at 17:28):

spec says CapabilityStatement.rest.resource.operation.name is "Name by which the operation/query is invoked". here, that is "export" not "group-export". i'd suggest following up with the inferno team to see if the test is in error.

view this post on Zulip Mahesh Dabi (Aug 28 2021 at 06:29):

Error Message:
Server CapabilityStatement did not declare support for export operation in Group resource**

What this could mean? Are we missing something in CapabilityStatement ?

Ref: http://hl7.org/fhir/uv/bulkdata/OperationDefinition-group-export.html

Thanks
Mahesh

view this post on Zulip Paul Bastide (Aug 30 2021 at 16:54):

There is a strict difference here between code and name. We follow the operation's code, which per the spec is what one should do.

view this post on Zulip Mahesh Dabi (Sep 07 2021 at 05:33):

Paul Bastide said:

Hi Mahesh, we are going to release a 4.9.1 in a few days

Hi Paul

When we can get 4.9.1, any approximate date?

thanks
Mahesh

view this post on Zulip Paul Bastide (Sep 07 2021 at 12:59):

HI Mahesh, we're targeting this week. Thank you, Paul

view this post on Zulip John Timm (Sep 09 2021 at 18:24):

Announcing IBM FHIR Server Release 4.9.1!
This release includes important dependency updates and focuses on fixing bugs and improving canonical reference search.
See https://github.com/IBM/FHIR/releases/tag/4.9.1 for the full release notes.

view this post on Zulip Katie Imming (Sep 22 2021 at 15:23):

Announcing IBM FHIR Server Release 4.9.2!
This release includes important dependency updates and focuses on mostly bug fixes.
See https://github.com/IBM/FHIR/releases/tag/4.9.2 for the full release notes

view this post on Zulip Paul Bastide (Sep 22 2021 at 19:44):

Heads up all (those actively following main) ... https://github.com/IBM/FHIR/issues/2480 is merged
you will need to reimport fhir-operation-apply and import the cql/ module

view this post on Zulip Mike Schroeder (Nov 17 2021 at 19:09):

Announcing IBM FHIR Server Release 4.10.0!
This release reduces the default initial heap size and introduces experimental CQL support, a $member-match implementation framework with a simplistic default strategy, and numerous other enhancements and fixes.
See https://github.com/IBM/FHIR/releases/tag/4.10.0 for the full release notes.

view this post on Zulip Lee Surprenant (Nov 17 2021 at 20:19):

A few words on some of the features added in this release:

Overloaded fhir-model setters that take native Java objects

A common complaint with users of our visitable, thread-safe model is that the conflicts between FHIR class names and common Java classes like String, Integer, Date, etc is annoying. We've had static factories that you can import in order to avoid needing to fully quality these FHIR class names in most places, but with this release you can forget those static factories and construct your model objects with those java types more directly.

Support conditional create-on-update via If-None-Match

We've had an implementation of the spec-defined conditional create and conditional update interactions for a while, but we're quite aware that our implementation cannot provide strong guarantees in the face of multiple conditional creates that come at once.
By using this HTTP mechanism instead, we can more easily provide this guarantee, making it suitable for data loading scenarios where you want to conditionally create a resource without the risk of overwriting an existing resource.
If this goes over well, I could imagine us proposing this option back to the HL7 FHIR infrastructure group as an alternative to the existing spec-defined search-based conditional interactions (which are trial use).

Support SMART authz policy enforcement for bulkdata operations

The FHIR Bulk Data Access IG prescribes the use of "SMART Backend Services" for bulk export, but we've never had a good way to enforce the authorization of corresponding access tokens from within the server. With 4.10.0, the IBM FHIR Server's fhir-smart module can be used to enforce system/scopes before allowing access to the $import, $export, or $bulkdata-status operations. Checkout https://github.com/Alvearie/keycloak-extensions-for-fhir for one approach to implementing a SMART Backend Services-enabled Authorization Server that can grant said scopes. I'd also like to make this easier to put together in the future, so stay tuned / contact me if you'd like to help.

view this post on Zulip Lee Surprenant (Nov 17 2021 at 20:22):

There's lots more too, so do read through the release notes / give it a spin

view this post on Zulip Lee Surprenant (Nov 23 2021 at 20:11):

FYI we just published IBM FHIR Server release 4.10.1 …its almost identical to 4.10.0 except it bumps the OpenLiberty version which addresses an intermittent NullPointerException we’ve been seeing since 4.10.

view this post on Zulip Paul Bastide (Dec 02 2021 at 18:23):

Announcing IBM FHIR Server Release 4.10.2!
This release upgrades dependences, improves FHIRPath evaluation during Search interactions, reduces the severity of ValueSet Membership checks for extensible and preferred bindings, and addresses FHIRGeneratorException when serializing DIV XHTML.
See https://github.com/IBM/FHIR/releases/tag/4.10.2 for the full release notes.

view this post on Zulip Paul Bastide (Feb 14 2022 at 17:02):

Heads up... PR 3323 was just merged. This sets the serverRegistryResourceProviderEnabled to false in the configurations, I have updated the https://github.com/IBM/FHIR/wiki/Setting-up-for-development ... so it adds a new step 10 exists
Update the entry for fhirServer.core.serverRegistryResourceProviderEnabled to true in ~/path/to/wlp/usr/servers/fhir-server/config/default/fhir-server-config.json
p.s. this is a default recommendation / performance optimization for the FHIR Server.

view this post on Zulip Lee Surprenant (Apr 06 2022 at 19:16):

The IBM FHIR Server team is proud to release version 4.11.0 of our server and java modules!

This release drops support for Java 8, adds support for the system and type-level history interactions, introduces resource payload offloading to Azure Blob Storage, and includes four months of bug fixes and enhancements.

Check out the release notes at https://github.com/IBM/FHIR/releases/tag/4.11.0 for more information.


Last updated: Apr 12 2022 at 19:14 UTC