QI-Core Implementation Guide
6.0.0 - STU6 United States of America flag

QI-Core Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 6.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-qi-core/ and changes regularly. See the Directory of published versions

Resource Profile: QICore MedicationDispense

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationdispense Version: 6.0.0
Active as of 2018-08-22 Computable Name: QICoreMedicationDispense

Profile of MedicationDispense for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

Usage

To create an expression specifically requesting information that a MedicationDispense intentionally did not occur for a medical, patient or system reason, use the profile QICore-medicationnotdispensed.

The following example illustrates the use of the MedicationDispense profile

define "Dementia Medication Dispensed":
  ["MedicationDispense": "Dementia Medications"] MedicationDispense
    where MedicationDispense.status in { 'active', 'completed', 'on-hold' }

See the patterns page for implementation and usage patterns.

Examples

Penicillin MedicationDispense Example
MedicationDispense Cumulative Duration Example

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from USCoreMedicationDispenseProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense 0..* USCoreMedicationDispenseProfile Dispensing a medication to a named patient
... status 1..1 code (QI-Core)(USCDI) preparation​ | in-progress​ | cancelled​ | on-hold​ | completed​ | entered-in-error​ | stopped​ | unknown
Binding: Non-Negative MedicationDispense Status (required)
... medication[x] 1..1 (QI-Core)(USCDI) What medication was supplied
Binding: Medication Clinical Drug . (extensible): The set of RxNorm codes to represent medications

.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(QICore Medication)
... subject 1..1 Reference(QICore Patient) (QI-Core)(USCDI) Who the dispense is for
... type 0..1 CodeableConcept (QI-Core)(USCDI) Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (extensible)
... quantity 0..1 Quantity (QI-Core)(USCDI) Amount dispensed
... daysSupply 0..1 SimpleQuantity (QI-Core) Amount of medication expressed as a timing amount
... whenPrepared 0..1 dateTime (QI-Core) When product was packaged and reviewed
... whenHandedOver 0..1 dateTime (QI-Core)(USCDI) When product was given out or mailed
... dosageInstruction 0..* Dosage (QI-Core)(USCDI) How the medication is to be used by the patient or administered by the caregiver
.... text 0..1 string (QI-Core)(USCDI) Free text dosage instructions e.g. SIG
.... timing 0..1 Timing (QI-Core)(USCDI) When medication should be administered
.... doseAndRate 0..* Element (QI-Core)(USCDI) Amount of medication administered
..... dose[x] 0..1 (QI-Core)(USCDI) Amount of medication per dose
...... doseQuantity Quantity
...... doseRange Range

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationDispense.statusrequiredNonNegativeMedicationDispenseStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-medicationdispense-status
from this IG
MedicationDispense.medication[x]extensibleMedicationClinicalDrug .
http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.4
MedicationDispense.typeextensibleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* USCoreMedicationDispenseProfile Dispensing a medication to a named patient
mdd-1: whenHandedOver cannot be before whenPrepared
us-core-20: whenHandedOver SHALL be present if the status is "completed"
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣC 1..1 code (QI-Core)(USCDI) preparation​ | in-progress​ | cancelled​ | on-hold​ | completed​ | entered-in-error​ | stopped​ | unknown
Binding: Non-Negative MedicationDispense Status (required)
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(QICore Medication)
... subject SΣ 1..1 Reference(QICore Patient) (QI-Core)(USCDI) Who the dispense is for
... performer S 0..* BackboneElement (USCDI) Who performed event
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor S 1..1 Reference(US Core Practitioner Profile | US Core Organization Profile) (USCDI) Individual who was performing
... authorizingPrescription S 0..* Reference(QICore MedicationRequest) (QI-Core)(USCDI) Medication order that authorizes the dispense
... type S 0..1 CodeableConcept (QI-Core)(USCDI) Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (extensible)
... quantity S 0..1 Quantity (QI-Core)(USCDI) Amount dispensed
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
UCUMCodes Max Binding
... daysSupply 0..1 SimpleQuantity (QI-Core) Amount of medication expressed as a timing amount
... whenPrepared Σ 0..1 dateTime (QI-Core) When product was packaged and reviewed
... whenHandedOver SC 0..1 dateTime (QI-Core)(USCDI) When product was given out or mailed
... dosageInstruction S 0..* Dosage (QI-Core)(USCDI) How the medication is to be used by the patient or administered by the caregiver
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... text SΣ 0..1 string (QI-Core)(USCDI) Free text dosage instructions e.g. SIG
.... timing SΣ 0..1 Timing (QI-Core)(USCDI) When medication should be administered
.... doseAndRate SΣ 0..* Element (QI-Core)(USCDI) Amount of medication administered
..... dose[x] SΣ 0..1 (QI-Core)(USCDI) Amount of medication per dose
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
UCUMCodes Max Binding
...... doseQuantity Quantity

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationDispense.statusrequiredNonNegativeMedicationDispenseStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-medicationdispense-status
from this IG
MedicationDispense.medication[x]extensibleMedicationClinicalDrug .
http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.4
MedicationDispense.typeextensibleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
MedicationDispense.quantitypreferredCommon UCUM units
Additional Bindings Purpose
UCUMCodes Max Binding
http://hl7.org/fhir/ValueSet/ucum-common
from the FHIR Standard
MedicationDispense.dosageInstruction.doseAndRate.dose[x]preferredCommon UCUM units
Additional Bindings Purpose
UCUMCodes Max Binding
http://hl7.org/fhir/ValueSet/ucum-common
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
us-core-20errorMedicationDispensewhenHandedOver SHALL be present if the status is "completed"
: status='completed' implies whenHandedOver.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* USCoreMedicationDispenseProfile Dispensing a medication to a named patient
mdd-1: whenHandedOver cannot be before whenPrepared
us-core-20: whenHandedOver SHALL be present if the status is "completed"
... 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: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 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ΣC 1..1 code (QI-Core)(USCDI) preparation​ | in-progress​ | cancelled​ | on-hold​ | completed​ | entered-in-error​ | stopped​ | unknown
Binding: Non-Negative MedicationDispense Status (required)
... statusReason[x] 0..1 Why a dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.

.... statusReasonCodeableConcept CodeableConcept
.... statusReasonReference Reference(DetectedIssue)
... category 0..1 CodeableConcept Type of medication dispense
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.

... medication[x] SΣ 1..1 (QI-Core)(USCDI) What medication was supplied
Binding: Medication Clinical Drug . (extensible): The set of RxNorm codes to represent medications

.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(QICore Medication)
... subject SΣ 1..1 Reference(QICore Patient) (QI-Core)(USCDI) 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 S 0..* BackboneElement (USCDI) Who performed event
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... function 0..1 CodeableConcept Who performed the dispense and what they did
Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.

.... actor S 1..1 Reference(US Core Practitioner Profile S | US Core Patient Profile | US Core Organization Profile S | US Core PractitionerRole Profile | US Core RelatedPerson Profile | Device) (USCDI) Individual who was performing
... location 0..1 Reference(Location) Where the dispense occurred
... authorizingPrescription S 0..* Reference(QICore MedicationRequest) (QI-Core)(USCDI) Medication order that authorizes the dispense
... type S 0..1 CodeableConcept (QI-Core)(USCDI) Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (extensible)
... quantity S 0..1 Quantity (QI-Core)(USCDI) Amount dispensed
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
UCUMCodes Max Binding
... daysSupply 0..1 SimpleQuantity (QI-Core) Amount of medication expressed as a timing amount
... whenPrepared Σ 0..1 dateTime (QI-Core) When product was packaged and reviewed
... whenHandedOver SC 0..1 dateTime (QI-Core)(USCDI) When product was given out or mailed
... 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..* Dosage (QI-Core)(USCDI) How the medication is to be used by the patient or administered by the caregiver
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... sequence Σ 0..1 integer The order of the dosage instructions
.... text SΣ 0..1 string (QI-Core)(USCDI) Free text dosage instructions e.g. SIG
.... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ 0..1 string Patient or consumer oriented instructions
.... timing SΣ 0..1 Timing (QI-Core)(USCDI) When medication should be administered
.... asNeeded[x] Σ 0..1 Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): 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.

..... asNeededBoolean boolean
..... asNeededCodeableConcept CodeableConcept
.... site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ 0..1 CodeableConcept How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate SΣ 0..* Element (QI-Core)(USCDI) Amount of medication administered
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] SΣ 0..1 (QI-Core)(USCDI) Amount of medication per dose
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
UCUMCodes Max Binding
...... doseQuantity Quantity S
...... doseRange Range
..... rate[x] Σ 0..1 Amount of medication per unit of time
...... rateRatio Ratio
...... rateRange Range
...... rateQuantity Quantity(SimpleQuantity)
.... maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time
.... maxDosePerAdministration Σ 0..1 SimpleQuantity Upper limit on medication per administration
.... maxDosePerLifetime Σ 0..1 SimpleQuantity Upper limit on medication per lifetime of the patient
... substitution 0..1 BackboneElement Whether a substitution was performed on the dispense
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... 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): A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription.

.... reason 0..* CodeableConcept Why was substitution made
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.


.... responsibleParty 0..* Reference(Practitioner | PractitionerRole) Who is responsible for the substitution
... detectedIssue 0..* Reference(DetectedIssue) Clinical issue with action
... eventHistory 0..* Reference(Provenance) A list of relevant lifecycle events

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationDispense.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
MedicationDispense.statusrequiredNonNegativeMedicationDispenseStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-medicationdispense-status
from this IG
MedicationDispense.statusReason[x]exampleMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
from the FHIR Standard
MedicationDispense.categorypreferredMedicationDispense Category Codes
http://hl7.org/fhir/ValueSet/medicationdispense-category
from the FHIR Standard
MedicationDispense.medication[x]extensibleMedicationClinicalDrug .
http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.4
MedicationDispense.performer.functionexampleMedicationDispense Performer Function Codes
http://hl7.org/fhir/ValueSet/medicationdispense-performer-function
from the FHIR Standard
MedicationDispense.typeextensibleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
MedicationDispense.quantitypreferredCommon UCUM units
Additional Bindings Purpose
UCUMCodes Max Binding
http://hl7.org/fhir/ValueSet/ucum-common
from the FHIR Standard
MedicationDispense.dosageInstruction.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
MedicationDispense.dosageInstruction.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard
MedicationDispense.dosageInstruction.doseAndRate.dose[x]preferredCommon UCUM units
Additional Bindings Purpose
UCUMCodes Max Binding
http://hl7.org/fhir/ValueSet/ucum-common
from the FHIR Standard
MedicationDispense.substitution.typeexampleActSubstanceAdminSubstitutionCode
http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reasonexampleSubstanceAdminSubstitutionReason
http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
us-core-20errorMedicationDispensewhenHandedOver SHALL be present if the status is "completed"
: status='completed' implies whenHandedOver.exists()

Differential View

This structure is derived from USCoreMedicationDispenseProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense 0..* USCoreMedicationDispenseProfile Dispensing a medication to a named patient
... status 1..1 code (QI-Core)(USCDI) preparation​ | in-progress​ | cancelled​ | on-hold​ | completed​ | entered-in-error​ | stopped​ | unknown
Binding: Non-Negative MedicationDispense Status (required)
... medication[x] 1..1 (QI-Core)(USCDI) What medication was supplied
Binding: Medication Clinical Drug . (extensible): The set of RxNorm codes to represent medications

.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(QICore Medication)
... subject 1..1 Reference(QICore Patient) (QI-Core)(USCDI) Who the dispense is for
... type 0..1 CodeableConcept (QI-Core)(USCDI) Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (extensible)
... quantity 0..1 Quantity (QI-Core)(USCDI) Amount dispensed
... daysSupply 0..1 SimpleQuantity (QI-Core) Amount of medication expressed as a timing amount
... whenPrepared 0..1 dateTime (QI-Core) When product was packaged and reviewed
... whenHandedOver 0..1 dateTime (QI-Core)(USCDI) When product was given out or mailed
... dosageInstruction 0..* Dosage (QI-Core)(USCDI) How the medication is to be used by the patient or administered by the caregiver
.... text 0..1 string (QI-Core)(USCDI) Free text dosage instructions e.g. SIG
.... timing 0..1 Timing (QI-Core)(USCDI) When medication should be administered
.... doseAndRate 0..* Element (QI-Core)(USCDI) Amount of medication administered
..... dose[x] 0..1 (QI-Core)(USCDI) Amount of medication per dose
...... doseQuantity Quantity
...... doseRange Range

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationDispense.statusrequiredNonNegativeMedicationDispenseStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-medicationdispense-status
from this IG
MedicationDispense.medication[x]extensibleMedicationClinicalDrug .
http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.4
MedicationDispense.typeextensibleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* USCoreMedicationDispenseProfile Dispensing a medication to a named patient
mdd-1: whenHandedOver cannot be before whenPrepared
us-core-20: whenHandedOver SHALL be present if the status is "completed"
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣC 1..1 code (QI-Core)(USCDI) preparation​ | in-progress​ | cancelled​ | on-hold​ | completed​ | entered-in-error​ | stopped​ | unknown
Binding: Non-Negative MedicationDispense Status (required)
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(QICore Medication)
... subject SΣ 1..1 Reference(QICore Patient) (QI-Core)(USCDI) Who the dispense is for
... performer S 0..* BackboneElement (USCDI) Who performed event
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor S 1..1 Reference(US Core Practitioner Profile | US Core Organization Profile) (USCDI) Individual who was performing
... authorizingPrescription S 0..* Reference(QICore MedicationRequest) (QI-Core)(USCDI) Medication order that authorizes the dispense
... type S 0..1 CodeableConcept (QI-Core)(USCDI) Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (extensible)
... quantity S 0..1 Quantity (QI-Core)(USCDI) Amount dispensed
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
UCUMCodes Max Binding
... daysSupply 0..1 SimpleQuantity (QI-Core) Amount of medication expressed as a timing amount
... whenPrepared Σ 0..1 dateTime (QI-Core) When product was packaged and reviewed
... whenHandedOver SC 0..1 dateTime (QI-Core)(USCDI) When product was given out or mailed
... dosageInstruction S 0..* Dosage (QI-Core)(USCDI) How the medication is to be used by the patient or administered by the caregiver
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... text SΣ 0..1 string (QI-Core)(USCDI) Free text dosage instructions e.g. SIG
.... timing SΣ 0..1 Timing (QI-Core)(USCDI) When medication should be administered
.... doseAndRate SΣ 0..* Element (QI-Core)(USCDI) Amount of medication administered
..... dose[x] SΣ 0..1 (QI-Core)(USCDI) Amount of medication per dose
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
UCUMCodes Max Binding
...... doseQuantity Quantity

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationDispense.statusrequiredNonNegativeMedicationDispenseStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-medicationdispense-status
from this IG
MedicationDispense.medication[x]extensibleMedicationClinicalDrug .
http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.4
MedicationDispense.typeextensibleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
MedicationDispense.quantitypreferredCommon UCUM units
Additional Bindings Purpose
UCUMCodes Max Binding
http://hl7.org/fhir/ValueSet/ucum-common
from the FHIR Standard
MedicationDispense.dosageInstruction.doseAndRate.dose[x]preferredCommon UCUM units
Additional Bindings Purpose
UCUMCodes Max Binding
http://hl7.org/fhir/ValueSet/ucum-common
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
us-core-20errorMedicationDispensewhenHandedOver SHALL be present if the status is "completed"
: status='completed' implies whenHandedOver.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* USCoreMedicationDispenseProfile Dispensing a medication to a named patient
mdd-1: whenHandedOver cannot be before whenPrepared
us-core-20: whenHandedOver SHALL be present if the status is "completed"
... 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: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 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ΣC 1..1 code (QI-Core)(USCDI) preparation​ | in-progress​ | cancelled​ | on-hold​ | completed​ | entered-in-error​ | stopped​ | unknown
Binding: Non-Negative MedicationDispense Status (required)
... statusReason[x] 0..1 Why a dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.

.... statusReasonCodeableConcept CodeableConcept
.... statusReasonReference Reference(DetectedIssue)
... category 0..1 CodeableConcept Type of medication dispense
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.

... medication[x] SΣ 1..1 (QI-Core)(USCDI) What medication was supplied
Binding: Medication Clinical Drug . (extensible): The set of RxNorm codes to represent medications

.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(QICore Medication)
... subject SΣ 1..1 Reference(QICore Patient) (QI-Core)(USCDI) 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 S 0..* BackboneElement (USCDI) Who performed event
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... function 0..1 CodeableConcept Who performed the dispense and what they did
Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.

.... actor S 1..1 Reference(US Core Practitioner Profile S | US Core Patient Profile | US Core Organization Profile S | US Core PractitionerRole Profile | US Core RelatedPerson Profile | Device) (USCDI) Individual who was performing
... location 0..1 Reference(Location) Where the dispense occurred
... authorizingPrescription S 0..* Reference(QICore MedicationRequest) (QI-Core)(USCDI) Medication order that authorizes the dispense
... type S 0..1 CodeableConcept (QI-Core)(USCDI) Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (extensible)
... quantity S 0..1 Quantity (QI-Core)(USCDI) Amount dispensed
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
UCUMCodes Max Binding
... daysSupply 0..1 SimpleQuantity (QI-Core) Amount of medication expressed as a timing amount
... whenPrepared Σ 0..1 dateTime (QI-Core) When product was packaged and reviewed
... whenHandedOver SC 0..1 dateTime (QI-Core)(USCDI) When product was given out or mailed
... 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..* Dosage (QI-Core)(USCDI) How the medication is to be used by the patient or administered by the caregiver
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... sequence Σ 0..1 integer The order of the dosage instructions
.... text SΣ 0..1 string (QI-Core)(USCDI) Free text dosage instructions e.g. SIG
.... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ 0..1 string Patient or consumer oriented instructions
.... timing SΣ 0..1 Timing (QI-Core)(USCDI) When medication should be administered
.... asNeeded[x] Σ 0..1 Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): 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.

..... asNeededBoolean boolean
..... asNeededCodeableConcept CodeableConcept
.... site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ 0..1 CodeableConcept How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate SΣ 0..* Element (QI-Core)(USCDI) Amount of medication administered
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] SΣ 0..1 (QI-Core)(USCDI) Amount of medication per dose
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
UCUMCodes Max Binding
...... doseQuantity Quantity S
...... doseRange Range
..... rate[x] Σ 0..1 Amount of medication per unit of time
...... rateRatio Ratio
...... rateRange Range
...... rateQuantity Quantity(SimpleQuantity)
.... maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time
.... maxDosePerAdministration Σ 0..1 SimpleQuantity Upper limit on medication per administration
.... maxDosePerLifetime Σ 0..1 SimpleQuantity Upper limit on medication per lifetime of the patient
... substitution 0..1 BackboneElement Whether a substitution was performed on the dispense
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... 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): A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription.

.... reason 0..* CodeableConcept Why was substitution made
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.


.... responsibleParty 0..* Reference(Practitioner | PractitionerRole) Who is responsible for the substitution
... detectedIssue 0..* Reference(DetectedIssue) Clinical issue with action
... eventHistory 0..* Reference(Provenance) A list of relevant lifecycle events

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationDispense.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
MedicationDispense.statusrequiredNonNegativeMedicationDispenseStatus
http://hl7.org/fhir/us/qicore/ValueSet/qicore-non-negative-medicationdispense-status
from this IG
MedicationDispense.statusReason[x]exampleMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
from the FHIR Standard
MedicationDispense.categorypreferredMedicationDispense Category Codes
http://hl7.org/fhir/ValueSet/medicationdispense-category
from the FHIR Standard
MedicationDispense.medication[x]extensibleMedicationClinicalDrug .
http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.4
MedicationDispense.performer.functionexampleMedicationDispense Performer Function Codes
http://hl7.org/fhir/ValueSet/medicationdispense-performer-function
from the FHIR Standard
MedicationDispense.typeextensibleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
MedicationDispense.quantitypreferredCommon UCUM units
Additional Bindings Purpose
UCUMCodes Max Binding
http://hl7.org/fhir/ValueSet/ucum-common
from the FHIR Standard
MedicationDispense.dosageInstruction.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
MedicationDispense.dosageInstruction.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard
MedicationDispense.dosageInstruction.doseAndRate.dose[x]preferredCommon UCUM units
Additional Bindings Purpose
UCUMCodes Max Binding
http://hl7.org/fhir/ValueSet/ucum-common
from the FHIR Standard
MedicationDispense.substitution.typeexampleActSubstanceAdminSubstitutionCode
http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reasonexampleSubstanceAdminSubstitutionReason
http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
us-core-20errorMedicationDispensewhenHandedOver SHALL be present if the status is "completed"
: status='completed' implies whenHandedOver.exists()

 

Other representations of profile: CSV, Excel, Schematron