FHIR Prescription life cycle

Hi
We are relatively new to FHIR, so hoping I’m not missing something obvious

The FHIR documentation for MedicationRequest & MedicationDispense is great at the data level.
I was looking for something higher level that would describe the sequence of events or ‘life cycle’ of a prescription, analogous to the appointment workflow Appointment - FHIR v4.6.0
This PowerPoint was helpful, but it was a simple scenario without any refills(repeats).
 

Scenario in plain English

Date Scenario
Feb 1st Doctor generates a prescription for a patient and allows one refill (two supplies allowed in total)
Feb 2nd Pharmacy dispenses first supply for the patient
Mar 3rd Pharmacy dispenses second supply for the patient

 

Assumed FHIR events for the above the scenario

Date Events
Feb 1st Prescribing system creates a MedicationRequest with a status = active
Feb 2nd Pharmacy system gets the MedicationRequest
Pharmacy system creates a MedicationDispense (#1). The authorizingPrescription in MedicationDispense contains a reference to the MedicationRequest
Pharmacy system updates the MedicationRequest to indicate the original supply has been made ???
Mar 3rd Pharmacy system gets the MedicationDispense (#1) created on Feb 2nd
Pharmacy system ensures that refills are remaining
Pharmacy system creates a MedicationDispense (#2). The authorizingPrescription in MedicationDispense contains a reference to the MedicationRequest
Pharmacy system updates the MedicationRequest with a status = complete

 
Questions

  1. When the Pharmacy system gets the MedicationRequest on Feb 2nd, how can the Pharmacy system be sure that a supply hasn’t already been made against the MedicationRequest. It looks like the status of the MedicationRequest doesn’t change to completed until all the refills have been made?
  2. When the Pharmacy system gets the MedicationDispense (#1) on March 3rd, how can the Pharmacy system be sure that the refill remaining hasn’t already been dispensed?

The MedicationRequest is (generally) not updated when the dispense occurs - as nothing on the MedicationRequest has changed. The status of ‘request’ resources never reflects the ‘fulfillment’ of the request. Fulfillment is tracked either by Task(s) or just by incidental monitoring of related resources.
There are however a bunch of workflow possibilities (review the ‘workflow’ section of the FHIR spec for a complete set of options, I’ll list three):

  • in a lot of environments, once the prescription has been sent out, the prescriber has no idea if it’s been dispensed or when. Eventually (based on time elapsed, or possibly communication from the patient), the MedicationRequest gets marked as ‘complete’.
  • The prescriber polls or monitors for the MedicationDispense events (possibly posted on a central server), so it knows what’s been dispensed
  • The prescriber might use ‘Task’ to specifically ask the pharmacy to perform a dispense (or all dispenses). As the dispenses occur, the Task is updated with ‘output’ references to the dispense records. The prescriber can see the updates (because the Task is on their system, or because they poll or subscribe for changes)

Something else that can happen is that the MedicationDispense gets created as ‘in progress’ when the pills are prepared, but then updated as ‘complete’ once someone actually picks up the medication.

1 Like