This page is part of the US-Medication FHIR IG (v1.2.0: STU 2) based on FHIR R3. This is the current published version. For a full list of available versions, see the Directory of published versions
StructureDefinition-medicationdispense
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:
- Query for medications that have been dispensed to a particular patient
Mandatory Data Elements and Terminology
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:
- a status
- a medication
- a patient
- a date or date range
In addition, a system Must Support.
- who dispensed
- dosage information
Profile specific implementation guidance:
- None
Examples
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is: http://hl7.org/fhir/us/meds/StructureDefinition/medicationdispense
Published on Tue Mar 07 00:00:00 UTC 2017 as a active by Health Level Seven International Pharmacy Work Group.
This profile builds on MedicationDispense
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | 0..* | MedicationDispense | Dispensing a medication to a named patient | |
![]() ![]() ![]() | S | 1..1 | code | preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown Binding: MedicationDispense Status Codes (required) |
![]() ![]() ![]() | S | 1..1 | What medication was supplied Binding: US Core Medication Codes (RxNorm) (extensible) | |
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference(US Core Medication Profile) | |||
![]() ![]() ![]() | S | 1..1 | Reference(US Core Patient Profile) | Who the dispense is for |
![]() ![]() ![]() | S | 0..* | BackboneElement | Who performed event |
![]() ![]() ![]() ![]() | S | 1..1 | Reference(US Core Practitioner Profile | US Core Organization Profile) | Individual who was performing |
![]() ![]() ![]() | S | 1..1 | dateTime | When product was given out |
![]() ![]() ![]() | S | 0..1 | Dosage | How the medication is to be used by the patient or administered by the caregiver |
![]() |
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | I | 0..* | MedicationDispense | Dispensing a medication to a named patient |
![]() ![]() ![]() | Σ | 0..1 | string | Logical id of this artifact |
![]() ![]() ![]() | ΣI | 0..1 | Meta | Metadata about the resource |
![]() ![]() ![]() | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
![]() ![]() ![]() | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
![]() ![]() ![]() | 0..* | Resource | Contained, inline Resources | |
![]() ![]() ![]() | I | 0..* | Extension | Additional content defined by implementations |
![]() ![]() ![]() | ?!I | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() ![]() | I | 0..* | Identifier | External identifier |
![]() ![]() ![]() | I | 0..* | Reference(Procedure) | Event that dispense is part of |
![]() ![]() ![]() | ?!SΣI | 1..1 | code | preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown Binding: MedicationDispense Status Codes (required) |
![]() ![]() ![]() | I | 0..1 | Why a dispense was not performed Binding: MedicationDispense Status Reason Codes (example) | |
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference(DetectedIssue) | |||
![]() ![]() ![]() | I | 0..1 | CodeableConcept | Type of medication dispense Binding: MedicationDispense Category Codes (preferred) |
![]() ![]() ![]() | SΣI | 1..1 | What medication was supplied Binding: US Core Medication Codes (RxNorm) (extensible) | |
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference(US Core Medication Profile) | |||
![]() ![]() ![]() | SΣI | 1..1 | Reference(US Core Patient Profile) | Who the dispense is for |
![]() ![]() ![]() | I | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter / Episode associated with event |
![]() ![]() ![]() | I | 0..* | Reference(Resource) | Information that supports the dispensing of the medication |
![]() ![]() ![]() | SI | 0..* | BackboneElement | Who performed event |
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() | I | 0..* | Extension | Additional content defined by implementations |
![]() ![]() ![]() ![]() | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() | I | 0..1 | CodeableConcept | Who performed the dispense and what they did Binding: MedicationDispense Performer Function Codes (example) |
![]() ![]() ![]() ![]() | SI | 1..1 | Reference(US Core Practitioner Profile | US Core Organization Profile) | Individual who was performing |
![]() ![]() ![]() | I | 0..1 | Reference(Location) | Where the dispense occurred |
![]() ![]() ![]() | I | 0..* | Reference(MedicationRequest) | Medication order that authorizes the dispense |
![]() ![]() ![]() | I | 0..1 | CodeableConcept | Trial fill, partial fill, emergency fill, etc. Binding: ActPharmacySupplyType (example) |
![]() ![]() ![]() | I | 0..1 | SimpleQuantity | Amount dispensed |
![]() ![]() ![]() | I | 0..1 | SimpleQuantity | Amount of medication expressed as a timing amount |
![]() ![]() ![]() | ΣI | 0..1 | dateTime | When product was packaged and reviewed |
![]() ![]() ![]() | SI | 1..1 | dateTime | When product was given out |
![]() ![]() ![]() | I | 0..1 | Reference(Location) | Where the medication was sent |
![]() ![]() ![]() | I | 0..* | Reference(Patient | Practitioner) | Who collected the medication |
![]() ![]() ![]() | I | 0..* | Annotation | Information about the dispense |
![]() ![]() ![]() | SI | 0..1 | Dosage | How the medication is to be used by the patient or administered by the caregiver |
![]() ![]() ![]() | I | 0..1 | BackboneElement | Whether a substitution was performed on the dispense |
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() | I | 0..* | Extension | Additional content defined by implementations |
![]() ![]() ![]() ![]() | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() | I | 1..1 | boolean | Whether a substitution was or was not performed on the dispense |
![]() ![]() ![]() ![]() | I | 0..1 | CodeableConcept | Code signifying whether a different drug was dispensed from what was prescribed Binding: ActSubstanceAdminSubstitutionCode (example) |
![]() ![]() ![]() ![]() | I | 0..* | CodeableConcept | Why was substitution made Binding: SubstanceAdminSubstitutionReason (example) |
![]() ![]() ![]() ![]() | I | 0..* | Reference(Practitioner | PractitionerRole) | Who is responsible for the substitution |
![]() ![]() ![]() | I | 0..* | Reference(DetectedIssue) | Clinical issue with action |
![]() ![]() ![]() | I | 0..* | Reference(Provenance) | A list of relevant lifecycle events |
![]() |
Differential View
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | 0..* | MedicationDispense | Dispensing a medication to a named patient | |
![]() ![]() ![]() | S | 1..1 | code | preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown Binding: MedicationDispense Status Codes (required) |
![]() ![]() ![]() | S | 1..1 | What medication was supplied Binding: US Core Medication Codes (RxNorm) (extensible) | |
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference(US Core Medication Profile) | |||
![]() ![]() ![]() | S | 1..1 | Reference(US Core Patient Profile) | Who the dispense is for |
![]() ![]() ![]() | S | 0..* | BackboneElement | Who performed event |
![]() ![]() ![]() ![]() | S | 1..1 | Reference(US Core Practitioner Profile | US Core Organization Profile) | Individual who was performing |
![]() ![]() ![]() | S | 1..1 | dateTime | When product was given out |
![]() ![]() ![]() | S | 0..1 | Dosage | How the medication is to be used by the patient or administered by the caregiver |
![]() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | I | 0..* | MedicationDispense | Dispensing a medication to a named patient |
![]() ![]() ![]() | Σ | 0..1 | string | Logical id of this artifact |
![]() ![]() ![]() | ΣI | 0..1 | Meta | Metadata about the resource |
![]() ![]() ![]() | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
![]() ![]() ![]() | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
![]() ![]() ![]() | 0..* | Resource | Contained, inline Resources | |
![]() ![]() ![]() | I | 0..* | Extension | Additional content defined by implementations |
![]() ![]() ![]() | ?!I | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() ![]() | I | 0..* | Identifier | External identifier |
![]() ![]() ![]() | I | 0..* | Reference(Procedure) | Event that dispense is part of |
![]() ![]() ![]() | ?!SΣI | 1..1 | code | preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown Binding: MedicationDispense Status Codes (required) |
![]() ![]() ![]() | I | 0..1 | Why a dispense was not performed Binding: MedicationDispense Status Reason Codes (example) | |
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference(DetectedIssue) | |||
![]() ![]() ![]() | I | 0..1 | CodeableConcept | Type of medication dispense Binding: MedicationDispense Category Codes (preferred) |
![]() ![]() ![]() | SΣI | 1..1 | What medication was supplied Binding: US Core Medication Codes (RxNorm) (extensible) | |
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference(US Core Medication Profile) | |||
![]() ![]() ![]() | SΣI | 1..1 | Reference(US Core Patient Profile) | Who the dispense is for |
![]() ![]() ![]() | I | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter / Episode associated with event |
![]() ![]() ![]() | I | 0..* | Reference(Resource) | Information that supports the dispensing of the medication |
![]() ![]() ![]() | SI | 0..* | BackboneElement | Who performed event |
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() | I | 0..* | Extension | Additional content defined by implementations |
![]() ![]() ![]() ![]() | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() | I | 0..1 | CodeableConcept | Who performed the dispense and what they did Binding: MedicationDispense Performer Function Codes (example) |
![]() ![]() ![]() ![]() | SI | 1..1 | Reference(US Core Practitioner Profile | US Core Organization Profile) | Individual who was performing |
![]() ![]() ![]() | I | 0..1 | Reference(Location) | Where the dispense occurred |
![]() ![]() ![]() | I | 0..* | Reference(MedicationRequest) | Medication order that authorizes the dispense |
![]() ![]() ![]() | I | 0..1 | CodeableConcept | Trial fill, partial fill, emergency fill, etc. Binding: ActPharmacySupplyType (example) |
![]() ![]() ![]() | I | 0..1 | SimpleQuantity | Amount dispensed |
![]() ![]() ![]() | I | 0..1 | SimpleQuantity | Amount of medication expressed as a timing amount |
![]() ![]() ![]() | ΣI | 0..1 | dateTime | When product was packaged and reviewed |
![]() ![]() ![]() | SI | 1..1 | dateTime | When product was given out |
![]() ![]() ![]() | I | 0..1 | Reference(Location) | Where the medication was sent |
![]() ![]() ![]() | I | 0..* | Reference(Patient | Practitioner) | Who collected the medication |
![]() ![]() ![]() | I | 0..* | Annotation | Information about the dispense |
![]() ![]() ![]() | SI | 0..1 | Dosage | How the medication is to be used by the patient or administered by the caregiver |
![]() ![]() ![]() | I | 0..1 | BackboneElement | Whether a substitution was performed on the dispense |
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() | I | 0..* | Extension | Additional content defined by implementations |
![]() ![]() ![]() ![]() | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() | I | 1..1 | boolean | Whether a substitution was or was not performed on the dispense |
![]() ![]() ![]() ![]() | I | 0..1 | CodeableConcept | Code signifying whether a different drug was dispensed from what was prescribed Binding: ActSubstanceAdminSubstitutionCode (example) |
![]() ![]() ![]() ![]() | I | 0..* | CodeableConcept | Why was substitution made Binding: SubstanceAdminSubstitutionReason (example) |
![]() ![]() ![]() ![]() | I | 0..* | Reference(Practitioner | PractitionerRole) | Who is responsible for the substitution |
![]() ![]() ![]() | I | 0..* | Reference(DetectedIssue) | Clinical issue with action |
![]() ![]() ![]() | I | 0..* | Reference(Provenance) | A list of relevant lifecycle events |
![]() |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Quick Start
Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.
GET /MedicationDispense?patient=[id]{&_include=MedicationDispense:medication}
Example:
- GET /MedicationDispense?patient=14676
- GET /MedicationDispense?patient=14676&_include=MedicationDispense:medication
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).