DosageDgMP
type: StructureDefinition
node role: treeRoot
id:
  v: DosageDgMP
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition DosageDgMP Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> Dosage <a style="padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;; padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;" href="http://hl7.org/fhir/R4/conformance-rules.html#constraints" title="This element has or is affected by constraints ( DosageStructuredOrFreeText, DosageStructuredRequiresGeneratedText, FreeTextSingleDosageOnly, FreeTextMatchesRenderedText )">C 0..* DosageDE How the medication is/was taken or should be taken Constraints: DosageStructuredOrFreeText, DosageStructuredRequiresGeneratedText, FreeTextSingleDosageOnly, FreeTextMatchesRenderedText #xD; sequence 0..0 The order of the dosage instructions #xD; additionalInstruction 0..0 Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" #xD; patientInstruction 0..0 Patient or consumer oriented instructions #xD; timing 0..1 TimingDgMP Wann das Medikament verabreicht werden soll #xD; asNeeded[x] 0..0 Take "as needed" (for x) #xD; site 0..0 Body site to administer to #xD; route 0..0 How drug should enter body #xD; method 0..0 Technique for administering medication #xD; doseAndRate 0..1 Element Menge des verabreichten Medikaments #xD; type 0..0 The kind of dose or rate specified #xD; dose[x] 0..1 SimpleQuantity Amount of medication per dose #xD; Slices for dose[x] Content/Rules for all slices #xD; dose[x]:doseQuantity 0..1 SimpleQuantity Menge des Medikaments pro Dosis Binding: https://fhir.kbv.de/ValueSet/KBV_VS_SFHIR_BMP_DOSIEREINHEIT (required) #xD; unit S 1..1 string Unit representation #xD; system S 1..1 uri System that defines coded unit form #xD; code S 1..1 code Coded form of the unit #xD; rate[x] 0..0 Amount of medication per unit of time #xD; m…
url:
  v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDgMP
  l: DosageDgMP
version:
  v: 1.0.5
name:
  v: DosageDgMP
title:
  v: Dosage dgMP
status:
  v: active
date:
  v: 2026-06-12T12:05:04+02:00
publisher:
  v: HL7 Deutschland e.V.
contact:
  name:
    v: HL7 Deutschland e.V.
  telecom:
    system:
      v: url
    value:
      v: https://hl7.de
description:
  v: Gibt an, wie das Medikament vom Patienten im Kontext dgMP eingenommen wird/wurde oder eingenommen werden soll.
fhir version:
  v: 4.0.1
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
mapping:
  identity:
    v: v2
  uri:
    v: http://hl7.org/v2
    l: v2
  name:
    v: HL7 v2 Mapping
kind:
  v: complex-type
abstract:
  v: false
type:
  v: Dosage
  l: Dosage
base definition:
  v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDE
  l: DosageDE
derivation:
  v: constraint
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
      l: snapshot-base-version
    value: String
      v: 1.0.5
  element:
    id:
      v: Dosage
    path:
      v: Dosage
    short:
      v: How the medication is/was taken or should be taken
    definition:
      v: Indicates how the medication is/was taken or should be taken by the patient.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Dosage
      min:
        v: 0
      max:
        v: *
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())
      xpath:
        v: @value|f:*|h:div
      source:
        v: http://hl7.org/fhir/StructureDefinition/Element
        l: Element
    constraint:
      key:
        v: DosageStructuredOrFreeTextWarning
      severity:
        v: warning
      human:
        v: Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt.
      expression:
        v: (%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())) )
      source:
        v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDE
        l: DosageDE
    constraint:
      key:
        v: DosageStructuredRequiresBoth
      severity:
        v: error
      human:
        v: Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden.
      expression:
        v: (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies timing.exists()) )
      source:
        v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDE
        l: DosageDE
    constraint:
      key:
        v: DosageDoseUnitSameCode
      severity:
        v: error
      human:
        v: Die Dosiereinheit muss über alle Dosierungen gleich sein.
      expression:
        v: (%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 )
      source:
        v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDE
        l: DosageDE
    constraint:
      key:
        v: DosageWarnungViererschemaInText
      severity:
        v: warning
      human:
        v: Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann.
      expression:
        v: text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()
      source:
        v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDE
        l: DosageDE
    constraint:
      key:
        v: FreeTextSingleDosageOnlyWarning
      severity:
        v: warning
      human:
        v: Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren.
      expression:
        v: ( (%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 )
      source:
        v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDE
        l: DosageDE
    constraint:
      key:
        v: DosageStructuredOrFreeText
      severity:
        v: error
      human:
        v: Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt.
      expression:
        v: (%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())) )
      source:
        v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDgMP
        l: DosageDgMP
    constraint:
      key:
        v: DosageStructuredRequiresGeneratedText
      severity:
        v: error
      human:
        v: Liegt eine strukturierte Dosierungsangabe vor (timing und doseAndRate belegt, text leer), muss die Extension GeneratedDosageInstructionsMeta vorhanden sein.
      expression:
        v: ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(timing.exists() and doseAndRate.exists() and text.empty()) ) implies ( %resource.extension.where( url = 'http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta' ).exists() and ( %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction' ).exists() or %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction' ).exists() or %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationStatement.renderedDosageInstruction' ).exists() ) )
      source:
        v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDgMP
        l: DosageDgMP
    constraint:
      key:
        v: FreeTextSingleDosageOnly
      severity:
        v: error
      human:
        v: Wenn eine Dosierung als reiner Freitext angegeben ist, darf nur genau ein Dosage-Element existieren.
      expression:
        v: ( (%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 )
      source:
        v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDgMP
        l: DosageDgMP
    constraint:
      key:
        v: FreeTextMatchesRenderedText

v: error

v: Wenn eine Dosierung als reiner Freitext angegeben ist (text vorhanden, timing und doseAndRate leer) UND die Extension renderedDosageInstruction befüllt ist, muss der Wert in dosageInstruction.text mit dem Wert in der Extension übereinstimmen.

v: ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).where(text.exists() and timing.empty() and doseAndRate.empty()).exists() ) implies ( ( %resource.ofType(MedicationRequest).exists() and ( %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction' ).empty() or %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction' ).value = %resource.dosageInstruction.text ) ) or ( %resource.ofType(MedicationDispense).exists() and ( %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction' ).empty() or %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction' ).value = %resource.dosageInstruction.text ) ) or ( %resource.ofType(MedicationStatement).exists() and ( %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationStatement.renderedDosageInstruction' ).empty() or %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationStatement.renderedDosageInstruction' ).value = %resource.dosage.text ) ) )

v: false

identity:
  v: rim
map:
  v: n/a

identity:
  v: rim
map:
  v: .outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=INT]

id:
  v: Dosage.id
path:
  v: Dosage.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Dosage.extension
path:
  v: Dosage.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Dosage.modifierExtension
path:
  v: Dosage.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Dosage.sequence
path:
  v: Dosage.sequence
short:
  v: The order of the dosage instructions
definition:
  v: Indicates the order in which the dosage instructions should be applied or interpreted.
comment:
  v: Begründung Einschränkung Kardinalität: Eine Dosier-Sequenz ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
requirements:
  v: If the sequence number of multiple Dosages is the same, then it is implied that the instructions are to be treated as concurrent. If the sequence number is different, then the Dosages are intended to be sequential.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.sequence
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: integer
    l: integer
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: TQ1-1
mapping:
  identity:
    v: rim
  map:
    v: .text

id:
  v: Dosage.text
path:
  v: Dosage.text
short:
  v: Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'
definition:
  v: Freitext-Dosierungsanweisungen, z. B. 'Maximal 3x täglich 1 Stück bei Bedarf'. Als Quelle dient hier ausschließlich der Arzt oder Apotheker
comment:
  v: Die Freitextdosierung sollte nur angegeben werden, wenn aufgrund der Komplexität keine strukturierte Dosierung möglich ist, um widersprüchliche Anweisungen zu vermeiden.
requirements:
  v: Free text dosage instructions can be used for cases where the instructions are too complex to code. The content of this attribute does not include the name or description of the medication. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. It is expected that the text instructions will always be populated. If the dosage.timing attribute is also populated, then the dosage.text should reflect the same information as the timing. Additional information about administration or preparation of the medication should be included as text.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Dosage.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: RXO-6; RXE-21
mapping:
  identity:
    v: rim
  map:
    v: .text

id:
  v: Dosage.additionalInstruction
path:
  v: Dosage.additionalInstruction
short:
  v: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
definition:
  v: Supplemental instructions to the patient on how to take the medication (e.g. "with meals" or"take half to one hour before food") or warnings for the patient about the medication (e.g. "may cause drowsiness" or "avoid exposure of skin to direct sunlight or sunlamps").
comment:
  v: Information about administration or preparation of the medication (e.g. "infuse as rapidly as possibly via intraperitoneal port" or "immediately following drug x") should be populated in dosage.text.
requirements:
  v: Additional instruction is intended to be coded, but where no code exists, the element could include text. For example, "Swallow with plenty of water" which might or might not be coded.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.additionalInstruction
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: AdditionalInstruction
  strength:
    v: example
  description:
    v: A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
  value set:
    v: http://hl7.org/fhir/ValueSet/additional-instruction-codes|4.0.1
    l: http://hl7.org/fhir/ValueSet/additional-instruction-codes
mapping:
  identity:
    v: v2
  map:
    v: RXO-7
mapping:
  identity:
    v: rim
  map:
    v: .text

id:
  v: Dosage.patientInstruction
path:
  v: Dosage.patientInstruction
short:
  v: Patient or consumer oriented instructions
definition:
  v: Instructions in terms that are understood by the patient or consumer.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.patientInstruction
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: RXO-7
mapping:
  identity:
    v: rim
  map:
    v: .text

id:
  v: Dosage.timing
path:
  v: Dosage.timing
short:
  v: Wann das Medikament verabreicht werden soll
definition:
  v: Wann das Medikament verabreicht werden soll.
comment:
  v: Um widersprüchliche Anweisungen zu vermeiden, ist entweder Dosage.timing oder Dosage.text zu befüllen. Falls eine strukturierte Dosierung als Text abgebildet werden soll ist dafür die GeneratedDosageInstructionsMeta Extension zu verwenden.
requirements:
  v: The timing schedule for giving the medication to the patient. This data type allows many different expressions. For example: "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Dosage.timing
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Timing
    l: Timing
  profile:
    v: http://ig.fhir.de/igs/medication/StructureDefinition/TimingDgMP
    l: TimingDgMP
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .effectiveTime

id:
  v: Dosage.asNeeded[x]
path:
  v: Dosage.asNeeded[x]
short:
  v: Take "as needed" (for x)
definition:
  v: Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept).
comment:
  v: Begründung Einschränkung Kardinalität: Eine Bedarfsdosis ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.asNeeded[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MedicationAsNeededReason
  strength:
    v: example
  description:
    v: A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
  value set:
    v: http://hl7.org/fhir/ValueSet/medication-as-needed-reason|4.0.1
    l: http://hl7.org/fhir/ValueSet/medication-as-needed-reason
mapping:
  identity:
    v: v2
  map:
    v: TQ1-9
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=PRCN].target[classCode=OBS, moodCode=EVN, code="as needed"].value=boolean or codable concept

id:
  v: Dosage.site
path:
  v: Dosage.site
short:
  v: Body site to administer to
definition:
  v: Body site to administer to.
comment:
  v: Begründung Einschränkung Kardinalität: Eine Verabreichungsstelle ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
requirements:
  v: A coded specification of the anatomic site where the medication first enters the body.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.site
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MedicationAdministrationSite
  strength:
    v: example
  description:
    v: A coded concept describing the site location the medicine enters into or onto the body.
  value set:
    v: http://hl7.org/fhir/ValueSet/approach-site-codes|4.0.1
    l: http://hl7.org/fhir/ValueSet/approach-site-codes
mapping:
  identity:
    v: v2
  map:
    v: RXR-2
mapping:
  identity:
    v: rim
  map:
    v: .approachSiteCode

id:
  v: Dosage.route
path:
  v: Dosage.route
short:
  v: How drug should enter body
definition:
  v: How drug should enter body.
comment:
  v: Begründung Einschränkung Kardinalität: Ein Verabreichungsweg ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
requirements:
  v: A code specifying the route or physiological path of administration of a therapeutic agent into or onto a patient's body.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.route
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: RouteOfAdministration
  strength:
    v: example
  description:
    v: A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
  value set:
    v: http://hl7.org/fhir/ValueSet/route-codes|4.0.1
    l: http://hl7.org/fhir/ValueSet/route-codes
mapping:
  identity:
    v: v2
  map:
    v: RXR-1
mapping:
  identity:
    v: rim
  map:
    v: .routeCode

id:
  v: Dosage.method
path:
  v: Dosage.method
short:
  v: Technique for administering medication
definition:
  v: Technique for administering medication.
comment:
  v: Begründung Einschränkung Kardinalität: Eine Verabreichungsmethode ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
requirements:
  v: A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. For examples, Slow Push; Deep IV.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.method
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MedicationAdministrationMethod
  strength:
    v: example
  description:
    v: A coded concept describing the technique by which the medicine is administered.
  value set:
    v: http://hl7.org/fhir/ValueSet/administration-method-codes|4.0.1
    l: http://hl7.org/fhir/ValueSet/administration-method-codes
mapping:
  identity:
    v: v2
  map:
    v: RXR-4
mapping:
  identity:
    v: rim
  map:
    v: .doseQuantity

id:
  v: Dosage.doseAndRate
path:
  v: Dosage.doseAndRate
short:
  v: Menge des verabreichten Medikaments
definition:
  v: Die verabreichte Menge des Medikaments.
comment:
  v: Begründung Einschränkung Kardinalität: Nur eine Dosierung pro Medikation ist in der ersten Ausbaustufe des dgMP vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Dosage.doseAndRate
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Element
    l: Element
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: TQ1-2

id:
  v: Dosage.doseAndRate.id
path:
  v: Dosage.doseAndRate.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Dosage.doseAndRate.extension
path:
  v: Dosage.doseAndRate.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Dosage.doseAndRate.type
path:
  v: Dosage.doseAndRate.type
short:
  v: The kind of dose or rate specified
definition:
  v: The kind of dose or rate specified, for example, ordered or calculated.
comment:
  v: Begründung Einschränkung Kardinalität: Eine 'type'-Angabe ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
requirements:
  v: If the type is not populated, assume to be "ordered".
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.doseAndRate.type
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: DoseAndRateType
  strength:
    v: example
  description:
    v: The kind of dose or rate specified.
  value set:
    v: http://hl7.org/fhir/ValueSet/dose-rate-type|4.0.1
    l: http://hl7.org/fhir/ValueSet/dose-rate-type
mapping:
  identity:
    v: v2
  map:
    v: RXO-21; RXE-23

id:
  v: Dosage.doseAndRate.dose[x]
path:
  v: Dosage.doseAndRate.dose[x]
slicing:
  discriminator:
    type:
      v: type
    path:
      v: $this
  ordered:
    v: false
  rules:
    v: closed
short:
  v: Amount of medication per dose
definition:
  v: Amount of medication per dose.
comment:
  v: Begründung Einschränkung Datentyp: Nur einfache Mengenangaben sind in der ersten Ausbaustufe des dgMP vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
requirements:
  v: The amount of therapeutic or other substance given at one administration event.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Dosage.doseAndRate.dose[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
    l: Quantity
  profile:
    v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
    l: SimpleQuantity
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: RXO-2, RXE-3
mapping:
  identity:
    v: rim
  map:
    v: .doseQuantity

id:
  v: Dosage.doseAndRate.dose[x]:doseQuantity
path:
  v: Dosage.doseAndRate.dose[x]
slice name:
  v: doseQuantity
short:
  v: Menge des Medikaments pro Dosis
definition:
  v: Menge des Medikaments pro Dosis.
comment:
  v: Beachten Sie, dass dies die Menge des angegebenen Medikaments angibt, nicht die Menge für die einzelnen Wirkstoffe. Jede Wirkstoffmenge kann in der Medication-Ressource kommuniziert werden. Zum Beispiel, wenn man angeben möchte, dass eine Tablette 375 mg enthält und die Dosis eine Tablette beträgt, kann man die Medication-Ressource verwenden, um zu dokumentieren, dass die Tablette aus 375 mg des Wirkstoffs XYZ besteht. Alternativ, wenn die Dosis 375 mg beträgt, muss man möglicherweise nur angeben, dass es sich um eine Tablette handelt. Bei einer Infusion wie Dopamin, bei der 400 mg Dopamin in 500 ml einer Infusionslösung gemischt werden, würde dies alles in der Medication-Ressource kommuniziert werden. Wenn die Verabreichung nicht als sofortig vorgesehen ist (Rate ist vorhanden oder Timing hat eine Dauer), kann dies angegeben werden, um die Gesamtmenge anzugeben, die über den im Zeitplan angegebenen Zeitraum verabreicht werden soll, z. B. 500 ml in der Dosis, wobei Timing verwendet wird, um anzugeben, dass dies über 4 Stunden erfolgen soll.
requirements:
  v: The amount of therapeutic or other substance given at one administration event.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Dosage.doseAndRate.dose[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
    l: Quantity
  profile:
    v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
    l: SimpleQuantity
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
binding:
  strength:
    v: required
  value set:
    v: https://fhir.kbv.de/ValueSet/KBV_VS_SFHIR_BMP_DOSIEREINHEIT
    l: KBV VS SFHIR BMP DOSIEREINHEIT
mapping:
  identity:
    v: v2
  map:
    v: RXO-2, RXE-3
mapping:
  identity:
    v: rim
  map:
    v: .doseQuantity

id:
  v: Dosage.doseAndRate.dose[x]:doseQuantity.id
path:
  v: Dosage.doseAndRate.dose[x].id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Dosage.doseAndRate.dose[x]:doseQuantity.extension
path:
  v: Dosage.doseAndRate.dose[x].extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Dosage.doseAndRate.dose[x]:doseQuantity.value
path:
  v: Dosage.doseAndRate.dose[x].value
short:
  v: Numerical value (with implicit precision)
definition:
  v: The value of the measured amount. The value includes an implicit precision in the presentation of the value.
comment:
  v: The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).
requirements:
  v: Precision is handled implicitly in almost all cases of measurement.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Quantity.value
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: SN.2 / CQ - N/A
mapping:
  identity:
    v: rim
  map:
    v: PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value

id:
  v: Dosage.doseAndRate.dose[x]:doseQuantity.comparator
path:
  v: Dosage.doseAndRate.dose[x].comparator
short:
  v: < | <= | >= | > - how to understand the value
definition:
  v: Not allowed to be used in this context
requirements:
  v: Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Quantity.comparator
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
meaning when missing:
  v: If there is no comparator, then there is no modification of the value
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: true
is modifier reason:
  v: This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: QuantityComparator
  strength:
    v: required
  description:
    v: How the Quantity should be understood and represented.
  value set:
    v: http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
    l: http://hl7.org/fhir/ValueSet/quantity-comparator
mapping:
  identity:
    v: v2
  map:
    v: SN.1 / CQ.1
mapping:
  identity:
    v: rim
  map:
    v: IVL properties

id:
  v: Dosage.doseAndRate.dose[x]:doseQuantity.unit
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Dosage.doseAndRate.dose[x].unit
short:
  v: Unit representation
definition:
  v: A human-readable form of the unit.
requirements:
  v: There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Quantity.unit
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: (see OBX.6 etc.) / CQ.2
mapping:
  identity:
    v: rim
  map:
    v: PQ.unit

id:
  v: Dosage.doseAndRate.dose[x]:doseQuantity.system
path:
  v: Dosage.doseAndRate.dose[x].system
short:
  v: System that defines coded unit form
definition:
  v: The identification of the system that provides the coded form of the unit.
requirements:
  v: Need to know the system that defines the coded form of the unit.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Quantity.system
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
condition:
  v: qty-3
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: (see OBX.6 etc.) / CQ.2
mapping:
  identity:
    v: rim
  map:
    v: CO.codeSystem, PQ.translation.codeSystem

id:
  v: Dosage.doseAndRate.dose[x]:doseQuantity.code
path:
  v: Dosage.doseAndRate.dose[x].code
short:
  v: Coded form of the unit
definition:
  v: A computer processable form of the unit in some unit representation system.
comment:
  v: The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.
requirements:
  v: Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Quantity.code
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: (see OBX.6 etc.) / CQ.2
mapping:
  identity:
    v: rim
  map:
    v: PQ.code, MO.currency, PQ.translation.code

id:
  v: Dosage.doseAndRate.rate[x]
path:
  v: Dosage.doseAndRate.rate[x]
short:
  v: Amount of medication per unit of time
definition:
  v: Amount of medication per unit of time.
comment:
  v: Begründung Einschränkung Kardinalität: Eine Verabreichungsmenge pro Zeiteinheit ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
requirements:
  v: Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.doseAndRate.rate[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Ratio
    l: Ratio
type:
  code:
    v: Range
    l: Range
type:
  code:
    v: Quantity
    l: Quantity
  profile:
    v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: RXE22, RXE23, RXE-24
mapping:
  identity:
    v: rim
  map:
    v: .rateQuantity

id:
  v: Dosage.maxDosePerPeriod
path:
  v: Dosage.maxDosePerPeriod
short:
  v: Upper limit on medication per unit of time
definition:
  v: Upper limit on medication per unit of time.
comment:
  v: Begründung Einschränkung Kardinalität: Eine maximale Dosis pro Zeitraum ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
requirements:
  v: The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.maxDosePerPeriod
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Ratio
    l: Ratio
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: RXO-23, RXE-19
mapping:
  identity:
    v: rim
  map:
    v: .maxDoseQuantity

id:
  v: Dosage.maxDosePerAdministration
path:
  v: Dosage.maxDosePerAdministration
short:
  v: Upper limit on medication per administration
definition:
  v: Upper limit on medication per administration.
comment:
  v: Begründung Einschränkung Kardinalität: Eine maximale Dosis pro Verabreichung ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
requirements:
  v: The maximum total quantity of a therapeutic substance that may be administered to a subject per administration.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.maxDosePerAdministration
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
    l: Quantity
  profile:
    v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: not supported

id:
  v: Dosage.maxDosePerLifetime
path:
  v: Dosage.maxDosePerLifetime
short:
  v: Upper limit on medication per lifetime of the patient
definition:
  v: Upper limit on medication per lifetime of the patient.
comment:
  v: Begründung Einschränkung Kardinalität: Eine maximale Dosis über die Lebenszeit ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
requirements:
  v: The maximum total quantity of a therapeutic substance that may be administered per lifetime of the subject.
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Dosage.maxDosePerLifetime
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
    l: Quantity
  profile:
    v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: not supported

element:
  id:
    v: Dosage
  path:
    v: Dosage
  constraint:
    key:
      v: DosageStructuredOrFreeText
    severity:
      v: error
    human:
      v: Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt.
    expression:
      v: (%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())) )
    source:
      v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDgMP
      l: DosageDgMP
  constraint:
    key:
      v: DosageStructuredRequiresGeneratedText
    severity:
      v: error
    human:
      v: Liegt eine strukturierte Dosierungsangabe vor (timing und doseAndRate belegt, text leer), muss die Extension GeneratedDosageInstructionsMeta vorhanden sein.
    expression:
      v: ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(timing.exists() and doseAndRate.exists() and text.empty()) ) implies ( %resource.extension.where( url = 'http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta' ).exists() and ( %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction' ).exists() or %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction' ).exists() or %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationStatement.renderedDosageInstruction' ).exists() ) )
    source:
      v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDgMP
      l: DosageDgMP
  constraint:
    key:
      v: FreeTextSingleDosageOnly
    severity:
      v: error
    human:
      v: Wenn eine Dosierung als reiner Freitext angegeben ist, darf nur genau ein Dosage-Element existieren.
    expression:
      v: ( (%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 )
    source:
      v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDgMP
      l: DosageDgMP
  constraint:
    key:
      v: FreeTextMatchesRenderedText
    severity:
      v: error
    human:
      v: Wenn eine Dosierung als reiner Freitext angegeben ist (text vorhanden, timing und doseAndRate leer) UND die Extension renderedDosageInstruction befüllt ist, muss der Wert in dosageInstruction.text mit dem Wert in der Extension übereinstimmen.
    expression:
      v: ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).where(text.exists() and timing.empty() and doseAndRate.empty()).exists() ) implies ( ( %resource.ofType(MedicationRequest).exists() and ( %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction' ).empty() or %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction' ).value = %resource.dosageInstruction.text ) ) or ( %resource.ofType(MedicationDispense).exists() and ( %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction' ).empty() or %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction' ).value = %resource.dosageInstruction.text ) ) or ( %resource.ofType(MedicationStatement).exists() and ( %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationStatement.renderedDosageInstruction' ).empty() or %resource.extension.where( url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationStatement.renderedDosageInstruction' ).value = %resource.dosage.text ) ) )
    source:
      v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDgMP
      l: DosageDgMP
element:
  id:
    v: Dosage.sequence
  path:
    v: Dosage.sequence
  comment:
    v: Begründung Einschränkung Kardinalität: Eine Dosier-Sequenz ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
  max:
    v: 0
element:
  id:
    v: Dosage.additionalInstruction
  path:
    v: Dosage.additionalInstruction
  max:
    v: 0
element:
  id:
    v: Dosage.patientInstruction
  path:
    v: Dosage.patientInstruction
  max:
    v: 0
element:
  id:
    v: Dosage.timing
  path:
    v: Dosage.timing
  type:
    code:
      v: Timing
      l: Timing
    profile:
      v: http://ig.fhir.de/igs/medication/StructureDefinition/TimingDgMP
      l: TimingDgMP
element:
  id:
    v: Dosage.asNeeded[x]
  path:
    v: Dosage.asNeeded[x]
  comment:
    v: Begründung Einschränkung Kardinalität: Eine Bedarfsdosis ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
  max:
    v: 0
element:
  id:
    v: Dosage.site
  path:
    v: Dosage.site
  comment:
    v: Begründung Einschränkung Kardinalität: Eine Verabreichungsstelle ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
  max:
    v: 0
element:
  id:
    v: Dosage.route
  path:
    v: Dosage.route
  comment:
    v: Begründung Einschränkung Kardinalität: Ein Verabreichungsweg ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
  max:
    v: 0
element:
  id:
    v: Dosage.method
  path:
    v: Dosage.method
  comment:
    v: Begründung Einschränkung Kardinalität: Eine Verabreichungsmethode ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
  max:
    v: 0
element:
  id:
    v: Dosage.doseAndRate
  path:
    v: Dosage.doseAndRate
  comment:
    v: Begründung Einschränkung Kardinalität: Nur eine Dosierung pro Medikation ist in der ersten Ausbaustufe des dgMP vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
  max:
    v: 1
element:
  id:
    v: Dosage.doseAndRate.type
  path:
    v: Dosage.doseAndRate.type
  comment:
    v: Begründung Einschränkung Kardinalität: Eine 'type'-Angabe ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
  max:
    v: 0
element:
  id:
    v: Dosage.doseAndRate.dose[x]
  path:
    v: Dosage.doseAndRate.dose[x]
  comment:
    v: Begründung Einschränkung Datentyp: Nur einfache Mengenangaben sind in der ersten Ausbaustufe des dgMP vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
  type:
    code:
      v: Quantity
      l: Quantity
    profile:
      v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
      l: SimpleQuantity
element:
  id:
    v: Dosage.doseAndRate.dose[x]:doseQuantity
  path:
    v: Dosage.doseAndRate.dose[x]
  slice name:
    v: doseQuantity
  type:
    code:
      v: Quantity
      l: Quantity
    profile:
      v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
      l: SimpleQuantity
  binding:
    strength:
      v: required
    value set:
      v: https://fhir.kbv.de/ValueSet/KBV_VS_SFHIR_BMP_DOSIEREINHEIT
      l: KBV VS SFHIR BMP DOSIEREINHEIT
element:
  id:
    v: Dosage.doseAndRate.dose[x]:doseQuantity.unit
  path:
    v: Dosage.doseAndRate.dose[x].unit
  min:
    v: 1
  must support:
    v: true
element:
  id:
    v: Dosage.doseAndRate.dose[x]:doseQuantity.system
  path:
    v: Dosage.doseAndRate.dose[x].system
  min:
    v: 1
  must support:
    v: true
element:
  id:
    v: Dosage.doseAndRate.dose[x]:doseQuantity.code
  path:
    v: Dosage.doseAndRate.dose[x].code
  min:
    v: 1

v: true

id:
  v: Dosage.doseAndRate.rate[x]
path:
  v: Dosage.doseAndRate.rate[x]
comment:
  v: Begründung Einschränkung Kardinalität: Eine Verabreichungsmenge pro Zeiteinheit ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
max:
  v: 0

id:
  v: Dosage.maxDosePerPeriod
path:
  v: Dosage.maxDosePerPeriod
comment:
  v: Begründung Einschränkung Kardinalität: Eine maximale Dosis pro Zeitraum ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
max:
  v: 0

id:
  v: Dosage.maxDosePerAdministration
path:
  v: Dosage.maxDosePerAdministration
comment:
  v: Begründung Einschränkung Kardinalität: Eine maximale Dosis pro Verabreichung ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
max:
  v: 0

id:
  v: Dosage.maxDosePerLifetime
path:
  v: Dosage.maxDosePerLifetime
comment:
  v: Begründung Einschränkung Kardinalität: Eine maximale Dosis über die Lebenszeit ist in der ersten Ausbaustufe des dgMP nicht vorgesehen, um die Komplexität zu reduzieren und die Übersichtlichkeit zu erhöhen.
max:
  v: 0