EMIS Web Adapter for QuickFHIR
2.0.0 - draft

Publish Box goes here

Implementation

Introduction

The following resources provide additional information to support use of the API.

HL7 FHIR

The adapter provides health care data exchange via a standard HL7 FHIR REST API.

Capability statement

The Capability Statement for the adapter provides formal documentation of the set of capabilities (behaviors) of the adapter when deployed as a FHIR Server.

This can also be retrieved at runtime using the standard capabilities interaction.

SearchParameters

The adapter supports FHIR search using a defined set of Search Parameters.

Postman

Postman is a collaboration platform for API development.

The Postman collection can be used to evaluate the API capabilities. Given access to a QuickFHIR Cell, Postman can be used to exercise the FHIR endpoint.

Common use cases

Find a patient

To retrieve a set of patients based on demographic information use the search interaction on the Patient resource.

For example:

GET 'https://5eb36d9c1de04d5390.develop.eu-west-2.quickfhir.cloud/A29390/Patient?birthdate=1970-03-13'

Available search parameters:

It is possible (though exceedingly rare!) that the EHR contains records for different individuals with the same identifier (e.g. NHS Number). Consequently, you must check for the case where multiple Patient resources are returned for a single identifier and handle this exceptional condition.

Retrieve specific clinical resources for a patient

To retrieve a subset of the clinical data for a patient (e.g. all AllergyIntolerance resources) use the search interaction on the specific clinical resource.

For example:

GET 'https://5eb36d9c1de04d5390.develop.eu-west-2.quickfhir.cloud/A29390/AllergyIntolerance?patient.identifier=https://fhir.nhs.uk/Id/nhs-number%7C4577390825'

Available search parameters:

A chained search on patient.identifier can also be used.

Retrieve all resources for a patient

To retrieve all the clinical data for a patient use the search interaction on the Bundle resource.

NB: This interaction returns a Bundle containing different types of resources so isn’t conformant FHIR! When the router supports operations this search will be deprecated and replaced with the $everything operation.

For example:

GET 'https://5eb36d9c1de04d5390.develop.eu-west-2.quickfhir.cloud/A29390/Bundle?patient.identifier=https://fhir.nhs.uk/Id/nhs-number%7C4577390825'

Search parameters:

A chained search on patient.identifier can also be used.

Write an encounter for a patient

To write clinical data to the patient record, use the create interaction on the Bundle. The request body must contain a FHIR Bundle of type transaction.

NB: When the router fully supports transactions this interaction will be deprecated and replaced with a transaction operation.

For example:

POST 'https://5eb36d9c1de04d5390.develop.eu-west-2.quickfhir.cloud/A29390/Bundle'

Example Bundles:

NB: All the resources in the Bundle MUST relate to the same patient.

Retrieve Conditions for a patient

When a Condition is included in the request body of a FHIR Bundle of type transaction, the content of the Condition is written to EMIS Web as a comment under the consultation tab, with a coded entry present under the care record tab.

To retrieve the Condition created via the EMIS Web adapter, you are required to use the search interaction on the Observation resource.

Conditions entered via EMIS Web may be present as either a Condition or an Observation therefore it is advisable to search on both resources when attempting to retrieve a condition.