DSTU2 STU 3 Candidate
This page is part of the FHIR Specification (v1.0.2: DSTU 2). The current version which supercedes this version is

This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . For a full list of available versions, see the Directory of published versions . Page versions: . Page versions: R5 R4B R4 R3 R2

4.15 4.26 Resource MedicationDispense - Content Resource MedicationDispense - Content

Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order.
Pharmacy Pharmacy Work Group Work Group Maturity Level : 1 Maturity Level : 1 Compartments : : Patient , , Practitioner

Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order.

4.15.1 Scope and Usage 4.26.1 Scope and Usage This resource covers the supply of medications to a patient. Examples include dispensing and pick-up from an out-patient or community pharmacy, dispensing patient-specific medications from in-patient pharmacy to ward, as well as issuing a single dose from ward stock to a patient for consumption. The medication dispense is the result of a pharmacy system responding to a medication order.

This resource covers the supply of medications to a patient. Examples include dispensing and pick-up from an out-patient or community pharmacy, dispensing patient-specific medications from in-patient pharmacy to ward, as well as issuing a single dose from ward stock to a patient for consumption. The medication dispense is the result of a pharmacy system responding to a medication order.

4.15.2 Boundaries and Relationships 4.26.2 Boundaries and Relationships The Medication domain includes a number of related resources

The Medication domain includes a number of related resources

MedicationOrder An order for both supply of the medication and the instructions for administration of the medicine to a patient. An order for both supply of the medication and the instructions for administration of the medicine to a patient.
MedicationDispense Provision of a supply of a medication with the intention that it is subsequently consumed by a patient (usually in response to a prescription). Provision of a supply of a medication with the intention that it is subsequently consumed by a patient (usually in response to a prescription).
MedicationAdministration When a patient actually consumes a medicine, or it is otherwise administered to them When a patient actually consumes a medicine, or it is otherwise administered to them
MedicationStatement This is a record of a medication being taken by a patient or that a medication has been given to a patient, where the record is the result of a report from the patient or another clinician. A medication statement is not a part of the prescribe->dispense->administer sequence, but is a report that such a sequence (or at least a part of it) did take place, resulting in a belief that the patient has received a particular medication. This resource does not deal with the supply or transfer of non-medication related items to a patient. This is a record of a medication being taken by a patient or that a medication has been given to a patient, where the record is the result of a report from the patient or another clinician. A medication statement is not a part of the prescribe->dispense->administer sequence, but is a report that such a sequence (or at least a part of it) did take place, resulting in a belief that the patient has received a particular medication.

This resource does not deal with the supply or transfer of non-medication related items to a patient.

4.15.3 Background and Context 4.26.3 Background and Context The supply and the associated administration instructions may not exactly follow the original order (prescription), either because some details were left for completion at this point in the process or because the dispenser exercised their clinical judgment to make some appropriate modification.

The supply and the associated administration instructions may not exactly follow the original order (prescription), either because some details were left for completion at this point in the process or because the dispenser exercised their clinical judgment to make some appropriate modification.

4.15.4 Resource Content 4.26.4 Resource Content

Structure

Who the dispense is for medicationReference
Name Flags Card. Type Description & Constraints Description & Constraints doco
. . MedicationDispense Σ Σ I DomainResource Dispensing a medication to a named patient Dispensing a medication to a named patient
whenHandedOver cannot be before whenPrepared whenHandedOver cannot be before whenPrepared
. . . identifier Σ 0..1 Identifier External identifier External identifier
. . . status ?! ?! Σ 0..1 code in-progress | on-hold | completed | entered-in-error | stopped in-progress | on-hold | completed | entered-in-error | stopped
MedicationDispenseStatus ( ( Required )
. . patient . medication[x] Σ 0..1 1..1 What medication was supplied
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference ( Patient Medication )
. . dispenser . patient Σ 0..1 Reference ( Practitioner Patient ) Practitioner responsible for dispensing medication Who the dispense is for
. . authorizingPrescription . dispenser Σ 0..* 0..1 Reference ( MedicationOrder Practitioner ) Medication order that authorizes the dispense Practitioner responsible for dispensing medication
. . type . authorizingPrescription Σ 0..1 0..* CodeableConcept Trial fill, partial fill, emergency fill, etc. ActPharmacySupplyType Reference ( Example MedicationOrder ) Medication order that authorizes the dispense
. . quantity . type Σ 0..1 SimpleQuantity CodeableConcept Amount dispensed Trial fill, partial fill, emergency fill, etc.
ActPharmacySupplyType ( Example )
. . daysSupply . quantity Σ 0..1 SimpleQuantity Days Supply Amount dispensed
. . medication[x] . daysSupply Σ 1..1 What medication was supplied medicationCodeableConcept 0..1 CodeableConcept SimpleQuantity Reference ( Medication ) Amount of medication expressed as a timing amount
. . . whenPrepared Σ 0..1 dateTime Dispense processing time Dispense processing time
. . . whenHandedOver Σ 0..1 dateTime When product was given out When product was given out
. . . destination Σ 0..1 Reference ( Location ) Where the medication was sent Where the medication was sent
. . . receiver Σ 0..* Reference ( Patient | | Practitioner ) Who collected the medication Who collected the medication
. . . note Σ 0..1 0..* string Annotation Information about the dispense Information about the dispense
. . . dosageInstruction Σ 0..* BackboneElement Medicine administration instructions to the patient/caregiver Medicine administration instructions to the patient/caregiver
. . . . text Σ 0..1 string Dosage Instructions Free text dosage instructions e.g. SIG
. . . . additionalInstructions Σ 0..1 CodeableConcept E.g. "Take with food" E.g. "Take with food"
. . . . timing Σ 0..1 Timing When medication should be administered When medication should be administered
. . . . asNeeded[x] Σ 0..1 Take "as needed" f(or x) Take "as needed" f(or x)
. . . . . asNeededBoolean boolean
. . . . . asNeededCodeableConcept CodeableConcept
. . . . site[x] Σ 0..1 Body site to administer to Body site to administer to
SNOMED CT Anatomical Structure for Administration Site Codes ( SNOMED CT Anatomical Structure for Administration Site Codes ( Example )
. . . . . siteCodeableConcept CodeableConcept
. . . . siteReference . siteReference Reference ( BodySite )
. . . . route Σ 0..1 CodeableConcept How drug should enter body How drug should enter body
SNOMED CT Route Codes ( SNOMED CT Route Codes ( Example )
. . . . method Σ 0..1 CodeableConcept Technique for administering medication Technique for administering medication
. . . . dose[x] Σ 0..1 Amount of medication per dose Amount of medication per dose
. . . . . doseRange Range
. . . . doseQuantity . doseQuantity SimpleQuantity
. . . . rate[x] Σ 0..1 Amount of medication per unit of time Amount of medication per unit of time
. . . . . rateRatio Ratio
. . . . . rateRange Range
. . . . maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time Upper limit on medication per unit of time
. . . substitution Σ 0..1 BackboneElement Deals with substitution of one medicine for another Deals with substitution of one medicine for another
. . . . type Σ 1..1 CodeableConcept Type of substitution Code signifying whether a different drug was dispensed from what was prescribed
ActSubstanceAdminSubstitutionCode ( ( Example )
. . . . reason Σ 0..* CodeableConcept Why was substitution made Why was substitution made
SubstanceAdminSubstitutionReason ( ( Example )
. . . . responsibleParty Σ 0..* Reference ( Practitioner ) Who is responsible for the substitution Who is responsible for the substitution

Documentation for this format doco Documentation for this format

UML Diagram UML Diagram

MedicationDispense ( ( DomainResource ) Identifier assigned by the dispensing facility - this is an identifier assigned outside FHIR Identifier assigned by the dispensing facility - this is an identifier assigned outside FHIR identifier : : Identifier [0..1] [0..1] A code specifying the state of the set of dispense events (this element modifies the meaning of other elements) A code specifying the state of the set of dispense events (this element modifies the meaning of other elements) status : : code [0..1] « [0..1] « A code specifying the state of the dispense event. (Strength=Required) A code specifying the state of the dispense event. (Strength=Required) MedicationDispenseStatus ! » ! » A link to a resource representing the person to whom the medication will be given Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications patient medication[x] : Type [1..1] « CodeableConcept : | Reference [0..1] « Patient ( Medication » ) » A link to a resource representing the person to whom the medication will be given patient : Reference [0..1] « Patient » The individual responsible for dispensing the medication The individual responsible for dispensing the medication dispenser : : Reference [0..1] « [0..1] « Practitioner » » Indicates the medication order that is being dispensed against Indicates the medication order that is being dispensed against authorizingPrescription : : Reference [0..*] « [0..*] « MedicationOrder » » Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc type : : CodeableConcept [0..1] « [0..1] « Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. (Strength=Example) Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. (Strength=Example) ActPharmacySupplyType ?? » ?? » The amount of medication that has been dispensed. Includes unit of measure The amount of medication that has been dispensed. Includes unit of measure quantity : : Quantity ( SimpleQuantity ) [0..1] ) [0..1] The amount of medication expressed as a timing amount The amount of medication expressed as a timing amount daysSupply : : Quantity ( SimpleQuantity ) [0..1] Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications medication[x] : Type [1..1] « CodeableConcept | Reference ( Medication ) » ) [0..1] The time when the dispensed product was packaged and reviewed The time when the dispensed product was packaged and reviewed whenPrepared : : dateTime [0..1] [0..1] The time the dispensed product was provided to the patient or their representative The time the dispensed product was provided to the patient or their representative whenHandedOver : : dateTime [0..1] [0..1] Identification of the facility/location where the medication was shipped to, as part of the dispense event Identification of the facility/location where the medication was shipped to, as part of the dispense event destination : : Reference [0..1] « [0..1] « Location » » Identifies the person who picked up the medication. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional Identifies the person who picked up the medication. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional receiver : : Reference [0..*] « [0..*] « Patient | Practitioner » » Extra information about the dispense that could not be conveyed in the other attributes Extra information about the dispense that could not be conveyed in the other attributes note : string [0..1] : Annotation [0..*] DosageInstruction Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication text : : string [0..1] [0..1] Additional instructions such as "Swallow with plenty of water" which may or may not be coded Additional instructions such as "Swallow with plenty of water" which may or may not be coded additionalInstructions : : CodeableConcept [0..1] [0..1] The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions. For example, "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013" The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions. For example, "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013" timing : : Timing [0..1] [0..1] Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule asNeeded[x] : : Type [0..1] « [0..1] « boolean | CodeableConcept » » A coded specification of the anatomic site where the medication first enters the body A coded specification of the anatomic site where the medication first enters the body site[x] : : Type [0..1] « [0..1] « CodeableConcept | Reference ( BodySite ); ); A coded concept describing the site location the medicine enters into or onto the body (Strength=Example) A coded concept describing the site location the medicine enters into or onto the body (Strength=Example) SNOMED CT Anatomical Structur... CT Anatomical Structur... ?? » ?? » A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject route : : CodeableConcept [0..1] « [0..1] « A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject (Strength=Example) A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject (Strength=Example) SNOMED CT Route ?? » SNOMED CT Route ?? » A coded value indicating the method by which the medication is intended to be or was introduced into or on the body A coded value indicating the method by which the medication is intended to be or was introduced into or on the body method : : CodeableConcept [0..1] [0..1] The amount of therapeutic or other substance given at one administration event The amount of therapeutic or other substance given at one administration event dose[x] : : Type [0..1] « [0..1] « Range | Quantity ( SimpleQuantity ) » ) » Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours rate[x] : : Type [0..1] « [0..1] « Ratio | Range » » The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time, e.g. 1000mg in 24 hours The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time, e.g. 1000mg in 24 hours maxDosePerPeriod : : Ratio [0..1] [0..1] Substitution A code signifying whether a different drug was dispensed from what was prescribed A code signifying whether a different drug was dispensed from what was prescribed type : : CodeableConcept [1..1] « [1..1] « A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription (Strength=Example) A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription (Strength=Example) ActSubstanceAdminSubstitution... ?? » ?? » Indicates the reason for the substitution of (or lack of substitution) from what was prescribed Indicates the reason for the substitution of (or lack of substitution) from what was prescribed reason : : CodeableConcept [0..*] « [0..*] « A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed (Strength=Example) A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed (Strength=Example) SubstanceAdminSubstitutionRea... ?? » ?? » The person or organization that has primary responsibility for the substitution The person or organization that has primary responsibility for the substitution responsibleParty : : Reference [0..*] « [0..*] « Practitioner » » Indicates how the medication is to be used by the patient Indicates how the medication is to be used by the patient. The pharmacist reviews the medication order prior to dispense and updates the dosageInstruction based on the actual product being dispensed dosageInstruction [0..*] Indicates whether or not substitution was made as part of the dispense. In some cases substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why Indicates whether or not substitution was made as part of the dispense. In some cases substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why substitution [0..1]

XML Template XML Template

<MedicationDispense xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..1 Identifier External identifier --></identifier>
 <status value="[code]"/><!-- 0..1 in-progress | on-hold | completed | entered-in-error | stopped -->
 <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) What medication was supplied --></medication[x]>

 <patient><!-- 0..1 Reference(Patient) Who the dispense is for --></patient>
 <dispenser><!-- 0..1 Reference(Practitioner) Practitioner responsible for dispensing medication --></dispenser>
 <authorizingPrescription><!-- 0..* Reference(MedicationOrder) Medication order that authorizes the dispense --></authorizingPrescription>
 <</type>

 <type><!-- 0..1 CodeableConcept Trial fill, partial fill, emergency fill, etc. --></type>

 <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount dispensed --></quantity>
 <</daysSupply>
 <</medication[x]>

 <daysSupply><!-- 0..1 Quantity(SimpleQuantity) Amount of medication expressed as a timing amount --></daysSupply>

 <whenPrepared value="[dateTime]"/><!-- 0..1 Dispense processing time -->
 <whenHandedOver value="[dateTime]"/><!-- 0..1 When product was given out -->
 <destination><!-- 0..1 Reference(Location) Where the medication was sent --></destination>
 <receiver><!-- 0..* Reference(Patient|Practitioner) Who collected the medication --></receiver>
 <
 <
  <

 <note><!-- 0..* Annotation Information about the dispense --></note>
 <dosageInstruction>  <!-- 0..* Medicine administration instructions to the patient/caregiver -->
  <text value="[string]"/><!-- 0..1 Free text dosage instructions e.g. SIG -->

  <additionalInstructions><!-- 0..1 CodeableConcept E.g. "Take with food" --></additionalInstructions>
  <timing><!-- 0..1 Timing When medication should be administered --></timing>
  <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" f(or x) --></asNeeded[x]>
  <site[x]><!-- 0..1 CodeableConcept|Reference(BodySite) Body site to administer to --></site[x]>
  <route><!-- 0..1 CodeableConcept How drug should enter body --></route>
  <method><!-- 0..1 CodeableConcept Technique for administering medication --></method>
  <dose[x]><!-- 0..1 Range|Quantity(SimpleQuantity) Amount of medication per dose --></dose[x]>
  <rate[x]><!-- 0..1 Ratio|Range Amount of medication per unit of time --></rate[x]>
  <maxDosePerPeriod><!-- 0..1 Ratio Upper limit on medication per unit of time --></maxDosePerPeriod>
 </dosageInstruction>
 <substitution>  <!-- 0..1 Deals with substitution of one medicine for another -->
  <</type>
  <</reason>

  <type><!-- 1..1 CodeableConcept Code signifying whether a different drug was dispensed from what was prescribed --></type>
  <reason><!-- 0..* CodeableConcept Why was substitution made --></reason>

  <responsibleParty><!-- 0..* Reference(Practitioner) Who is responsible for the substitution --></responsibleParty>
 </substitution>
</MedicationDispense>

JSON Template JSON Template

{doco
  "resourceType" : "MedicationDispense",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : { Identifier }, // External identifier
  "status" : "<code>", // in-progress | on-hold | completed | entered-in-error | stopped
  // medication[x]: What medication was supplied. One of these 2:
  "medicationCodeableConcept" : { CodeableConcept },
  "medicationReference" : { Reference(Medication) },

  "patient" : { Reference(Patient) }, // Who the dispense is for
  "dispenser" : { Reference(Practitioner) }, // Practitioner responsible for dispensing medication
  "authorizingPrescription" : [{ Reference(MedicationOrder) }], // Medication order that authorizes the dispense
  "

  "type" : { CodeableConcept }, // Trial fill, partial fill, emergency fill, etc.

  "quantity" : { Quantity(SimpleQuantity) }, // Amount dispensed
  "
  
  " },
  " },

  "daysSupply" : { Quantity(SimpleQuantity) }, // Amount of medication expressed as a timing amount

  "whenPrepared" : "<dateTime>", // Dispense processing time
  "whenHandedOver" : "<dateTime>", // When product was given out
  "destination" : { Reference(Location) }, // Where the medication was sent
  "receiver" : [{ Reference(Patient|Practitioner) }], // Who collected the medication
  "
  "
    "

  "note" : [{ Annotation }], // Information about the dispense
  "dosageInstruction" : [{ // Medicine administration instructions to the patient/caregiver
    "text" : "<string>", // Free text dosage instructions e.g. SIG

    "additionalInstructions" : { CodeableConcept }, // E.g. "Take with food"
    "timing" : { Timing }, // When medication should be administered
    // asNeeded[x]: Take "as needed" f(or x). One of these 2:
    "asNeededBoolean" : <boolean>,
    "asNeededCodeableConcept" : { CodeableConcept },
    // site[x]: Body site to administer to. One of these 2:
    "siteCodeableConcept" : { CodeableConcept },
    "siteReference" : { Reference(BodySite) },
    "route" : { CodeableConcept }, // How drug should enter body
    "method" : { CodeableConcept }, // Technique for administering medication
    // dose[x]: Amount of medication per dose. One of these 2:
    "doseRange" : { Range },
    "doseQuantity" : { Quantity(SimpleQuantity) },
    // rate[x]: Amount of medication per unit of time. One of these 2:
    "rateRatio" : { Ratio },
    "rateRange" : { Range },
    "maxDosePerPeriod" : { Ratio } // Upper limit on medication per unit of time
  }],
  "substitution" : { // Deals with substitution of one medicine for another
    "
    "

    "type" : { CodeableConcept }, // R!  Code signifying whether a different drug was dispensed from what was prescribed
    "reason" : [{ CodeableConcept }], // Why was substitution made

    "responsibleParty" : [{ Reference(Practitioner) }] // Who is responsible for the substitution
  }
}

Structure

Who the dispense is for medicationReference
Name Flags Card. Type Description & Constraints Description & Constraints doco
. . MedicationDispense Σ Σ I DomainResource Dispensing a medication to a named patient Dispensing a medication to a named patient
whenHandedOver cannot be before whenPrepared whenHandedOver cannot be before whenPrepared
. . . identifier Σ 0..1 Identifier External identifier External identifier
. . . status ?! ?! Σ 0..1 code in-progress | on-hold | completed | entered-in-error | stopped in-progress | on-hold | completed | entered-in-error | stopped
MedicationDispenseStatus ( ( Required )
. . patient . medication[x] Σ 0..1 1..1 What medication was supplied
.... medicationCodeableConcept CodeableConcept
. . . . medicationReference Reference ( Patient Medication )
. . dispenser . patient Σ 0..1 Reference ( Practitioner Patient ) Practitioner responsible for dispensing medication Who the dispense is for
. . authorizingPrescription . dispenser Σ 0..* 0..1 Reference ( MedicationOrder Practitioner ) Medication order that authorizes the dispense Practitioner responsible for dispensing medication
. . type . authorizingPrescription Σ 0..1 CodeableConcept 0..* Trial fill, partial fill, emergency fill, etc. ActPharmacySupplyType Reference ( Example MedicationOrder ) Medication order that authorizes the dispense
. . quantity . type Σ 0..1 SimpleQuantity CodeableConcept Amount dispensed Trial fill, partial fill, emergency fill, etc.
ActPharmacySupplyType ( Example )
. . daysSupply . quantity Σ 0..1 SimpleQuantity Days Supply Amount dispensed
. . medication[x] . daysSupply Σ 1..1 What medication was supplied medicationCodeableConcept 0..1 CodeableConcept SimpleQuantity Reference ( Medication ) Amount of medication expressed as a timing amount
. . . whenPrepared Σ 0..1 dateTime Dispense processing time Dispense processing time
. . . whenHandedOver Σ 0..1 dateTime When product was given out When product was given out
. . . destination Σ 0..1 Reference ( Location ) Where the medication was sent Where the medication was sent
. . . receiver Σ 0..* Reference ( Patient | | Practitioner ) Who collected the medication Who collected the medication
. . . note Σ 0..1 0..* string Annotation Information about the dispense Information about the dispense
. . . dosageInstruction Σ 0..* BackboneElement Medicine administration instructions to the patient/caregiver Medicine administration instructions to the patient/caregiver
. . . . text Σ 0..1 string Dosage Instructions Free text dosage instructions e.g. SIG
. . . . additionalInstructions Σ 0..1 CodeableConcept E.g. "Take with food" E.g. "Take with food"
. . . . timing Σ 0..1 Timing When medication should be administered When medication should be administered
. . . . asNeeded[x] Σ 0..1 Take "as needed" f(or x) Take "as needed" f(or x)
. . . . . asNeededBoolean boolean
. . . . . asNeededCodeableConcept CodeableConcept
. . . . site[x] Σ 0..1 Body site to administer to Body site to administer to
SNOMED CT Anatomical Structure for Administration Site Codes ( SNOMED CT Anatomical Structure for Administration Site Codes ( Example )
. . . . . siteCodeableConcept CodeableConcept
. . . . siteReference . siteReference Reference ( BodySite )
. . . . route Σ 0..1 CodeableConcept How drug should enter body How drug should enter body
SNOMED CT Route Codes ( SNOMED CT Route Codes ( Example )
. . . . method Σ 0..1 CodeableConcept Technique for administering medication Technique for administering medication
. . . . dose[x] Σ 0..1 Amount of medication per dose Amount of medication per dose
. . . . . doseRange Range
. . . . doseQuantity . doseQuantity SimpleQuantity
. . . . rate[x] Σ 0..1 Amount of medication per unit of time Amount of medication per unit of time
. . . . . rateRatio Ratio
. . . . . rateRange Range
. . . . maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time Upper limit on medication per unit of time
. . . substitution Σ 0..1 BackboneElement Deals with substitution of one medicine for another Deals with substitution of one medicine for another
. . . . type Σ 1..1 CodeableConcept Type of substitution Code signifying whether a different drug was dispensed from what was prescribed
ActSubstanceAdminSubstitutionCode ( ( Example )
. . . . reason Σ 0..* CodeableConcept Why was substitution made Why was substitution made
SubstanceAdminSubstitutionReason ( ( Example )
. . . . responsibleParty Σ 0..* Reference ( Practitioner ) Who is responsible for the substitution Who is responsible for the substitution

Documentation for this format doco Documentation for this format

UML Diagram UML Diagram

MedicationDispense ( ( DomainResource ) Identifier assigned by the dispensing facility - this is an identifier assigned outside FHIR Identifier assigned by the dispensing facility - this is an identifier assigned outside FHIR identifier : : Identifier [0..1] [0..1] A code specifying the state of the set of dispense events (this element modifies the meaning of other elements) A code specifying the state of the set of dispense events (this element modifies the meaning of other elements) status : : code [0..1] « [0..1] « A code specifying the state of the dispense event. (Strength=Required) A code specifying the state of the dispense event. (Strength=Required) MedicationDispenseStatus ! » ! » A link to a resource representing the person to whom the medication will be given Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications patient medication[x] : Type [1..1] « CodeableConcept : | Reference [0..1] « Patient ( Medication » ) » A link to a resource representing the person to whom the medication will be given patient : Reference [0..1] « Patient » The individual responsible for dispensing the medication The individual responsible for dispensing the medication dispenser : : Reference [0..1] « [0..1] « Practitioner » » Indicates the medication order that is being dispensed against Indicates the medication order that is being dispensed against authorizingPrescription : : Reference [0..*] « [0..*] « MedicationOrder » » Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc type : : CodeableConcept [0..1] « [0..1] « Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. (Strength=Example) Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. (Strength=Example) ActPharmacySupplyType ?? » ?? » The amount of medication that has been dispensed. Includes unit of measure The amount of medication that has been dispensed. Includes unit of measure quantity : : Quantity ( SimpleQuantity ) [0..1] ) [0..1] The amount of medication expressed as a timing amount The amount of medication expressed as a timing amount daysSupply : : Quantity ( SimpleQuantity ) [0..1] Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications medication[x] : Type [1..1] « CodeableConcept | Reference ( Medication ) » ) [0..1] The time when the dispensed product was packaged and reviewed The time when the dispensed product was packaged and reviewed whenPrepared : : dateTime [0..1] [0..1] The time the dispensed product was provided to the patient or their representative The time the dispensed product was provided to the patient or their representative whenHandedOver : : dateTime [0..1] [0..1] Identification of the facility/location where the medication was shipped to, as part of the dispense event Identification of the facility/location where the medication was shipped to, as part of the dispense event destination : : Reference [0..1] « [0..1] « Location » » Identifies the person who picked up the medication. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional Identifies the person who picked up the medication. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional receiver : : Reference [0..*] « [0..*] « Patient | Practitioner » » Extra information about the dispense that could not be conveyed in the other attributes Extra information about the dispense that could not be conveyed in the other attributes note : string [0..1] : Annotation [0..*] DosageInstruction Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication text : : string [0..1] [0..1] Additional instructions such as "Swallow with plenty of water" which may or may not be coded Additional instructions such as "Swallow with plenty of water" which may or may not be coded additionalInstructions : : CodeableConcept [0..1] [0..1] The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions. For example, "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013" The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions. For example, "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013" timing : : Timing [0..1] [0..1] Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule asNeeded[x] : : Type [0..1] « [0..1] « boolean | CodeableConcept » » A coded specification of the anatomic site where the medication first enters the body A coded specification of the anatomic site where the medication first enters the body site[x] : : Type [0..1] « [0..1] « CodeableConcept | Reference ( BodySite ); ); A coded concept describing the site location the medicine enters into or onto the body (Strength=Example) A coded concept describing the site location the medicine enters into or onto the body (Strength=Example) SNOMED CT Anatomical Structur... CT Anatomical Structur... ?? » ?? » A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject route : : CodeableConcept [0..1] « [0..1] « A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject (Strength=Example) A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject (Strength=Example) SNOMED CT Route ?? » SNOMED CT Route ?? » A coded value indicating the method by which the medication is intended to be or was introduced into or on the body A coded value indicating the method by which the medication is intended to be or was introduced into or on the body method : : CodeableConcept [0..1] [0..1] The amount of therapeutic or other substance given at one administration event The amount of therapeutic or other substance given at one administration event dose[x] : : Type [0..1] « [0..1] « Range | Quantity ( SimpleQuantity ) » ) » Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours rate[x] : : Type [0..1] « [0..1] « Ratio | Range » » The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time, e.g. 1000mg in 24 hours The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time, e.g. 1000mg in 24 hours maxDosePerPeriod : : Ratio [0..1] [0..1] Substitution A code signifying whether a different drug was dispensed from what was prescribed A code signifying whether a different drug was dispensed from what was prescribed type : : CodeableConcept [1..1] « [1..1] « A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription (Strength=Example) A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription (Strength=Example) ActSubstanceAdminSubstitution... ?? » ?? » Indicates the reason for the substitution of (or lack of substitution) from what was prescribed Indicates the reason for the substitution of (or lack of substitution) from what was prescribed reason : : CodeableConcept [0..*] « [0..*] « A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed (Strength=Example) A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed (Strength=Example) SubstanceAdminSubstitutionRea... ?? » ?? » The person or organization that has primary responsibility for the substitution The person or organization that has primary responsibility for the substitution responsibleParty : : Reference [0..*] « [0..*] « Practitioner » » Indicates how the medication is to be used by the patient Indicates how the medication is to be used by the patient. The pharmacist reviews the medication order prior to dispense and updates the dosageInstruction based on the actual product being dispensed dosageInstruction [0..*] Indicates whether or not substitution was made as part of the dispense. In some cases substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why Indicates whether or not substitution was made as part of the dispense. In some cases substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why substitution [0..1]

XML Template XML Template

<MedicationDispense xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..1 Identifier External identifier --></identifier>
 <status value="[code]"/><!-- 0..1 in-progress | on-hold | completed | entered-in-error | stopped -->
 <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) What medication was supplied --></medication[x]>

 <patient><!-- 0..1 Reference(Patient) Who the dispense is for --></patient>
 <dispenser><!-- 0..1 Reference(Practitioner) Practitioner responsible for dispensing medication --></dispenser>
 <authorizingPrescription><!-- 0..* Reference(MedicationOrder) Medication order that authorizes the dispense --></authorizingPrescription>
 <</type>

 <type><!-- 0..1 CodeableConcept Trial fill, partial fill, emergency fill, etc. --></type>

 <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount dispensed --></quantity>
 <</daysSupply>
 <</medication[x]>

 <daysSupply><!-- 0..1 Quantity(SimpleQuantity) Amount of medication expressed as a timing amount --></daysSupply>

 <whenPrepared value="[dateTime]"/><!-- 0..1 Dispense processing time -->
 <whenHandedOver value="[dateTime]"/><!-- 0..1 When product was given out -->
 <destination><!-- 0..1 Reference(Location) Where the medication was sent --></destination>
 <receiver><!-- 0..* Reference(Patient|Practitioner) Who collected the medication --></receiver>
 <
 <
  <

 <note><!-- 0..* Annotation Information about the dispense --></note>
 <dosageInstruction>  <!-- 0..* Medicine administration instructions to the patient/caregiver -->
  <text value="[string]"/><!-- 0..1 Free text dosage instructions e.g. SIG -->

  <additionalInstructions><!-- 0..1 CodeableConcept E.g. "Take with food" --></additionalInstructions>
  <timing><!-- 0..1 Timing When medication should be administered --></timing>
  <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" f(or x) --></asNeeded[x]>
  <site[x]><!-- 0..1 CodeableConcept|Reference(BodySite) Body site to administer to --></site[x]>
  <route><!-- 0..1 CodeableConcept How drug should enter body --></route>
  <method><!-- 0..1 CodeableConcept Technique for administering medication --></method>
  <dose[x]><!-- 0..1 Range|Quantity(SimpleQuantity) Amount of medication per dose --></dose[x]>
  <rate[x]><!-- 0..1 Ratio|Range Amount of medication per unit of time --></rate[x]>
  <maxDosePerPeriod><!-- 0..1 Ratio Upper limit on medication per unit of time --></maxDosePerPeriod>
 </dosageInstruction>
 <substitution>  <!-- 0..1 Deals with substitution of one medicine for another -->
  <</type>
  <</reason>

  <type><!-- 1..1 CodeableConcept Code signifying whether a different drug was dispensed from what was prescribed --></type>
  <reason><!-- 0..* CodeableConcept Why was substitution made --></reason>

  <responsibleParty><!-- 0..* Reference(Practitioner) Who is responsible for the substitution --></responsibleParty>
 </substitution>
</MedicationDispense>

JSON Template JSON Template

{doco
  "resourceType" : "MedicationDispense",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : { Identifier }, // External identifier
  "status" : "<code>", // in-progress | on-hold | completed | entered-in-error | stopped
  // medication[x]: What medication was supplied. One of these 2:
  "medicationCodeableConcept" : { CodeableConcept },
  "medicationReference" : { Reference(Medication) },

  "patient" : { Reference(Patient) }, // Who the dispense is for
  "dispenser" : { Reference(Practitioner) }, // Practitioner responsible for dispensing medication
  "authorizingPrescription" : [{ Reference(MedicationOrder) }], // Medication order that authorizes the dispense
  "

  "type" : { CodeableConcept }, // Trial fill, partial fill, emergency fill, etc.

  "quantity" : { Quantity(SimpleQuantity) }, // Amount dispensed
  "
  
  " },
  " },

  "daysSupply" : { Quantity(SimpleQuantity) }, // Amount of medication expressed as a timing amount

  "whenPrepared" : "<dateTime>", // Dispense processing time
  "whenHandedOver" : "<dateTime>", // When product was given out
  "destination" : { Reference(Location) }, // Where the medication was sent
  "receiver" : [{ Reference(Patient|Practitioner) }], // Who collected the medication
  "
  "
    "

  "note" : [{ Annotation }], // Information about the dispense
  "dosageInstruction" : [{ // Medicine administration instructions to the patient/caregiver
    "text" : "<string>", // Free text dosage instructions e.g. SIG

    "additionalInstructions" : { CodeableConcept }, // E.g. "Take with food"
    "timing" : { Timing }, // When medication should be administered
    // asNeeded[x]: Take "as needed" f(or x). One of these 2:
    "asNeededBoolean" : <boolean>,
    "asNeededCodeableConcept" : { CodeableConcept },
    // site[x]: Body site to administer to. One of these 2:
    "siteCodeableConcept" : { CodeableConcept },
    "siteReference" : { Reference(BodySite) },
    "route" : { CodeableConcept }, // How drug should enter body
    "method" : { CodeableConcept }, // Technique for administering medication
    // dose[x]: Amount of medication per dose. One of these 2:
    "doseRange" : { Range },
    "doseQuantity" : { Quantity(SimpleQuantity) },
    // rate[x]: Amount of medication per unit of time. One of these 2:
    "rateRatio" : { Ratio },
    "rateRange" : { Range },
    "maxDosePerPeriod" : { Ratio } // Upper limit on medication per unit of time
  }],
  "substitution" : { // Deals with substitution of one medicine for another
    "
    "

    "type" : { CodeableConcept }, // R!  Code signifying whether a different drug was dispensed from what was prescribed
    "reason" : [{ CodeableConcept }], // Why was substitution made

    "responsibleParty" : [{ Reference(Practitioner) }] // Who is responsible for the substitution
  }
}

  Alternate definitions:

Alternate definitions: Schema / Schematron , Resource Profile ( , Resource Profile ( XML , , JSON ), ), Questionnaire

4.15.4.1 Terminology Bindings 4.26.4.1 Terminology Bindings

Path Definition Type Reference
MedicationDispense.status MedicationDispense.status A code specifying the state of the dispense event. A code specifying the state of the dispense event. Required MedicationDispenseStatus
MedicationDispense.type MedicationDispense.type Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. Example ActPharmacySupplyType
MedicationDispense.dosageInstruction.additionalInstructions MedicationDispense.dosageInstruction.additionalInstructions Codes identifying additional instructions such as "take with water" or "avoid operating heavy machinery" Codes identifying additional instructions such as "take with water" or "avoid operating heavy machinery" Unknown No details provided yet No details provided yet
MedicationDispense.dosageInstruction.asNeeded[x] MedicationDispense.dosageInstruction.asNeeded[x] A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc. A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc. Unknown No details provided yet No details provided yet
MedicationDispense.dosageInstruction.site[x] MedicationDispense.dosageInstruction.site[x] A coded concept describing the site location the medicine enters into or onto the body A coded concept describing the site location the medicine enters into or onto the body Example SNOMED CT Anatomical Structure for Administration Site Codes SNOMED CT Anatomical Structure for Administration Site Codes
MedicationDispense.dosageInstruction.route MedicationDispense.dosageInstruction.route A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject Example SNOMED CT Route Codes SNOMED CT Route Codes
MedicationDispense.dosageInstruction.method MedicationDispense.dosageInstruction.method A coded concept describing the technique by which the medicine is administered A coded concept describing the technique by which the medicine is administered Unknown No details provided yet No details provided yet
MedicationDispense.substitution.type MedicationDispense.substitution.type A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription Example ActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reason MedicationDispense.substitution.reason A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed Example SubstanceAdminSubstitutionReason

4.15.4.2 Constraints 4.26.4.2 Constraints

  • mdd-1 : whenHandedOver cannot be before whenPrepared (xpath: not(exists(f:whenHandedOver/@value)) or not(exists(f:whenPrepared/@value)) or ( f:whenHandedOver/@value >= f:whenPrepared/@value) : whenHandedOver cannot be before whenPrepared ( expression : whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared )

4.15.5 Search Parameters 4.26.5 Search Parameters Search parameters for this resource. The common parameters also apply. See

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services. for more information about searching in REST, messaging, and services.

© HL7.org 2011+. FHIR DSTU2 (v1.0.2-7202) generated on Sat, Oct 24, 2015 07:43+1100. Links: Search
Name Type Description Paths
code token Return dispenses of this medicine code Return dispenses of this medicine code MedicationDispense.medicationCodeableConcept
destination reference Return dispenses that should be sent to a specific destination Return dispenses that should be sent to a specific destination MedicationDispense.destination
( Location )
dispenser reference Return all dispenses performed by a specific individual Return all dispenses performed by a specific individual MedicationDispense.dispenser
( Practitioner )
identifier token Return dispenses with this external identifier Return dispenses with this external identifier MedicationDispense.identifier
medication reference Return dispenses of this medicine resource Return dispenses of this medicine resource MedicationDispense.medicationReference
( Medication )
patient reference The identity of a patient to list dispenses for The identity of a patient to list dispenses for MedicationDispense.patient
( Patient )
prescription reference The identity of a prescription to list dispenses from The identity of a prescription to list dispenses from MedicationDispense.authorizingPrescription
( MedicationOrder )
receiver reference Who collected the medication Who collected the medication MedicationDispense.receiver
( Patient , , Practitioner )
responsibleparty reference Return all dispenses with the specified responsible party Return all dispenses with the specified responsible party MedicationDispense.substitution.responsibleParty
( Practitioner )
status token Status of the dispense Status of the dispense MedicationDispense.status
type token Return all dispenses of a specific type Return all dispenses of a specific type MedicationDispense.type
whenhandedover date Date when medication handed over to patient (outpatient setting), or supplied to ward or clinic (inpatient setting) Date when medication handed over to patient (outpatient setting), or supplied to ward or clinic (inpatient setting) MedicationDispense.whenHandedOver
whenprepared date Date when medication prepared Date when medication prepared MedicationDispense.whenPrepared