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:

StatusDescriptionWorkflow Stage
preparationBeing preparedFilling in progress
in-progressReady, awaiting pickupVerified, waiting
completedHanded to patientFulfilled
on-holdPaused for issuePrior auth pending
cancelledOrder cancelledNot dispensed
declinedPatient declinedRefused pickup
stoppedPartially fulfilledSupply issue

Quantity and Supply

Dispensing quantities:

  • quantity - Amount dispensed
  • quantityUnit - Tablets, capsules, ml
  • daysSupply - Expected duration
  • Supports partial fills

Workflow Timing

Two timestamps track the process:

  • whenPrepared - Ready for pickup
  • whenHandedOver - Given to patient
  • Enables pharmacy efficiency metrics
  • processingTime calculated between them

Generic Substitution

When substituting medications:

  • substitution - Boolean flag
  • substitutionReason - 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:

  1. Receive prescription (electronic or paper)
  2. Create dispense record in preparation
  3. Fill and verify medication
  4. Record whenPrepared
  5. Patient picks up, record whenHandedOver
  6. Set status: "completed"

Generic Substitution

When substituting:

  1. Check substitution permitted on prescription
  2. Select generic equivalent
  3. Set substitution: true
  4. Document reason
  5. Counsel patient on change
  6. Record in notes

Partial Fill

For supply limitations:

  1. Dispense available quantity
  2. Document partial quantity
  3. Calculate partial daysSupply
  4. Set status: "stopped" if no more coming
  5. Schedule remainder if available
  6. Note partial fill reason

Hospital Discharge

For discharge medications:

  1. Reconcile medications with inpatient list
  2. Fill discharge prescriptions
  3. Document counseling provided
  4. Coordinate with care team
  5. Ensure patient understanding
  6. Record handover time

Prior Authorization Hold

When authorization pending:

  1. Set status: "on-hold"
  2. Note authorization requirement
  3. Contact prescriber if needed
  4. Update when resolved
  5. Complete dispensing
  6. Document delay reason

Related Entities

EntityRelationshipDescription
PatientReferencesRecipient of medication
PrescriptionReferencesOrder being fulfilled
PrescriptionLineReferencesSpecific line item
MedicationReferencesDrug dispensed
FacilityReferencesDispensing pharmacy
PractitionerReferencesDispensing pharmacist

Calculated Fields

FieldTypeDescription
isDispensedbooleanTrue when status is completed
processingTimenumberMinutes from whenPrepared to whenHandedOver

Enums

status

ValueDescription
preparationMedication is being prepared by pharmacy
in-progressMedication prepared and ready for pickup
cancelledDispense order was cancelled
on-holdDispensing paused (prior auth, insurance issue)
completedMedication successfully given to patient
entered-in-errorRecord was created in error
stoppedDispensing stopped before full completion
declinedPatient declined to pick up medication
unknownDispense status cannot be determined
17 properties
Schema

Properties

PropertyTypeModeDescriptionRequired
patientPatient
stored

Reference to the patient receiving the dispensed medication, establishing the recipient of the medication supply

Example: "patient-67890"

Required
prescriptionPrescription
stored

Reference to the prescription order being fulfilled by this dispensing event

Example: "prescription-12345"

Required
prescriptionLinePrescriptionLine
stored

Reference to the specific prescription line item being dispensed when a prescription contains multiple medications

Example: "prescription-line-54321"

Optional
statusstring
stored

Current state of the dispensing process in the pharmacy workflow

Values: preparation, in-progress, cancelled, on-hold, completed, entered-in-error, stopped, declined, unknown

Example: "completed"

Required
medicationMedication
stored

Reference to the specific medication product dispensed, which may differ from the prescribed medication if substitution occurred

Example: "health-ref-medication-789"

Required
quantitynumber
stored

Amount of medication dispensed expressed as a numeric value, used in conjunction with quantity unit

Example: 90

Optional
quantityUnitstring
stored

Unit of measure for the dispensed quantity such as tablets, capsules, milliliters, grams, or other pharmaceutical units

Example: "tablets"

Optional
daysSupplynumber
stored

Expected number of days the dispensed medication supply will last based on the prescribed dosing instructions

Example: 30

Optional
whenPreparedDateTime
stored

Timestamp when the medication was prepared and verified by the pharmacy, ready for pickup or delivery

Example: "2025-01-15T14:30:00Z"

Optional
whenHandedOverDateTime
stored

Timestamp when the medication was physically given to the patient or authorized representative

Example: "2025-01-15T16:45:00Z"

Optional
dispensingPharmacyFacility
stored

Reference to the pharmacy facility location where the medication was dispensed

Example: "facility-pharmacy-001"

Optional
dispenserPractitioner
stored

Reference to the pharmacist or pharmacy technician responsible for dispensing and verifying the medication

Example: "practitioner-pharmacist-456"

Optional
substitutionboolean
stored

Indicates whether a therapeutic or generic substitution was made from the originally prescribed medication

Example: true

Optional
substitutionReasonstring
stored

Explanation for why a substitution was made, such as generic equivalent, formulary requirement, availability, or cost considerations

Example: "Generic equivalent dispensed per patient request and insurance formulary"

Optional
notestring
stored

Additional notes about the dispensing event including special handling instructions, patient counseling provided, or other relevant information

Example: "Patient counseled on taking with food. Refrigeration required."

Optional
isDispensedboolean
calculated

Calculated indicator showing whether the medication has been successfully dispensed to the patient, true when status is completed

Optional
processingTimenumber
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"
}