18.0.1FHIR Gateway Endpoint

 

The FHIR Gateway Endpoint module creates a FHIR server that acts as a proxy for one or more target FHIR servers.

The FHIR Gateway provides the benefits of a Smile CDR FHIR endpoint over top of the target servers. This includes:

  • Complete authentication/authorization services, including support for SMART on FHIR
  • Audit and Transaction logs
  • Automatic request/response conversion between XML/JSON/RDF
  • FHIR response manipulation including support for FHIR features such as the _elements and _fhirpath parameters
  • Automatic FHIR version conversion if Versioned API Mode is enabled
  • Request validation (see Request Validating Enabled). Additionally, instance validation can be configured by setting a validation dependency to the validation-supporting module

When the FHIR Gateway is placed in front of multiple target servers, it can be used to present a collection of servers as a single unified FHIR endpoint. This can be particularly useful when implementing APIs for SMART on FHIR applications, since these applications will often expect a single endpoint through which all data flows.

The FHIR Gateway is also designed to avoid revealing details about the internal FHIR servers. Internal server addresses, paging URLs, etc. are all obscured by the FHIR Gateway in its responses to clients.

Gateway Overview

18.0.2Troubleshooting

 

Additional logging can be enabled in order to troubleshoot Gateway routing issues. See FHIR Gateway Troubleshooting Log for details.

18.0.3Limitations

 

This section lists the known limitations on this module.

  • FHIR Gateway has limited support for FHIR operations. Only $meta, $meta-add, $meta-delete, $graphql, $process-message and $everything operations are supported by default. However, it is possible to add support for custom operations by configuring Custom Operation Providers.
  • By default, $everything operation on instance and type level is supported only for Patient resource.
  • Conditional delete operation (e.g. DELETE Observation?status=outdated) is NOT supported by FHIR Gateway module.
  • PATCH operation is NOT supported by FHIR Gateway.
  • The FHIR Gateway cannot route individual entries within a transaction bundle to different target servers. All operations in a transaction bundle are directed to the first matching FHIR target server.

18.0.4Configuring Consent Service

 

As mentioned in the Consent Service documentation, Consent Service can be enabled and implemented for FHIR Gateway modules using JavaScript or Java APIs. Note though that for JavaScript implementations, the following APIs are NOT available for FHIR Gateway modules: