NHS Digital FHIR Medicines

This guidance is under active development by NHS Digital and content may be added or updated on a regular basis.

EPS Query API

Prescription Tracker API

User Storey: Svetlana's GP had to cancel a prescription they had sent to EPS. A pharmacy had already downloaded the prescription, so the cancel could not be actioned immediately. Rather implementing MESH for the Subsequent Cancellation response, the GP wishes to check the current status of the prescription on demand.

EPS Prescription Tracker is currently available in two forms:

FHIR Task

EPS NextGen will be adding a new Prescription Tracker API.

FHIR Exchange API FHIR Resource Profile
FHIR RESTful GET /Task? NHSDigital-Task

Search Parameters

See Task - Search Parameters

Prescription API

MedicationRequest

FHIR Exchange API FHIR Resource Profile
FHIR RESTful GET /MedicationRequest? NHSDigital-MedicationRequest

Search Parameters

See MedicationRequest - Search Parameters

MedicationDispense

FHIR Exchange API FHIR Resource Profile
FHIR RESTful GET /MedicationDispense? NHSDigital-MedicationDispense

Search Parameters

See MedicationDispense - Search Parameters

Retrieve Prescription API

In EPS it is not currently possible to retrieve a prescription once it has been downloaded using Prescription Release. This API interaction will allow this and is an extension to the Prescription API It does this by supporting the _include and _revinclude parameters.

The returned FHIR Bundle will be of type searchset, not a message, the resources entries will be the same.

MedicationRequest

FHIR Exchange API FHIR Resource Profile
FHIR RESTful GET /MedicationRequest?group-identifier=(prescription-order-reference)&_include=(includes)&_revinclude:iterate=MessageHeader.focus NHSDigital-MedicationRequest

includes - Only support for wild card (* - asterix) will be initially supported.

Example

To return a prescription with a short form prescription order number of 83C40E-A23856-00123C.

GET /MedicationRequest?group-identifier=83C40E-A23856-00123C&_include=*&_revinclude:iterate=MessageHeader.focus

To return a continuous-repeat-dispensing order (a orginal-order, not a reflex order).

GET /MedicationRequest?group-identifier=83C40E-A23856-00123C&_include=*&_revinclude:iterate=MessageHeader.focus

back to top