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
. For a full list of available versions, see the
Directory of published versions
.
Page
versions:
. Page versions:
R5
R4B
R4
R3
R2
|
|
Compartments
|
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.
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
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.
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.
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
|
DomainResource |
|
|
|
0..1 | Identifier |
|
|
|
?! Σ | 0..1 | code |
MedicationDispenseStatus |
|
Σ |
|
What medication was supplied
|
|
|
|
|||
|
Reference
(
|
|||
|
Σ |
|
Reference
(
|
|
|
0..1 |
|
Practitioner responsible for dispensing medication | |
|
0..1 |
|
|
|
|
|
|
|
|
|
0..1 |
|
ActPharmacySupplyType ( Example ) |
|
|
0..1 |
|
Amount dispensed | |
|
0..1 |
|
Amount of medication expressed as a timing amount | |
|
Σ | 0..1 | dateTime |
|
|
0..1 | dateTime |
|
|
|
0..1 | Reference ( Location ) |
|
|
|
0..* |
Reference
(
Patient
|
|
|
|
|
|
|
|
|
0..* | BackboneElement |
|
|
|
0..1 | string |
|
|
|
|
CodeableConcept |
SNOMED CT Additional Dosage Instructions ( Example ) |
|
|
0..1 | Timing |
|
|
|
0..1 |
SNOMED CT Medication As Needed Reason Codes ( Example ) |
||
|
boolean | |||
|
CodeableConcept | |||
|
0..1 |
|
||
|
CodeableConcept | |||
|
Reference ( BodySite ) | |||
|
0..1 | CodeableConcept |
|
|
|
0..1 | CodeableConcept |
SNOMED CT Administration Method Codes ( Example ) |
|
|
0..1 |
|
||
|
Range | |||
|
SimpleQuantity | |||
|
0..1 |
|
||
|
Ratio | |||
|
Range | |||
|
SimpleQuantity | |||
|
0..1 | Ratio |
|
|
|
0..1 | BackboneElement |
|
|
|
1..1 | CodeableConcept |
Code signifying whether a different drug was dispensed from what was prescribed
| |
![]() ![]() ![]() |
|
CodeableConcept |
| |
![]() ![]() ![]() | 0..* |
Reference
(
|
Who is responsible for the substitution | |
|
0..* | BackboneElement | A list of events of interest in the lifecycle | |
|
|
|
|
|
|
0..1 | CodeableConcept | Action taken (e.g. verify) | |
|
| dateTime | The date at which the event happened | |
![]() ![]() ![]() | 0..1 | Reference ( Practitioner ) |
|
|
| 0..1 | CodeableConcept | Reason the action was taken | |
Documentation for this format
|
||||
UML
Diagram
UML Diagram
(
Legend
)
XML
Template
XML Template
<
<MedicationDispense xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> < <</patient> <</dispenser> <</authorizingPrescription> <</type> <</quantity> <</daysSupply> <</medication[x]> < < <</destination> <</receiver> < < < <</additionalInstructions> <</timing> <<a title="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).<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> <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." class="dict" href="medicationdispense-definitions.html#MedicationDispense.dosageInstruction.asNeeded[x]"></asNeeded[x]> <</site[x]> <</route> <</method> <</dose[x]> <</rate[x]> <</maxDosePerPeriod> 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." class="dict">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>< <</type> <</reason> <</responsibleParty><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
JSON Template
{
"resourceType" : "",
{
"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:
"<a title="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." class="dict" href="medicationdispense-definitions.html#MedicationDispense.dosageInstruction.asNeededBoolean">asNeededBoolean>,
"<a title="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." class="dict">asNeededBoolean" : <boolean>,
"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." class="dict" href="medicationdispense-definitions.html#MedicationDispense.dosageInstruction.asNeededCodeableConcept">asNeededCodeableConcept },
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." class="dict">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/> .[ 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
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
|
DomainResource |
|
|
|
0..1 | Identifier |
|
|
|
?! Σ | 0..1 | code |
MedicationDispenseStatus |
|
Σ |
|
What medication was supplied
|
|
|
|
|||
|
Reference
(
|
|||
|
Σ |
|
Reference
(
|
|
|
0..1 |
|
Practitioner responsible for dispensing medication | |
|
0..1 |
|
|
|
|
|
|
|
|
|
0..1 |
|
ActPharmacySupplyType ( Example ) |
|
|
0..1 |
|
Amount dispensed | |
|
0..1 |
|
Amount of medication expressed as a timing amount | |
|
Σ | 0..1 | dateTime |
|
|
0..1 | dateTime |
|
|
|
0..1 | Reference ( Location ) |
|
|
|
0..* |
Reference
(
Patient
|
|
|
|
|
|
|
|
|
0..* | BackboneElement |
|
|
|
0..1 | string |
|
|
|
|
CodeableConcept |
SNOMED CT Additional Dosage Instructions ( Example ) |
|
|
0..1 | Timing |
|
|
|
0..1 |
SNOMED CT Medication As Needed Reason Codes ( Example ) |
||
|
boolean | |||
|
CodeableConcept | |||
|
0..1 |
|
||
|
CodeableConcept | |||
|
Reference ( BodySite ) | |||
|
0..1 | CodeableConcept |
|
|
|
0..1 | CodeableConcept |
SNOMED CT Administration Method Codes ( Example ) |
|
|
0..1 |
|
||
|
Range | |||
|
SimpleQuantity | |||
|
0..1 |
|
||
|
Ratio | |||
|
Range | |||
|
SimpleQuantity | |||
|
0..1 | Ratio |
|
|
|
0..1 | BackboneElement |
|
|
|
1..1 | CodeableConcept |
Code signifying whether a different drug was dispensed from what was prescribed
| |
![]() ![]() ![]() |
|
CodeableConcept |
| |
![]() ![]() ![]() | 0..* |
Reference
(
|
Who is responsible for the substitution | |
|
0..* | BackboneElement | A list of events of interest in the lifecycle | |
|
|
|
|
|
|
0..1 | CodeableConcept | Action taken (e.g. verify) | |
|
| dateTime | The date at which the event happened | |
![]() ![]() ![]() | 0..1 | Reference ( Practitioner ) |
|
|
| 0..1 | CodeableConcept | Reason the action was taken | |
Documentation for this format
|
||||
XML
Template
XML Template
<
<MedicationDispense xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> < <</patient> <</dispenser> <</authorizingPrescription> <</type> <</quantity> <</daysSupply> <</medication[x]> < < <</destination> <</receiver> < < < <</additionalInstructions> <</timing> <<a title="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).<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> <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." class="dict" href="medicationdispense-definitions.html#MedicationDispense.dosageInstruction.asNeeded[x]"></asNeeded[x]> <</site[x]> <</route> <</method> <</dose[x]> <</rate[x]> <</maxDosePerPeriod> 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." class="dict">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>< <</type> <</reason> <</responsibleParty><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
JSON Template
{
"resourceType" : "",
{
"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:
"<a title="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." class="dict" href="medicationdispense-definitions.html#MedicationDispense.dosageInstruction.asNeededBoolean">asNeededBoolean>,
"<a title="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." class="dict">asNeededBoolean" : <boolean>,
"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." class="dict" href="medicationdispense-definitions.html#MedicationDispense.dosageInstruction.asNeededCodeableConcept">asNeededCodeableConcept },
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." class="dict">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
}]
}
Alternate
definitions:
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ 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
,
Resource
Profile
(
XML
,
(for ) +
JSON
Schema
,
ShEx
(for
Turtle
),
Questionnaire
)
| Path | Definition | Type | Reference |
|---|---|---|---|
|
MedicationDispense.status
MedicationDispense.eventHistory.status |
|
Required | MedicationDispenseStatus |
| MedicationDispense.medication[x] | A coded concept identifying which substance or product can be dispensed | Example |
|
| MedicationDispense.type | 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.asNeeded[x] |
|
|
|
| MedicationDispense.dosageInstruction.site[x] |
|
Example |
|
| MedicationDispense.dosageInstruction.route |
|
Example |
|
| MedicationDispense.dosageInstruction.method |
|
|
|
| MedicationDispense.substitution.type |
|
Example | ActSubstanceAdminSubstitutionCode |
| MedicationDispense.substitution.reason |
|
Example | SubstanceAdminSubstitutionReason |
| MedicationDispense.eventHistory.action | A coded concept describing an action taken on a medication dispense. | Unknown | No details provided yet |
| MedicationDispense.eventHistory.reason | A coded concept describing the reason for an action taken on a medication dispense. | Unknown | No details provided yet |
:
whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
)
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.
| Name | Type | Description | Paths |
| code | token |
|
MedicationDispense.medicationCodeableConcept |
| destination | reference |
|
MedicationDispense.destination
( Location ) |
| dispenser | reference |
|
MedicationDispense.dispenser
( Practitioner ) |
| identifier | token |
|
MedicationDispense.identifier |
| medication | reference |
|
MedicationDispense.medicationReference
( Medication ) |
| patient | reference |
|
MedicationDispense.patient
( Patient ) |
| prescription | reference |
|
MedicationDispense.authorizingPrescription
( MedicationOrder ) |
| receiver | reference |
|
MedicationDispense.receiver
( |
| responsibleparty | reference |
|
MedicationDispense.substitution.responsibleParty
( Practitioner ) |
| status | token |
|
MedicationDispense.status |
| type | token |
|
MedicationDispense.type |
| whenhandedover | date |
|
MedicationDispense.whenHandedOver |
| whenprepared | date |
|
MedicationDispense.whenPrepared |