This page is part of the US-Medication FHIR IG (v1.1.0: STU 2 Ballot 1) based on FHIR R3. The current version which supercedes this version is 1.2.0. For a full list of available versions, see the Directory of published versions
The MedicationDispense resource can be used to record a medication that has been dispensed for a named person/patient. For more information about the context and usage, refer to the resource page in the FHIR specification. This profile sets minimum expectations for recording, searching and fetching a patient’s MedicationAdministration resource. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.
Example Usage Scenarios:
The following are example usage scenarios:
The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.
Each MedicationDispense must have:
In addition, a system Must Support.
Profile specific implementation guidance:
The official URL for this profile is:
http://hl7.org/fhir/us/meds/StructureDefinition/medicationdispense
Defines constraints and extensions on the MedicationDispense resource for the minimal set of data to query and retrieve patient's medication information.
This profile builds on MedicationDispense.
This profile was published on Tue Mar 07 00:00:00 AEDT 2017 as a draft by Health Level Seven International Pharmacy Work Group.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
MedicationDispense.status
which has a required binding to:
MedicationDispense.medicationCodeableConcept
or MedicationDispense.medicationReference
MedicationDispense.medicationCodeableConcept
has an extensible binding to Medication Clinical Drug (RxNorm) value set.MedicationDispense.subject
MedicationDispense.whenHandedOver
MedicationDispense.performer.actor
MedicationDispense.dosageInstruction
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationDispense | 0..* | |||
status | S | 1..1 | code | Binding: (unbound) (required) |
medication[x] | S | 1..1 | CodeableConcept, Reference(US Core Medication Profile) | Binding: Medication Clinical Drug (RxNorm) (extensible) |
subject | S | 1..1 | Reference(US Core Patient Profile) | |
performer | S | 0..* | BackboneElement | |
actor | S | 1..1 | Reference(http://hl7.org/fhir/us/core/StructureDefinition/us-core-pract | US Core Organization Profile) | |
whenHandedOver | S | 1..1 | dateTime | |
dosageInstruction | S | 0..1 | Dosage | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationDispense | I | 0..* | Dispensing a medication to a named patient | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: Common Languages (extensible) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | 0..* | Identifier | External identifier | |
partOf | 0..* | Reference(Procedure) | Event that dispense is part of | |
status | ?!SΣ | 1..1 | code | preparation | in-progress | on-hold | completed | entered-in-error | stopped Binding: (unbound) (required) |
category | 0..1 | CodeableConcept | Type of medication dispense Binding: MedicationDispenseCategory (preferred) | |
medication[x] | SΣ | 1..1 | CodeableConcept, Reference(US Core Medication Profile) | What medication was supplied Binding: Medication Clinical Drug (RxNorm) (extensible) |
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who the dispense is for |
context | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter / Episode associated with event | |
supportingInformation | 0..* | Reference(Resource) | Information that supports the dispensing of the medication | |
performer | SI | 0..* | BackboneElement | Who performed event |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
actor | S | 1..1 | Reference(http://hl7.org/fhir/us/core/StructureDefinition/us-core-pract | US Core Organization Profile) | Individual who was performing |
onBehalfOf | 0..1 | Reference(Organization) | Organization organization was acting for | |
authorizingPrescription | 0..* | Reference(MedicationRequest) | Medication order that authorizes the dispense | |
type | 0..1 | CodeableConcept | Trial fill, partial fill, emergency fill, etc. Binding: ActPharmacySupplyType (example) | |
quantity | 0..1 | SimpleQuantity | Amount dispensed | |
daysSupply | 0..1 | SimpleQuantity | Amount of medication expressed as a timing amount | |
whenPrepared | Σ | 0..1 | dateTime | When product was packaged and reviewed |
whenHandedOver | S | 1..1 | dateTime | When product was given out |
destination | 0..1 | Reference(Location) | Where the medication was sent | |
receiver | 0..* | Reference(Patient | Practitioner) | Who collected the medication | |
note | 0..* | Annotation | Information about the dispense | |
dosageInstruction | S | 0..1 | Dosage | How the medication is to be used by the patient or administered by the caregiver |
substitution | I | 0..1 | BackboneElement | Whether a substitution was performed on the dispense |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
wasSubstituted | 1..1 | boolean | Whether a substitution was or was not performed on the dispense | |
type | 0..1 | CodeableConcept | Code signifying whether a different drug was dispensed from what was prescribed Binding: ActSubstanceAdminSubstitutionCode (example) | |
reason | 0..* | CodeableConcept | Why was substitution made Binding: SubstanceAdminSubstitutionReason (example) | |
responsibleParty | 0..* | Reference(Practitioner) | Who is responsible for the substitution | |
detectedIssue | 0..* | Reference(DetectedIssue) | Clinical issue with action | |
notDone | 0..1 | boolean | Whether the dispense was or was not performed | |
notDoneReason[x] | 0..1 | CodeableConcept, Reference(DetectedIssue) | Why a dispense was not performed | |
eventHistory | 0..* | Reference(Provenance) | A list of releveant lifecycle events | |
Documentation for this format |
MedicationDispense.status
which has a required binding to:
MedicationDispense.medicationCodeableConcept
or MedicationDispense.medicationReference
MedicationDispense.medicationCodeableConcept
has an extensible binding to Medication Clinical Drug (RxNorm) value set.MedicationDispense.subject
MedicationDispense.whenHandedOver
MedicationDispense.performer.actor
MedicationDispense.dosageInstruction
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationDispense | 0..* | |||
status | S | 1..1 | code | Binding: (unbound) (required) |
medication[x] | S | 1..1 | CodeableConcept, Reference(US Core Medication Profile) | Binding: Medication Clinical Drug (RxNorm) (extensible) |
subject | S | 1..1 | Reference(US Core Patient Profile) | |
performer | S | 0..* | BackboneElement | |
actor | S | 1..1 | Reference(http://hl7.org/fhir/us/core/StructureDefinition/us-core-pract | US Core Organization Profile) | |
whenHandedOver | S | 1..1 | dateTime | |
dosageInstruction | S | 0..1 | Dosage | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationDispense | I | 0..* | Dispensing a medication to a named patient | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: Common Languages (extensible) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | 0..* | Identifier | External identifier | |
partOf | 0..* | Reference(Procedure) | Event that dispense is part of | |
status | ?!SΣ | 1..1 | code | preparation | in-progress | on-hold | completed | entered-in-error | stopped Binding: (unbound) (required) |
category | 0..1 | CodeableConcept | Type of medication dispense Binding: MedicationDispenseCategory (preferred) | |
medication[x] | SΣ | 1..1 | CodeableConcept, Reference(US Core Medication Profile) | What medication was supplied Binding: Medication Clinical Drug (RxNorm) (extensible) |
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who the dispense is for |
context | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter / Episode associated with event | |
supportingInformation | 0..* | Reference(Resource) | Information that supports the dispensing of the medication | |
performer | SI | 0..* | BackboneElement | Who performed event |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
actor | S | 1..1 | Reference(http://hl7.org/fhir/us/core/StructureDefinition/us-core-pract | US Core Organization Profile) | Individual who was performing |
onBehalfOf | 0..1 | Reference(Organization) | Organization organization was acting for | |
authorizingPrescription | 0..* | Reference(MedicationRequest) | Medication order that authorizes the dispense | |
type | 0..1 | CodeableConcept | Trial fill, partial fill, emergency fill, etc. Binding: ActPharmacySupplyType (example) | |
quantity | 0..1 | SimpleQuantity | Amount dispensed | |
daysSupply | 0..1 | SimpleQuantity | Amount of medication expressed as a timing amount | |
whenPrepared | Σ | 0..1 | dateTime | When product was packaged and reviewed |
whenHandedOver | S | 1..1 | dateTime | When product was given out |
destination | 0..1 | Reference(Location) | Where the medication was sent | |
receiver | 0..* | Reference(Patient | Practitioner) | Who collected the medication | |
note | 0..* | Annotation | Information about the dispense | |
dosageInstruction | S | 0..1 | Dosage | How the medication is to be used by the patient or administered by the caregiver |
substitution | I | 0..1 | BackboneElement | Whether a substitution was performed on the dispense |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
wasSubstituted | 1..1 | boolean | Whether a substitution was or was not performed on the dispense | |
type | 0..1 | CodeableConcept | Code signifying whether a different drug was dispensed from what was prescribed Binding: ActSubstanceAdminSubstitutionCode (example) | |
reason | 0..* | CodeableConcept | Why was substitution made Binding: SubstanceAdminSubstitutionReason (example) | |
responsibleParty | 0..* | Reference(Practitioner) | Who is responsible for the substitution | |
detectedIssue | 0..* | Reference(DetectedIssue) | Clinical issue with action | |
notDone | 0..1 | boolean | Whether the dispense was or was not performed | |
notDoneReason[x] | 0..1 | CodeableConcept, Reference(DetectedIssue) | Why a dispense was not performed | |
eventHistory | 0..* | Reference(Provenance) | A list of releveant lifecycle events | |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron
Below is an overview of the required search and read operations for this profile. See the Conformance requirements for the US Core Server for a complete list of supported RESTful operations and search parameters for this IG.
Summary of Argonaut Search Criteria for StructureDefinition-medicationdispense
GET /MedicationDispense?patient=[id]{&_include=MedicationDispense:medication}
Example:
Support: Mandatory for server and client to support search by patient. Mandatory for client to support the _include parameter. Optional for server to support the _include parameter.
Implementation Notes: This query searches for all MedicationDispense resources for a patient and returns a Bundle of all MedicationDispense and resources for the specified patient. The server application represents the medication using either an inline code or a contained or external reference to the Medication resource. (how to search by reference), and (how to search by _include).