Medication IG DE
1.1.0 - STU1

Medication IG DE - Local Development build (v1.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

## Data Type Profile: Dosage DE

Official URL: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDE | Version: 1.1.0
Active as of 2026-07-06 | 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:

- Derived from this DataType Profile: Dosage dgMP
- Use this DataType Profile: Medication Dispense DE, Medication Request DE and Medication Statement DE

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.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage | C | 0..* | Dosage | How the medication is/was taken or should be taken Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCode, DosageWarnungViererschemaInText, FreeTextSingleDosageOnlyWarning, dos-1
Slices for extension |  |  |  | Content/Rules for all slices
extension:asNeededFor | S | 0..* | (Complex) | Indikation für die Bedarfsdosierung URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
text | S Σ | 0..1 | string | Plain text representation of the concept
Slices for modifierExtension | ?!Σ | 0..* | Extension | Extension Slice: Unordered, Open by value:url
modifierExtension:mindestabstandZwischenGaben | ?!S Σ | 0..1 | (Complex) | Mindestabstand zwischen zwei Gaben URL: http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben"
value[x] | S | 1..1 | Duration | Mindestabstand zwischen zwei Gaben
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
text | S Σ | 0..1 | string | Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
patientInstruction | S Σ | 0..1 | string | Ergänzende Anwendungshinweise für Patientinnen und Patienten
timing | S Σ | 0..1 | TimingDE | Wann das Medikament verabreicht werden soll
asNeeded[x] | S Σ | 0..1 | boolean | Bedarfsdosierung (nur Ja/Nein-Angabe)
doseAndRate | S Σ | 0..* | Element | Menge des verabreichten Medikaments
Slices for dose[x] | S Σ | 0..1 |  | Amount of medication per dose Slice: Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | S Σ | 0..1 | SimpleQuantity | Menge des Medikaments pro Dosis Binding: Dosage DoseQuantity ValueSet (required)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
dose[x]:doseRange | S Σ | 0..1 | Range | Amount of medication per dose
low | S Σ | 0..1 | SimpleQuantity(4.0.1) | Low limit Binding: Dosage DoseQuantity ValueSet (required)
value | S Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
high | S Σ | 0..1 | SimpleQuantity(4.0.1) | High limit Binding: Dosage DoseQuantity ValueSet (required)
value | S Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
maxDosePerPeriod | S Σ | 0..1 | Ratio | Maximale Dosis pro Zeitraum
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:mindestabstandZwischenGaben.​value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Dosage.doseAndRate.dose[x]:doseQuantity | Base | required | Dosage DoseQuantity ValueSet | 📦1.1.0 | This IG
Dosage.doseAndRate.dose[x]:doseRange.​low | Base | required | Dosage DoseQuantity ValueSet | 📦1.1.0 | This IG
Dosage.doseAndRate.dose[x]:doseRange.​high | Base | required | Dosage DoseQuantity ValueSet | 📦1.1.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
DosageDoseUnitSameCode | error | Dosage | Die Dosiereinheit muss über alle Dosierungen gleich sein. | `(%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 )`
DosageStructuredOrFreeTextWarning | warning | Dosage | Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt. | `(%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())) )`
DosageStructuredRequiresBoth | error | Dosage | Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden. Für reine Bedarfsdosierungen darf doseAndRate auch ohne timing angegeben werden. | `(%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() )) )`
DosageWarnungViererschemaInText | warning | Dosage | Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann. | `text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()`
FreeTextSingleDosageOnlyWarning | warning | Dosage | Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren. | `( (%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()`

This structure is derived from Dosage

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage | C | 0..* | Dosage | How the medication is/was taken or should be taken Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCode, DosageWarnungViererschemaInText, FreeTextSingleDosageOnlyWarning, dos-1
Slices for extension |  |  |  | Content/Rules for all slices
extension:asNeededFor | S | 0..* | (Complex) | Indikation für die Bedarfsdosierung URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
value[x] |  |  |  |
text | S | 0..1 | string | Plain text representation of the concept
Slices for modifierExtension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
modifierExtension:mindestabstandZwischenGaben | S | 0..1 | (Complex) | Mindestabstand zwischen zwei Gaben URL: http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben
value[x] |  |  |  |
unit | S | 0..1 | string | Unit representation
system | S | 0..1 | uri | System that defines coded unit form
code | S | 0..1 | code | Coded form of the unit
text | S | 0..1 | string | Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
patientInstruction | S | 0..1 | string | Ergänzende Anwendungshinweise für Patientinnen und Patienten
timing | S | 0..1 | TimingDE | Wann das Medikament verabreicht werden soll
asNeeded[x] | S | 0..1 | boolean | Bedarfsdosierung (nur Ja/Nein-Angabe)
doseAndRate | S | 0..* | Element | Menge des verabreichten Medikaments
Slices for dose[x] | S | 0..1 | Range, SimpleQuantity(4.0.1) | Amount of medication per dose Slice: Unordered, Open by type:$this
dose[x]:doseQuantity | S | 0..1 | SimpleQuantity | Menge des Medikaments pro Dosis Binding: Dosage DoseQuantity ValueSet (required)
unit | S | 0..1 | string | Unit representation
system | S | 0..1 | uri | System that defines coded unit form
code | S | 0..1 | code | Coded form of the unit
dose[x]:doseRange | S | 0..1 | Range | Amount of medication per dose
low | S | 0..1 | SimpleQuantity(4.0.1) | Low limit Binding: Dosage DoseQuantity ValueSet (required)
value | S | 0..1 | decimal | Numerical value (with implicit precision)
unit | S | 0..1 | string | Unit representation
system | S | 0..1 | uri | System that defines coded unit form
code | S | 0..1 | code | Coded form of the unit
high | S | 0..1 | SimpleQuantity(4.0.1) | High limit Binding: Dosage DoseQuantity ValueSet (required)
value | S | 0..1 | decimal | Numerical value (with implicit precision)
unit | S | 0..1 | string | Unit representation
system | S | 0..1 | uri | System that defines coded unit form
code | S | 0..1 | code | Coded form of the unit
maxDosePerPeriod | S | 0..1 | Ratio | Maximale Dosis pro Zeitraum
Documentation for this format

#### Terminology Bindings (Differential)

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

#### Constraints

Id | Grade | Path(s) | Description | Expression
DosageDoseUnitSameCode | error | Dosage | Die Dosiereinheit muss über alle Dosierungen gleich sein. | `(%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 )`
DosageStructuredOrFreeTextWarning | warning | Dosage | Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt. | `(%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())) )`
DosageStructuredRequiresBoth | error | Dosage | Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden. Für reine Bedarfsdosierungen darf doseAndRate auch ohne timing angegeben werden. | `(%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() )) )`
DosageWarnungViererschemaInText | warning | Dosage | Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann. | `text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()`
FreeTextSingleDosageOnlyWarning | warning | Dosage | Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren. | `( (%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`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage | C | 0..* | Dosage | How the medication is/was taken or should be taken Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCode, DosageWarnungViererschemaInText, FreeTextSingleDosageOnlyWarning, dos-1
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:asNeededFor | S | 0..* | (Complex) | Indikation für die Bedarfsdosierung URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
text | S Σ | 0..1 | string | Plain text representation of the concept
Slices for modifierExtension | ?!Σ | 0..* | Extension | Extension Slice: Unordered, Open by value:url
modifierExtension:mindestabstandZwischenGaben | ?!S Σ | 0..1 | (Complex) | Mindestabstand zwischen zwei Gaben URL: http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben"
value[x] | S | 1..1 | Duration | Mindestabstand zwischen zwei Gaben
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
sequence | Σ | 0..1 | integer | The order of the dosage instructions
text | S Σ | 0..1 | string | Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
patientInstruction | S Σ | 0..1 | string | Ergänzende Anwendungshinweise für Patientinnen und Patienten
timing | S Σ | 0..1 | TimingDE | Wann das Medikament verabreicht werden soll
asNeeded[x] | S Σ | 0..1 | boolean | Bedarfsdosierung (nur Ja/Nein-Angabe)
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
doseAndRate | S Σ | 0..* | Element | Menge des verabreichten Medikaments
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified.
Slices for dose[x] | S Σ | 0..1 |  | Amount of medication per dose Slice: Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | S Σ | 0..1 | SimpleQuantity | Menge des Medikaments pro Dosis Binding: Dosage DoseQuantity ValueSet (required)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
dose[x]:doseRange | S Σ | 0..1 | Range | Amount of medication per dose
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
low | S Σ | 0..1 | SimpleQuantity(4.0.1) | Low limit Binding: Dosage DoseQuantity ValueSet (required)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | S Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
high | S Σ | 0..1 | SimpleQuantity(4.0.1) | High limit Binding: Dosage DoseQuantity ValueSet (required)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | S Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
rate[x] | Σ | 0..1 |  | Amount of medication per unit of time
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rateQuantity |  |  | Quantity(SimpleQuantity) |
maxDosePerPeriod | S Σ | 0..1 | Ratio | Maximale Dosis pro Zeitraum
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per lifetime of the patient
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:mindestabstandZwischenGaben.​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 | 📦1.1.0 | This IG
Dosage.doseAndRate.dose[x]:doseRange.​low | Base | required | Dosage DoseQuantity ValueSet | 📦1.1.0 | This IG
Dosage.doseAndRate.dose[x]:doseRange.​high | Base | required | Dosage DoseQuantity ValueSet | 📦1.1.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
DosageDoseUnitSameCode | error | Dosage | Die Dosiereinheit muss über alle Dosierungen gleich sein. | `(%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 )`
DosageStructuredOrFreeTextWarning | warning | Dosage | Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt. | `(%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())) )`
DosageStructuredRequiresBoth | error | Dosage | Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden. Für reine Bedarfsdosierungen darf doseAndRate auch ohne timing angegeben werden. | `(%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() )) )`
DosageWarnungViererschemaInText | warning | Dosage | Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann. | `text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()`
FreeTextSingleDosageOnlyWarning | warning | Dosage | Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren. | `( (%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()`

This structure is derived from Dosage

Summary

Must-Support: 28 elements

Structures

This structure refers to these other structures:

- Timing DE (http://ig.fhir.de/igs/medication/StructureDefinition/TimingDE)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
- http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben (Modifier)

Slices

This structure defines the following Slices:

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

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage | C | 0..* | Dosage | How the medication is/was taken or should be taken Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCode, DosageWarnungViererschemaInText, FreeTextSingleDosageOnlyWarning, dos-1
Slices for extension |  |  |  | Content/Rules for all slices
extension:asNeededFor | S | 0..* | (Complex) | Indikation für die Bedarfsdosierung URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
text | S Σ | 0..1 | string | Plain text representation of the concept
Slices for modifierExtension | ?!Σ | 0..* | Extension | Extension Slice: Unordered, Open by value:url
modifierExtension:mindestabstandZwischenGaben | ?!S Σ | 0..1 | (Complex) | Mindestabstand zwischen zwei Gaben URL: http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben"
value[x] | S | 1..1 | Duration | Mindestabstand zwischen zwei Gaben
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
text | S Σ | 0..1 | string | Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
patientInstruction | S Σ | 0..1 | string | Ergänzende Anwendungshinweise für Patientinnen und Patienten
timing | S Σ | 0..1 | TimingDE | Wann das Medikament verabreicht werden soll
asNeeded[x] | S Σ | 0..1 | boolean | Bedarfsdosierung (nur Ja/Nein-Angabe)
doseAndRate | S Σ | 0..* | Element | Menge des verabreichten Medikaments
Slices for dose[x] | S Σ | 0..1 |  | Amount of medication per dose Slice: Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | S Σ | 0..1 | SimpleQuantity | Menge des Medikaments pro Dosis Binding: Dosage DoseQuantity ValueSet (required)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
dose[x]:doseRange | S Σ | 0..1 | Range | Amount of medication per dose
low | S Σ | 0..1 | SimpleQuantity(4.0.1) | Low limit Binding: Dosage DoseQuantity ValueSet (required)
value | S Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
high | S Σ | 0..1 | SimpleQuantity(4.0.1) | High limit Binding: Dosage DoseQuantity ValueSet (required)
value | S Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
maxDosePerPeriod | S Σ | 0..1 | Ratio | Maximale Dosis pro Zeitraum
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:mindestabstandZwischenGaben.​value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Dosage.doseAndRate.dose[x]:doseQuantity | Base | required | Dosage DoseQuantity ValueSet | 📦1.1.0 | This IG
Dosage.doseAndRate.dose[x]:doseRange.​low | Base | required | Dosage DoseQuantity ValueSet | 📦1.1.0 | This IG
Dosage.doseAndRate.dose[x]:doseRange.​high | Base | required | Dosage DoseQuantity ValueSet | 📦1.1.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
DosageDoseUnitSameCode | error | Dosage | Die Dosiereinheit muss über alle Dosierungen gleich sein. | `(%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 )`
DosageStructuredOrFreeTextWarning | warning | Dosage | Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt. | `(%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())) )`
DosageStructuredRequiresBoth | error | Dosage | Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden. Für reine Bedarfsdosierungen darf doseAndRate auch ohne timing angegeben werden. | `(%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() )) )`
DosageWarnungViererschemaInText | warning | Dosage | Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann. | `text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()`
FreeTextSingleDosageOnlyWarning | warning | Dosage | Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren. | `( (%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()`

Differential View

This structure is derived from Dosage

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage | C | 0..* | Dosage | How the medication is/was taken or should be taken Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCode, DosageWarnungViererschemaInText, FreeTextSingleDosageOnlyWarning, dos-1
Slices for extension |  |  |  | Content/Rules for all slices
extension:asNeededFor | S | 0..* | (Complex) | Indikation für die Bedarfsdosierung URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
value[x] |  |  |  |
text | S | 0..1 | string | Plain text representation of the concept
Slices for modifierExtension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
modifierExtension:mindestabstandZwischenGaben | S | 0..1 | (Complex) | Mindestabstand zwischen zwei Gaben URL: http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben
value[x] |  |  |  |
unit | S | 0..1 | string | Unit representation
system | S | 0..1 | uri | System that defines coded unit form
code | S | 0..1 | code | Coded form of the unit
text | S | 0..1 | string | Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
patientInstruction | S | 0..1 | string | Ergänzende Anwendungshinweise für Patientinnen und Patienten
timing | S | 0..1 | TimingDE | Wann das Medikament verabreicht werden soll
asNeeded[x] | S | 0..1 | boolean | Bedarfsdosierung (nur Ja/Nein-Angabe)
doseAndRate | S | 0..* | Element | Menge des verabreichten Medikaments
Slices for dose[x] | S | 0..1 | Range, SimpleQuantity(4.0.1) | Amount of medication per dose Slice: Unordered, Open by type:$this
dose[x]:doseQuantity | S | 0..1 | SimpleQuantity | Menge des Medikaments pro Dosis Binding: Dosage DoseQuantity ValueSet (required)
unit | S | 0..1 | string | Unit representation
system | S | 0..1 | uri | System that defines coded unit form
code | S | 0..1 | code | Coded form of the unit
dose[x]:doseRange | S | 0..1 | Range | Amount of medication per dose
low | S | 0..1 | SimpleQuantity(4.0.1) | Low limit Binding: Dosage DoseQuantity ValueSet (required)
value | S | 0..1 | decimal | Numerical value (with implicit precision)
unit | S | 0..1 | string | Unit representation
system | S | 0..1 | uri | System that defines coded unit form
code | S | 0..1 | code | Coded form of the unit
high | S | 0..1 | SimpleQuantity(4.0.1) | High limit Binding: Dosage DoseQuantity ValueSet (required)
value | S | 0..1 | decimal | Numerical value (with implicit precision)
unit | S | 0..1 | string | Unit representation
system | S | 0..1 | uri | System that defines coded unit form
code | S | 0..1 | code | Coded form of the unit
maxDosePerPeriod | S | 0..1 | Ratio | Maximale Dosis pro Zeitraum
Documentation for this format

#### Terminology Bindings (Differential)

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

#### Constraints

Id | Grade | Path(s) | Description | Expression
DosageDoseUnitSameCode | error | Dosage | Die Dosiereinheit muss über alle Dosierungen gleich sein. | `(%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 )`
DosageStructuredOrFreeTextWarning | warning | Dosage | Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt. | `(%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())) )`
DosageStructuredRequiresBoth | error | Dosage | Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden. Für reine Bedarfsdosierungen darf doseAndRate auch ohne timing angegeben werden. | `(%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() )) )`
DosageWarnungViererschemaInText | warning | Dosage | Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann. | `text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()`
FreeTextSingleDosageOnlyWarning | warning | Dosage | Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren. | `( (%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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage | C | 0..* | Dosage | How the medication is/was taken or should be taken Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCode, DosageWarnungViererschemaInText, FreeTextSingleDosageOnlyWarning, dos-1
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:asNeededFor | S | 0..* | (Complex) | Indikation für die Bedarfsdosierung URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
text | S Σ | 0..1 | string | Plain text representation of the concept
Slices for modifierExtension | ?!Σ | 0..* | Extension | Extension Slice: Unordered, Open by value:url
modifierExtension:mindestabstandZwischenGaben | ?!S Σ | 0..1 | (Complex) | Mindestabstand zwischen zwei Gaben URL: http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben"
value[x] | S | 1..1 | Duration | Mindestabstand zwischen zwei Gaben
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
sequence | Σ | 0..1 | integer | The order of the dosage instructions
text | S Σ | 0..1 | string | Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
patientInstruction | S Σ | 0..1 | string | Ergänzende Anwendungshinweise für Patientinnen und Patienten
timing | S Σ | 0..1 | TimingDE | Wann das Medikament verabreicht werden soll
asNeeded[x] | S Σ | 0..1 | boolean | Bedarfsdosierung (nur Ja/Nein-Angabe)
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
doseAndRate | S Σ | 0..* | Element | Menge des verabreichten Medikaments
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified.
Slices for dose[x] | S Σ | 0..1 |  | Amount of medication per dose Slice: Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | S Σ | 0..1 | SimpleQuantity | Menge des Medikaments pro Dosis Binding: Dosage DoseQuantity ValueSet (required)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
dose[x]:doseRange | S Σ | 0..1 | Range | Amount of medication per dose
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
low | S Σ | 0..1 | SimpleQuantity(4.0.1) | Low limit Binding: Dosage DoseQuantity ValueSet (required)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | S Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
high | S Σ | 0..1 | SimpleQuantity(4.0.1) | High limit Binding: Dosage DoseQuantity ValueSet (required)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | S Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | S Σ | 0..1 | string | Unit representation
system | S Σ C | 0..1 | uri | System that defines coded unit form
code | S Σ | 0..1 | code | Coded form of the unit
rate[x] | Σ | 0..1 |  | Amount of medication per unit of time
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rateQuantity |  |  | Quantity(SimpleQuantity) |
maxDosePerPeriod | S Σ | 0..1 | Ratio | Maximale Dosis pro Zeitraum
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per lifetime of the patient
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:mindestabstandZwischenGaben.​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 | 📦1.1.0 | This IG
Dosage.doseAndRate.dose[x]:doseRange.​low | Base | required | Dosage DoseQuantity ValueSet | 📦1.1.0 | This IG
Dosage.doseAndRate.dose[x]:doseRange.​high | Base | required | Dosage DoseQuantity ValueSet | 📦1.1.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
DosageDoseUnitSameCode | error | Dosage | Die Dosiereinheit muss über alle Dosierungen gleich sein. | `(%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 )`
DosageStructuredOrFreeTextWarning | warning | Dosage | Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt. | `(%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())) )`
DosageStructuredRequiresBoth | error | Dosage | Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden. Für reine Bedarfsdosierungen darf doseAndRate auch ohne timing angegeben werden. | `(%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() )) )`
DosageWarnungViererschemaInText | warning | Dosage | Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann. | `text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()`
FreeTextSingleDosageOnlyWarning | warning | Dosage | Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren. | `( (%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()`

This structure is derived from Dosage

Summary

Must-Support: 28 elements

Structures

This structure refers to these other structures:

- Timing DE (http://ig.fhir.de/igs/medication/StructureDefinition/TimingDE)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor
- http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben (Modifier)

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