Medication IG DE, published by HL7 Deutschland e.V.. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7germany/medication-ig-de-r4/ and changes regularly. See the Directory of published versions
Diese Version erweitert das dgMP-Dosiermodell erheblich: Dosierungen, die bisher als „nicht unterstützt" geführt waren, sind jetzt strukturiert abbildbar. Der Eintrag fasst alle Änderungen seit 1.0.5 zusammen; die dazwischenliegenden Versionen 1.0.6 und 1.0.7 waren technisch getrieben und ohne fachliche Änderung.
Version des Textgenerierungs-Algorithmus: 2.0.0-ballot. Der Algorithmus wird in
hl7germany/dgMP-DosageTextgenerierung-Skript
gepflegt; seine Änderungen stehen im dortigen CHANGELOG.md.
Neu unterstützte Dosierangaben
doseRange — „1 bis 2 Stück" statt eines festen Werts. Untergrenze 0 ist zulässig, Obergrenze ist Pflicht. Siehe Variable Angaben.frequencyMax und periodMax — „1 bis 2 x täglich", „alle 2 bis 3 Tage". Bei einer reinen Intervallangabe darf von beiden nur eine größer als 1 sein (TimingFreqOrPeriodGtOne): „2 x alle 8 Stunden" wird als „alle 4 Stunden" ausgedrückt, und beide Achsen zugleich zu variieren ist damit ebenfalls ausgeschlossen. Im generischen DE-Profil löst die Regel eine Warnung aus.asNeededBoolean, mit Anlass (asNeededFor), Mindestabstand zwischen zwei Gaben und Maximalmenge (maxDosePerPeriod). Mehrere Anlässe sind zulässig und werden als Aufzählung wiedergegeben; der Mindestabstand ist der reinen Bedarfsdosierung vorbehalten. Siehe Schema für Bedarfsmedikation.boundsPeriod — Start- und/oder Enddatum, optional mit Uhrzeit und Zeitzone. Siehe Angabe von Start- und Enddatum.patientInstruction für Hinweise, die sich nicht strukturiert abbilden lassen. Siehe Zusätzliche Instruktionen.d, wk, mo) zusammen mit when oder timeOfDay. Siehe Schema für Kombinationen von Zeitintervallen.frequency sowie das Paar period = 1, periodUnit = wk zulässig. Sie begründen kein Intervallschema und verändern den erzeugten Text nicht.Damit entfallen 20 Beispiele aus der Liste nicht unterstützter Dosierkonfigurationen:
asNeededBoolean, asNeededCodeableConcept, doseRange, maxDosePerPeriod und boundsPeriod.
Neue Artefakte
MinimumIntervalBetweenAdministrations, Backport von asNeededFor aus R5MindestabstandUnitsOfTimeDgMPInvarianten
Neu sind 31 Invarianten; sie sichern die oben genannten Angaben ab. Was jede einzelne prüft, beschreibt die Übersicht der Timing- & Dosierungs-Invarianten.
DosageDgMP: AsNeededForIdentical, AsNeededForRequiresAsNeeded, AsNeededIdentical, AsNeededSingleDosageOnly, DosageDoseQuantityAllowedFractions, DosageDoseValueDecimalNotation, DosageDoseValuePositive, DosageFourSlotPatternInText, DoseRangeHighRequiredWhenLowPresent, DoseRangeLowAndHighSameUnit, DoseRangeNoVarPeriod, MaxDoseOnlyPureAsNeeded, MaxDosePerPeriodOnly24hOr1d, MaxDoseSameUnitAsDose, MinimumIntervalOnlyPureAsNeeded, MinimumIntervalUnitMatchesCode, PatientInstructionIdenticalTimingDgMP: TimingBoundsDurationOnlyWholeNumber, TimingFreqOrPeriodGtOne, TimingPeriodOnlyWholeNumber, TimingVarFreqGtMin, TimingVarPeriodGtMinDosageDE (Warnungen): DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageFourSlotPatternInTextWarning, DosageStructuredRequiresBothWarning, dos-1TimingDE (Warnungen): TimingBoundsUnitMatchesCodeWarning, TimingFreqOrPeriodGtOneWarning, TimingSingleDosageForTimeOfDayWarning, TimingSingleDosageForWhenWarningGeändert haben sich die folgenden bestehenden Regeln. Ihr Wortlaut steht hier, weil die Übersichtsseite nur den aktuellen Stand zeigt, nicht den Unterschied zu 1.0.5:
TimingOnlyOneType (TimingDgMP)
dayOfWeek sind frequency sowie das Paar period = 1, periodUnit = wk als redundante Legacy-Angaben zulässig; zuvor führten sie zu einem Fehler. Jede andere Periode ist mit dayOfWeek nicht kombinierbar.frequencyMax) bleibt der reinen Intervallangabe vorbehalten; konkrete Zeitpunkte und Wochentage legen die Zahl der Gaben bereits fest.TimingPeriodUnit (TimingDgMP)
periodUnit darf nur zusammen mit period angegeben werden. Bei dayOfWeek ist ausschließlich die redundante Wochenangabe zulässig; bei when oder timeOfDay ohne dayOfWeek sind Tage, Wochen oder Monate zulässig. Zuvor war dort ausschließlich d erlaubt, wodurch wöchentliche und monatliche Kombinationen nicht abbildbar waren.TimingSingleDosageForTimeOfDay und TimingSingleDosageForWhen (TimingDgMP)
Dosage-Element eine eindeutige vollständige Dosis einschließlich Datentyp trägt. Zuvor genügte es, dass überhaupt zwei unterschiedliche Werte vorkamen — Ressourcen mit den Dosen 1, 1 und 2 wurden dadurch fälschlich akzeptiert.TimingFrequencyCount (TimingDgMP)
frequency ist bei when, timeOfDay und dayOfWeek optional, muss bei Angabe aber der Anzahl der konkreten Anwendungen entsprechen.DosageWarnungViererschemaInText (DosageDE) — umbenannt in DosageFourSlotPatternInTextWarning
Warning-Suffixes. Er erscheint in Validierungsmeldungen; Werkzeuge, die darauf abstellen, müssen angepasst werden. Der Ausdruck ist unverändert.TimingVarFreqGtMin (TimingDgMP)
frequency und frequencyMax jetzt numerisch über .value.toInteger(). Zuvor verglich der Ausdruck die Werte als Zeichenketten: „9 bis 10 x täglich" galt dadurch als ungültig, weil "9" < "10" lexikographisch nicht zutrifft. Betroffen war jede variable Frequenz, deren Ober- und Untergrenze unterschiedlich viele Stellen haben.TimingOnlyOneWhen, TimingOnlyOneTimeOfDay, TimingOnlyOneDayOfWeek, TimingOnlyOneTimeForInterval und TimingOnlyWhenOrTimeOfDay (TimingDgMP)
frequency, period und periodUnit nicht mehr voraus. Zuvor griffen diese Regeln nur, wenn alle drei Felder belegt waren — seit sie optionale Legacy-Angaben sind, wären Ressourcen ohne sie ungeprüft geblieben. Die Regeln erfassen damit alle Ressourcen des jeweiligen Schemas.DosageStructuredRequiresBoth und DosageStructuredRequiresGeneratedText (DosageDgMP)
doseAndRate darf ohne timing angegeben werden, wenn asNeededBoolean = true oder ein Anlass gesetzt ist, und eine solche Dosierung verlangt ebenfalls die Extension GeneratedDosageInstructionsMeta. Zuvor galt eine Dosierung ohne timing als unvollständig.TimingOnlyOneBounds (TimingDgMP)
boundsPeriod ab: Start und Ende müssen über alle Dosage-Elemente gleich belegt sein. Zuvor prüfte die Regel nur boundsDuration, obwohl die Textgenerierung den Zeitrahmen in beiden Fällen ausschließlich aus dem ersten Element liest. Ebenso gilt jetzt: Entweder tragen alle Elemente einen Zeitrahmen oder keines.TimingOnlyOnePeriodForDayOfWeek (TimingDgMP)
Timing.repeat auf Timing verschoben, um einen Überlauf im IG Publisher bei der Erzeugung der Excel-Tabellen zu umgehen. Der Ausdruck wertet ohnehin die gesamte Ressource aus; inhaltlich ändert sich nichts.MinimumIntervalOnlyPureAsNeeded (DosageDgMP) — neu
modifierExtension[MinimumIntervalBetweenAdministrations] ist nur zusammen mit asNeededBoolean = true und ohne timing zulässig.Sonstiges
frequency-, period- und periodUnit-Angaben optional zulässig sind und dass sie den erzeugten Text nicht verändern.What's Changed
package.json
url, der durch den Tooling-Workaround bei der Nutzung der alten SUSHI-Version entstanden ist.What's Changed
1.0.5
3.18.1, um zu verhindern, dass das Paket hl7.fhir.uv.xver-r5.r4#0.1.0 automatisch als Abhängigkeit aufgenommen wird.What's Changed
dayOfWeek:
TimingOnlyWhenOrTimeOfDayDetails
TimingOnlyWhenOrTimeOfDay (TimingDgMP)
MedicationRequest, MedicationDispense, MedicationStatementdayOfWeek.empty() wurde aus der Schema-Erkennung entfernt. Dadurch wird jetzt auch der Fall korrekt invalidiert, in dem innerhalb einer Ressource dayOfWeek + timeOfDay und dayOfWeek + when gemischt werden.TimingOnlyWhenOrTimeOfDay wurden Negativbeispiele für alle drei Ressourcentypen um Fälle mit gesetztem dayOfWeek ergänzt.TimingOnlyOneType wurden zusätzliche Negativbeispiele ergänzt, um Mischungen zusammengesetzter Schemata explizit abzudecken:
dayOfWeek gemischt mit dayOfWeek + whendayOfWeek gemischt mit dayOfWeek + timeOfDayInterval gemischt mit Interval + whenInterval gemischt mit Interval + timeOfDaydayOfWeek + when gemischt mit reinem IntervaldayOfWeek + timeOfDay gemischt mit reinem IntervaldayOfWeek + when gemischt mit Interval + whendayOfWeek + timeOfDay gemischt mit Interval + timeOfDayWhat's Changed
DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCodeDosageStructuredOrFreeTextTimingOnlyOneType, TimingOnlyOneTimeForInterval, TimingOnlyOnePeriodForDayOfWeekDetails je Invariante
DosageStructuredOrFreeTextWarning (DosageDE)
MedicationDispense, MedicationStatement%resource.-Präfixe vor ofType(...) ergänzt, damit die Regel in allen drei Ressourcentypzweigen korrekt evaluiert wird.DosageStructuredRequiresBoth (DosageDE)
MedicationDispense, MedicationStatement%resource.-Präfixe vor ofType(...) ergänzt, damit die wechselseitige Pflicht von timing und doseAndRate korrekt geprüft wird.DosageDoseUnitSameCode (DosageDE)
MedicationDispense, MedicationStatementQuantity und Range geprüft.DosageStructuredOrFreeText (DosageDgMP)
MedicationDispense, MedicationStatementDosageStructuredOrFreeTextWarning wurden fehlende %resource.-Präfixe ergänzt, damit Mischformen aus Freitext und Struktur verlässlich erkannt werden.TimingOnlyOneType (TimingDgMP)
MedicationDispense, MedicationStatement%resource.-Präfixe in den Unterbedingungen ergänzt; dadurch greifen die Typprüfungen (DayOfWeek, Interval, Kombinationsschemata) konsistent pro Ressource.TimingOnlyOneTimeForInterval (TimingDgMP)
MedicationStatementMedicationStatement-Prüfung wurde eine logisch redundante und inhaltlich falsche Typbedingung entfernt; dadurch wird die Konsistenz von period/periodUnit auch für MedicationStatement tatsächlich geprüft (zusätzlich zur Einzigartigkeitsprüfung von timeOfDay/when).TimingOnlyOnePeriodForDayOfWeek (TimingDgMP)
MedicationRequest, MedicationDispense, MedicationStatementdistinct().count() statt distinct()), damit doppelte (dayOfWeek + when/timeOfDay)-Kombinationen korrekt validiert werden.What's Changed
What's Changed
What's Changed
What's Changed
Release for the first ballot: 1.0.0-ballot