STU 3 Ballot

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

11.4 Resource MedicationDispense - Content

Pharmacy Work GroupMaturity Level: 1Compartments: 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.

11.4.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.

MedicationDispense is an event resource from a FHIR workflow perspective - see Workflow Event

11.4.2 Boundaries and Relationships

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.
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).
MedicationAdministration 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.

11.4.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.

11.4.4 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense IDomainResourceDispensing a medication to a named patient
whenHandedOver cannot be before whenPrepared
... identifier 0..1IdentifierExternal identifier
... status ?!Σ0..1codein-progress | on-hold | completed | entered-in-error | stopped
MedicationDispenseStatus (Required)
... medication[x] Σ1..1What medication was supplied
SNOMED CT Medication Codes (Example)
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(Medication)
... patient Σ0..1Reference(Patient)Who the dispense is for
... dispenser 0..1Reference(Practitioner)Practitioner responsible for dispensing medication
... dispensingOrganization 0..1Reference(Organization)Organization responsible for the dispense of the medication
... authorizingPrescription 0..*Reference(MedicationOrder)Medication order that authorizes the dispense
... type 0..1CodeableConceptTrial fill, partial fill, emergency fill, etc.
ActPharmacySupplyType (Example)
... quantity 0..1SimpleQuantityAmount dispensed
... daysSupply 0..1SimpleQuantityAmount of medication expressed as a timing amount
... whenPrepared Σ0..1dateTimeWhen product was packaged and reviewed
... whenHandedOver 0..1dateTimeWhen product was given out
... destination 0..1Reference(Location)Where the medication was sent
... receiver 0..*Reference(Patient | Practitioner)Who collected the medication
... note 0..*AnnotationInformation about the dispense
... dosageInstruction 0..*BackboneElementMedicine administration instructions to the patient/caregiver
.... text 0..1stringFree text dosage instructions e.g. SIG
.... additionalInstructions 0..*CodeableConceptE.g. "Take with food"
SNOMED CT Additional Dosage Instructions (Example)
.... timing 0..1TimingWhen medication should be administered
.... asNeeded[x] 0..1Take "as needed" f(or x)
SNOMED CT Medication As Needed Reason Codes (Example)
..... asNeededBooleanboolean
..... asNeededCodeableConceptCodeableConcept
.... site[x] 0..1Body site to administer to
SNOMED CT Anatomical Structure for Administration Site Codes (Example)
..... siteCodeableConceptCodeableConcept
..... siteReferenceReference(BodySite)
.... route 0..1CodeableConceptHow drug should enter body
SNOMED CT Route Codes (Example)
.... method 0..1CodeableConceptTechnique for administering medication
SNOMED CT Administration Method Codes (Example)
.... dose[x] 0..1Amount of medication per dose
..... doseRangeRange
..... doseQuantitySimpleQuantity
.... rate[x] 0..1Amount of medication per unit of time
..... rateRatioRatio
..... rateRangeRange
..... rateQuantitySimpleQuantity
.... maxDosePerPeriod 0..1RatioUpper limit on medication per unit of time
... substitution 0..1BackboneElementDeals with substitution of one medicine for another
.... type 1..1CodeableConceptCode signifying whether a different drug was dispensed from what was prescribed
ActSubstanceAdminSubstitutionCode (Example)
.... reason 0..*CodeableConceptWhy was substitution made
SubstanceAdminSubstitutionReason (Example)
.... responsibleParty 0..*Reference(Practitioner)Who is responsible for the substitution
... eventHistory 0..*BackboneElementA list of events of interest in the lifecycle
.... status 1..1codein-progress | on-hold | completed | entered-in-error | stopped
MedicationDispenseStatus (Required)
.... action 0..1CodeableConceptAction taken (e.g. verify)
.... dateTime 1..1dateTimeThe date at which the event happened
.... actor 0..1Reference(Practitioner)Who took the action
.... reason 0..1CodeableConceptReason the action was taken

doco Documentation for this format

UML Diagram (Legend)

MedicationDispense (DomainResource)Identifier assigned by the dispensing facility - this is an identifier assigned outside FHIRidentifier : Identifier [0..1]A code specifying the state of the set of dispense events (this element modifies the meaning of other elements)status : code [0..1] « A coded concept specifying the state of the dispense event. (Strength=Required)MedicationDispenseStatus! »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 medicationsmedication[x] : Type [1..1] « CodeableConcept|Reference(Medication); A coded concept identifying which substance or product can be dispensed (Strength=Example) SNOMED CT Medication ?? »A link to a resource representing the person to whom the medication will be givenpatient : Reference [0..1] « Patient »The individual responsible for dispensing the medicationdispenser : Reference [0..1] « Practitioner »The organizaation responsible for the dispense of the medicationdispensingOrganization : Reference [0..1] « Organization »Indicates the medication order that is being dispensed againstauthorizingPrescription : Reference [0..*] « MedicationOrder »Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etctype : CodeableConcept [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)ActPharmacySupplyType?? »The amount of medication that has been dispensed. Includes unit of measurequantity : Quantity(SimpleQuantity) [0..1]The amount of medication expressed as a timing amountdaysSupply : Quantity(SimpleQuantity) [0..1]The time when the dispensed product was packaged and reviewedwhenPrepared : dateTime [0..1]The time the dispensed product was provided to the patient or their representativewhenHandedOver : dateTime [0..1]Identification of the facility/location where the medication was shipped to, as part of the dispense eventdestination : Reference [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 professionalreceiver : Reference [0..*] « Patient|Practitioner »Extra information about the dispense that could not be conveyed in the other attributesnote : Annotation [0..*]DosageInstructionFree 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 medicationtext : string [0..1]Additional instructions such as "Swallow with plenty of water" which may or may not be codedadditionalInstructions : CodeableConcept [0..*] « A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery" (Strength=Example)SNOMED CT Additional Dosage I...?? »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". Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time periodtiming : Timing [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 scheduleasNeeded[x] : Type [0..1] « boolean|CodeableConcept; 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. (Strength=Example)SNOMED CT Medication As Neede...?? »A coded specification of the anatomic site where the medication first enters the bodysite[x] : Type [0..1] « CodeableConcept|Reference(BodySite); A coded concept describing the site location the medicine enters into or onto the body (Strength=Example)SNOMED CT Anatomical Structur...?? »A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subjectroute : CodeableConcept [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)SNOMED CT Route ?? »A coded value indicating the method by which the medication is intended to be or was introduced into or on the bodymethod : CodeableConcept [0..1] « A coded concept describing the technique by which the medicine is administered (Strength=Example)SNOMED CT Administration Meth...?? »The amount of therapeutic or other substance given at one administration eventdose[x] : Type [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. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time periodrate[x] : Type [0..1] « Ratio|Range|Quantity(SimpleQuantity) »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 hoursmaxDosePerPeriod : Ratio [0..1]SubstitutionA code signifying whether a different drug was dispensed from what was prescribedtype : CodeableConcept [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)ActSubstanceAdminSubstitution...?? »Indicates the reason for the substitution of (or lack of substitution) from what was prescribedreason : CodeableConcept [0..*] « 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 substitutionresponsibleParty : Reference [0..*] « Practitioner »EventHistoryThe status for the eventstatus : code [1..1] « A coded concept specifying the state of the dispense event. (Strength=Required)MedicationDispenseStatus! »The action that was taken (e.g. verify)action : CodeableConcept [0..1]The date/time at which the event occurreddateTime : dateTime [1..1]The person responsible for taking the actionactor : Reference [0..1] « Practitioner »The reason why the action was takenreason : CodeableConcept [0..1]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 dispenseddosageInstruction[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 whysubstitution[0..1]A summary of the events of interest that have occurred, such as when the dispense was verifiedeventHistory[0..*]

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>
 <dispensingOrganization><!-- 0..1 Reference(Organization) Organization responsible for the dispense of the medication --></dispensingOrganization>
 <authorizingPrescription><!-- 0..* Reference(MedicationOrder) Medication order that authorizes the dispense --></authorizingPrescription>
 <type><!-- 0..1 CodeableConcept Trial fill, partial fill, emergency fill, etc. --></type>
 <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount dispensed --></quantity>
 <daysSupply><!-- 0..1 Quantity(SimpleQuantity) Amount of medication expressed as a timing amount --></daysSupply>
 <whenPrepared value="[dateTime]"/><!-- 0..1 When product was packaged and reviewed -->
 <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..* 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|Quantity(SimpleQuantity) 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><!-- 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>
 <eventHistory>  <!-- 0..* A list of events of interest in the lifecycle -->
  <status value="[code]"/><!-- 1..1 in-progress | on-hold | completed | entered-in-error | stopped -->
  <action><!-- 0..1 CodeableConcept Action taken (e.g. verify) --></action>
  <dateTime value="[dateTime]"/><!-- 1..1 The date at which the event happened -->
  <actor><!-- 0..1 Reference(Practitioner) Who took the action --></actor>
  <reason><!-- 0..1 CodeableConcept Reason the action was taken --></reason>
 </eventHistory>
</MedicationDispense>

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
  "dispensingOrganization" : { Reference(Organization) }, // Organization responsible for the dispense of the 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>", // When product was packaged and reviewed
  "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 3:
    "rateRatio" : { Ratio },
    "rateRange" : { Range },
    "rateQuantity" : { Quantity(SimpleQuantity) },
    "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
  },
  "eventHistory" : [{ // A list of events of interest in the lifecycle
    "status" : "<code>", // R!  in-progress | on-hold | completed | entered-in-error | stopped
    "action" : { CodeableConcept }, // Action taken (e.g. verify)
    "dateTime" : "<dateTime>", // R!  The date at which the event happened
    "actor" : { Reference(Practitioner) }, // Who took the action
    "reason" : { CodeableConcept } // Reason the action was taken
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:MedicationDispense;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:MedicationDispense.identifier [ Identifier ]; # 0..1 External identifier
  fhir:MedicationDispense.status [ code ]; # 0..1 in-progress | on-hold | completed | entered-in-error | stopped
  # MedicationDispense.medication[x] : 1..1 What medication was supplied. One of these 2
    fhir:MedicationDispense.medicationCodeableConcept [ CodeableConcept ]
    fhir:MedicationDispense.medicationReference [ Reference(Medication) ]
  fhir:MedicationDispense.patient [ Reference(Patient) ]; # 0..1 Who the dispense is for
  fhir:MedicationDispense.dispenser [ Reference(Practitioner) ]; # 0..1 Practitioner responsible for dispensing medication
  fhir:MedicationDispense.dispensingOrganization [ Reference(Organization) ]; # 0..1 Organization responsible for the dispense of the medication
  fhir:MedicationDispense.authorizingPrescription [ Reference(MedicationOrder) ], ... ; # 0..* Medication order that authorizes the dispense
  fhir:MedicationDispense.type [ CodeableConcept ]; # 0..1 Trial fill, partial fill, emergency fill, etc.
  fhir:MedicationDispense.quantity [ Quantity(SimpleQuantity) ]; # 0..1 Amount dispensed
  fhir:MedicationDispense.daysSupply [ Quantity(SimpleQuantity) ]; # 0..1 Amount of medication expressed as a timing amount
  fhir:MedicationDispense.whenPrepared [ dateTime ]; # 0..1 When product was packaged and reviewed
  fhir:MedicationDispense.whenHandedOver [ dateTime ]; # 0..1 When product was given out
  fhir:MedicationDispense.destination [ Reference(Location) ]; # 0..1 Where the medication was sent
  fhir:MedicationDispense.receiver [ Reference(Patient|Practitioner) ], ... ; # 0..* Who collected the medication
  fhir:MedicationDispense.note [ Annotation ], ... ; # 0..* Information about the dispense
  fhir:MedicationDispense.dosageInstruction [ # 0..* Medicine administration instructions to the patient/caregiver
    fhir:MedicationDispense.dosageInstruction.text [ string ]; # 0..1 Free text dosage instructions e.g. SIG
    fhir:MedicationDispense.dosageInstruction.additionalInstructions [ CodeableConcept ], ... ; # 0..* E.g. "Take with food"
    fhir:MedicationDispense.dosageInstruction.timing [ Timing ]; # 0..1 When medication should be administered
    # MedicationDispense.dosageInstruction.asNeeded[x] : 0..1 Take "as needed" f(or x). One of these 2
      fhir:MedicationDispense.dosageInstruction.asNeededBoolean [ boolean ]
      fhir:MedicationDispense.dosageInstruction.asNeededCodeableConcept [ CodeableConcept ]
    # MedicationDispense.dosageInstruction.site[x] : 0..1 Body site to administer to. One of these 2
      fhir:MedicationDispense.dosageInstruction.siteCodeableConcept [ CodeableConcept ]
      fhir:MedicationDispense.dosageInstruction.siteReference [ Reference(BodySite) ]
    fhir:MedicationDispense.dosageInstruction.route [ CodeableConcept ]; # 0..1 How drug should enter body
    fhir:MedicationDispense.dosageInstruction.method [ CodeableConcept ]; # 0..1 Technique for administering medication
    # MedicationDispense.dosageInstruction.dose[x] : 0..1 Amount of medication per dose. One of these 2
      fhir:MedicationDispense.dosageInstruction.doseRange [ Range ]
      fhir:MedicationDispense.dosageInstruction.doseSimpleQuantity [ Quantity(SimpleQuantity) ]
    # MedicationDispense.dosageInstruction.rate[x] : 0..1 Amount of medication per unit of time. One of these 3
      fhir:MedicationDispense.dosageInstruction.rateRatio [ Ratio ]
      fhir:MedicationDispense.dosageInstruction.rateRange [ Range ]
      fhir:MedicationDispense.dosageInstruction.rateSimpleQuantity [ Quantity(SimpleQuantity) ]
    fhir:MedicationDispense.dosageInstruction.maxDosePerPeriod [ Ratio ]; # 0..1 Upper limit on medication per unit of time
  ], ...;
  fhir:MedicationDispense.substitution [ # 0..1 Deals with substitution of one medicine for another
    fhir:MedicationDispense.substitution.type [ CodeableConcept ]; # 1..1 Code signifying whether a different drug was dispensed from what was prescribed
    fhir:MedicationDispense.substitution.reason [ CodeableConcept ], ... ; # 0..* Why was substitution made
    fhir:MedicationDispense.substitution.responsibleParty [ Reference(Practitioner) ], ... ; # 0..* Who is responsible for the substitution
  ];
  fhir:MedicationDispense.eventHistory [ # 0..* A list of events of interest in the lifecycle
    fhir:MedicationDispense.eventHistory.status [ code ]; # 1..1 in-progress | on-hold | completed | entered-in-error | stopped
    fhir:MedicationDispense.eventHistory.action [ CodeableConcept ]; # 0..1 Action taken (e.g. verify)
    fhir:MedicationDispense.eventHistory.dateTime [ dateTime ]; # 1..1 The date at which the event happened
    fhir:MedicationDispense.eventHistory.actor [ Reference(Practitioner) ]; # 0..1 Who took the action
    fhir:MedicationDispense.eventHistory.reason [ CodeableConcept ]; # 0..1 Reason the action was taken
  ], ...;
]

Changes since DSTU2

MedicationDispense
MedicationDispense.dispensingOrganization added
MedicationDispense.note Max Cardinality changed from 1 to *
Type changed from string to Annotation
MedicationDispense.dosageInstruction.additionalInstructions Max Cardinality changed from 1 to *
MedicationDispense.dosageInstruction.rate[x] Add Quantity{http://hl7.org/fhir/StructureDefinition/SimpleQuantity}
MedicationDispense.eventHistory added
MedicationDispense.eventHistory.status added
MedicationDispense.eventHistory.action added
MedicationDispense.eventHistory.dateTime added
MedicationDispense.eventHistory.actor added
MedicationDispense.eventHistory.reason added

See the Full Difference for further information

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense IDomainResourceDispensing a medication to a named patient
whenHandedOver cannot be before whenPrepared
... identifier 0..1IdentifierExternal identifier
... status ?!Σ0..1codein-progress | on-hold | completed | entered-in-error | stopped
MedicationDispenseStatus (Required)
... medication[x] Σ1..1What medication was supplied
SNOMED CT Medication Codes (Example)
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(Medication)
... patient Σ0..1Reference(Patient)Who the dispense is for
... dispenser 0..1Reference(Practitioner)Practitioner responsible for dispensing medication
... dispensingOrganization 0..1Reference(Organization)Organization responsible for the dispense of the medication
... authorizingPrescription 0..*Reference(MedicationOrder)Medication order that authorizes the dispense
... type 0..1CodeableConceptTrial fill, partial fill, emergency fill, etc.
ActPharmacySupplyType (Example)
... quantity 0..1SimpleQuantityAmount dispensed
... daysSupply 0..1SimpleQuantityAmount of medication expressed as a timing amount
... whenPrepared Σ0..1dateTimeWhen product was packaged and reviewed
... whenHandedOver 0..1dateTimeWhen product was given out
... destination 0..1Reference(Location)Where the medication was sent
... receiver 0..*Reference(Patient | Practitioner)Who collected the medication
... note 0..*AnnotationInformation about the dispense
... dosageInstruction 0..*BackboneElementMedicine administration instructions to the patient/caregiver
.... text 0..1stringFree text dosage instructions e.g. SIG
.... additionalInstructions 0..*CodeableConceptE.g. "Take with food"
SNOMED CT Additional Dosage Instructions (Example)
.... timing 0..1TimingWhen medication should be administered
.... asNeeded[x] 0..1Take "as needed" f(or x)
SNOMED CT Medication As Needed Reason Codes (Example)
..... asNeededBooleanboolean
..... asNeededCodeableConceptCodeableConcept
.... site[x] 0..1Body site to administer to
SNOMED CT Anatomical Structure for Administration Site Codes (Example)
..... siteCodeableConceptCodeableConcept
..... siteReferenceReference(BodySite)
.... route 0..1CodeableConceptHow drug should enter body
SNOMED CT Route Codes (Example)
.... method 0..1CodeableConceptTechnique for administering medication
SNOMED CT Administration Method Codes (Example)
.... dose[x] 0..1Amount of medication per dose
..... doseRangeRange
..... doseQuantitySimpleQuantity
.... rate[x] 0..1Amount of medication per unit of time
..... rateRatioRatio
..... rateRangeRange
..... rateQuantitySimpleQuantity
.... maxDosePerPeriod 0..1RatioUpper limit on medication per unit of time
... substitution 0..1BackboneElementDeals with substitution of one medicine for another
.... type 1..1CodeableConceptCode signifying whether a different drug was dispensed from what was prescribed
ActSubstanceAdminSubstitutionCode (Example)
.... reason 0..*CodeableConceptWhy was substitution made
SubstanceAdminSubstitutionReason (Example)
.... responsibleParty 0..*Reference(Practitioner)Who is responsible for the substitution
... eventHistory 0..*BackboneElementA list of events of interest in the lifecycle
.... status 1..1codein-progress | on-hold | completed | entered-in-error | stopped
MedicationDispenseStatus (Required)
.... action 0..1CodeableConceptAction taken (e.g. verify)
.... dateTime 1..1dateTimeThe date at which the event happened
.... actor 0..1Reference(Practitioner)Who took the action
.... reason 0..1CodeableConceptReason the action was taken

doco Documentation for this format

UML Diagram (Legend)

MedicationDispense (DomainResource)Identifier assigned by the dispensing facility - this is an identifier assigned outside FHIRidentifier : Identifier [0..1]A code specifying the state of the set of dispense events (this element modifies the meaning of other elements)status : code [0..1] « A coded concept specifying the state of the dispense event. (Strength=Required)MedicationDispenseStatus! »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 medicationsmedication[x] : Type [1..1] « CodeableConcept|Reference(Medication); A coded concept identifying which substance or product can be dispensed (Strength=Example) SNOMED CT Medication ?? »A link to a resource representing the person to whom the medication will be givenpatient : Reference [0..1] « Patient »The individual responsible for dispensing the medicationdispenser : Reference [0..1] « Practitioner »The organizaation responsible for the dispense of the medicationdispensingOrganization : Reference [0..1] « Organization »Indicates the medication order that is being dispensed againstauthorizingPrescription : Reference [0..*] « MedicationOrder »Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etctype : CodeableConcept [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)ActPharmacySupplyType?? »The amount of medication that has been dispensed. Includes unit of measurequantity : Quantity(SimpleQuantity) [0..1]The amount of medication expressed as a timing amountdaysSupply : Quantity(SimpleQuantity) [0..1]The time when the dispensed product was packaged and reviewedwhenPrepared : dateTime [0..1]The time the dispensed product was provided to the patient or their representativewhenHandedOver : dateTime [0..1]Identification of the facility/location where the medication was shipped to, as part of the dispense eventdestination : Reference [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 professionalreceiver : Reference [0..*] « Patient|Practitioner »Extra information about the dispense that could not be conveyed in the other attributesnote : Annotation [0..*]DosageInstructionFree 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 medicationtext : string [0..1]Additional instructions such as "Swallow with plenty of water" which may or may not be codedadditionalInstructions : CodeableConcept [0..*] « A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery" (Strength=Example)SNOMED CT Additional Dosage I...?? »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". Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time periodtiming : Timing [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 scheduleasNeeded[x] : Type [0..1] « boolean|CodeableConcept; 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. (Strength=Example)SNOMED CT Medication As Neede...?? »A coded specification of the anatomic site where the medication first enters the bodysite[x] : Type [0..1] « CodeableConcept|Reference(BodySite); A coded concept describing the site location the medicine enters into or onto the body (Strength=Example)SNOMED CT Anatomical Structur...?? »A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subjectroute : CodeableConcept [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)SNOMED CT Route ?? »A coded value indicating the method by which the medication is intended to be or was introduced into or on the bodymethod : CodeableConcept [0..1] « A coded concept describing the technique by which the medicine is administered (Strength=Example)SNOMED CT Administration Meth...?? »The amount of therapeutic or other substance given at one administration eventdose[x] : Type [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. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time periodrate[x] : Type [0..1] « Ratio|Range|Quantity(SimpleQuantity) »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 hoursmaxDosePerPeriod : Ratio [0..1]SubstitutionA code signifying whether a different drug was dispensed from what was prescribedtype : CodeableConcept [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)ActSubstanceAdminSubstitution...?? »Indicates the reason for the substitution of (or lack of substitution) from what was prescribedreason : CodeableConcept [0..*] « 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 substitutionresponsibleParty : Reference [0..*] « Practitioner »EventHistoryThe status for the eventstatus : code [1..1] « A coded concept specifying the state of the dispense event. (Strength=Required)MedicationDispenseStatus! »The action that was taken (e.g. verify)action : CodeableConcept [0..1]The date/time at which the event occurreddateTime : dateTime [1..1]The person responsible for taking the actionactor : Reference [0..1] « Practitioner »The reason why the action was takenreason : CodeableConcept [0..1]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 dispenseddosageInstruction[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 whysubstitution[0..1]A summary of the events of interest that have occurred, such as when the dispense was verifiedeventHistory[0..*]

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>
 <dispensingOrganization><!-- 0..1 Reference(Organization) Organization responsible for the dispense of the medication --></dispensingOrganization>
 <authorizingPrescription><!-- 0..* Reference(MedicationOrder) Medication order that authorizes the dispense --></authorizingPrescription>
 <type><!-- 0..1 CodeableConcept Trial fill, partial fill, emergency fill, etc. --></type>
 <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount dispensed --></quantity>
 <daysSupply><!-- 0..1 Quantity(SimpleQuantity) Amount of medication expressed as a timing amount --></daysSupply>
 <whenPrepared value="[dateTime]"/><!-- 0..1 When product was packaged and reviewed -->
 <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..* 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|Quantity(SimpleQuantity) 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><!-- 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>
 <eventHistory>  <!-- 0..* A list of events of interest in the lifecycle -->
  <status value="[code]"/><!-- 1..1 in-progress | on-hold | completed | entered-in-error | stopped -->
  <action><!-- 0..1 CodeableConcept Action taken (e.g. verify) --></action>
  <dateTime value="[dateTime]"/><!-- 1..1 The date at which the event happened -->
  <actor><!-- 0..1 Reference(Practitioner) Who took the action --></actor>
  <reason><!-- 0..1 CodeableConcept Reason the action was taken --></reason>
 </eventHistory>
</MedicationDispense>

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
  "dispensingOrganization" : { Reference(Organization) }, // Organization responsible for the dispense of the 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>", // When product was packaged and reviewed
  "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 3:
    "rateRatio" : { Ratio },
    "rateRange" : { Range },
    "rateQuantity" : { Quantity(SimpleQuantity) },
    "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
  },
  "eventHistory" : [{ // A list of events of interest in the lifecycle
    "status" : "<code>", // R!  in-progress | on-hold | completed | entered-in-error | stopped
    "action" : { CodeableConcept }, // Action taken (e.g. verify)
    "dateTime" : "<dateTime>", // R!  The date at which the event happened
    "actor" : { Reference(Practitioner) }, // Who took the action
    "reason" : { CodeableConcept } // Reason the action was taken
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:MedicationDispense;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:MedicationDispense.identifier [ Identifier ]; # 0..1 External identifier
  fhir:MedicationDispense.status [ code ]; # 0..1 in-progress | on-hold | completed | entered-in-error | stopped
  # MedicationDispense.medication[x] : 1..1 What medication was supplied. One of these 2
    fhir:MedicationDispense.medicationCodeableConcept [ CodeableConcept ]
    fhir:MedicationDispense.medicationReference [ Reference(Medication) ]
  fhir:MedicationDispense.patient [ Reference(Patient) ]; # 0..1 Who the dispense is for
  fhir:MedicationDispense.dispenser [ Reference(Practitioner) ]; # 0..1 Practitioner responsible for dispensing medication
  fhir:MedicationDispense.dispensingOrganization [ Reference(Organization) ]; # 0..1 Organization responsible for the dispense of the medication
  fhir:MedicationDispense.authorizingPrescription [ Reference(MedicationOrder) ], ... ; # 0..* Medication order that authorizes the dispense
  fhir:MedicationDispense.type [ CodeableConcept ]; # 0..1 Trial fill, partial fill, emergency fill, etc.
  fhir:MedicationDispense.quantity [ Quantity(SimpleQuantity) ]; # 0..1 Amount dispensed
  fhir:MedicationDispense.daysSupply [ Quantity(SimpleQuantity) ]; # 0..1 Amount of medication expressed as a timing amount
  fhir:MedicationDispense.whenPrepared [ dateTime ]; # 0..1 When product was packaged and reviewed
  fhir:MedicationDispense.whenHandedOver [ dateTime ]; # 0..1 When product was given out
  fhir:MedicationDispense.destination [ Reference(Location) ]; # 0..1 Where the medication was sent
  fhir:MedicationDispense.receiver [ Reference(Patient|Practitioner) ], ... ; # 0..* Who collected the medication
  fhir:MedicationDispense.note [ Annotation ], ... ; # 0..* Information about the dispense
  fhir:MedicationDispense.dosageInstruction [ # 0..* Medicine administration instructions to the patient/caregiver
    fhir:MedicationDispense.dosageInstruction.text [ string ]; # 0..1 Free text dosage instructions e.g. SIG
    fhir:MedicationDispense.dosageInstruction.additionalInstructions [ CodeableConcept ], ... ; # 0..* E.g. "Take with food"
    fhir:MedicationDispense.dosageInstruction.timing [ Timing ]; # 0..1 When medication should be administered
    # MedicationDispense.dosageInstruction.asNeeded[x] : 0..1 Take "as needed" f(or x). One of these 2
      fhir:MedicationDispense.dosageInstruction.asNeededBoolean [ boolean ]
      fhir:MedicationDispense.dosageInstruction.asNeededCodeableConcept [ CodeableConcept ]
    # MedicationDispense.dosageInstruction.site[x] : 0..1 Body site to administer to. One of these 2
      fhir:MedicationDispense.dosageInstruction.siteCodeableConcept [ CodeableConcept ]
      fhir:MedicationDispense.dosageInstruction.siteReference [ Reference(BodySite) ]
    fhir:MedicationDispense.dosageInstruction.route [ CodeableConcept ]; # 0..1 How drug should enter body
    fhir:MedicationDispense.dosageInstruction.method [ CodeableConcept ]; # 0..1 Technique for administering medication
    # MedicationDispense.dosageInstruction.dose[x] : 0..1 Amount of medication per dose. One of these 2
      fhir:MedicationDispense.dosageInstruction.doseRange [ Range ]
      fhir:MedicationDispense.dosageInstruction.doseSimpleQuantity [ Quantity(SimpleQuantity) ]
    # MedicationDispense.dosageInstruction.rate[x] : 0..1 Amount of medication per unit of time. One of these 3
      fhir:MedicationDispense.dosageInstruction.rateRatio [ Ratio ]
      fhir:MedicationDispense.dosageInstruction.rateRange [ Range ]
      fhir:MedicationDispense.dosageInstruction.rateSimpleQuantity [ Quantity(SimpleQuantity) ]
    fhir:MedicationDispense.dosageInstruction.maxDosePerPeriod [ Ratio ]; # 0..1 Upper limit on medication per unit of time
  ], ...;
  fhir:MedicationDispense.substitution [ # 0..1 Deals with substitution of one medicine for another
    fhir:MedicationDispense.substitution.type [ CodeableConcept ]; # 1..1 Code signifying whether a different drug was dispensed from what was prescribed
    fhir:MedicationDispense.substitution.reason [ CodeableConcept ], ... ; # 0..* Why was substitution made
    fhir:MedicationDispense.substitution.responsibleParty [ Reference(Practitioner) ], ... ; # 0..* Who is responsible for the substitution
  ];
  fhir:MedicationDispense.eventHistory [ # 0..* A list of events of interest in the lifecycle
    fhir:MedicationDispense.eventHistory.status [ code ]; # 1..1 in-progress | on-hold | completed | entered-in-error | stopped
    fhir:MedicationDispense.eventHistory.action [ CodeableConcept ]; # 0..1 Action taken (e.g. verify)
    fhir:MedicationDispense.eventHistory.dateTime [ dateTime ]; # 1..1 The date at which the event happened
    fhir:MedicationDispense.eventHistory.actor [ Reference(Practitioner) ]; # 0..1 Who took the action
    fhir:MedicationDispense.eventHistory.reason [ CodeableConcept ]; # 0..1 Reason the action was taken
  ], ...;
]

Changes since DSTU2

MedicationDispense
MedicationDispense.dispensingOrganization added
MedicationDispense.note Max Cardinality changed from 1 to *
Type changed from string to Annotation
MedicationDispense.dosageInstruction.additionalInstructions Max Cardinality changed from 1 to *
MedicationDispense.dosageInstruction.rate[x] Add Quantity{http://hl7.org/fhir/StructureDefinition/SimpleQuantity}
MedicationDispense.eventHistory added
MedicationDispense.eventHistory.status added
MedicationDispense.eventHistory.action added
MedicationDispense.eventHistory.dateTime added
MedicationDispense.eventHistory.actor added
MedicationDispense.eventHistory.reason added

See the Full Difference for further information

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)

11.4.4.1 Terminology Bindings

PathDefinitionTypeReference
MedicationDispense.status
MedicationDispense.eventHistory.status
A coded concept specifying the state of the dispense event.RequiredMedicationDispenseStatus
MedicationDispense.medication[x] A coded concept identifying which substance or product can be dispensedExampleSNOMED CT Medication Codes
MedicationDispense.type Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.ExampleActPharmacySupplyType
MedicationDispense.dosageInstruction.additionalInstructions A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery"ExampleSNOMED CT Additional Dosage Instructions
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.ExampleSNOMED CT Medication As Needed Reason Codes
MedicationDispense.dosageInstruction.site[x] A coded concept describing the site location the medicine enters into or onto the bodyExampleSNOMED CT Anatomical Structure for Administration Site Codes
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 subjectExampleSNOMED CT Route Codes
MedicationDispense.dosageInstruction.method A coded concept describing the technique by which the medicine is administeredExampleSNOMED CT Administration Method Codes
MedicationDispense.substitution.type A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescriptionExampleActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reason A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribedExampleSubstanceAdminSubstitutionReason
MedicationDispense.eventHistory.action A coded concept describing an action taken on a medication dispense.UnknownNo details provided yet
MedicationDispense.eventHistory.reason A coded concept describing the reason for an action taken on a medication dispense.UnknownNo details provided yet

11.4.4.2 Constraints

  • mdd-1: whenHandedOver cannot be before whenPrepared (expression : whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared)

11.4.5 Search Parameters

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

NameTypeDescriptionPaths
codetokenReturn dispenses of this medicine codeMedicationDispense.medicationCodeableConcept
destinationreferenceReturn dispenses that should be sent to a specific destinationMedicationDispense.destination
(Location)
dispenserreferenceReturn dispenses performed by a specific individualMedicationDispense.dispenser
(Practitioner)
identifiertokenReturn dispenses with this external identifierMedicationDispense.identifier
medicationreferenceReturn dispenses of this medicine resourceMedicationDispense.medicationReference
(Medication)
patientreferenceThe identity of a patient to list dispenses forMedicationDispense.patient
(Patient)
prescriptionreferenceThe identity of a prescription to list dispenses fromMedicationDispense.authorizingPrescription
(MedicationOrder)
receiverreferenceThe identity of a receiver to list dispenses forMedicationDispense.receiver
(Practitioner, Patient)
responsiblepartyreferenceReturn dispenses with the specified responsible partyMedicationDispense.substitution.responsibleParty
(Practitioner)
statustokenReturn dispenses with a specified dispense statusMedicationDispense.status
typetokenReturn dispenses of a specific typeMedicationDispense.type
whenhandedoverdateReturns dispenses handed over on this dateMedicationDispense.whenHandedOver
whenprepareddateReturns dispenses prepared on this dateMedicationDispense.whenPrepared