Patientenmarker

Die Markeransicht

Zur einfachen Markierung wichtiger Informationen an Patienten bietet Ihnen tomedo® Patientenmarker an. Sie sehen die Marker als bunte Symbole auf grauem Grund unterhalb des Patientenbildes in der Kartei, den Patientendetails und der Patienteninfo.

Die Symbole sind in Gruppen unterteilt, innerhalb einer Gruppe überlappen sich die Symbole – abhängig davon wie viel Platz verfügbar ist. Die Gruppen sind durch einen größeren Abstand voneinander getrennt. Wenn Sie mit der Maus über die graue Anzeigeleiste fahren, wechselt die Markeransicht in den expandierten Modus. Die Marker werden dann vertikal ausgerichtet und die zugehörige Beschreibung daneben angezeigt. Wenn der Mauszeiger das Patientenbild verlässt, wechselt die Markeransicht zurück in den kompakten Modus. Falls nicht alle Symbole in die Ansicht passen, werden sowohl im kompakten Modus als auch im expandierten Modus drei Punkte angezeigt.

Beim Klick auf das offene Schloss wird die Markeransicht im expandierten Modus gesperrt, d.h. unabhängig von der Mausposition wird der expandierte Modus angezeigt. Mit einem weiteren Klick auf das Schloss wechselt die Ansicht wieder zwischen kompakt und expandiert. Diese Einstellung ist arbeitsplatzspezifisch und für Kartei, Patientendetails und Patienteninfo getrennt einstellbar. So können Sie z.B. in der Anmeldung in der Patienteninfo die Sperrung aktivieren, um immer sofort alle Marker im Überblick zu haben. In den Patientendetails jedoch nicht, um dort weiterhin einen guten Blick auf das Patientenfoto zu haben.

Ein Klick in die kompakte bzw. expandierte Markeransicht (außer auf das Schloss) öffnet ein Popover zum Setzen der Patientenmarker. In der expandierten Markeransicht können Sie das Patientenfoto nur bearbeiten, wenn Sie auf Teile des Patientenfotos klicken, die nicht von der Markeransicht verdeckt werden. Solange die Markeransicht nicht gesperrt ist, können Sie den Mauszeiger seitlich oder von oben auf das Patientenbild bewegen, ohne dass sich die Markeransicht expandiert. Ist die Markeransicht gesperrt, können Sie die Sperrung durch einen Klick auf das Schlosssymbol wieder entsperren und danach im kompakten Modus das Patientenbild bearbeiten.

Setzen von Patientenmarkern

Das Popover zum Setzen von Patientenmarkern erreichen Sie durch einen Klick in die Markeransicht (außer auf das Schloss), die Tastenkombination Ctrl-Shift-Cmd-M sowie im Menü unter „Patient“. Das Popover ist in zwei Bereiche geteilt, links sehen Sie die Liste aller Gruppen und auf der rechten Seite die zugehörigen Marker. Zusätzlich zu den von Ihnen erstellten Gruppen erzeugt tomedo® automatisch eine Gruppe „Alle“ mit allen erstellten Markern. In der Ansicht können Sie komfortabel mit den Pfeiltasten navigieren. Zur Auswahl eines Markers können Sie entweder mit der Maus die Checkbox anklicken oder, sobald der entsprechende Marker markiert ist, die Leertaste drücken. Der neue Marker erscheint dann sofort in der Markeransicht des Patienten. Mit einem Klick auf „OK“ oder „Enter“ schließen Sie das Popover zum Setzen der Patientenmarker.

Das Einstellungsrädchen im unteren linken Bereich des Popovers führt Sie zur globalen Markereinstellung. Dort können Sie Marker erstellen, bearbeiten und löschen.

Einstellungen für Patientenmarker

Sie erreichen das Einstellungsfenster für die Patientenmarker, die Marker-Verwaltung, im Hauptmenü über Admin → Praxisverwaltung → Marker. Alternativ erreichen Sie die Marker-Verwaltung auch aus dem Popover zum Setzen der Patientenmarker durch Klick auf das Einstellungsrädchen.

Das Einstellungsfenster unterteilt sich in drei Bereiche. Im Bereich 1 können Sie Marker erstellen, bearbeiten und löschen. Mit der Schaltfläche "Arbeitsplatzeinstellungen" 2 können Sie die Markeransicht konfigurieren und im Bereich 3 automatische Marker erstellen. Die Erstellung von automatisierten Markern wird in einem separaten Unterkapitel diskutiert.

Erstellen & Bearbeiten von Patientenmarkern

Im Bereich 1 können Sie sowohl Gruppen als auch Marker erstellen, bearbeiten und löschen. Die Gruppen dienen der inhaltsspezifischen Sammlung ähnlicher Marker und ermöglichen eine bessere Strukturierung. In der Markeransicht werden Marker einer Gruppe zusammengefasst dargestellt, während die Gruppen durch einen Abstand voneinander getrennt werden.

Die Felder im Gruppen- und Markerbereich haben die folgenden Funktionen:

  • 4 Die +/– Knöpfe erstellen bzw. löschen Gruppen und Marker.
  • 5 Mit den Pfeiltasten kann die Reihenfolge der Gruppen und Marker untereinander verändert werden. Die Gruppen werden in der Reihenfolge, in der sie aufgelistet sind, in der Markeransicht dargestellt. Innerhalb einer Gruppe werden die Marker ebenfalls in der Reihenfolge, in der sie in der Tabelle aufgelistet sind, dargestellt.
  • 6 Dieses Textfeld enthält die Beschreibung der Gruppe bzw. des Markers. Diese Beschreibung ist im Popover zum Setzen der Marker zu sehen. Die Markerbeschreibung ist ebenfalls in der expandierten Markeransicht sichtbar. Da tomedo® automatisch beim Setzen eine Hilfsgruppe mit dem Namen „Alle“ anlegt, kann eine eigene Gruppe mit dem Namen „Alle“ zu Verwirrungen führen.
  • 7 Markersymbole können mit einer frei wählbaren Farbe eingefärbt werden. Falls ein Markersymbol vorhanden ist, wird dieses eingefärbt, andernfalls das Gruppensymbol. Die Text- und Hintergrundfarbe des Markers lassen sich separat einstellen. Der Übersichtlichkeit halber ist die Farbauswahl erst in der Markeransicht sichtbar und nicht im Symbolauswahlfeld. Ein Klick auf das „–“ löscht die Farbe wieder.
  • 8 In diesem Feld kann ein Symbol gesetzt werden durch Drag&Drop, einen Klick auf die Symbolfläche oder das „+“. tomedo® liefert eine Vielzahl vorgefertigter Markersymbole mit, Sie können jedoch jedes beliebige Bild verwenden. Beim Klick in das Feld bzw. auf das „+“ öffnet sich ein Dateiauswahlfenster mit den vorgefertigten Symbolen. Sie können mit diesem Fenster auch jedes andere Bild auf ihrem Computer auswählen und verwenden.
  • 9 Die Aktivierung dieser Checkbox ermöglicht das automatische Setzen von Markern nach vordefinierten Regeln. Eine ausführliche Beschreibung dieser Funktion ist im Unterkapitel „Automatische Patientenmarker“ zu finden.
  • 10 Die Aktivierung dieser Checkbox ermöglicht das automatische Zurücksetzen von Markern durch den Server.
  • 11 Durch die Aktivierung der Option „gelöschte Gruppen und Marker anzeigen“ werden gelöschte Gruppen und Marker angezeigt und können wiederhergestellt werden.

Die Patientenmarker gestatten Ihnen unterschiedliche Anwendungskonzepte. So können Sie z.B. nur ein Gruppensymbol setzen und die Marker farblich voneinander trennen.

Alternativ können Sie für jeden Marker innerhalb einer Gruppe ein separates Symbol verwenden – und dieses nach Bedarf einfärben. So kann man z.B. gegensätzliche Eigenschaften markieren, z.B. Untergewicht/ Übergewicht.

Falls Sie keine Symbole verwenden möchten ist dies auch möglich, dann erscheint im expandierten Modus nur der Text, natürlich können Sie auch nur Symbole ohne Beschreibung nutzen. Je nach Bedarf können Sie die verschiedenen Möglichkeiten beliebig kombinieren und Ihren Gegebenheiten anpassen.

Wiederherstellen von Gruppen & Markern

Durch Aktivierung der Checkbox „gelöschte Gruppen und Marker anzeigen“ werden zusätzlich alle gelöschten Gruppen und Marker angezeigt. Im Bereich 1 sehen Sie dann unterhalb des Gruppen- bzw. Markersymbols die Möglichkeit, gelöschte Gruppen und Marker wiederherzustellen.

Automatisches Zurücksetzen von Markern

Durch Aktivierung der Checkbox 10 können Sie Marker automatisch zurücksetzen. Das Zurücksetzen wird vom Server ausgeführt und ist danach auf allen Clients wirksam. Als mögliche Intervalle stehen Ihnen monatlich, quartalsweise, halbjährlich und jährlich zur Verfügung.

Marker als Checkboxen nutzen

Sie können Marker als Checkboxen im Patientenpanel aktivieren. Dies geschieht in dem sie die Checkbox „Checkbox zuordnen“ aktivieren.

Bei allen Marken denen eine Checkbox zugeordnet wurde sehen Sie im Patientenpanel eine entsprechende Checkbox. Diese Checkbox ist aktiviert, wenn der Marker gesetzt ist.

Wenn Sie die Checkbox aktivieren wird auch der Marker gesetzt, d.h. Marker und Checkbox sind synchron.

Konfiguration der Markeransicht

Sie können die Markeransicht im expandierten Modus durch einen Klick auf das Schlosssymbol sperren. In diesem Fall überdecken die Markersymbole und die zugehörigen Beschreibungen das Patientenbild – unabhängig von der Mausposition. Diese Einstellung ist spezifisch für Ihren Arbeitsplatz sowie Kartei, Patientendetails und Patienteninfo. In der Marker-Verwaltung können Sie mit der Schaltfläche "Arbeitsplatzeinstellung" 2 weitere Einstellungen vornehmen, die arbeitsplatzspezifisch alle Markeransichten beeinflussen.

Sie können die Deckkraft im kompakten und expandierten Modus einstellen. Dies betrifft die Transparenz der grauen Anzeigeleiste im kompakten Modus sowie den weißen Hintergrund im expandierten Modus. Wenn Sie die Deckkraft im kompakten Modus auf 0% setzen, sehen Sie keine Anzeigeleiste mehr, Markersymbole jedoch weiterhin. Im expandierten Modus kann es sein, dass bei einer Deckkraft von 0% die Beschreibungstexte über dem Patientenbild schwer lesbar sind. Bei einer Deckkraft von 100% im expandierten Modus wird das Patientenbild überdeckt.

Mit den Reglern „Minimaler Abstand der Symbole“ und „Maximaler Abstand der Symbole“ können Sie den Abstand der Symbole innerhalb einer Gruppe einstellen. Die Markeransicht versucht, den größtmöglichen Abstand zu wählen, bei dem noch alle Symbole sichtbar sind. Der absolute Abstand entspricht dem prozentualen Anteil an der Symbolgröße. Ein Abstand von 50% bedeutet z.B., dass die Symbole eine halbe Symbolgröße voneinander getrennt sind. Bei negativen Werten überlappen sich die Symbole. So überlappen sich die Symbole bei einem Abstand von -25% zu einem Viertel.

Mit dem Regler „Abstand zwischen Gruppen“ können Sie den Abstand zwischen den Symbolen unterschiedlicher Gruppen anpassen. Eine Angabe von 1.0 bedeutet z.B. einen zusätzlichen Abstand von einer Symbolgröße zwischen den Symbolen zweier Gruppen.

Wenn automatische Marker verwendet werden in denen eine zeitliche Komponente enthalten ist, werden die Marker der Patienten erst angepasst wenn die Kartei geöffnet wird. Wenn z.B. ein Marker anzeigt, dass eine Untersuchung einmal im Quartal stattfinden soll und die Kartei 4 Monate nach der letzten Untersuchung erneut geöffnet wird zeigt die Statistik diesen Marker als „nicht gesetzt“ an. Sobald man die Kartei öffnet, wird der Marker gesetzt. Die Option „Vorberechnung der Marker starten“ lädt an einem Arbeitsplatz alle Karteien um die Marker für die gesamte Praxis neu zu berechnen.

Automatische Patientenmarker

Sie können mit vordefinierten Regeln Patientenmarker automatisch setzen und entfernen. Zum Auswerten der Regeln greift tomedo® auf die Skriptsprache Python zurück. Dies bietet Ihnen die Möglichkeit, einfache Skripte selbst zu schreiben. Im erweiterten Modus stehen Ihnen alle Möglichkeiten einer hochentwickelten Skriptsprache zur Verfügung.

Sobald Sie die Checkbox 9 aktiviert haben, ermöglicht Ihnen der Bereich 3 das Erstellen und Testen der automatischen Marker.

Mit dem Suchfeld 12 können Sie einen Patienten laden, an dem Sie die Automatisierung testen können. Die Auswahltabs 13 erlauben Ihnen, zwischen dem „einfachen“ und „erweiterten“ Modus zu wechseln, eine genaue Beschreibung der Modi erfolgt in den Unterkapiteln „Der einfache Modus“ und „Der erweiterte Modus“. In das Textfeld 14 können Sie die Skripte mit den Regeln zur Automatisierung schreiben. Die „Skripte testen“-Schaltfläche 16 testet alle verfügbaren automatischen Marker am geladenem Patienten. Mögliche Fehler werden als Nachricht am oberen rechten Bildschirmrand angezeigt. Zusätzlich wird auch die Ausführungszeit aller Skripte gemessen und ausgegeben. Die Fehler- und Zeitausgabe findet nur in der Markerverwaltung statt.

Mit der „Skript kopieren“-Schaltfläche 15 kopieren Sie den gesamten Python-Code des geladenen Patienten in die Zwischenablage. Dies ermöglicht Ihnen das Entwickeln und Testen Ihrer Skripte in einer separaten Entwicklungsumgebung. Das kopierte Skript enthält dabei auch die zur Ausführung notwendigen Patientendaten. Eine ausführliche Anleitung zur Nutzung dieses Modus finden Sie unter dem Punkt „externe Entwicklungsumgebung nutzen“.

Beim Laden des Patientenbildes in Kartei, Patientendetails und Patienteninfo sowie bei Änderungen in der Kartei und Patientendetailswerden die Skripte im Hintergrund ausgeführt und die entsprechenden Marker gesetzt bzw. entfernt, sobald die Berechnungen beendet wurden. Die Ladezeit des entsprechenden Fensters wird dadurch nicht verlängert. Falls die Ausführungszeit der Skripte jedoch sehr lang ist, kann es passieren, dass die Marker erst deutlich nach dem Laden des Patientenbildes durch die Automatisierung geändert werden. Vermeiden Sie deswegen Ausführzeiten oberhalb des einstelligen Sekundenbereichs.

Die Tabelle 17 im rechten Bereich der Markerverwaltung enthält alle verfügbaren Variablen sowie ihren Datentyp und eine kurze Beschreibung. Durch einen Doppelklick auf eine Zeile kopieren Sie die entsprechende Variable in das Skriptfeld. Mit dem Suchfeld 18 können Sie die Variablentabelle durchsuchen.

Ein Klick auf das Fragezeichenlogo 19 öffnet dieses Handbuchkapitel.

Manuelles Abschalten automatisierter Marker

Möchte man die Automatisierung bei einzelnen Patienten vorübergehend deaktivieren, so muss in der Markeransicht der Zustand des Markers (aktiviert oder deaktiviert) manuell geändert werden. Dadurch ändert sich das Pfeilsymbol in der Markerliste neben dem entsprechenden Marker zu einem durchgestrichenen Symbol 1 und zeigt damit an, dass der Marker nicht mehr automatisch aktualisiert wird. Um die Automatisierung wieder einzuschalten, klickt man auf das Pfeilsymbol aber nicht auf die Checkbox!

Aufgrund der historischen Entwicklung von tomedo® ist es nicht möglich die Automatisierung über das Patienteninfo-Panel an- bzw. abzuschalten. Wird als Beispiel ein bestehender Marker über das Panel deaktiviert, so gilt er als inaktiv. Er ist damit bei diesem Patienten nicht mehr in der Markerliste sichtbar 2, weshalb die Automatisierung in diesem Zustand des Markers weder an- noch abgeschalten werden kann. Wenn ein Marker vor der Inaktivschaltung automatisiert wurde, wird die Automatisierung erneut aktiviert sobald sich an der Kartei Daten ändern. Die Verwendung der Vorberechnung setzt einen Marker ebenfalls wieder zurück auf aktiv, wodurch er automatisiert gesetzt wird.

Möchte man einen automatisiert gesetzten Marker bei einem Patienten entfernen, so mus zunächst die Automatisierung abgeschalten und anschließend durch Klick auf die Checkbox der Marker entfernt werden.

Die Variablen

Vordefinierte globale Variablen ermöglichen Ihnen den Lesezugriff auf die Daten des Patienten. Achten Sie bitte unbedingt auch auf die Schreibweise mit Hochkommas anstatt Anführungszeichen! Die Daten werden in verschiedenen Formaten zur Verfügung gestellt, diese sind:

  • String: Eine einfache Zeichenkette z.B. 'chronisch’
  • Integer: Eine ganze Zahl, z.B. 3
  • Float: Eine rationale Zahl, z.B. 3,4. Achten Sie darauf, dass Sie im Skript einen Punkt als Dezimaltrennzeichen verwenden müssen, d.h. 3.4.
  • Date: Ein Datum als String im Format dd.mm.JJJJ z.B. '12.03.2017'
  • Bool: Die Zahl 0 für falsch/false und 1 für wahr/true
  • Jahr + Quartal: Berechnet wird eine Gleitkommazahl nach der Formel Jahr+0.25*(Quartal-1). Beachten Sie die Punkt anstatt der Kommaschreibweise für rationale Zahlen. Für 2017 ergibt sich:
    • 2017.00  1. Quartal 2017
    • 2017.25  2. Quartal 2017
    • 2017.50  3. Quartal 2017
    • 2017.75  4. Quartal 2017
    • 2018.00  1. Quartal 2018

Neben diesen einfachen Datentypen steht auch ein komplexerer Datentyp zur Verfügung, nämlich das Wörterbuch. Wörterbücher geben den Eintrag, der hinter einem Schlüsselwort hinterlegt ist, wieder. So würde z.B. patient[’name'] den Namen eines Patienten zurückgeben. Für die Markerautomatisierung stehen die folgenden komplexen Datentypen zur Verfügung:

OrgCAV

  • 'datum': Date – cave-Datum
  • 'text': String – cave-Eintrag

KarteiEintrag

  • 'betriebsstaette': String – Betriebsstätte des Karteieintrags
  • 'datum': Date – Datum des Karteieintrags
  • 'doku': String – Kürzel des dokumentierenden Nutzers des Karteieintrags
  • 'eintrag': String – Eintrag des Karteieintrags
  • 'jahr': Integer – Jahr des Karteieintrags
  • ’medientyp': String – Medientyp des Karteieintrags
  • 'quartal': Integer – Quartal des Karteieintrags
  • 'typ': String – Typ des Karteieintrags

Medikamentenverordnung

  • 'abgesetzt': Bool – Ob das Medikament abgesetzt ist
  • 'atc': String – ATC der verordneten Medikamentes
  • 'autIdem': Bool – Ob das Medikament aut-Idem verordnet wurde
  • 'datum': Date – Datum der Medikamentenverordnung
  • 'freitext': String – Freitext zur Verordnung
  • 'jahr': Integer – Jahr der Medikamentenverordnung
  • 'name': String – Name des Medikaments bei Verordnung
  • 'pzn': String – PZN des verordneten Medikamentes
  • 'quartal': Integer – Quartal der Medikamentenverordnung

Diagnose

  • 'bezeichnung': String – Bezeichnung der Diagnose nach dem ICD-Katalog
  • 'code': String – Code der Diagnose nach dem ICD-Katalog
  • 'datum': Date – Datum der Diagnose
  • 'dauerdiagnose': Integer – Dauerdiagnose, 0 für nein, 1 für ja
  • 'freitext': String – Ihr definierter Freitext zur Diagnose
  • 'jahr': Integer – Quartal der Diagnose
  • 'meldepflicht': Integer – Meldepflicht nach dem Infektionsschutzgesetz, 0 für nein, 1 für ja
  • 'ort': Lokalisation der Diagnose, 'L' für links, 'R' für rechts, 'B' für beiderseits
  • 'quartal': Integer – Quartal der Diagnose
  • 'typ': Typ der Diagnose, 'A' für Ausschluss, 'G' für Gesichert, 'V' für Verdacht, 'Z' für symptomfreier Zustand nach Erkrankung
  • 'abgesetzt': Integer – Status der Diagnose, 0 für nein, 1 für ja

Leistung

  • 'abrechner': String – Kürzel des abrechnenden Arztes
  • 'anzahl': Integer – Anzahl der Leistung
  • 'betriebsstaette': String – Kürzel der Betriebsstätte in welcher die Leistung erbracht wurde
  • 'code': String – Code der Leistung gemäß Katalog
  • 'datum': Date – Datum der Leistung
  • 'jahr': integer – Jahr der Leistung
  • 'kurztext': String – Kurztext der Leistung gemäß Katalog
  • 'leistungserbringer': String – Kürzel des Leistungserbringers
  • 'quartal': Integer – Quartal der Leistung
  • 'steigerungsfaktor': Float – Steigerungsfaktor der GOÄ-Leistung, gibt bei allen anderen Leistungen einen Wert von 1.0 zurück

Rechnung

  • 'bemerkung': String – Bemerkungen zur Rechnung
  • 'bezahlt': Bool – Rechnung bezahlt
  • 'bezahltDatum': Date – Datum an dem die Rechnung bezahlt wurde
  • 'datumLetzteLeistung': Date – Datum der letzten Leistung
  • 'druckDatum': Date – Datum des Druckens
  • 'erstelltAm': Date – Erstellungsdatum
  • 'festbetrag': Float – Größe des gesetzten Festbetrags
  • 'freitext': String – Freitext der Rechnung
  • 'kostenvoranschlag': Bool – Kostenvoranschlag erstellt
  • 'kosten': Float – Rechnungsbetrag
  • 'mahnstufe': Integer – Mahnstufe der Rechnung
  • 'mahnDatum1': Date – 1. Mahndatum
  • 'mahnDatum2': Date – 2. Mahndatum
  • 'mahnDatum3': Date – 3. Mahndatum
  • 'sachkosten': Float – Betrag der Sachkosten
  • 'teilbetrag': Bool – Ob ein Teilbetrag gezahlt wurde
  • 'bezahlterTeilbetrag': Float – Höhe des gezahlten Teilbetrags
  • 'versandt': Bool – Ob die Rechnung versandt wurde

Schein

  • 'freitext': String – Notiz zum Schein
  • 'quartal': Integer – Quartal des Scheins
  • 'jahr': Integer – Jahr des Scheins
  • 'sachkosten': Float – Summe der Sachkosten des Scheins
  • 'vermittlungsart': Integer – Nummer der Vermittlungsart; von 0 für "kein Wert" bis 6 für "Routinefall"
  • 'scheinart': Integer – Nummer der Scheinart; von 0 für "Ärztliche Behandlung" bis 46 für "Zentraler Notfalldienst"

Zur dynamischen Behandlung von Zeiten gibt es die Variablen

  • 'heuteDatum': Date
  • 'heuteQuartal': Jahr+Quartal

Für die Filterung von Listen der komplexen Datentypen wird die Funktion ’select' zur Verfügung gestellt. Diese Funktion steht für Variablen zur Verfügung eine Liste (array) der obigen komplexen Datentypen sind. Die komplexen Datentypen in der Liste müssen das Attribut 'datum' enthalten.

Dieser Funktion wird als erstes Argument eine Liste übergeben und mit benannten Argumenten der entsprechende Zeitraum, auf den die Liste eingeschränkt werden soll. Ein Beispiel für die Liste Karteidiagnosen könnte sein:

select(karteidiagnosen, startQuartal=2016.25, endQuartal=2017.5)

Eine vollständige Übersicht aller verfügbaren Variablen und in welchem Datentyp sie zur Verfügung stehen finden Sie in tomedo®.

Der einfache Modus

Im einfachen Modus steht Ihnen eine Zeile zur Verfügung, die von Python ausgewertet wird. Ist das Ergebnis dieser Zeile '1' bzw. 'true', wird der Marker gesetzt. In allen anderen Fällen wird der Marker nicht gesetzt bzw. entfernt. So führt p_vorname == 'Hans' zum Setzen des Markers bei allen Patienten mit dem Vornamen Hans.

Der erweiterte Modus

Im erweiterten Modus haben Sie alle Freiheiten die Ihnen die Sprache Python bietet. Sie könne Schleifen schreiben, verschachtelte if-else-Abfragen konstruieren und externe Pakete importieren. Das Ergebnis der Berechnung muss wieder '1' bzw. 'true' sein, damit der Marker gesetzt wird, in allen anderen Fällen wird der Marker nicht gesetzt bzw. entfernt. Das bestimmte Ergebnis muss von Ihnen auf die reservierte Variable 'returnvalue' geschrieben werden. Ein mögliches Skript ist:

  1. array = select(karteieintraege, startQuartal=heuteQuartal-0.75,endQuartal=heuteQuartal)
  2. for e in array:
  3.   if e['typ'] == 'PVSEE':
  4.     returnvalue = 1

Dieses Skript prüft in allen Karteieinträgen der letzten 4 Quartale ob ein Karteieintrag vom Typ 'PVSEE' vorhanden ist. Dabei könnte es sich z.B. um eine Privatpatienten Einverständniserklärung handeln.

Der modulare Modus

Automatische Marker können auch anhand einer grafischen Oberfläche, analog der patientenbezogenen Statistiken, und ohne die Hilfe von Python-Skripten erstellt werden.

Über die Auswahlliste, die erscheint, sobald Sie auf das "+"-Symbol 1 klicken, wählen Sie die Kriterien aus, nach denen der Marker gesetzt werden soll. In Abhängigkeit vom ausgewählten Elementtyp 2 (z.B. Versicherung oder Patienteninfos) sind weitere Auswahl- und Eingabefelder 3 (z.B. IK-Nummer, Geschlecht oder Geburtstag) konfigurierbar. Über die "+"- und "–"-Schaltflächen neben den Elementtypen können weitere Felder hinzugefügt oder gelöscht werden.

Hinweise zur Konfiguration einzelner Elemente

  1. Bei Texteinträgen, wie beispielsweise der Bezeichnung einer Diagnose oder dem Code einer Leistungsziffer, lässt sich festlegen, ob der gewünschte Texteintrag in der Patientenkartei exakt übereinstimmen muss oder ob der Text lediglich enthalten sein soll. Zum Beispiel im Falle von Diagnosen lässt sich damit leicht eine ganze Gruppe möglicher Diagnosen erfassen.
  2. Die Namen von Betriebsstätten und Nutzern müssen hingegen mit den in tomedo® hinterlegten Angaben exakt übereinstimmen.
  3. Datumsangaben können relativ zum aktuellen Tag/Quartal/Jahr oder als fester Wert vorgegeben werden.
  4. Einige Felder, wie z.B. Geschlecht und Privatpatient, erfordern die Angabe konkret vorgegebener Werte. Diese werden im zugehörigen Tooltip angezeigt.

Erklärung zur Verknüpfung der einzelnen Elemente

Für jeden eingetragenen Typ muss ein Bezeichner 4 definiert werden, über dessen Name dann in der Zeile "logische Verknüpfung" 5 die verschiedenen Kriterien über verschiedene Relationen miteinander verknüpft werden. Mögliche Relationen sind "Und (&)", "Oder (+)" und "Nicht (–)". So wird zum Beispiel. A&(-B+C) als "A Und (Nicht B Oder C)" übersetzt.

Alle Elemente die zu einem Typ gehören, werden durch eine UND-Bedingung verknüpft. Dies betrifft im Beispiel die Elemente "Geschlecht" und "Geburtsdatum", welchem mit dem Bezeichner B zusammengefasst werden. Demnach ist Bedingung B nur erfüllt wenn das Geschlecht des Patienten "W", d.h. weiblich, ist und das Geburtsdatum bis 40 Jahre vom Anfang des aktuellen Jahres zurück liegt. Zu Bezeichner A gehört lediglich das Element IK-Nummer. D.h. wenn die IK-Nummer vom KV-Schein des Patienten mit dieser Nummer übereinstimmt, ist Bedingung A erfüllt. Als logische Verknüpfung wird A&B verwendet. Zusammengefasst bedeutet dies, dass der Marker nur gesetzt wird, wenn der Patient weiblich, höchstens 40 Jahre alt und bei der Krankenkasse mit der in Bedingung A hinterlegten IK-Nummer versichert ist.

Externe Entwicklungsumgebung nutzen

Die Nutzung einer externen Entwicklungsumgebung vereinfacht die Entwicklung und das Testen komplexer Skripte. Durch drücken der „Skript kopieren“-Schaltfläche (34) kopiert tomedo® das Skript mitsamt dem notwendigen Zusatzcode in die Zwischenablage. Diesen Code können Sie dann in eine Entwicklungsumgebung kopieren und ausführen. Das vorladen eines Patienten über das Patientensuchfeld (31) ist notwendig da die für das Skript notwendigen Variablen mit den Patientendaten gefüllt werden. Sie sollten beim entwickeln sicherstellen, dass der ausgewählte Patient ein Kandidat für Ihr Skript ist. So wäre die Auswahl eines Kassenpatienten für ein Skript welches Privatrechnungen untersucht unpraktisch.

Haben Sie das letzte Skript

  1. startQuartal=heuteQuartal-0.75
  2. array = select(karteieintraege,startQuartal=startQuartal,endQuartal=heuteQuartal)
  3. for e in array:
  4.   if e['typ'] == 'PVSEE':
  5.     returnvalue = 1

eingegeben, dann hat eine mögliche – vom ausgewählten Patienten abhängige – Ausgabe die nachfolgende Struktur.

  1. # -*- coding: utf-8 -*-
  2. import datetime
  3. #Definition der Funktion select
  4. heuteQuartal = #Berechnung des heutigen Quartals
  5. karteieintraege = [] #Alle Karteieinträge des Patienten
  6. def testTag():
  7.   returnvalue = 0
  8.   array = select(karteieintraege, startQuartal=heuteQuartal-0.75,endQuartal=heuteQuartal)
  9.   for e in array:
  10.     if e['typ'] == 'PVSEE':
  11.       returnvalue = 1
  12.   try:
  13.   return eval("'long(returnvalue)'") except Exception as e:
  14.   return str(e)
  15. testTag()

Der von Ihnen in tomedo® geschriebene Code steht zwischen „def testTag():“ und dem „try“. Zwischen diesen beiden Stellen können Sie Ihren Code entwickeln und Testen. Wenn Ihr Code funktioniert können Sie ihn – ggf. nach Löschung der führenden Freizeichen – wieder zurück nach tomedo® kopieren. Kopieren Sie dabei nur den Code zwischen „def testTag():“ und „try“!

Beispielskripte

Für alle Beispielskripte ist der erweiterte Modus notwendig.

Markerprüfung

Dieses Skript prüft, ob der vorgegebene Marker “marker” gesetzt ist und setzt dann diesen Marker.

  1. marker = 'Krankentransport'
  2. returnvalue = 0
  3. if marker in markerliste:
  4.   returnvalue = 1

Diagnosenprüfung

Dieses Skript prüft, ob eine Diagnose mit dem vorgegebenem ICD-Code existiert.

  1. diagnosen = kvdiagnosen + hzvdiagnosen + karteidiagnosen
  2. icdCode = 'I10.90'
  3. returnvalue = 0
  4. for diag in diagnosen:
  5.   if diag['code'] == icdCode:
  6.     returnvalue = 1

Schmerzdokumentation

Dieses Skript prüft, ob bei Schmerzpatienten – d.h. Patienten mit dem Marker „Schmerzpatient“ in diesem Quartal die Schmerzdokumentation gemacht wurde. Dafür wird geprüft, ob im letzten Quartal ein Karteieintrag des Typs „DOK“ mit dem Eintrag „Schmerzverlauf“ existiert. Wurde die Schmerzdokumentation in diesem Quartal noch nicht gemacht, wird der Marker gesetzt, andernfalls nicht.

  1. typ = 'DOK'
  2. text = 'Schmerzverlauf'
  3. schmerzmarker = 'Schmerzpatient'
  4. bStatus = False
  5. if schmerzmarker in markerliste:
  6.   array = select(karteieintraege,startQuartal=heuteQuartal-0.25,endQuartal=heuteQuartal)
  7.   for e in array:
  8.     if e['typ'] == typ:
  9.       if text in e['eintrag']:
  10.         bStatus = True
  11. else:
  12.   bStatus = True
  13. if bStatus:
  14.   returnvalue = 0
  15. else:
  16.   returnvalue = 1

Privatrechnungsstatus

Dieses Skript prüft, ob noch unbezahlte Privatrechnungen vorhanden sind, die seit mehr als den angegebenen Wartetagen nicht bezahlt wurden. Zusätzlich kann die Prüfung für Rechnungen, die älter als ein Abbruchdatum sind, unterbunden werden.

  1. #Parameter
  2. wartetage = 28
  3. abbruch = '20.12.2010'
  4. #Code
  5. abbruchDatum = datetime.datetime.strptime(abbruch,’%d.%m.%Y').date()
  6. heute = datetime.datetime.strptime(heuteDatum, '%d.%m.%Y').date()
  7. for pr in privatrechnungen:
  8.   #Abbruch vor Konvertierungsdatum – die Rechnungen sind
  9.   #chronologisch in die Vergangenheit geordnet
  10.   gedruckt = datetime.datetime.strptime(pr['druckDatum'], '%d.%m.%Y').date()
  11.   if(gedruckt < abbruchDatum):
  12.     break;
  13.   #Falls die Rechnung nicht bezahlt ist, prüfe die Wartezeit seit Druck
  14.   if pr['bezahlt'] == 0:
  15.     gedruckt = datetime.datetime.strptime(pr['druckDatum'],’%d.%m.%Y').date()
  16.   wartezeit = heute – gedruckt
  17.   if(wartezeit.days > wartetage):
  18.     returnvalue = 1
  19.     break