Implementation guide for digital medicines

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

Message broker acts as the FHIR server

In this example, the Message Broker system is akin to a Shared Record platform.


(1) The prescribing system creates the MedicationRequest with a valid externally referencable identifer and POSTs this to the Message Broker. The MedicationRequest is triggered when the MedicationRequest.status = active. The message broker adds the logical id on receipt.

(2) The prescribing system directly sends an event notification to the dispensing system with the identifer for the MedicationRequest.

(3) The dispensing system GETs the MedicationRequest from the shared record system using the identifer.

(4) The dispensing system creates the MedicationDispense with a valid externally referencable identifer and POSTs this to the shared record system. The MedicationDispense is triggered when the MedicationDispense.status = completed. The message broker adds the logical id on receipt.

(5) The dispensing system directly sends an event notification to the prescibing system with the identifer for the MedicationDispense.

(6) The prescribing system GETs the MedicationDispense from the message broker using the identifer.

(7) On receipt, the prescribing system can set the MedicationRequest.status = completed.

Note: This architecture is close to that implemented by the Electronic Prescription Service (EPS). The (2) event notification is implemented via a paper or electronic token containing the barcoded identifier (aka the EPS 'Prescription ID') that the patient presents to the pharmacy. Not yet implemented within the EPS are flows (5), (6) and (7).
back to top