You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Der heute eingebaute Heuristik-Match text =~ /Kostengutsprache|Vertrauensarzt/i
auf dem Limitations-Text einer ClinicalUseDefinition produziert systematisch
falsch-positive KoGu-Markierungen, weil viele Limitationen die KoGu-Pflicht
nur an bestimmte Therapielinien oder Eskalationsschritte knüpfen, nicht
an die Indikation als Ganzes.
Damit ein Chooser-UI (z.B. generikacc#102) die richtige Information anzeigen
kann, müssen wir den Limitations-Text in Sub-Klauseln zerlegen und KoGu
pro Klausel statt pro Indikation kennzeichnen.
Behandlung erwachsener Patienten mit mittelschwerem bis schwerem aktivem
Morbus Crohn, bei denen konventionelle Therapien oder die Behandlung mit
einem TNFα-Antagonisten ungenügend angesprochen haben, nicht mehr
ansprechen, kontraindiziert sind oder nicht vertragen wurden.
Eine Verkürzung des Dosierungsintervalls auf acht Wochen bei Patienten
mit hoher mukosaler und systemischer Entzündungsaktivität sowie eine Weiterbehandlung mit STELARA von einem Jahr bedürfen der Kostengutsprache
durch den Krankenversicherer nach vorgängiger Konsultation des
Vertrauensarztes.
Die Verschreibung kann nur durch Fachärzte der Gastroenterologie oder
Universitätskliniken/Polikliniken erfolgen.
STELARACU2 (Colitis ulcerosa) ist semantisch identisch aufgebaut.
Mein Regex labelt beide als KoGu = ja. Klinisch korrekt wäre aber:
Therapielinie
KoGu
Standard-Induktion + Erhaltungstherapie alle 12 Wochen
nein
Verkürzung Dosierungsintervall auf 8 Wochen
ja
Weiterbehandlung über 1 Jahr hinaus
ja
Die einfache Regex pauschalisiert KoGu für die gesamte Indikation und löst
damit das KoGu-Verfahren auch bei regulärem Therapie-Einstieg aus. Das ist
für den Vertrauensarzt-Workflow ein False-Positive.
Ziel
Einen strukturierten Sub-Klausel-Parser für Limitations-Texte einführen,
der pro Klausel ein Mini-Datenobjekt extrahiert:
- clause_text: "Behandlung erwachsener Patienten mit mittelschwerem bis schwerem aktivem Morbus Crohn..."applies_to: standard_indicationrequires_kogu: false
- clause_text: "Eine Verkürzung des Dosierungsintervalls auf acht Wochen..."applies_to: dose_interval_shorteningrequires_kogu: truetrigger_keywords: [Verkürzung, Dosierungsintervall]
- clause_text: "Eine Weiterbehandlung mit STELARA von einem Jahr..."applies_to: continuation_beyond_1_yearrequires_kogu: truetrigger_keywords: [Weiterbehandlung, "über ein Jahr", Langzeit]
Das Ergebnis exponieren wir am <INDICATION_CODE>-Element via Sub-Elemente
oder ein zusätzliches Attribut, z.B.:
<INDICATION_CODEcode="21754.03"cud_id="STELARAMC"requires_kogu="conditional">
<CLAUSEapplies_to="standard_indication"requires_kogu="false">
Behandlung erwachsener Patienten...
</CLAUSE>
<CLAUSEapplies_to="dose_escalation"requires_kogu="true">
Eine Verkürzung des Dosierungsintervalls auf acht Wochen...
</CLAUSE>
<CLAUSEapplies_to="continuation"requires_kogu="true">
Eine Weiterbehandlung mit STELARA von einem Jahr...
</CLAUSE>
</INDICATION_CODE>
Damit kann der Chooser die richtige Sub-Auswahl (Standard / Eskalation /
Langzeit) anbieten und das KoGu-Badge nur dann setzen, wenn die gewählte
Klausel KoGu erfordert.
Vorgehen
Sample-Korpus zusammenstellen — alle 1'419 INDICATION_CODE-Texte aus
der aktuellen oddb_product.xml, davon die ~796 mit KoGu-Phrase.
Klassifikator-Heuristik auf Satz-Ebene:
Trigger-Phrasen für „KoGu-only-bei":
Verkürzung des Dosierungsintervalls
Weiterbehandlung / Langzeitbehandlung / über X Jahr
Wiederbehandlung
Erhöhung der Dosis / Dosiseskalation
nach Versagen einer weiteren Therapie
Ausnahmefälle / nur in begründeten Einzelfällen
Trigger-Phrasen für „KoGu-pauschal":
Die Behandlung bedarf der Kostengutsprache (am Anfang/eigenständig,
ohne einschränkende Bedingungen davor)
Validierung an einem manuell durchgesehenen Sample (~50 CUDs) — mit
einer/m Fachärztin/-arzt absprechen, falls möglich.
Parser-Modul lib/oddb2xml/limitation_clauses.rb (analog refdata_cleanup.rb) mit Klausel-Klassifikator + Tests.
<INDICATION_CODE> trägt entweder ein requires_kogu="true|false|conditional"
Attribut oder verschachtelte <CLAUSE>-Kinder. Architektur-Entscheidung
beim Implementieren — Backwards-Compat-Check mit den heutigen Konsumenten
(rust2xml, generikacc, ywesee-EHR-Backend) durchführen.
Validierung gegen Stelara MC/CU: standard_indication.requires_kogu = false,
dose_escalation/continuation.requires_kogu = true.
Validierung gegen Cyramza (20403.01): pauschale KoGu, da die
Phrase „Die Behandlung bedarf der Kostengutsprache" alleinstehend folgt.
Generika.cc-Issue #102
erhält einen Update-Kommentar, sobald die strukturierte Information
verfügbar ist.
Zusammenfassung
Der heute eingebaute Heuristik-Match
text =~ /Kostengutsprache|Vertrauensarzt/iauf dem Limitations-Text einer
ClinicalUseDefinitionproduziert systematischfalsch-positive KoGu-Markierungen, weil viele Limitationen die KoGu-Pflicht
nur an bestimmte Therapielinien oder Eskalationsschritte knüpfen, nicht
an die Indikation als Ganzes.
Damit ein Chooser-UI (z.B. generikacc#102) die richtige Information anzeigen
kann, müssen wir den Limitations-Text in Sub-Klauseln zerlegen und KoGu
pro Klausel statt pro Indikation kennzeichnen.
Leitbeispiel: Stelara Morbus Crohn / Colitis ulcerosa
CUD-id
STELARAMC(Morbus Crohn), Originaltext:STELARACU2(Colitis ulcerosa) ist semantisch identisch aufgebaut.Mein Regex labelt beide als KoGu = ja. Klinisch korrekt wäre aber:
Die einfache Regex pauschalisiert KoGu für die gesamte Indikation und löst
damit das KoGu-Verfahren auch bei regulärem Therapie-Einstieg aus. Das ist
für den Vertrauensarzt-Workflow ein False-Positive.
Ziel
Einen strukturierten Sub-Klausel-Parser für Limitations-Texte einführen,
der pro Klausel ein Mini-Datenobjekt extrahiert:
Das Ergebnis exponieren wir am
<INDICATION_CODE>-Element via Sub-Elementeoder ein zusätzliches Attribut, z.B.:
Damit kann der Chooser die richtige Sub-Auswahl (Standard / Eskalation /
Langzeit) anbieten und das KoGu-Badge nur dann setzen, wenn die gewählte
Klausel KoGu erfordert.
Vorgehen
der aktuellen
oddb_product.xml, davon die ~796 mit KoGu-Phrase.Verkürzung des DosierungsintervallsWeiterbehandlung/Langzeitbehandlung/über X JahrWiederbehandlungErhöhung der Dosis/Dosiseskalationnach Versagen einer weiteren TherapieAusnahmefälle/nur in begründeten EinzelfällenDie Behandlung bedarf der Kostengutsprache(am Anfang/eigenständig,ohne einschränkende Bedingungen davor)
einer/m Fachärztin/-arzt absprechen, falls möglich.
<INDICATION_CODE>(Vorschlag oben)und/oder als separate
kogu_clauses.yaml-Datei (analog zum Mapping ausFHIR ClinicalUseDefinition: nicht-numerische CUD-IDs (z.B. Stelara) ergeben keinen XXXXX.NN-Code #114).
Akzeptanzkriterien
lib/oddb2xml/limitation_clauses.rb(analogrefdata_cleanup.rb) mit Klausel-Klassifikator + Tests.<INDICATION_CODE>trägt entweder einrequires_kogu="true|false|conditional"Attribut oder verschachtelte
<CLAUSE>-Kinder. Architektur-Entscheidungbeim Implementieren — Backwards-Compat-Check mit den heutigen Konsumenten
(rust2xml, generikacc, ywesee-EHR-Backend) durchführen.
dose_escalation/continuation.requires_kogu = true.
20403.01): pauschale KoGu, da diePhrase „Die Behandlung bedarf der Kostengutsprache" alleinstehend folgt.
erhält einen Update-Kommentar, sobald die strukturierte Information
verfügbar ist.
aus FHIR ClinicalUseDefinition: nicht-numerische CUD-IDs (z.B. Stelara) ergeben keinen XXXXX.NN-Code #114 noch fragen, ob ein strukturiertes
medicalReviewRequired/preauthorizationScope-Feld geplant ist.Verwandte Issues
Indikationscode-Implementierung
.NN-Codes bei Buchstaben-Suffix-CUDs (Stelara ist auch dort Leitbeispiel)im KoGu-Formular; konsumiert das Output dieses Issues
verifiedvsconstructed-Trennung, gleiche Struktur sollte fürrequires_kogugelten