NHS Digital FHIR Medicines

Prescription Ordering

User Storey: Svetlana attends her GP practice for a painful back strain and is prescriber co-codamol 15mg/500mg capsules, 1 capsule to be taken 3 times a day, 7 days supply. Svetlana's GP, Dr Ilic issues an electronic prescription which is sent by FHIR Message using MedicationRequest, to her nominated pharmacy.

The prescribing models (course of Therapy) are described in

See also:

Prescription Signing

FHIR Exchange API FHIR Operation Definition
FHIR Operation POST /$prepare prepare

A prescription must be signed before it can be sent to EPS and Pharmacists.

Prescription Order

FHIR Exchange API Event Type FHIR (Bundle) Message Definition
FHIR Messaging POST /$process-message prescription-order prescription-order

The prescription-order FHIR Message is sent to the EPS $process-message endpoint. The contents of this message are defined in prescription-order

Additional Notes

Prescription Type (courseOfTherapyType)

The prescription-order MUST NOT mix continuous-repeat-dispensing prescriptions and acute / continuous prescriptions in the same order.

Maximum number of repeat prescriptions(repeatInformation.numberOfRepeatPrescriptionsAllowed)

If present the maximum number of repeat prescriptions must be identical for all items on a prescription.

Prescription Authorisation Expiry (repeatInformation.authorisationExpiryDate)

The order authorisation expiry date is the earliest prescription expiry date found in the order. If separate Authorisation Expiry dates are required, then those prescriptions must be sent individually.

If present the authorisation expiry date must be identical for all items on a prescription.

Prescription Validity Period (dispenseRequest.validityPeriod)

This MUST be identical for all items in the prescription order.

Prescription Duration (dispenseRequest.expectedSupplyDuration)

This MUST be identical for all prescriptions within the order and MUST be specified in days.

Prescription Order Cancel

FHIR Exchange API Event Type FHIR (Bundle) Message Definition
FHIR Messaging POST /$process-message prescription-order-update prescription-order-update

Electronic prescriptions can be cancelled by any prescriber (or staff) who has the correct authorisation on their smartcard. This can be done at any point until the prescription is dispensed and given to the patient.

The prescription-order-update message is similar to the prescription-order message and the main differences are the CommunicationRequest and Provence resources are not required.

Only one MedicationRequest can be cancelled, it is not possible to cancel the entire prescription-order. To cancel the entire prescription-order, multiple prescription-order-update messages must be used, one for each MedicationRequest in the prescription-order.

The same MedicationRequest resource used within the prescription-order message can be reused with the following amendments:

Source Data Item FHIR Element Additional Conformance
meta.lastUpdated Date of cancellation
status MUST be cancelled
statusReason.coding.code MUST be present and use a code from DM-MedicationRequest-Status-Reason
statusReason.text SHOULD be present. If not present statusReason.coding.display will be used.
Cancellation requestor extension (ResponsiblePractitioner) NHSDigital-PractitionerRole Person and their organization requesting cancellation of the prescription item. This is MUST be present if the requestor is not the same as the author. GMC Reference Number MUST NOT be used as a Practitioner identifier

When a prescription has already been downloaded by the patient's nominated pharmacy it cannot be cancelled and EPS will send a cancellation rejected message back to the prescriber.

The prescriber should then contact the dispenser to return the whole prescription to the NHS Spine. If this is possible (the medication has not been dispensed), the dispenser returns the prescription to EPS and then EPS sends a subsequent cancellation to the prescriber.

Build Notes

Prescription Order Response

The response to a prescription-order-update is a prescription-order-response FHIR Message and is defined in prescription-order-response

back to top