MedicationDispense
Records the dispensing of medication from a pharmacy to a patient or caregiver, documenting the fulfillment of a prescription order. Tracks the quantity dispensed, days of supply provided, any substitutions made, and the timing of preparation and handover to the recipient.
Overview
MedicationDispense documents the pharmacy fulfillment of a prescription. It captures the medication dispensed (which may differ from prescribed if substituted), quantity, days of supply, and the workflow timing from preparation to handover. The entity tracks generic substitutions with reasons, identifies the dispensing pharmacy and pharmacist, and supports supply chain and patient counseling documentation.
Key Concepts
Dispense Status
The status field tracks pharmacy workflow:
| Status | Description | Workflow Stage |
|---|---|---|
preparation | Being prepared | Filling in progress |
in-progress | Ready, awaiting pickup | Verified, waiting |
completed | Handed to patient | Fulfilled |
on-hold | Paused for issue | Prior auth pending |
cancelled | Order cancelled | Not dispensed |
declined | Patient declined | Refused pickup |
stopped | Partially fulfilled | Supply issue |
Quantity and Supply
Dispensing quantities:
quantity- Amount dispensedquantityUnit- Tablets, capsules, mldaysSupply- Expected duration- Supports partial fills
Workflow Timing
Two timestamps track the process:
whenPrepared- Ready for pickupwhenHandedOver- Given to patient- Enables pharmacy efficiency metrics
processingTimecalculated between them
Generic Substitution
When substituting medications:
substitution- Boolean flagsubstitutionReason- Why substituted- Common reasons: generic equivalent, formulary, availability
- Links to actual medication dispensed
Dispensing Location
The dispensingPharmacy links to Facility:
- Retail pharmacy
- Hospital pharmacy
- Mail-order pharmacy
- Specialty pharmacy
Dispenser
The dispenser links to Practitioner:
- Pharmacist who verified
- Pharmacy technician who filled
- Accountability for accuracy
Use Cases
Retail Dispensing
Standard pharmacy fill:
- Receive prescription (electronic or paper)
- Create dispense record in
preparation - Fill and verify medication
- Record
whenPrepared - Patient picks up, record
whenHandedOver - Set
status: "completed"
Generic Substitution
When substituting:
- Check substitution permitted on prescription
- Select generic equivalent
- Set
substitution: true - Document reason
- Counsel patient on change
- Record in notes
Partial Fill
For supply limitations:
- Dispense available quantity
- Document partial
quantity - Calculate partial
daysSupply - Set
status: "stopped"if no more coming - Schedule remainder if available
- Note partial fill reason
Hospital Discharge
For discharge medications:
- Reconcile medications with inpatient list
- Fill discharge prescriptions
- Document counseling provided
- Coordinate with care team
- Ensure patient understanding
- Record handover time
Prior Authorization Hold
When authorization pending:
- Set
status: "on-hold" - Note authorization requirement
- Contact prescriber if needed
- Update when resolved
- Complete dispensing
- Document delay reason
Related Entities
| Entity | Relationship | Description |
|---|---|---|
| Patient | References | Recipient of medication |
| Prescription | References | Order being fulfilled |
| PrescriptionLine | References | Specific line item |
| Medication | References | Drug dispensed |
| Facility | References | Dispensing pharmacy |
| Practitioner | References | Dispensing pharmacist |
Calculated Fields
| Field | Type | Description |
|---|---|---|
isDispensed | boolean | True when status is completed |
processingTime | number | Minutes from whenPrepared to whenHandedOver |
Enums
status
| Value | Description |
|---|---|
preparation | Medication is being prepared by pharmacy |
in-progress | Medication prepared and ready for pickup |
cancelled | Dispense order was cancelled |
on-hold | Dispensing paused (prior auth, insurance issue) |
completed | Medication successfully given to patient |
entered-in-error | Record was created in error |
stopped | Dispensing stopped before full completion |
declined | Patient declined to pick up medication |
unknown | Dispense status cannot be determined |
Properties
| Property | Type | Mode | Description | Required |
|---|---|---|---|---|
| patient | Patient | stored | Reference to the patient receiving the dispensed medication, establishing the recipient of the medication supply Example: | Required |
| prescription | Prescription | stored | Reference to the prescription order being fulfilled by this dispensing event Example: | Required |
| prescriptionLine | PrescriptionLine | stored | Reference to the specific prescription line item being dispensed when a prescription contains multiple medications Example: | Optional |
| status | string | stored | Current state of the dispensing process in the pharmacy workflow Values: Example: | Required |
| medication | Medication | stored | Reference to the specific medication product dispensed, which may differ from the prescribed medication if substitution occurred Example: | Required |
| quantity | number | stored | Amount of medication dispensed expressed as a numeric value, used in conjunction with quantity unit Example: | Optional |
| quantityUnit | string | stored | Unit of measure for the dispensed quantity such as tablets, capsules, milliliters, grams, or other pharmaceutical units Example: | Optional |
| daysSupply | number | stored | Expected number of days the dispensed medication supply will last based on the prescribed dosing instructions Example: | Optional |
| whenPrepared | DateTime | stored | Timestamp when the medication was prepared and verified by the pharmacy, ready for pickup or delivery Example: | Optional |
| whenHandedOver | DateTime | stored | Timestamp when the medication was physically given to the patient or authorized representative Example: | Optional |
| dispensingPharmacy | Facility | stored | Reference to the pharmacy facility location where the medication was dispensed Example: | Optional |
| dispenser | Practitioner | stored | Reference to the pharmacist or pharmacy technician responsible for dispensing and verifying the medication Example: | Optional |
| substitution | boolean | stored | Indicates whether a therapeutic or generic substitution was made from the originally prescribed medication Example: | Optional |
| substitutionReason | string | stored | Explanation for why a substitution was made, such as generic equivalent, formulary requirement, availability, or cost considerations Example: | Optional |
| note | string | stored | Additional notes about the dispensing event including special handling instructions, patient counseling provided, or other relevant information Example: | Optional |
| isDispensed | boolean | calculated | Calculated indicator showing whether the medication has been successfully dispensed to the patient, true when status is completed | Optional |
| processingTime | number | calculated | Calculated duration in minutes from when the medication was prepared to when it was handed over to the patient, useful for pharmacy efficiency metrics | Optional |
Examples
Example 1
{
"@type": "MedicationDispense",
"patient": "patient-retail-001",
"prescription": "prescription-amb-789",
"prescriptionLine": "prescription-line-amb-789-1",
"status": "completed",
"medication": "health-ref-medication-lisinopril-10mg",
"quantity": 90,
"quantityUnit": "tablets",
"daysSupply": 90,
"whenPrepared": "2025-01-15T14:30:00Z",
"whenHandedOver": "2025-01-15T16:45:00Z",
"dispensingPharmacy": "facility-retail-pharmacy-downtown",
"dispenser": "practitioner-pharmacist-jones",
"substitution": false,
"substitutionReason": null,
"note": "Patient counseled on monitoring blood pressure. Follow-up with physician in 3 months.",
"_comment": "isDispensed: true, processingTime: 135"
}Example 2
{
"@type": "MedicationDispense",
"patient": "patient-hospital-456",
"prescription": "prescription-inpatient-234",
"prescriptionLine": "prescription-line-inpatient-234-2",
"status": "completed",
"medication": "health-ref-medication-atorvastatin-generic-20mg",
"quantity": 30,
"quantityUnit": "tablets",
"daysSupply": 30,
"whenPrepared": "2025-01-16T09:15:00Z",
"whenHandedOver": "2025-01-16T10:00:00Z",
"dispensingPharmacy": "facility-hospital-pharmacy-main",
"dispenser": "practitioner-pharmacist-chen",
"substitution": true,
"substitutionReason": "Generic equivalent dispensed per hospital formulary requirements and insurance coverage",
"note": "Patient discharged. Medication reconciliation completed. Generic substitution explained and accepted.",
"_comment": "isDispensed: true, processingTime: 45"
}Example 3
{
"@type": "MedicationDispense",
"patient": "patient-chronic-789",
"prescription": "prescription-specialty-567",
"prescriptionLine": "prescription-line-specialty-567-1",
"status": "completed",
"medication": "health-ref-medication-insulin-glargine-100units",
"quantity": 3,
"quantityUnit": "vials",
"daysSupply": 15,
"whenPrepared": "2025-01-17T11:00:00Z",
"whenHandedOver": "2025-01-17T14:30:00Z",
"dispensingPharmacy": "facility-specialty-pharmacy-diabetes",
"dispenser": "practitioner-pharmacist-rodriguez",
"substitution": false,
"substitutionReason": null,
"note": "Partial fill - patient requested half supply due to financial constraints. Insurance authorization pending for full quantity. Counseled on proper refrigeration and injection technique. Patient to return in 2 weeks for remainder.",
"_comment": "isDispensed: true, processingTime: 210"
}