SIL HIE Implementation Guide
0.1.0 - sil-hie-active

SIL HIE Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/hie-fhir-ig-profile/ and changes regularly. See the Directory of published versions

Resource Profile: HIE MedicationDispense

Official URL: https://nshr.dha.go.ke/fhir/StructureDefinition/medicationdispense Version: 0.1.0
Active as of 2026-10-20 Computable Name: HIEMedicationDispense

R4B MedicationDispense for HIE fulfillment. Focus on status, medication, subject, authorship, quantity, daysSupply, timing, performer, prescription linkage, and substitution.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense Dispensing a medication to a named patient
Constraints: mdd-1, md-has-when
MedicationDispense.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.identifier 0..* Identifier External identifier
MedicationDispense.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
MedicationDispense.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
MedicationDispense.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
MedicationDispense.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
MedicationDispense.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
MedicationDispense.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): Describes the lifecycle of the dispense.
MedicationDispense.Slices for statusReason[x] 0..1 Why a dispense was not performed
Slice: Unordered, Closed by type:$this
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for statusReason[x].statusReasonCodeableConcept CodeableConcept
MedicationDispense.Slices for statusReason[x].statusReasonReference Reference(DetectedIssue)
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonCodeableConcept C 0..1 HIECodeableConcept Why a dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
Constraints: cc-text-or-code
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonReference 0..1 HIEReference(DetectedIssue) Why a dispense was not performed
MedicationDispense.category This element must be supported. C 1..1 HIECodeableConcept Type of medication dispense
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.
Constraints: cc-text-or-code
MedicationDispense.Slices for medication[x] This element must be supported. This element is included in summaries. 1..1 What medication was supplied
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.Slices for medication[x].medicationReference Reference(Medication)
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept This element is included in summaries. C 0..1 HIECodeableConcept What medication was supplied
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
Constraints: cc-text-or-code
MedicationDispense.Slices for medication[x].medication[x]:medicationReference This element is included in summaries. 0..1 HIEReference(HIE Medication) What medication was supplied
MedicationDispense.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) Who the dispense is for
MedicationDispense.context 1..1 HIEReference(HIE Encounter | HIE EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.supportingInformation 0..* HIEReference(Resource) Information that supports the dispensing of the medication
MedicationDispense.performer This element must be supported. 1..* BackboneElement Who performed event
MedicationDispense.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.performer.function C 0..1 HIECodeableConcept 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.
Constraints: cc-text-or-code
MedicationDispense.performer.actor This element must be supported. 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson) Individual who was performing
MedicationDispense.location 0..1 HIEReference(Location) Where the dispense occurred
MedicationDispense.authorizingPrescription This element must be supported. 1..* HIEReference(HIE MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.type C 0..1 HIECodeableConcept Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): ActPharmacySupplyType
Constraints: cc-text-or-code
MedicationDispense.quantity This element must be supported. C 0..1 SimpleQuantity(4.3.0) Amount dispensed
Constraints: sqty-1
MedicationDispense.daysSupply This element must be supported. C 0..1 SimpleQuantity(4.3.0) Amount of medication expressed as a timing amount
Constraints: sqty-1
MedicationDispense.destination 0..1 HIEReference(Location) Where the medication was sent
MedicationDispense.receiver 1..* HIEReference(HIE Patient | HIE Practitioner) Who collected the medication
MedicationDispense.note 0..* HIEAnnotation Information about the dispense
MedicationDispense.dosageInstruction This element must be supported. 1..* Dosage How the medication is to be used by the patient or administered by the caregiver
MedicationDispense.detectedIssue 0..* HIEReference(DetectedIssue) Clinical issue with action
MedicationDispense.eventHistory 0..* HIEReference(Provenance) A list of relevant lifecycle events

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationDispense.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationDispense.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
MedicationDispense.status Base required MedicationDispense Status Codes 📍4.3.0 FHIR Std.
MedicationDispense.statusReason[x] Base example MedicationDispense Status Reason Codes 📍4.3.0 FHIR Std.
MedicationDispense.statusReason[x]:statusReasonCodeableConcept Base example MedicationDispense Status Reason Codes 📍4.3.0 FHIR Std.
MedicationDispense.category Base preferred MedicationDispense Category Codes 📍4.3.0 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationDispense.medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationDispense.performer.​function Base example MedicationDispense Performer Function Codes 📍4.3.0 FHIR Std.
MedicationDispense.type Base example ActPharmacySupplyType 📦3.0.0 THO v7.4

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning MedicationDispense.identifier.type, MedicationDispense.statusReason[x]:statusReasonCodeableConcept, MedicationDispense.category, MedicationDispense.medication[x]:medicationCodeableConcept, MedicationDispense.performer.function, MedicationDispense.type Text is optional, coding is required coding.exists()
dom-2 error MedicationDispense If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationDispense If 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MedicationDispense If 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-5 error MedicationDispense If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationDispense A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
md-has-when warning MedicationDispense Provide whenPrepared or whenHandedOver whenPrepared.exists() or whenHandedOver.exists()
mdd-1 error MedicationDispense whenHandedOver cannot be before whenPrepared whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
sqty-1 error MedicationDispense.quantity, MedicationDispense.daysSupply The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from MedicationDispense

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense Dispensing a medication to a named patient
Constraints: md-has-when
MedicationDispense.identifier
MedicationDispense.identifier.use 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
MedicationDispense.identifier.type 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
MedicationDispense.identifier.system 1..1 uri The namespace for the identifier value
MedicationDispense.identifier.value This element must be supported. 1..1 string The value that is unique
MedicationDispense.identifier.assigner This element must be supported. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
MedicationDispense.status This element must be supported. 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
MedicationDispense.Slices for statusReason[x] 0..1 Why a dispense was not performed
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for statusReason[x].statusReasonCodeableConcept CodeableConcept
MedicationDispense.Slices for statusReason[x].statusReasonReference Reference(DetectedIssue)
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonCodeableConcept 0..1 HIECodeableConcept Why a dispense was not performed
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonReference 0..1 HIEReference(DetectedIssue) Why a dispense was not performed
MedicationDispense.Slices for medication[x] This element must be supported. 1..1 CodeableConcept, Reference(Medication) What medication was supplied
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept 0..1 HIECodeableConcept What medication was supplied
MedicationDispense.Slices for medication[x].medication[x]:medicationReference 0..1 HIEReference(HIE Medication) What medication was supplied
MedicationDispense.subject This element must be supported. 1..1 HIEReference(HIE Patient) Who the dispense is for
MedicationDispense.context 1..1 HIEReference(HIE Encounter | HIE EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.supportingInformation 0..* HIEReference(Resource) Information that supports the dispensing of the medication
MedicationDispense.performer This element must be supported. 1..* BackboneElement Who performed event
MedicationDispense.performer.function 0..1 HIECodeableConcept Who performed the dispense and what they did
MedicationDispense.performer.actor This element must be supported. 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson) Individual who was performing
MedicationDispense.location 0..1 HIEReference(Location) Where the dispense occurred
MedicationDispense.authorizingPrescription This element must be supported. 1..* HIEReference(HIE MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.type 0..1 HIECodeableConcept Trial fill, partial fill, emergency fill, etc.
MedicationDispense.quantity This element must be supported. 0..1 SimpleQuantity(4.3.0) Amount dispensed
MedicationDispense.daysSupply This element must be supported. 0..1 SimpleQuantity(4.3.0) Amount of medication expressed as a timing amount
MedicationDispense.destination 0..1 HIEReference(Location) Where the medication was sent
MedicationDispense.receiver 1..* HIEReference(HIE Patient | HIE Practitioner) Who collected the medication
MedicationDispense.note 0..* HIEAnnotation Information about the dispense
MedicationDispense.dosageInstruction This element must be supported. 1..* Dosage How the medication is to be used by the patient or administered by the caregiver
MedicationDispense.substitution
MedicationDispense.substitution.type 1..1 HIECodeableConcept Code signifying whether a different drug was dispensed from what was prescribed
MedicationDispense.substitution.reason 0..* HIECodeableConcept Why was substitution made
MedicationDispense.substitution.responsibleParty 1..* HIEReference(HIE Practitioner | HIE PractitionerRole) Who is responsible for the substitution
MedicationDispense.detectedIssue 0..* HIEReference(DetectedIssue) Clinical issue with action
MedicationDispense.eventHistory 0..* HIEReference(Provenance) A list of relevant lifecycle events

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationDispense.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationDispense.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
md-has-when warning MedicationDispense Provide whenPrepared or whenHandedOver whenPrepared.exists() or whenHandedOver.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense Dispensing a medication to a named patient
Constraints: mdd-1, md-has-when
MedicationDispense.id This element is included in summaries. 0..1 id Logical id of this artifact
MedicationDispense.meta This element is included in summaries. 0..1 Meta Metadata about the resource
MedicationDispense.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationDispense.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
MedicationDispense.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
MedicationDispense.contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
MedicationDispense.extension 0..* Extension Additional content defined by implementations
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.identifier 0..* Identifier External identifier
MedicationDispense.identifier.id 0..1 id Unique id for inter-element referencing
MedicationDispense.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
MedicationDispense.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
MedicationDispense.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
MedicationDispense.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
MedicationDispense.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
MedicationDispense.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
MedicationDispense.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
MedicationDispense.partOf 0..* Reference(Procedure) Event that dispense is part of
MedicationDispense.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): Describes the lifecycle of the dispense.
MedicationDispense.Slices for statusReason[x] 0..1 Why a dispense was not performed
Slice: Unordered, Closed by type:$this
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for statusReason[x].statusReasonCodeableConcept CodeableConcept
MedicationDispense.Slices for statusReason[x].statusReasonReference Reference(DetectedIssue)
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonCodeableConcept C 0..1 HIECodeableConcept Why a dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
Constraints: cc-text-or-code
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonReference 0..1 HIEReference(DetectedIssue) Why a dispense was not performed
MedicationDispense.category This element must be supported. C 1..1 HIECodeableConcept Type of medication dispense
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.
Constraints: cc-text-or-code
MedicationDispense.Slices for medication[x] This element must be supported. This element is included in summaries. 1..1 What medication was supplied
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.Slices for medication[x].medicationReference Reference(Medication)
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept This element is included in summaries. C 0..1 HIECodeableConcept What medication was supplied
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
Constraints: cc-text-or-code
MedicationDispense.Slices for medication[x].medication[x]:medicationReference This element is included in summaries. 0..1 HIEReference(HIE Medication) What medication was supplied
MedicationDispense.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) Who the dispense is for
MedicationDispense.context 1..1 HIEReference(HIE Encounter | HIE EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.supportingInformation 0..* HIEReference(Resource) Information that supports the dispensing of the medication
MedicationDispense.performer This element must be supported. 1..* BackboneElement Who performed event
MedicationDispense.performer.id 0..1 string Unique id for inter-element referencing
MedicationDispense.performer.extension 0..* Extension Additional content defined by implementations
MedicationDispense.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.performer.function C 0..1 HIECodeableConcept 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.
Constraints: cc-text-or-code
MedicationDispense.performer.actor This element must be supported. 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson) Individual who was performing
MedicationDispense.location 0..1 HIEReference(Location) Where the dispense occurred
MedicationDispense.authorizingPrescription This element must be supported. 1..* HIEReference(HIE MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.type C 0..1 HIECodeableConcept Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): ActPharmacySupplyType
Constraints: cc-text-or-code
MedicationDispense.quantity This element must be supported. C 0..1 SimpleQuantity(4.3.0) Amount dispensed
Constraints: sqty-1
MedicationDispense.daysSupply This element must be supported. C 0..1 SimpleQuantity(4.3.0) Amount of medication expressed as a timing amount
Constraints: sqty-1
MedicationDispense.whenPrepared This element is included in summaries. 0..1 dateTime When product was packaged and reviewed
MedicationDispense.whenHandedOver 0..1 dateTime When product was given out
MedicationDispense.destination 0..1 HIEReference(Location) Where the medication was sent
MedicationDispense.receiver 1..* HIEReference(HIE Patient | HIE Practitioner) Who collected the medication
MedicationDispense.note 0..* HIEAnnotation Information about the dispense
MedicationDispense.dosageInstruction This element must be supported. 1..* Dosage How the medication is to be used by the patient or administered by the caregiver
MedicationDispense.substitution 0..1 BackboneElement Whether a substitution was performed on the dispense
MedicationDispense.substitution.id 0..1 string Unique id for inter-element referencing
MedicationDispense.substitution.extension 0..* Extension Additional content defined by implementations
MedicationDispense.substitution.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.substitution.wasSubstituted 1..1 boolean Whether a substitution was or was not performed on the dispense
MedicationDispense.substitution.type C 1..1 HIECodeableConcept Code signifying whether a different drug was dispensed from what was prescribed
Binding: ActSubstanceAdminSubstitutionCode (example): ActSubstanceAdminSubstitutionCode
Constraints: cc-text-or-code
MedicationDispense.substitution.reason C 0..* HIECodeableConcept Why was substitution made
Binding: SubstanceAdminSubstitutionReason (example): SubstanceAdminSubstitutionReason
Constraints: cc-text-or-code
MedicationDispense.substitution.responsibleParty 1..* HIEReference(HIE Practitioner | HIE PractitionerRole) Who is responsible for the substitution
MedicationDispense.detectedIssue 0..* HIEReference(DetectedIssue) Clinical issue with action
MedicationDispense.eventHistory 0..* HIEReference(Provenance) A list of relevant lifecycle events

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationDispense.language Base preferred Common Languages 📍4.3.0 FHIR Std.
MedicationDispense.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationDispense.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
MedicationDispense.status Base required MedicationDispense Status Codes 📍4.3.0 FHIR Std.
MedicationDispense.statusReason[x] Base example MedicationDispense Status Reason Codes 📍4.3.0 FHIR Std.
MedicationDispense.statusReason[x]:statusReasonCodeableConcept Base example MedicationDispense Status Reason Codes 📍4.3.0 FHIR Std.
MedicationDispense.category Base preferred MedicationDispense Category Codes 📍4.3.0 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationDispense.medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationDispense.performer.​function Base example MedicationDispense Performer Function Codes 📍4.3.0 FHIR Std.
MedicationDispense.type Base example ActPharmacySupplyType 📦3.0.0 THO v7.4
MedicationDispense.substitution.​type Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.4
MedicationDispense.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.4

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning MedicationDispense.identifier.type, MedicationDispense.statusReason[x]:statusReasonCodeableConcept, MedicationDispense.category, MedicationDispense.medication[x]:medicationCodeableConcept, MedicationDispense.performer.function, MedicationDispense.type, MedicationDispense.substitution.type, MedicationDispense.substitution.reason Text is optional, coding is required coding.exists()
dom-2 error MedicationDispense If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationDispense If 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MedicationDispense If 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-5 error MedicationDispense If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationDispense A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning MedicationDispense.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
md-has-when warning MedicationDispense Provide whenPrepared or whenHandedOver whenPrepared.exists() or whenHandedOver.exists()
mdd-1 error MedicationDispense whenHandedOver cannot be before whenPrepared whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
sqty-1 error MedicationDispense.quantity, MedicationDispense.daysSupply The comparator is not used on a SimpleQuantity comparator.empty()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense Dispensing a medication to a named patient
Constraints: mdd-1, md-has-when
MedicationDispense.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.identifier 0..* Identifier External identifier
MedicationDispense.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
MedicationDispense.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
MedicationDispense.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
MedicationDispense.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
MedicationDispense.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
MedicationDispense.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): Describes the lifecycle of the dispense.
MedicationDispense.Slices for statusReason[x] 0..1 Why a dispense was not performed
Slice: Unordered, Closed by type:$this
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for statusReason[x].statusReasonCodeableConcept CodeableConcept
MedicationDispense.Slices for statusReason[x].statusReasonReference Reference(DetectedIssue)
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonCodeableConcept C 0..1 HIECodeableConcept Why a dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
Constraints: cc-text-or-code
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonReference 0..1 HIEReference(DetectedIssue) Why a dispense was not performed
MedicationDispense.category This element must be supported. C 1..1 HIECodeableConcept Type of medication dispense
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.
Constraints: cc-text-or-code
MedicationDispense.Slices for medication[x] This element must be supported. This element is included in summaries. 1..1 What medication was supplied
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.Slices for medication[x].medicationReference Reference(Medication)
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept This element is included in summaries. C 0..1 HIECodeableConcept What medication was supplied
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
Constraints: cc-text-or-code
MedicationDispense.Slices for medication[x].medication[x]:medicationReference This element is included in summaries. 0..1 HIEReference(HIE Medication) What medication was supplied
MedicationDispense.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) Who the dispense is for
MedicationDispense.context 1..1 HIEReference(HIE Encounter | HIE EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.supportingInformation 0..* HIEReference(Resource) Information that supports the dispensing of the medication
MedicationDispense.performer This element must be supported. 1..* BackboneElement Who performed event
MedicationDispense.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.performer.function C 0..1 HIECodeableConcept 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.
Constraints: cc-text-or-code
MedicationDispense.performer.actor This element must be supported. 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson) Individual who was performing
MedicationDispense.location 0..1 HIEReference(Location) Where the dispense occurred
MedicationDispense.authorizingPrescription This element must be supported. 1..* HIEReference(HIE MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.type C 0..1 HIECodeableConcept Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): ActPharmacySupplyType
Constraints: cc-text-or-code
MedicationDispense.quantity This element must be supported. C 0..1 SimpleQuantity(4.3.0) Amount dispensed
Constraints: sqty-1
MedicationDispense.daysSupply This element must be supported. C 0..1 SimpleQuantity(4.3.0) Amount of medication expressed as a timing amount
Constraints: sqty-1
MedicationDispense.destination 0..1 HIEReference(Location) Where the medication was sent
MedicationDispense.receiver 1..* HIEReference(HIE Patient | HIE Practitioner) Who collected the medication
MedicationDispense.note 0..* HIEAnnotation Information about the dispense
MedicationDispense.dosageInstruction This element must be supported. 1..* Dosage How the medication is to be used by the patient or administered by the caregiver
MedicationDispense.detectedIssue 0..* HIEReference(DetectedIssue) Clinical issue with action
MedicationDispense.eventHistory 0..* HIEReference(Provenance) A list of relevant lifecycle events

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationDispense.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationDispense.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
MedicationDispense.status Base required MedicationDispense Status Codes 📍4.3.0 FHIR Std.
MedicationDispense.statusReason[x] Base example MedicationDispense Status Reason Codes 📍4.3.0 FHIR Std.
MedicationDispense.statusReason[x]:statusReasonCodeableConcept Base example MedicationDispense Status Reason Codes 📍4.3.0 FHIR Std.
MedicationDispense.category Base preferred MedicationDispense Category Codes 📍4.3.0 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationDispense.medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationDispense.performer.​function Base example MedicationDispense Performer Function Codes 📍4.3.0 FHIR Std.
MedicationDispense.type Base example ActPharmacySupplyType 📦3.0.0 THO v7.4

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning MedicationDispense.identifier.type, MedicationDispense.statusReason[x]:statusReasonCodeableConcept, MedicationDispense.category, MedicationDispense.medication[x]:medicationCodeableConcept, MedicationDispense.performer.function, MedicationDispense.type Text is optional, coding is required coding.exists()
dom-2 error MedicationDispense If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationDispense If 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MedicationDispense If 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-5 error MedicationDispense If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationDispense A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
md-has-when warning MedicationDispense Provide whenPrepared or whenHandedOver whenPrepared.exists() or whenHandedOver.exists()
mdd-1 error MedicationDispense whenHandedOver cannot be before whenPrepared whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
sqty-1 error MedicationDispense.quantity, MedicationDispense.daysSupply The comparator is not used on a SimpleQuantity comparator.empty()

Differential View

This structure is derived from MedicationDispense

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense Dispensing a medication to a named patient
Constraints: md-has-when
MedicationDispense.identifier
MedicationDispense.identifier.use 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
MedicationDispense.identifier.type 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
MedicationDispense.identifier.system 1..1 uri The namespace for the identifier value
MedicationDispense.identifier.value This element must be supported. 1..1 string The value that is unique
MedicationDispense.identifier.assigner This element must be supported. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
MedicationDispense.status This element must be supported. 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
MedicationDispense.Slices for statusReason[x] 0..1 Why a dispense was not performed
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for statusReason[x].statusReasonCodeableConcept CodeableConcept
MedicationDispense.Slices for statusReason[x].statusReasonReference Reference(DetectedIssue)
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonCodeableConcept 0..1 HIECodeableConcept Why a dispense was not performed
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonReference 0..1 HIEReference(DetectedIssue) Why a dispense was not performed
MedicationDispense.category This element must be supported. 1..1 HIECodeableConcept Type of medication dispense
MedicationDispense.Slices for medication[x] This element must be supported. 1..1 CodeableConcept, Reference(Medication) What medication was supplied
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept 0..1 HIECodeableConcept What medication was supplied
MedicationDispense.Slices for medication[x].medication[x]:medicationReference 0..1 HIEReference(HIE Medication) What medication was supplied
MedicationDispense.subject This element must be supported. 1..1 HIEReference(HIE Patient) Who the dispense is for
MedicationDispense.context 1..1 HIEReference(HIE Encounter | HIE EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.supportingInformation 0..* HIEReference(Resource) Information that supports the dispensing of the medication
MedicationDispense.performer This element must be supported. 1..* BackboneElement Who performed event
MedicationDispense.performer.function 0..1 HIECodeableConcept Who performed the dispense and what they did
MedicationDispense.performer.actor This element must be supported. 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson) Individual who was performing
MedicationDispense.location 0..1 HIEReference(Location) Where the dispense occurred
MedicationDispense.authorizingPrescription This element must be supported. 1..* HIEReference(HIE MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.type 0..1 HIECodeableConcept Trial fill, partial fill, emergency fill, etc.
MedicationDispense.quantity This element must be supported. 0..1 SimpleQuantity(4.3.0) Amount dispensed
MedicationDispense.daysSupply This element must be supported. 0..1 SimpleQuantity(4.3.0) Amount of medication expressed as a timing amount
MedicationDispense.destination 0..1 HIEReference(Location) Where the medication was sent
MedicationDispense.receiver 1..* HIEReference(HIE Patient | HIE Practitioner) Who collected the medication
MedicationDispense.note 0..* HIEAnnotation Information about the dispense
MedicationDispense.dosageInstruction This element must be supported. 1..* Dosage How the medication is to be used by the patient or administered by the caregiver
MedicationDispense.substitution
MedicationDispense.substitution.type 1..1 HIECodeableConcept Code signifying whether a different drug was dispensed from what was prescribed
MedicationDispense.substitution.reason 0..* HIECodeableConcept Why was substitution made
MedicationDispense.substitution.responsibleParty 1..* HIEReference(HIE Practitioner | HIE PractitionerRole) Who is responsible for the substitution
MedicationDispense.detectedIssue 0..* HIEReference(DetectedIssue) Clinical issue with action
MedicationDispense.eventHistory 0..* HIEReference(Provenance) A list of relevant lifecycle events

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationDispense.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationDispense.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
md-has-when warning MedicationDispense Provide whenPrepared or whenHandedOver whenPrepared.exists() or whenHandedOver.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense Dispensing a medication to a named patient
Constraints: mdd-1, md-has-when
MedicationDispense.id This element is included in summaries. 0..1 id Logical id of this artifact
MedicationDispense.meta This element is included in summaries. 0..1 Meta Metadata about the resource
MedicationDispense.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationDispense.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
MedicationDispense.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
MedicationDispense.contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
MedicationDispense.extension 0..* Extension Additional content defined by implementations
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.identifier 0..* Identifier External identifier
MedicationDispense.identifier.id 0..1 id Unique id for inter-element referencing
MedicationDispense.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
MedicationDispense.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
MedicationDispense.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
MedicationDispense.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
MedicationDispense.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
MedicationDispense.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
MedicationDispense.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
MedicationDispense.partOf 0..* Reference(Procedure) Event that dispense is part of
MedicationDispense.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): Describes the lifecycle of the dispense.
MedicationDispense.Slices for statusReason[x] 0..1 Why a dispense was not performed
Slice: Unordered, Closed by type:$this
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for statusReason[x].statusReasonCodeableConcept CodeableConcept
MedicationDispense.Slices for statusReason[x].statusReasonReference Reference(DetectedIssue)
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonCodeableConcept C 0..1 HIECodeableConcept Why a dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
Constraints: cc-text-or-code
MedicationDispense.Slices for statusReason[x].statusReason[x]:statusReasonReference 0..1 HIEReference(DetectedIssue) Why a dispense was not performed
MedicationDispense.category This element must be supported. C 1..1 HIECodeableConcept Type of medication dispense
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.
Constraints: cc-text-or-code
MedicationDispense.Slices for medication[x] This element must be supported. This element is included in summaries. 1..1 What medication was supplied
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.Slices for medication[x].medicationReference Reference(Medication)
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept This element is included in summaries. C 0..1 HIECodeableConcept What medication was supplied
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
Constraints: cc-text-or-code
MedicationDispense.Slices for medication[x].medication[x]:medicationReference This element is included in summaries. 0..1 HIEReference(HIE Medication) What medication was supplied
MedicationDispense.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) Who the dispense is for
MedicationDispense.context 1..1 HIEReference(HIE Encounter | HIE EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.supportingInformation 0..* HIEReference(Resource) Information that supports the dispensing of the medication
MedicationDispense.performer This element must be supported. 1..* BackboneElement Who performed event
MedicationDispense.performer.id 0..1 string Unique id for inter-element referencing
MedicationDispense.performer.extension 0..* Extension Additional content defined by implementations
MedicationDispense.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.performer.function C 0..1 HIECodeableConcept 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.
Constraints: cc-text-or-code
MedicationDispense.performer.actor This element must be supported. 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson) Individual who was performing
MedicationDispense.location 0..1 HIEReference(Location) Where the dispense occurred
MedicationDispense.authorizingPrescription This element must be supported. 1..* HIEReference(HIE MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.type C 0..1 HIECodeableConcept Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): ActPharmacySupplyType
Constraints: cc-text-or-code
MedicationDispense.quantity This element must be supported. C 0..1 SimpleQuantity(4.3.0) Amount dispensed
Constraints: sqty-1
MedicationDispense.daysSupply This element must be supported. C 0..1 SimpleQuantity(4.3.0) Amount of medication expressed as a timing amount
Constraints: sqty-1
MedicationDispense.whenPrepared This element is included in summaries. 0..1 dateTime When product was packaged and reviewed
MedicationDispense.whenHandedOver 0..1 dateTime When product was given out
MedicationDispense.destination 0..1 HIEReference(Location) Where the medication was sent
MedicationDispense.receiver 1..* HIEReference(HIE Patient | HIE Practitioner) Who collected the medication
MedicationDispense.note 0..* HIEAnnotation Information about the dispense
MedicationDispense.dosageInstruction This element must be supported. 1..* Dosage How the medication is to be used by the patient or administered by the caregiver
MedicationDispense.substitution 0..1 BackboneElement Whether a substitution was performed on the dispense
MedicationDispense.substitution.id 0..1 string Unique id for inter-element referencing
MedicationDispense.substitution.extension 0..* Extension Additional content defined by implementations
MedicationDispense.substitution.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.substitution.wasSubstituted 1..1 boolean Whether a substitution was or was not performed on the dispense
MedicationDispense.substitution.type C 1..1 HIECodeableConcept Code signifying whether a different drug was dispensed from what was prescribed
Binding: ActSubstanceAdminSubstitutionCode (example): ActSubstanceAdminSubstitutionCode
Constraints: cc-text-or-code
MedicationDispense.substitution.reason C 0..* HIECodeableConcept Why was substitution made
Binding: SubstanceAdminSubstitutionReason (example): SubstanceAdminSubstitutionReason
Constraints: cc-text-or-code
MedicationDispense.substitution.responsibleParty 1..* HIEReference(HIE Practitioner | HIE PractitionerRole) Who is responsible for the substitution
MedicationDispense.detectedIssue 0..* HIEReference(DetectedIssue) Clinical issue with action
MedicationDispense.eventHistory 0..* HIEReference(Provenance) A list of relevant lifecycle events

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationDispense.language Base preferred Common Languages 📍4.3.0 FHIR Std.
MedicationDispense.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationDispense.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
MedicationDispense.status Base required MedicationDispense Status Codes 📍4.3.0 FHIR Std.
MedicationDispense.statusReason[x] Base example MedicationDispense Status Reason Codes 📍4.3.0 FHIR Std.
MedicationDispense.statusReason[x]:statusReasonCodeableConcept Base example MedicationDispense Status Reason Codes 📍4.3.0 FHIR Std.
MedicationDispense.category Base preferred MedicationDispense Category Codes 📍4.3.0 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationDispense.medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationDispense.performer.​function Base example MedicationDispense Performer Function Codes 📍4.3.0 FHIR Std.
MedicationDispense.type Base example ActPharmacySupplyType 📦3.0.0 THO v7.4
MedicationDispense.substitution.​type Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.4
MedicationDispense.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.4

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning MedicationDispense.identifier.type, MedicationDispense.statusReason[x]:statusReasonCodeableConcept, MedicationDispense.category, MedicationDispense.medication[x]:medicationCodeableConcept, MedicationDispense.performer.function, MedicationDispense.type, MedicationDispense.substitution.type, MedicationDispense.substitution.reason Text is optional, coding is required coding.exists()
dom-2 error MedicationDispense If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationDispense If 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MedicationDispense If 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-5 error MedicationDispense If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationDispense A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning MedicationDispense.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
md-has-when warning MedicationDispense Provide whenPrepared or whenHandedOver whenPrepared.exists() or whenHandedOver.exists()
mdd-1 error MedicationDispense whenHandedOver cannot be before whenPrepared whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
sqty-1 error MedicationDispense.quantity, MedicationDispense.daysSupply The comparator is not used on a SimpleQuantity comparator.empty()

 

Other representations of profile: CSV, Excel, Schematron