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

## Variable Angaben

Diese Seite beschreibt strukturierte variable Angaben innerhalb einer einzelnen Dosierung. Gemeint sind Bereiche statt fixer Einzelwerte, also z. B. eine variable Einzeldosis oder eine variable Häufigkeit bzw. Periode.

Unter variablen Angaben werden in diesem IG folgende Modellierungen verstanden:

- variable Einzeldosis über `Dosage.doseAndRate.doseRange`
- variable Frequenz über `Timing.repeat.frequency` und `Timing.repeat.frequencyMax`
- variable Periode über `Timing.repeat.period` und `Timing.repeat.periodMax`

Die Seite beschreibt die hierfür geltenden technischen Anforderungen im dgMP-Kontext.

Folgende weitere Beispiele sind in diesem IG dargestellt:

Fall | Beispielstring | Beispiel-Datei
--- | --- | ---
Variable Einzeldosis | täglich: je 1 bis 2 Stück | Example-MR-Dosage-variable-doseRange
Variable Frequenz | 1 bis 2 x täglich: je 1 Stück | Example-MR-Dosage-variable-frequency
Variable Periode | alle 4 bis 6 Tage: je 1 Stück | Example-MR-Dosage-variable-period

### Variable Einzeldosis

Eine variable Einzeldosis wird über `Dosage.doseAndRate.doseRange` modelliert. Dabei beschreibt `low` die Untergrenze und `high` die Obergrenze des zulässigen Dosisbereichs.

### Beispiel

    {
      "resourceType" : "MedicationRequest",
      "id" : "Example-MR-Dosage-variable-doseRange",
      "meta" : {
        "profile" : [
          🔗 "http://ig.fhir.de/igs/medication/StructureDefinition/MedicationRequestDgMP"
        ]
      },
      "text" : {
        "status" : "extensions",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: MedicationRequest Example-MR-Dosage-variable-doseRange</b></p><a name=\"Example-MR-Dosage-variable-doseRange\"> </a><a name=\"hcExample-MR-Dosage-variable-doseRange\"> </a><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\"/><p style=\"margin-bottom: 0px\">Profile: <a href=\"StructureDefinition-MedicationRequestDgMP.html\">Medication Request dgMP</a></p></div><p><b>R5: Full representation of the dosage instructions (new)</b>: </p><div><p>täglich: je 1 bis 2 Stück</p>\n</div><blockquote><p><b>Generated Dosage Instructions Meta</b></p><ul><li>algorithmVersion: 1.1.0-beta-1</li><li>language: de-DE</li></ul></blockquote><p><b>status</b>: Active</p><p><b>intent</b>: Order</p><p><b>medication</b>: <span title=\"Codes:\">Metamizol</span></p><p><b>subject</b>: Patient</p><blockquote><p><b>dosageInstruction</b></p><p><b>timing</b>: Once per 1 day</p><h3>DoseAndRates</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Dose[x]</b></td></tr><tr><td style=\"display: none\">*</td><td>1-2 Stück</td></tr></table></blockquote></div>"
      },
      "extension" : [
        {
          "url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction",
          "valueMarkdown" : "täglich: je 1 bis 2 Stück"
        },
        {
          "extension" : [
            {
              "url" : "algorithmVersion",
              "valueString" : "1.1.0-beta-1"
            },
            {
              "url" : "language",
              "valueCode" : "de-DE"
            }
          ],
          "url" : "http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta"
        }
      ],
      "status" : "active",
      "intent" : "order",
      "medicationCodeableConcept" : {
        "text" : "Metamizol"
      },
      "subject" : {
        "display" : "Patient"
      },
      "dosageInstruction" : [
        {
          "timing" : {
            "repeat" : {
              "frequency" : 1,
              "period" : 1,
              "periodUnit" : "d"
            }
          },
          "doseAndRate" : [
            {
              "doseRange" : {
                "low" : {
                  "value" : 1,
                  "unit" : "Stück",
                  "system" : "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BMP_DOSIEREINHEIT",
                  "code" : "1"
                },
                "high" : {
                  "value" : 2,
                  "unit" : "Stück",
                  "system" : "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BMP_DOSIEREINHEIT",
                  "code" : "1"
                }
              }
            }
          ]
        }
      ]
    }

#### Technische Anforderungen

Untergrenze benötigt immer Obergrenze

    doseAndRate.dose.ofType(Range).low.empty()
    or doseAndRate.dose.ofType(Range).high.exists()

Unter- und Obergrenze müssen dieselbe Maßeinheit verwenden (`system`, `code`, `unit`)

    doseAndRate.dose.ofType(Range).low.empty()
    or doseAndRate.dose.ofType(Range).high.empty()
    or (
      doseAndRate.dose.ofType(Range).low.system = doseAndRate.dose.ofType(Range).high.system
      and doseAndRate.dose.ofType(Range).low.code = doseAndRate.dose.ofType(Range).high.code
      and doseAndRate.dose.ofType(Range).low.unit = doseAndRate.dose.ofType(Range).high.unit
    )

Folgende Beispiele sind nicht valide, da sie diese Constraints brechen:

File | doseQuantity | duration | durationUnit | frequency | period | periodUnit | Day of Week | Time Of Day | when | bounds[x]
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
MedicationDispense-INV-C-DoseRangeHighRequiredWhenLowPresent-Dispense-02-of-03 |  |  |  | 1 | 1 | d |  |  |  |
MedicationRequest-INV-C-DoseRangeHighRequiredWhenLowPresent-Request-01-of-03 |  |  |  | 1 | 1 | d |  |  |  |
MedicationStatement-INV-C-DoseRangeHighRequiredWhenLowPresent-Statement-03-of-03 |  |  |  | 1 | 1 | d |  |  |  |

File | doseQuantity | duration | durationUnit | frequency | period | periodUnit | Day of Week | Time Of Day | when | bounds[x]
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
MedicationDispense-INV-C-DoseRangeLowAndHighSameUnit-Dispense-02-of-03 | 1-2 Stück |  |  | 1 | 1 | d |  |  |  |
MedicationRequest-INV-C-DoseRangeLowAndHighSameUnit-Request-01-of-03 | 1-2 Stück |  |  | 1 | 1 | d |  |  |  |
MedicationStatement-INV-C-DoseRangeLowAndHighSameUnit-Statement-03-of-03 | 1-2 Stück |  |  | 1 | 1 | d |  |  |  |

### Variable Frequenz

Eine variable Frequenz wird über `Timing.repeat.frequency` als Untergrenze und `Timing.repeat.frequencyMax` als Obergrenze modelliert.

### Beispiel

    {
      "resourceType" : "MedicationRequest",
      "id" : "Example-MR-Dosage-variable-frequency",
      "meta" : {
        "profile" : [
          🔗 "http://ig.fhir.de/igs/medication/StructureDefinition/MedicationRequestDgMP"
        ]
      },
      "text" : {
        "status" : "extensions",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: MedicationRequest Example-MR-Dosage-variable-frequency</b></p><a name=\"Example-MR-Dosage-variable-frequency\"> </a><a name=\"hcExample-MR-Dosage-variable-frequency\"> </a><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\"/><p style=\"margin-bottom: 0px\">Profile: <a href=\"StructureDefinition-MedicationRequestDgMP.html\">Medication Request dgMP</a></p></div><p><b>R5: Full representation of the dosage instructions (new)</b>: </p><div><p>1 bis 2 x täglich: je 1 Stück</p>\n</div><blockquote><p><b>Generated Dosage Instructions Meta</b></p><ul><li>algorithmVersion: 1.1.0-beta-1</li><li>language: de-DE</li></ul></blockquote><p><b>status</b>: Active</p><p><b>intent</b>: Order</p><p><b>medication</b>: <span title=\"Codes:\">Ibuprofen 400mg</span></p><p><b>subject</b>: Patient</p><blockquote><p><b>dosageInstruction</b></p><p><b>timing</b>: 1-2 per 1 day</p><h3>DoseAndRates</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Dose[x]</b></td></tr><tr><td style=\"display: none\">*</td><td>1 Stück<span style=\"background: LightGoldenRodYellow\"> (Details: KBV_CS_SFHIR_BMP_DOSIEREINHEIT  code1 = '1')</span></td></tr></table></blockquote></div>"
      },
      "extension" : [
        {
          "url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction",
          "valueMarkdown" : "1 bis 2 x täglich: je 1 Stück"
        },
        {
          "extension" : [
            {
              "url" : "algorithmVersion",
              "valueString" : "1.1.0-beta-1"
            },
            {
              "url" : "language",
              "valueCode" : "de-DE"
            }
          ],
          "url" : "http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta"
        }
      ],
      "status" : "active",
      "intent" : "order",
      "medicationCodeableConcept" : {
        "text" : "Ibuprofen 400mg"
      },
      "subject" : {
        "display" : "Patient"
      },
      "dosageInstruction" : [
        {
          "timing" : {
            "repeat" : {
              "frequency" : 1,
              "frequencyMax" : 2,
              "period" : 1,
              "periodUnit" : "d"
            }
          },
          "doseAndRate" : [
            {
              "doseQuantity" : {
                "value" : 1,
                "unit" : "Stück",
                "system" : "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BMP_DOSIEREINHEIT",
                "code" : "1"
              }
            }
          ]
        }
      ]
    }

#### Technische Anforderungen

Variable Frequenz und variable Periode dürfen nicht gemeinsam verwendet werden

    repeat.frequencyMax.empty() or repeat.periodMax.empty()

Bei variabler Frequenz muss die maximale Frequenz größer als die minimale Frequenz sein

    repeat.frequencyMax.empty()
    or repeat.frequency.empty()
    or repeat.frequency < repeat.frequencyMax

Variable Frequenz und maximale Dosis pro Zeitraum dürfen nicht gemeinsam verwendet werden

Constraint auf Ebene von `Dosage`:

    timing.repeat.frequencyMax.empty() or maxDosePerPeriod.empty()

Folgende Beispiele sind nicht valide, da sie diese Constraints brechen:

File | doseQuantity | duration | durationUnit | frequency | period | periodUnit | Day of Week | Time Of Day | when | bounds[x]
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
MedicationDispense-W-TimingVarFreqOrPeriod-Dispense-02-of-03 | 1 Stück |  |  | 1-2 | 4-6 | h |  |  |  |
MedicationRequest-W-TimingVarFreqOrPeriod-Request-01-of-03 | 1 Stück |  |  | 1-2 | 4-6 | h |  |  |  |
MedicationStatement-W-TimingVarFreqOrPeriod-Statement-03-of-03 | 1 Stück |  |  | 1-2 | 4-6 | h |  |  |  |

File | doseQuantity | duration | durationUnit | frequency | period | periodUnit | Day of Week | Time Of Day | when | bounds[x]
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
MedicationDispense-INV-C-TimingVarFreqGtMin-Dispense-02-of-03 | 1 Stück |  |  | 2-2 | 1 | d |  |  |  |
MedicationRequest-INV-C-TimingVarFreqGtMin-Request-01-of-03 | 1 Stück |  |  | 2-2 | 1 | d |  |  |  |
MedicationStatement-INV-C-TimingVarFreqGtMin-Statement-03-of-03 | 1 Stück |  |  | 2-2 | 1 | d |  |  |  |

File | doseQuantity | duration | durationUnit | frequency | period | periodUnit | Day of Week | Time Of Day | when | bounds[x]
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
MedicationDispense-INV-C-VarFreqNoMaxDose-Dispense-02-of-03 | 1 Stück |  |  | 1-2 | 1 | d |  |  |  |
MedicationRequest-INV-C-VarFreqNoMaxDose-Request-01-of-03 | 1 Stück |  |  | 1-2 | 1 | d |  |  |  |
MedicationStatement-INV-C-VarFreqNoMaxDose-Statement-03-of-03 | 1 Stück |  |  | 1-2 | 1 | d |  |  |  |

### Variable Periode

Eine variable Periode wird über `Timing.repeat.period` als Untergrenze und `Timing.repeat.periodMax` als Obergrenze modelliert.

### Beispiel

    {
      "resourceType" : "MedicationRequest",
      "id" : "Example-MR-Dosage-variable-period",
      "meta" : {
        "profile" : [
          🔗 "http://ig.fhir.de/igs/medication/StructureDefinition/MedicationRequestDgMP"
        ]
      },
      "text" : {
        "status" : "extensions",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: MedicationRequest Example-MR-Dosage-variable-period</b></p><a name=\"Example-MR-Dosage-variable-period\"> </a><a name=\"hcExample-MR-Dosage-variable-period\"> </a><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\"/><p style=\"margin-bottom: 0px\">Profile: <a href=\"StructureDefinition-MedicationRequestDgMP.html\">Medication Request dgMP</a></p></div><p><b>R5: Full representation of the dosage instructions (new)</b>: </p><div><p>alle 4 bis 6 Tage: je 1 Stück</p>\n</div><blockquote><p><b>Generated Dosage Instructions Meta</b></p><ul><li>algorithmVersion: 1.1.0-beta-1</li><li>language: de-DE</li></ul></blockquote><p><b>status</b>: Active</p><p><b>intent</b>: Order</p><p><b>medication</b>: <span title=\"Codes:\">Ibuprofen 400mg</span></p><p><b>subject</b>: Patient</p><blockquote><p><b>dosageInstruction</b></p><p><b>timing</b>: Once per 4-6 days</p><h3>DoseAndRates</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Dose[x]</b></td></tr><tr><td style=\"display: none\">*</td><td>1 Stück<span style=\"background: LightGoldenRodYellow\"> (Details: KBV_CS_SFHIR_BMP_DOSIEREINHEIT  code1 = '1')</span></td></tr></table></blockquote></div>"
      },
      "extension" : [
        {
          "url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction",
          "valueMarkdown" : "alle 4 bis 6 Tage: je 1 Stück"
        },
        {
          "extension" : [
            {
              "url" : "algorithmVersion",
              "valueString" : "1.1.0-beta-1"
            },
            {
              "url" : "language",
              "valueCode" : "de-DE"
            }
          ],
          "url" : "http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta"
        }
      ],
      "status" : "active",
      "intent" : "order",
      "medicationCodeableConcept" : {
        "text" : "Ibuprofen 400mg"
      },
      "subject" : {
        "display" : "Patient"
      },
      "dosageInstruction" : [
        {
          "timing" : {
            "repeat" : {
              "frequency" : 1,
              "period" : 4,
              "periodMax" : 6,
              "periodUnit" : "d"
            }
          },
          "doseAndRate" : [
            {
              "doseQuantity" : {
                "value" : 1,
                "unit" : "Stück",
                "system" : "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BMP_DOSIEREINHEIT",
                "code" : "1"
              }
            }
          ]
        }
      ]
    }

#### Technische Anforderungen

Bei variabler Periode muss die maximale Periode größer als die minimale Periode sein

    repeat.periodMax.empty() or repeat.period.empty() or repeat.period < repeat.periodMax

Variable Periode und Mindestabstand zwischen zwei Einzelgaben dürfen nicht gemeinsam verwendet werden

    timing.repeat.periodMax.empty()
    or modifierExtension.where(url='http://ig.fhir.de/igs/medication/StructureDefinition/MindestabstandZwischenGaben').empty()

Folgende Beispiele sind nicht valide, da sie diese Constraints brechen:

File | doseQuantity | duration | durationUnit | frequency | period | periodUnit | Day of Week | Time Of Day | when | bounds[x]
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
MedicationDispense-INV-C-TimingVarPeriodGtMin-Dispense-02-of-03 | 1 Stück |  |  | 1 | 4-4 | h |  |  |  |
MedicationRequest-INV-C-TimingVarPeriodGtMin-Request-01-of-03 | 1 Stück |  |  | 1 | 4-4 | h |  |  |  |
MedicationStatement-INV-C-TimingVarPeriodGtMin-Statement-03-of-03 | 1 Stück |  |  | 1 | 4-4 | h |  |  |  |

File | doseQuantity | duration | durationUnit | frequency | period | periodUnit | Day of Week | Time Of Day | when | bounds[x]
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
MedicationDispense-INV-C-VarPeriodNoMindestabstand-Dispense-02-of-03 | 1 Stück |  |  | 1 | 4-6 | h |  |  |  |
MedicationRequest-INV-C-VarPeriodNoMindestabstand-Request-01-of-03 | 1 Stück |  |  | 1 | 4-6 | h |  |  |  |
MedicationStatement-INV-C-VarPeriodNoMindestabstand-Statement-03-of-03 | 1 Stück |  |  | 1 | 4-6 | h |  |  |  |