Hallo Zusammen,

Ich möchte die Patienten mit Marker kennzeichnen, die > oder  gleich 5 Dauermedikamente in ihrem BMP stehen haben. Das Zweite wäre , dass ich alle Patienten mit 3 oder mehr Diagnosen markieren möchte. Wie bekomme ich das mit der Statistikfunktion hin?

Liebe Grüße aus Hamburg, Christian Bauck
Gefragt in Frage von (150 Punkte)
0 Punkte

3 Antworten

Moin,

das Auszählen von Medikamenten erscheint mir extrem schwierig, da fallen mir nur ganz wilde regex-Tricksereien ein. 

Für das Herausfiltern von Pat. mit 3+ EBM-Diagnosen klappt aber folgender Weg:

EBM-Diagnosen > Gruppieren nach Spalte "patientID" > Gruppenzeilen in eigenem Fenster öffnen > EBM-Diagnosen (Gruppenzeilen) filtern nach anzahl_gruppierung > 2         Fertig. 

Beantwortet von (11.6k Punkte)
0 Punkte

Jetzt hat mich Ihre Fragestellung mit dem Polypharmazie-Marker doch noch herausgefordert. Es gelingt grundsätzlich über die automatischen Marker mit einem kleinen Python-Skript. Zuvor bedarf es aber noch eines Tricks, damit es weitgehend klappt (ein Haken bleibt aber aufgrund einer tomedo-eigenen Problematik.., siehe ganz unten.).

Funktion wäre so: So oft Sie wünschen (hängt von der Fragestellung ab: wenn Sie es immer wissen wollen, müssen Sie bei jedem Besuch auslösen), würden Sie sich einen Karteieintrag N (wie Notiz) anlegen, der mit einem Textbaustein (s.u.) vorbefüllt wird. Für das laufende Quartal würde dann der Polypharmaziemarker beim aktiven Patienten gesetzt. 

1. Man braucht einen Textbaustein, der den Medikationsplan mit zwischen Einträgen eingefügten Trennzeichen ## (die werden zum Auszählen benötigt) ausgibt: 

Dieser Textbaustein erlaubt die Ausgabe des (sonst nur schwer erreichbaren) Medikationsplanes in z.B. einen Karteieintrag Typ N (wie Notiz. Ohne diesen Zwischenschritt geht es nicht, da sonst der Pythonzugriff nicht funktioniert. 

Wenn nun ein Marker "Polypharmazie" angelegt und im erweiterten Modus mit einem Pythonskript versehen wird, klappt es. 

Hier das Skript zum Herauskopieren:

returnvalue = 0

# wählt die akutellen Karteieinträge des laufenden Quartals aus
array = select(karteieintraege, startQuartal=heuteQuartal-0.25, endQuartal=heuteQuartal)

# wenn ein Eintrag vom Typ N (wie Notiz) gefunden wird und dieser mindestens einmal den Textteil ## enthält wird er ausgewählt
# wenn in diesem Eintrag mindestens 3x '##' vorkommt, wird der Marker gesetzt
for e in array:
  if e['typ'] == 'N' and '##' in e['eintrag']:
    anzahl = e['eintrag'].count('##')
    if anzahl >= 3:
      returnvalue = 1
    break  # Nur den ersten passenden Eintrag auswerten

Nachdem nun alles so schön klappt, leider noch etwas (gar nicht wenig) Wasser in den Wein:

Beim Auslesen des Medikationsplans wie oben gezeigt werden leider alle im Plan aufgelisteten Medikamente aufgeführt, d.h. das auch abgesetzte Medikamente aufgeführt werden. Dies gilt es zu beachten, da je nachdem wie Sie Ihren Medikationsplan führen (viel an-/absetzen, kein Löschen von abgesetzten Medikamenten) die errechnete Medikamentenanzahl (gesamt=angesetzte+abgesetzte) nicht Ihren Vorstellungen entspricht. Ich hatte dazu schon einmal einen Wunsch eingestellt, bisher aber ohne große Reaktion cryinghttps://forum.tomedo.de/index.php/95596/wunsch-makro-medikationsplan-anzeigeoption-nur-der-nicht-abgesetzten-medikamente

 

P.S.: Wenn Sie dieses Marker-Konzept auch für Mehrfachdiagnosen nutzen wollen, können Sie dies über ein ähnlichen Textbaustein erreichen, der anstatt der Medikamente die Diagnosen ausgibt.

Beantwortet von (11.6k Punkte)
Bearbeitet von
0 Punkte
Wow! Vielen Dank für die viele Mühe!
Guten Tag Herr Bauck,

die Medikamente auf dem Medikamentenplan können Sie mit dem Python-Skript:

returnvalue = 0
count = 0
for medi in medikamentenplan:
    if medi['abgesetzt'] == 0:
        count += 1

if count > 4:
    returnvalue = 1

zählen bzw. abfragen, ob sich mehr als 4 darauf befinden. Darin enthalten ist nur die Abfrage, ob das Medikament abgesetzt ist, die Abfrage der Dauermedikation ist in den Markern noch nicht enthalten. Ich habe dies als Wunsch aufgenommen.
Die Diagnosen-Anzahl könnten Sie analog zum Medikamentenplan-Skript abfragen.

Viele Grüße
Beantwortet von (1.6k Punkte)
0 Punkte
Hallo Frau Laaß,

das ist ja um Klassen eleganter als meine "durch die Brust ins Auge"-Lösung. Super!

Mir fehlte die Information, wie man den Medikamentenplan auslesen kann, was dann zu der reichlich umständlichen Lösung führte. Die Variable "medikamentenplan" wird im Handbuch / Abschnitt automatische Marker nicht genannt. Gibt es irgendwo eine umfassende/weitergehende Übersicht der für diese Pythonskripte verfügbaren Parameter? Das wäre sehr hilfreich.
Hallo Herr Baumann,

dass der Medikamentenplan im Handbucheintrag zu den Markern gar nicht auftaucht, war mir nicht bewusst. Vielen Dank für den Hinweis. Der wird noch hinzugefügt. Das Handbuch ist zu den Markern sehr ausführlich. Nun, bis auf den Medikamentenplan. ;)
Eine umständliche Möglichkeit ist, die Datentypen im modularen Modus durchzuschauen. Was da aufgeführt ist, ist auch im Pythonmodus vorhanden. Ansonsten gibt es noch die YouTube-Playliste zu Markerthemen: https://www.youtube.com/playlist?list=PLqwii8RPWxKc2HV-DrD-CH86uXuQS56OQ
Vielen Dank (und großes Lob) für die vielen, gut gemachten Youtube-Videos.

Liebe Frau Laaß,

Bitte den Medikamenten hat das super geklappt.

Könnten Sie mir noch bitte das angepasste Skript für Multimorbidität schicken. Meins funktioniert leider nicht frown.

Liebe Grüße, 

Christian Bauck

Moin,

das Skript für die Multimorbidität (Diagnosen>3) funktioniert so:

diagnosen = kvdiagnosen + hzvdiagnosen + karteidiagnosen
returnvalue = 0
count = 0
for diagnose in diagnosen:
    if diagnose['abgesetzt'] == 0:
        count += 1

if count > 3:
    returnvalue = 1

 

Vielen Dank,

leider funktioniert das nicht richtig. Es werden jetzt fast alle Patienten als multimorbide angezeigt.

Ich kann leider kein System in den fehlerhaft angezeigten Patienten finden.

Ich bräuchte das Skript nur für Patienten mit im aktuellen Quartal >3 Dauerdiagnosen.

Haben Sie oder jmd anderes vielleicht nochmal eine Idee?

Vielen Dank für die Hilfe,

Ihr Christian Bauck
Das Skript von Herrn Baumann zählt alle Diagnosen des Patienten. Um nur die Diagnosen des aktuellen Quartals zu zählen, muss das Skript um das Element 'quartal' ergänzt werden, sollen nur Dauerdiagnosen gezählt werden, braucht es auch noch das Element 'dauerdiagnose'. Das komplette Skript muss dann so aussehen:

diagnosen = kvdiagnosen + hzvdiagnosen + karteidiagnosen
returnvalue = 0
count = 0
for diagnose in diagnosen:
    if diagnose['abgesetzt'] == 0:
        if diagnose['dauerdiagnose'] == 1:
            if diagnose['quartal'] == heuteQuartal:
                count += 1

if count > 3:
    returnvalue = 1

 

Viele Grüße
Vielen Dank! Das hilft schon mal weiter. Aber vielleicht habe ich mich oben missverständlich ausgedrückt:

Ich möchte alle Patienten markieren, die aktuell >3 Dauerdiagnosen haben.

Bei den Ergebnissen, die durch das Skript von Ihnen generiert werden, markiert er viele betroffene Patienten nicht. Das ist schon treffsicherer als vorher, aber noch nicht ganz das, was ich wollte.

Liebe Grüße
Ach so, da war ich etwas zu übereifrig. Das Element 'quartal' wird dann natürlich nicht benötigt. Mit folgendem Skript werden nun alle Diagnosen des Patienten gezählt, die Dauerdiagnose und nicht abgesetzt sind:

diagnosen = kvdiagnosen + hzvdiagnosen + karteidiagnosen
returnvalue = 0
count = 0
for diagnose in diagnosen:
    if diagnose['abgesetzt'] == 0:
        if diagnose['dauerdiagnose'] == 1:
            count += 1

if count > 3:
    returnvalue = 1
Jetzt zählt er leider die Quartalsdiagnosen mit und nicht nur die Dauerdiagnosen (DDI`s)

Danke für die Hilfe
20,108 Beiträge
28,576 Antworten
51,774 Kommentare
34,553 Nutzer