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

Data Type Profile: Dosage DE

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

Gibt an, wie das Medikament eingenommen oder verabreicht wurde bzw. eingenommen oder verabreicht werden soll - entweder selbst vom Patienten eingenommen oder bei Fremdverabreichung von Dritten (z. B. Leistungserbringer, Angehörige) verabreicht.

Verwendung

Dieses Profil beschreibt die Verwendung der FHIR-Ressource Dosage im deutschen Kontext und ist für die allgemeine Interoperabilität konzipiert. Das Profil ist offen gehalten und setzt keine spezifischen Dosierschemata voraus, sondern legt ein „Must Support“ auf alle relevanten Felder. Ziel ist es, eine flexible und breit einsetzbare Abbildung von Dosierungsangaben zu ermöglichen, wie sie in unterschiedlichen Primärsystemen und Anwendungsfällen benötigt wird.

Empfehlung:
Nutzen Sie dieses Profil für alle Anwendungsfälle, in denen Dosierungsinformationen interoperabel ausgetauscht werden sollen. Orientieren Sie sich bei der Umsetzung an den empfohlenen Dosierschemata, um eine konsistente und verständliche Darstellung zu gewährleisten.

Weitere Hinweise und Beispiele zu bewährten Dosierschemata ist unter Unterstützte Dosierungen beschrieben.

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
Dosage C 0..* Dosage How the medication is/was taken or should be taken
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1
Dosage.Slices for extension Content/Rules for all slices
Dosage.Slices for extension.extension:asNeededFor This element must be supported. 0..* (Complex) Indikation für die Bedarfsdosierung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
Dosage.Slices for extension.extension:asNeededFor.extension 0..0 Extension
Slice: Unordered, Open by value:url
Dosage.Slices for extension.extension:asNeededFor.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor"
Dosage.Slices for extension.extension:asNeededFor.value[x] 0..1 CodeableConcept Value of extension
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
Dosage.Slices for extension.extension:asNeededFor.value[x].text This element must be supported. This element is included in summaries. 0..1 string Plain text representation of the concept
Dosage.Slices for modifierExtension This element is a modifier element. This element is included in summaries. 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
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 (Complex) Mindestabstand zwischen zwei Gaben
URL: http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.extension 0..0 Extension
Slice: Unordered, Open by value:url
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.url 1..1 uri "http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations"
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x] This element must be supported. 1..1 Duration Mindestabstand zwischen zwei Gaben
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].comparator This element is a modifier element. This element is included in summaries. 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.text This element must be supported. This element is included in summaries. 0..1 string Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
Dosage.patientInstruction This element must be supported. This element is included in summaries. 0..1 string Ergänzende Anwendungshinweise für Patientinnen und Patienten
Dosage.timing This element must be supported. This element is included in summaries. 0..1 TimingDE Wann das Medikament verabreicht werden soll
Dosage.asNeeded[x] This element must be supported. This element is included in summaries. 0..1 boolean Bedarfsdosierung (nur Ja/Nein-Angabe)
Dosage.doseAndRate This element must be supported. This element is included in summaries. 0..* Element Menge des verabreichten Medikaments
Dosage.doseAndRate.Slices for dose[x] This element must be supported. This element is included in summaries. 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Dosage.doseAndRate.Slices for dose[x].doseRange Range
Dosage.doseAndRate.Slices for dose[x].doseQuantity Quantity(SimpleQuantity)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity This element must be supported. This element is included in summaries. 0..1 SimpleQuantity The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Menge des Medikaments pro Dosis
Binding: Dosage DoseQuantity ValueSet (required)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange This element must be supported. This element is included in summaries. 0..1 Range Amount of medication per dose
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low This element must be supported. This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) Low limit
Binding: Dosage DoseQuantity ValueSet (required)
Constraints: sqty-1
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high This element must be supported. This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) High limit
Binding: Dosage DoseQuantity ValueSet (required)
Constraints: sqty-1
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.maxDosePerPeriod This element must be supported. This element is included in summaries. 0..1 Ratio Maximale Dosis pro Zeitraum

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Dosage.extension:asNeededFor.​value[x] Base example SNOMED CT Medication As Needed Reason Codes 📦4.0.1 FHIR Std.
Dosage.modifierExtension:minimumIntervalBetweenAdministrations.​value[x].comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Dosage.doseAndRate.dose[x]:doseQuantity Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​low Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​high Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning Dosage 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 Dosage The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning Dosage 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 Dosage 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 Dosage 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 Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %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 Dosage If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).count() = 1 )
dos-1 error Dosage 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
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()
sqty-1 error Dosage.doseAndRate.dose[x]:doseRange.low, Dosage.doseAndRate.dose[x]:doseRange.high The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from Dosage

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Dosage C 0..* Dosage How the medication is/was taken or should be taken
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1
Dosage.Slices for extension Content/Rules for all slices
Dosage.Slices for extension.extension:asNeededFor This element must be supported. 0..* (Complex) Indikation für die Bedarfsdosierung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
Dosage.Slices for extension.extension:asNeededFor.value[x]
Dosage.Slices for extension.extension:asNeededFor.value[x].text This element must be supported. 0..1 string Plain text representation of the concept
Dosage.Slices for modifierExtension 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
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations This element must be supported. 0..1 (Complex) Mindestabstand zwischen zwei Gaben
URL: http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x]
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].unit This element must be supported. 0..1 string Unit representation
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].system This element must be supported. 0..1 uri System that defines coded unit form
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].code This element must be supported. 0..1 code Coded form of the unit
Dosage.text This element must be supported. 0..1 string Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
Dosage.timing This element must be supported. 0..1 TimingDE Wann das Medikament verabreicht werden soll
Dosage.asNeeded[x] This element must be supported. 0..1 boolean Bedarfsdosierung (nur Ja/Nein-Angabe)
Dosage.doseAndRate This element must be supported. 0..* Element Menge des verabreichten Medikaments
Dosage.doseAndRate.Slices for dose[x] This element must be supported. 0..1 Range, SimpleQuantity(4.0.1) Amount of medication per dose
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
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity This element must be supported. 0..1 SimpleQuantity Menge des Medikaments pro Dosis
Binding: Dosage DoseQuantity ValueSet (required)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.value This element must be supported. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.unit This element must be supported. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.system This element must be supported. 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.code This element must be supported. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange This element must be supported. 0..1 Range Amount of medication per dose
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low This element must be supported. 0..1 SimpleQuantity(4.0.1) Low limit
Binding: Dosage DoseQuantity ValueSet (required)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.value This element must be supported. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.unit This element must be supported. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.system This element must be supported. 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.code This element must be supported. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high This element must be supported. 0..1 SimpleQuantity(4.0.1) High limit
Binding: Dosage DoseQuantity ValueSet (required)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.value This element must be supported. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.unit This element must be supported. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.system This element must be supported. 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.code This element must be supported. 0..1 code Coded form of the unit
Dosage.maxDosePerPeriod This element must be supported. 0..1 Ratio Maximale Dosis pro Zeitraum

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Dosage.doseAndRate.dose[x]:doseQuantity Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​low Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​high Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning Dosage 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 Dosage The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning Dosage 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 Dosage 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 Dosage 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 Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %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 Dosage If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).count() = 1 )
dos-1 error Dosage 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
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Dosage C 0..* Dosage How the medication is/was taken or should be taken
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1
Dosage.id 0..1 string Unique id for inter-element referencing
Dosage.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.Slices for extension.extension:asNeededFor This element must be supported. 0..* (Complex) Indikation für die Bedarfsdosierung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
Dosage.Slices for extension.extension:asNeededFor.id 0..1 string Unique id for inter-element referencing
Dosage.Slices for extension.extension:asNeededFor.extension 0..0 Extension
Slice: Unordered, Open by value:url
Dosage.Slices for extension.extension:asNeededFor.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor"
Dosage.Slices for extension.extension:asNeededFor.value[x] 0..1 CodeableConcept Value of extension
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
Dosage.Slices for extension.extension:asNeededFor.value[x].id 0..1 string Unique id for inter-element referencing
Dosage.Slices for extension.extension:asNeededFor.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.Slices for extension.extension:asNeededFor.value[x].coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Dosage.Slices for extension.extension:asNeededFor.value[x].text This element must be supported. This element is included in summaries. 0..1 string Plain text representation of the concept
Dosage.Slices for modifierExtension This element is a modifier element. This element is included in summaries. 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
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 (Complex) Mindestabstand zwischen zwei Gaben
URL: http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.id 0..1 string Unique id for inter-element referencing
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.extension 0..0 Extension
Slice: Unordered, Open by value:url
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.url 1..1 uri "http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations"
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x] This element must be supported. 1..1 Duration Mindestabstand zwischen zwei Gaben
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].id 0..1 string Unique id for inter-element referencing
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].value This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].comparator This element is a modifier element. This element is included in summaries. 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.sequence This element is included in summaries. 0..1 integer The order of the dosage instructions
Dosage.text This element must be supported. This element is included in summaries. 0..1 string Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
Dosage.additionalInstruction This element is included in summaries. 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
Dosage.patientInstruction This element must be supported. This element is included in summaries. 0..1 string Ergänzende Anwendungshinweise für Patientinnen und Patienten
Dosage.timing This element must be supported. This element is included in summaries. 0..1 TimingDE Wann das Medikament verabreicht werden soll
Dosage.asNeeded[x] This element must be supported. This element is included in summaries. 0..1 boolean Bedarfsdosierung (nur Ja/Nein-Angabe)
Dosage.site This element is included in summaries. 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
Dosage.route This element is included in summaries. 0..1 CodeableConcept How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
Dosage.method This element is included in summaries. 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
Dosage.doseAndRate This element must be supported. This element is included in summaries. 0..* Element Menge des verabreichten Medikaments
Dosage.doseAndRate.id 0..1 string Unique id for inter-element referencing
Dosage.doseAndRate.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.doseAndRate.type This element is included in summaries. 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.
Dosage.doseAndRate.Slices for dose[x] This element must be supported. This element is included in summaries. 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Dosage.doseAndRate.Slices for dose[x].doseRange Range
Dosage.doseAndRate.Slices for dose[x].doseQuantity Quantity(SimpleQuantity)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity This element must be supported. This element is included in summaries. 0..1 SimpleQuantity The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Menge des Medikaments pro Dosis
Binding: Dosage DoseQuantity ValueSet (required)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.id 0..1 string Unique id for inter-element referencing
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange This element must be supported. This element is included in summaries. 0..1 Range Amount of medication per dose
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.id 0..1 string Unique id for inter-element referencing
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low This element must be supported. This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) Low limit
Binding: Dosage DoseQuantity ValueSet (required)
Constraints: sqty-1
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.id 0..1 string Unique id for inter-element referencing
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high This element must be supported. This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) High limit
Binding: Dosage DoseQuantity ValueSet (required)
Constraints: sqty-1
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.id 0..1 string Unique id for inter-element referencing
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.doseAndRate.rate[x] This element is included in summaries. 0..1 Amount of medication per unit of time
Dosage.doseAndRate.rate[x].rateRatio Ratio
Dosage.doseAndRate.rate[x].rateRange Range
Dosage.doseAndRate.rate[x].rateQuantity Quantity(SimpleQuantity)
Dosage.maxDosePerPeriod This element must be supported. This element is included in summaries. 0..1 Ratio Maximale Dosis pro Zeitraum
Dosage.maxDosePerAdministration This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) Upper limit on medication per administration
Constraints: sqty-1
Dosage.maxDosePerLifetime This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) Upper limit on medication per lifetime of the patient
Constraints: sqty-1

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Dosage.extension:asNeededFor.​value[x] Base example SNOMED CT Medication As Needed Reason Codes 📦4.0.1 FHIR Std.
Dosage.modifierExtension:minimumIntervalBetweenAdministrations.​value[x].comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Dosage.additionalInstruction Base example SNOMED CT Additional Dosage Instructions 📍4.0.1 FHIR Std.
Dosage.site Base example SNOMED CT Anatomical Structure for Administration Site Codes 📍4.0.1 FHIR Std.
Dosage.route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.
Dosage.method Base example SNOMED CT Administration Method Codes 📍4.0.1 FHIR Std.
Dosage.doseAndRate.type Base example DoseAndRateType 📍4.0.1 FHIR Std.
Dosage.doseAndRate.dose[x]:doseQuantity Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​low Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​high Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning Dosage 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 Dosage The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning Dosage 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 Dosage 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 Dosage 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 Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %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 Dosage If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).count() = 1 )
dos-1 error Dosage 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
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()
sqty-1 error Dosage.doseAndRate.dose[x]:doseRange.low, Dosage.doseAndRate.dose[x]:doseRange.high, Dosage.maxDosePerAdministration, Dosage.maxDosePerLifetime The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from Dosage

Summary

Must-Support: 29 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Dosage.doseAndRate.dose[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Dosage C 0..* Dosage How the medication is/was taken or should be taken
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1
Dosage.Slices for extension Content/Rules for all slices
Dosage.Slices for extension.extension:asNeededFor This element must be supported. 0..* (Complex) Indikation für die Bedarfsdosierung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
Dosage.Slices for extension.extension:asNeededFor.extension 0..0 Extension
Slice: Unordered, Open by value:url
Dosage.Slices for extension.extension:asNeededFor.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor"
Dosage.Slices for extension.extension:asNeededFor.value[x] 0..1 CodeableConcept Value of extension
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
Dosage.Slices for extension.extension:asNeededFor.value[x].text This element must be supported. This element is included in summaries. 0..1 string Plain text representation of the concept
Dosage.Slices for modifierExtension This element is a modifier element. This element is included in summaries. 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
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 (Complex) Mindestabstand zwischen zwei Gaben
URL: http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.extension 0..0 Extension
Slice: Unordered, Open by value:url
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.url 1..1 uri "http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations"
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x] This element must be supported. 1..1 Duration Mindestabstand zwischen zwei Gaben
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].comparator This element is a modifier element. This element is included in summaries. 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.text This element must be supported. This element is included in summaries. 0..1 string Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
Dosage.patientInstruction This element must be supported. This element is included in summaries. 0..1 string Ergänzende Anwendungshinweise für Patientinnen und Patienten
Dosage.timing This element must be supported. This element is included in summaries. 0..1 TimingDE Wann das Medikament verabreicht werden soll
Dosage.asNeeded[x] This element must be supported. This element is included in summaries. 0..1 boolean Bedarfsdosierung (nur Ja/Nein-Angabe)
Dosage.doseAndRate This element must be supported. This element is included in summaries. 0..* Element Menge des verabreichten Medikaments
Dosage.doseAndRate.Slices for dose[x] This element must be supported. This element is included in summaries. 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Dosage.doseAndRate.Slices for dose[x].doseRange Range
Dosage.doseAndRate.Slices for dose[x].doseQuantity Quantity(SimpleQuantity)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity This element must be supported. This element is included in summaries. 0..1 SimpleQuantity The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Menge des Medikaments pro Dosis
Binding: Dosage DoseQuantity ValueSet (required)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange This element must be supported. This element is included in summaries. 0..1 Range Amount of medication per dose
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low This element must be supported. This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) Low limit
Binding: Dosage DoseQuantity ValueSet (required)
Constraints: sqty-1
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high This element must be supported. This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) High limit
Binding: Dosage DoseQuantity ValueSet (required)
Constraints: sqty-1
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.maxDosePerPeriod This element must be supported. This element is included in summaries. 0..1 Ratio Maximale Dosis pro Zeitraum

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Dosage.extension:asNeededFor.​value[x] Base example SNOMED CT Medication As Needed Reason Codes 📦4.0.1 FHIR Std.
Dosage.modifierExtension:minimumIntervalBetweenAdministrations.​value[x].comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Dosage.doseAndRate.dose[x]:doseQuantity Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​low Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​high Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning Dosage 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 Dosage The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning Dosage 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 Dosage 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 Dosage 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 Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %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 Dosage If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).count() = 1 )
dos-1 error Dosage 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
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()
sqty-1 error Dosage.doseAndRate.dose[x]:doseRange.low, Dosage.doseAndRate.dose[x]:doseRange.high The comparator is not used on a SimpleQuantity comparator.empty()

Differential View

This structure is derived from Dosage

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Dosage C 0..* Dosage How the medication is/was taken or should be taken
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1
Dosage.Slices for extension Content/Rules for all slices
Dosage.Slices for extension.extension:asNeededFor This element must be supported. 0..* (Complex) Indikation für die Bedarfsdosierung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
Dosage.Slices for extension.extension:asNeededFor.value[x]
Dosage.Slices for extension.extension:asNeededFor.value[x].text This element must be supported. 0..1 string Plain text representation of the concept
Dosage.Slices for modifierExtension 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
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations This element must be supported. 0..1 (Complex) Mindestabstand zwischen zwei Gaben
URL: http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x]
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].unit This element must be supported. 0..1 string Unit representation
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].system This element must be supported. 0..1 uri System that defines coded unit form
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].code This element must be supported. 0..1 code Coded form of the unit
Dosage.text This element must be supported. 0..1 string Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
Dosage.patientInstruction This element must be supported. 0..1 string Ergänzende Anwendungshinweise für Patientinnen und Patienten
Dosage.timing This element must be supported. 0..1 TimingDE Wann das Medikament verabreicht werden soll
Dosage.asNeeded[x] This element must be supported. 0..1 boolean Bedarfsdosierung (nur Ja/Nein-Angabe)
Dosage.doseAndRate This element must be supported. 0..* Element Menge des verabreichten Medikaments
Dosage.doseAndRate.Slices for dose[x] This element must be supported. 0..1 Range, SimpleQuantity(4.0.1) Amount of medication per dose
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
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity This element must be supported. 0..1 SimpleQuantity Menge des Medikaments pro Dosis
Binding: Dosage DoseQuantity ValueSet (required)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.value This element must be supported. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.unit This element must be supported. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.system This element must be supported. 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.code This element must be supported. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange This element must be supported. 0..1 Range Amount of medication per dose
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low This element must be supported. 0..1 SimpleQuantity(4.0.1) Low limit
Binding: Dosage DoseQuantity ValueSet (required)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.value This element must be supported. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.unit This element must be supported. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.system This element must be supported. 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.code This element must be supported. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high This element must be supported. 0..1 SimpleQuantity(4.0.1) High limit
Binding: Dosage DoseQuantity ValueSet (required)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.value This element must be supported. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.unit This element must be supported. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.system This element must be supported. 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.code This element must be supported. 0..1 code Coded form of the unit
Dosage.maxDosePerPeriod This element must be supported. 0..1 Ratio Maximale Dosis pro Zeitraum

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Dosage.doseAndRate.dose[x]:doseQuantity Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​low Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​high Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning Dosage 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 Dosage The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning Dosage 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 Dosage 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 Dosage 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 Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %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 Dosage If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).count() = 1 )
dos-1 error Dosage 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

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Dosage C 0..* Dosage How the medication is/was taken or should be taken
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1
Dosage.id 0..1 string Unique id for inter-element referencing
Dosage.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.Slices for extension.extension:asNeededFor This element must be supported. 0..* (Complex) Indikation für die Bedarfsdosierung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
Dosage.Slices for extension.extension:asNeededFor.id 0..1 string Unique id for inter-element referencing
Dosage.Slices for extension.extension:asNeededFor.extension 0..0 Extension
Slice: Unordered, Open by value:url
Dosage.Slices for extension.extension:asNeededFor.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor"
Dosage.Slices for extension.extension:asNeededFor.value[x] 0..1 CodeableConcept Value of extension
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
Dosage.Slices for extension.extension:asNeededFor.value[x].id 0..1 string Unique id for inter-element referencing
Dosage.Slices for extension.extension:asNeededFor.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.Slices for extension.extension:asNeededFor.value[x].coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Dosage.Slices for extension.extension:asNeededFor.value[x].text This element must be supported. This element is included in summaries. 0..1 string Plain text representation of the concept
Dosage.Slices for modifierExtension This element is a modifier element. This element is included in summaries. 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
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 (Complex) Mindestabstand zwischen zwei Gaben
URL: http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.id 0..1 string Unique id for inter-element referencing
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.extension 0..0 Extension
Slice: Unordered, Open by value:url
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.url 1..1 uri "http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations"
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x] This element must be supported. 1..1 Duration Mindestabstand zwischen zwei Gaben
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].id 0..1 string Unique id for inter-element referencing
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].value This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].comparator This element is a modifier element. This element is included in summaries. 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.Slices for modifierExtension.modifierExtension:minimumIntervalBetweenAdministrations.value[x].code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.sequence This element is included in summaries. 0..1 integer The order of the dosage instructions
Dosage.text This element must be supported. This element is included in summaries. 0..1 string Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
Dosage.additionalInstruction This element is included in summaries. 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
Dosage.patientInstruction This element must be supported. This element is included in summaries. 0..1 string Ergänzende Anwendungshinweise für Patientinnen und Patienten
Dosage.timing This element must be supported. This element is included in summaries. 0..1 TimingDE Wann das Medikament verabreicht werden soll
Dosage.asNeeded[x] This element must be supported. This element is included in summaries. 0..1 boolean Bedarfsdosierung (nur Ja/Nein-Angabe)
Dosage.site This element is included in summaries. 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
Dosage.route This element is included in summaries. 0..1 CodeableConcept How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
Dosage.method This element is included in summaries. 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
Dosage.doseAndRate This element must be supported. This element is included in summaries. 0..* Element Menge des verabreichten Medikaments
Dosage.doseAndRate.id 0..1 string Unique id for inter-element referencing
Dosage.doseAndRate.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.doseAndRate.type This element is included in summaries. 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.
Dosage.doseAndRate.Slices for dose[x] This element must be supported. This element is included in summaries. 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Dosage.doseAndRate.Slices for dose[x].doseRange Range
Dosage.doseAndRate.Slices for dose[x].doseQuantity Quantity(SimpleQuantity)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity This element must be supported. This element is included in summaries. 0..1 SimpleQuantity The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Menge des Medikaments pro Dosis
Binding: Dosage DoseQuantity ValueSet (required)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.id 0..1 string Unique id for inter-element referencing
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseQuantity.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange This element must be supported. This element is included in summaries. 0..1 Range Amount of medication per dose
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.id 0..1 string Unique id for inter-element referencing
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low This element must be supported. This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) Low limit
Binding: Dosage DoseQuantity ValueSet (required)
Constraints: sqty-1
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.id 0..1 string Unique id for inter-element referencing
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.low.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high This element must be supported. This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) High limit
Binding: Dosage DoseQuantity ValueSet (required)
Constraints: sqty-1
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.id 0..1 string Unique id for inter-element referencing
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.value This element must be supported. This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.unit This element must be supported. This element is included in summaries. 0..1 string Unit representation
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.system This element must be supported. This element is included in summaries. C 0..1 uri System that defines coded unit form
Dosage.doseAndRate.Slices for dose[x].dose[x]:doseRange.high.code This element must be supported. This element is included in summaries. 0..1 code Coded form of the unit
Dosage.doseAndRate.rate[x] This element is included in summaries. 0..1 Amount of medication per unit of time
Dosage.doseAndRate.rate[x].rateRatio Ratio
Dosage.doseAndRate.rate[x].rateRange Range
Dosage.doseAndRate.rate[x].rateQuantity Quantity(SimpleQuantity)
Dosage.maxDosePerPeriod This element must be supported. This element is included in summaries. 0..1 Ratio Maximale Dosis pro Zeitraum
Dosage.maxDosePerAdministration This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) Upper limit on medication per administration
Constraints: sqty-1
Dosage.maxDosePerLifetime This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) Upper limit on medication per lifetime of the patient
Constraints: sqty-1

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Dosage.extension:asNeededFor.​value[x] Base example SNOMED CT Medication As Needed Reason Codes 📦4.0.1 FHIR Std.
Dosage.modifierExtension:minimumIntervalBetweenAdministrations.​value[x].comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Dosage.additionalInstruction Base example SNOMED CT Additional Dosage Instructions 📍4.0.1 FHIR Std.
Dosage.site Base example SNOMED CT Anatomical Structure for Administration Site Codes 📍4.0.1 FHIR Std.
Dosage.route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.
Dosage.method Base example SNOMED CT Administration Method Codes 📍4.0.1 FHIR Std.
Dosage.doseAndRate.type Base example DoseAndRateType 📍4.0.1 FHIR Std.
Dosage.doseAndRate.dose[x]:doseQuantity Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​low Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG
Dosage.doseAndRate.dose[x]:doseRange.​high Base required Dosage DoseQuantity ValueSet 📦2.0.0-ballot This IG

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning Dosage 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 Dosage The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning Dosage 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 Dosage 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 Dosage 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 Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning Dosage 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 | %resource.ofType(MedicationDispense).dosageInstruction | %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 Dosage If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).count() = 1 )
dos-1 error Dosage 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
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()
sqty-1 error Dosage.doseAndRate.dose[x]:doseRange.low, Dosage.doseAndRate.dose[x]:doseRange.high, Dosage.maxDosePerAdministration, Dosage.maxDosePerLifetime The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from Dosage

Summary

Must-Support: 29 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Dosage.doseAndRate.dose[x]

 

Other representations of profile: CSV, Excel, Schematron