Medication IG DE
2.0.0-ballot - ballot

Medication IG DE, published by HL7 Deutschland e.V.. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7germany/medication-ig-de-r4/ and changes regularly. See the Directory of published versions

Resource Profile: Medication Dispense DE ( Abstract )

Official URL: http://ig.fhir.de/igs/medication/StructureDefinition/MedicationDispenseDE Version: 2.0.0-ballot
Active as of 2026-10-16 Computable Name: MedicationDispenseDE

Dieses Profil dient ausschließlich der Validierung des Implementation Guides auf DosageDE-Ebene (u. a. der Warnungs-Beispiele, die im dgMP-Profil als Fehler modelliert sind) und ist nicht für den produktiven Einsatz gedacht. Stattdessen sollte das jeweils passende Dosage-Profil direkt in das eigene Profil eingebunden werden.

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 This is an abstract profile.
Dispensing a medication to a named patient
Constraints: mdd-1
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.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction
Constraints: ext-1
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction"
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationDispense.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.status This element is a modifier element. 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): A coded concept specifying the state of the dispense event.
MedicationDispense.medication[x] This element is included in summaries. 1..1 What medication was supplied
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
MedicationDispense.medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.medication[x].medicationReference Reference(Medication)
MedicationDispense.dosageInstruction C 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationDispense.status Base required Medication dispense status codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning MedicationDispense.dosageInstruction A reason for use (asNeededFor) should only be given together with asNeededBoolean = true. extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() implies asNeeded.ofType(boolean) = true
DosageDoseUnitSameCodeWarning warning MedicationDispense.dosageInstruction The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning MedicationDispense.dosageInstruction doseQuantity.value and doseRange.high.value should be greater than 0. The value 0 is additionally allowed for doseRange.low.value only. doseAndRate.all( dose.ofType(Quantity).value.all($this > 0) and dose.ofType(Range).low.value.all($this >= 0) and dose.ofType(Range).high.value.all($this > 0) )
DosageFourSlotPatternInTextWarning warning MedicationDispense.dosageInstruction A four-slot dosing schema (Viererschema, e.g. 1-1-1-1) was detected in Dosage.text. Please check whether it can be represented structurally. text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+.*').not()
DosageLimitsPositiveWarning warning MedicationDispense.dosageInstruction The minimum interval between administrations (valueDuration.value) and maxDosePerPeriod (numerator.value, denominator.value) should be greater than 0. modifierExtension.where( url = 'http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations' ).value.ofType(Duration).value.all($this > 0) and maxDosePerPeriod.numerator.value.all($this > 0) and maxDosePerPeriod.denominator.value.all($this > 0)
DosageStructuredOrFreeTextWarning warning MedicationDispense.dosageInstruction A dosage must be given either as free text only or as complete structured information only; mixing both is not allowed. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning MedicationDispense.dosageInstruction If a structured dosage is given, both timing and doseAndRate should be present. For pure as-needed dosages, doseAndRate may be given without timing. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies ( timing.exists() or asNeeded.ofType(boolean) = true or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() )) )
FreeTextSingleDosageOnlyWarning warning MedicationDispense.dosageInstruction If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).count() = 1 )
dos-1 error MedicationDispense.dosageInstruction AsNeededFor can only be set if AsNeeded is empty or true extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').empty() or asNeeded.empty() or asNeeded
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 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-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()
mdd-1 error MedicationDispense whenHandedOver cannot be before whenPrepared whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared

This structure is derived from MedicationDispense

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense 0..* MedicationDispense This is an abstract profile.
Dispensing a medication to a named patient
MedicationDispense.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationDispense.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationDispense.dosageInstruction 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense This is an abstract profile.
Dispensing a medication to a named patient
Constraints: mdd-1
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): A human language.
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
MedicationDispense.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction
Constraints: ext-1
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.id 0..1 string Unique id for inter-element referencing
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction"
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationDispense.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.identifier 0..* Identifier External identifier
MedicationDispense.partOf 0..* Reference(Procedure) Event that dispense is part of
MedicationDispense.status This element is a modifier element. 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): A coded concept specifying the state of the dispense event.
MedicationDispense.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.
MedicationDispense.statusReason[x].statusReasonCodeableConcept CodeableConcept
MedicationDispense.statusReason[x].statusReasonReference Reference(DetectedIssue)
MedicationDispense.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.
MedicationDispense.medication[x] This element is included in summaries. 1..1 What medication was supplied
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
MedicationDispense.medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.medication[x].medicationReference Reference(Medication)
MedicationDispense.subject This element is included in summaries. 0..1 Reference(Patient | Group) Who the dispense is for
MedicationDispense.context 0..1 Reference(Encounter | EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.supportingInformation 0..* Reference(Resource) Information that supports the dispensing of the medication
MedicationDispense.performer 0..* 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 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.
MedicationDispense.performer.actor 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson) Individual who was performing
MedicationDispense.location 0..1 Reference(Location) Where the dispense occurred
MedicationDispense.authorizingPrescription 0..* Reference(MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.type 0..1 CodeableConcept Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.
MedicationDispense.quantity C 0..1 SimpleQuantity(4.0.1) Amount dispensed
Constraints: sqty-1
MedicationDispense.daysSupply C 0..1 SimpleQuantity(4.0.1) 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 Reference(Location) Where the medication was sent
MedicationDispense.receiver 0..* Reference(Patient | Practitioner) Who collected the medication
MedicationDispense.note 0..* Annotation Information about the dispense
MedicationDispense.dosageInstruction C 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1
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 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.
MedicationDispense.substitution.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.
MedicationDispense.substitution.responsibleParty 0..* Reference(Practitioner | PractitionerRole) Who is responsible for the substitution
MedicationDispense.detectedIssue 0..* Reference(DetectedIssue) Clinical issue with action
MedicationDispense.eventHistory 0..* Reference(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.0.1 FHIR Std.
MedicationDispense.status Base required Medication dispense status codes 📍4.0.1 FHIR Std.
MedicationDispense.statusReason[x] Base example Medication dispense status reason codes 📍4.0.1 FHIR Std.
MedicationDispense.category Base preferred Medication dispense category codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationDispense.performer.​function Base example Medication dispense performer function codes 📍4.0.1 FHIR Std.
MedicationDispense.type Base example ActPharmacySupplyType 📦3.0.0 THO v7.3
MedicationDispense.substitution.​type Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.3
MedicationDispense.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.3

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning MedicationDispense.dosageInstruction A reason for use (asNeededFor) should only be given together with asNeededBoolean = true. extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() implies asNeeded.ofType(boolean) = true
DosageDoseUnitSameCodeWarning warning MedicationDispense.dosageInstruction The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning MedicationDispense.dosageInstruction doseQuantity.value and doseRange.high.value should be greater than 0. The value 0 is additionally allowed for doseRange.low.value only. doseAndRate.all( dose.ofType(Quantity).value.all($this > 0) and dose.ofType(Range).low.value.all($this >= 0) and dose.ofType(Range).high.value.all($this > 0) )
DosageFourSlotPatternInTextWarning warning MedicationDispense.dosageInstruction A four-slot dosing schema (Viererschema, e.g. 1-1-1-1) was detected in Dosage.text. Please check whether it can be represented structurally. text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+.*').not()
DosageLimitsPositiveWarning warning MedicationDispense.dosageInstruction The minimum interval between administrations (valueDuration.value) and maxDosePerPeriod (numerator.value, denominator.value) should be greater than 0. modifierExtension.where( url = 'http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations' ).value.ofType(Duration).value.all($this > 0) and maxDosePerPeriod.numerator.value.all($this > 0) and maxDosePerPeriod.denominator.value.all($this > 0)
DosageStructuredOrFreeTextWarning warning MedicationDispense.dosageInstruction A dosage must be given either as free text only or as complete structured information only; mixing both is not allowed. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning MedicationDispense.dosageInstruction If a structured dosage is given, both timing and doseAndRate should be present. For pure as-needed dosages, doseAndRate may be given without timing. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies ( timing.exists() or asNeeded.ofType(boolean) = true or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() )) )
FreeTextSingleDosageOnlyWarning warning MedicationDispense.dosageInstruction If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).count() = 1 )
dos-1 error MedicationDispense.dosageInstruction AsNeededFor can only be set if AsNeeded is empty or true extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').empty() or asNeeded.empty() or asNeeded
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 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-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()
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

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense This is an abstract profile.
Dispensing a medication to a named patient
Constraints: mdd-1
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.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction
Constraints: ext-1
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction"
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationDispense.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.status This element is a modifier element. 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): A coded concept specifying the state of the dispense event.
MedicationDispense.medication[x] This element is included in summaries. 1..1 What medication was supplied
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
MedicationDispense.medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.medication[x].medicationReference Reference(Medication)
MedicationDispense.dosageInstruction C 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationDispense.status Base required Medication dispense status codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning MedicationDispense.dosageInstruction A reason for use (asNeededFor) should only be given together with asNeededBoolean = true. extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() implies asNeeded.ofType(boolean) = true
DosageDoseUnitSameCodeWarning warning MedicationDispense.dosageInstruction The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning MedicationDispense.dosageInstruction doseQuantity.value and doseRange.high.value should be greater than 0. The value 0 is additionally allowed for doseRange.low.value only. doseAndRate.all( dose.ofType(Quantity).value.all($this > 0) and dose.ofType(Range).low.value.all($this >= 0) and dose.ofType(Range).high.value.all($this > 0) )
DosageFourSlotPatternInTextWarning warning MedicationDispense.dosageInstruction A four-slot dosing schema (Viererschema, e.g. 1-1-1-1) was detected in Dosage.text. Please check whether it can be represented structurally. text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+.*').not()
DosageLimitsPositiveWarning warning MedicationDispense.dosageInstruction The minimum interval between administrations (valueDuration.value) and maxDosePerPeriod (numerator.value, denominator.value) should be greater than 0. modifierExtension.where( url = 'http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations' ).value.ofType(Duration).value.all($this > 0) and maxDosePerPeriod.numerator.value.all($this > 0) and maxDosePerPeriod.denominator.value.all($this > 0)
DosageStructuredOrFreeTextWarning warning MedicationDispense.dosageInstruction A dosage must be given either as free text only or as complete structured information only; mixing both is not allowed. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning MedicationDispense.dosageInstruction If a structured dosage is given, both timing and doseAndRate should be present. For pure as-needed dosages, doseAndRate may be given without timing. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies ( timing.exists() or asNeeded.ofType(boolean) = true or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() )) )
FreeTextSingleDosageOnlyWarning warning MedicationDispense.dosageInstruction If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).count() = 1 )
dos-1 error MedicationDispense.dosageInstruction AsNeededFor can only be set if AsNeeded is empty or true extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').empty() or asNeeded.empty() or asNeeded
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 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-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()
mdd-1 error MedicationDispense whenHandedOver cannot be before whenPrepared whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared

Differential View

This structure is derived from MedicationDispense

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense 0..* MedicationDispense This is an abstract profile.
Dispensing a medication to a named patient
MedicationDispense.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationDispense.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationDispense.dosageInstruction 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense This is an abstract profile.
Dispensing a medication to a named patient
Constraints: mdd-1
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): A human language.
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
MedicationDispense.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction
Constraints: ext-1
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.id 0..1 string Unique id for inter-element referencing
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction"
MedicationDispense.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationDispense.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.identifier 0..* Identifier External identifier
MedicationDispense.partOf 0..* Reference(Procedure) Event that dispense is part of
MedicationDispense.status This element is a modifier element. 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): A coded concept specifying the state of the dispense event.
MedicationDispense.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.
MedicationDispense.statusReason[x].statusReasonCodeableConcept CodeableConcept
MedicationDispense.statusReason[x].statusReasonReference Reference(DetectedIssue)
MedicationDispense.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.
MedicationDispense.medication[x] This element is included in summaries. 1..1 What medication was supplied
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
MedicationDispense.medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.medication[x].medicationReference Reference(Medication)
MedicationDispense.subject This element is included in summaries. 0..1 Reference(Patient | Group) Who the dispense is for
MedicationDispense.context 0..1 Reference(Encounter | EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.supportingInformation 0..* Reference(Resource) Information that supports the dispensing of the medication
MedicationDispense.performer 0..* 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 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.
MedicationDispense.performer.actor 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson) Individual who was performing
MedicationDispense.location 0..1 Reference(Location) Where the dispense occurred
MedicationDispense.authorizingPrescription 0..* Reference(MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.type 0..1 CodeableConcept Trial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.
MedicationDispense.quantity C 0..1 SimpleQuantity(4.0.1) Amount dispensed
Constraints: sqty-1
MedicationDispense.daysSupply C 0..1 SimpleQuantity(4.0.1) 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 Reference(Location) Where the medication was sent
MedicationDispense.receiver 0..* Reference(Patient | Practitioner) Who collected the medication
MedicationDispense.note 0..* Annotation Information about the dispense
MedicationDispense.dosageInstruction C 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1
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 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.
MedicationDispense.substitution.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.
MedicationDispense.substitution.responsibleParty 0..* Reference(Practitioner | PractitionerRole) Who is responsible for the substitution
MedicationDispense.detectedIssue 0..* Reference(DetectedIssue) Clinical issue with action
MedicationDispense.eventHistory 0..* Reference(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.0.1 FHIR Std.
MedicationDispense.status Base required Medication dispense status codes 📍4.0.1 FHIR Std.
MedicationDispense.statusReason[x] Base example Medication dispense status reason codes 📍4.0.1 FHIR Std.
MedicationDispense.category Base preferred Medication dispense category codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationDispense.performer.​function Base example Medication dispense performer function codes 📍4.0.1 FHIR Std.
MedicationDispense.type Base example ActPharmacySupplyType 📦3.0.0 THO v7.3
MedicationDispense.substitution.​type Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.3
MedicationDispense.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.3

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning MedicationDispense.dosageInstruction A reason for use (asNeededFor) should only be given together with asNeededBoolean = true. extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() implies asNeeded.ofType(boolean) = true
DosageDoseUnitSameCodeWarning warning MedicationDispense.dosageInstruction The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning MedicationDispense.dosageInstruction doseQuantity.value and doseRange.high.value should be greater than 0. The value 0 is additionally allowed for doseRange.low.value only. doseAndRate.all( dose.ofType(Quantity).value.all($this > 0) and dose.ofType(Range).low.value.all($this >= 0) and dose.ofType(Range).high.value.all($this > 0) )
DosageFourSlotPatternInTextWarning warning MedicationDispense.dosageInstruction A four-slot dosing schema (Viererschema, e.g. 1-1-1-1) was detected in Dosage.text. Please check whether it can be represented structurally. text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+.*').not()
DosageLimitsPositiveWarning warning MedicationDispense.dosageInstruction The minimum interval between administrations (valueDuration.value) and maxDosePerPeriod (numerator.value, denominator.value) should be greater than 0. modifierExtension.where( url = 'http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations' ).value.ofType(Duration).value.all($this > 0) and maxDosePerPeriod.numerator.value.all($this > 0) and maxDosePerPeriod.denominator.value.all($this > 0)
DosageStructuredOrFreeTextWarning warning MedicationDispense.dosageInstruction A dosage must be given either as free text only or as complete structured information only; mixing both is not allowed. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning MedicationDispense.dosageInstruction If a structured dosage is given, both timing and doseAndRate should be present. For pure as-needed dosages, doseAndRate may be given without timing. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies ( timing.exists() or asNeeded.ofType(boolean) = true or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() )) )
FreeTextSingleDosageOnlyWarning warning MedicationDispense.dosageInstruction If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).count() = 1 )
dos-1 error MedicationDispense.dosageInstruction AsNeededFor can only be set if AsNeeded is empty or true extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').empty() or asNeeded.empty() or asNeeded
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 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-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()
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

Summary

Must-Support: 2 elements
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron