Statistikabfragen selber konfigurieren

Verwaltung der Statistikabfragen

Über das Menü Admin → Statistikverwaltung können alle Statistiken verwaltet werden. Über die Checkbox 1 können einzelne Statistiken als Favoriten markiert werden. Anschließend können Sie sich im Menü Verwaltung → Statistiken mithilfe der Checkbox „nur Favoriten anzeigen“ nur Ihre Favoriten einblenden lassen. Es kann definiert werden, ob die Statistik als Ein-Klick-Statistik 3, für eine bestimmte Briefvorlage oder ein Apple-Script 4 zur Verfügung gestellt werden soll. Wird eine Briefvorlage oder ein Apple-Script hinterlegt, so kann die Statistik zur Erstellung von z.B. Serienbriefen oder Serien-E-Mails dienen.

Des Weiteren können eigene Gruppen angelegt 6 und Statistiken über Drag-and-drop darin einsortiert werden. Mit dem Button „+Abfrage“ 5 wird eine neue Abfrage erstellt. Sie können anschließend wählen, ob es sich um eine Patientbezogene oder SQL-Abfrage 2 handelt.

Mit den weiteren Buttons 7 können Statistiken kopiert, gelöscht, in den Tauschcenter hochgeladen und sortiert werden. Zudem gelangen Sie über den Button „SV“ direkt in die Statistikverwaltung, um die neu erstellte Statistik sofort zu testen.

tomedo handbuch statistiken statistikverwaltung

Patientbezogene Customstatistik

Patientbezogene Customstatistiken können in der Statistikverwaltung (Menüleiste Admin → Statistikverwaltung) angelegt werden. Der Vorteil dieser Statistiken besteht darin, dass sie nicht durch Eingabe von SQL Programmcode erstellt werden, sondern aus vorgegebenen Attributen einfach zusammengeklickt werden können.

Über „+ Abfrage“ wird eine neue Abfrage hinzugefügt und im Feld Name ein entsprechender Name für die Abfrage vergeben. Im SQL-Textfeld können dann über „+“ verschiedene Abfragekriterien hinzugefügt werden. Als Typen stehen im Auswahlmenü folgende Kriterien zur Verfügung:

  • Hauptbehandler
  • Besuch
  • Stammdaten
  • Schein/Rechnung
  • EBM Ziffer
  • HZV/SV Ziffer
  • GOÄ Ziffer
  • ICD Code
  • Karteieintrag
  • Medikament
  • Termin

In Abhängigkeit des ausgewählten Types sind weitere Auswahl- und Eingabefelder konfigurierbar, die weiter unten ausführlicher beschrieben werden. Es müssen mindestens zwei Abfragekriterien definiert und miteinander verknüpft werden. Abschließend kann für die Statistik ein Button erstellt werden, welche in die Symbolleiste eingefügt werden kann (siehe Ein-Klick-Statistiken). Über diesen Button kann die Statistik später einfach per Klick aufgerufen werden.

tomedo handbuch statistiken patientbezogene customstatistik

Für den Typ „Hauptbehandler“ erscheint als weiteres Auswahlfenster ausschließlich der Behandler. In einem Auswahlmenü erscheinen dann alle in der Nutzerverwaltung als Behandler/Leistungserbringer gekennzeichneten Nutzer zur Auswahl.

Die Typen „EBM-Ziffer“, „HZV/SV Ziffer“, „GOÄ-Ziffer“ und „ICD Code“ können für einen bestimmten Zeitraum, Nutzer, Code und/oder Kurztext abgefragt werden. Bei den Typen „Besuch“ und „Schein/Rechnung“ werden neben dem Zeitraum, der Behandler oder die Art des Scheins/der Rechnung abgefragt.

Der Typ „Stammdaten“ ermöglicht eine Vorfilterung nach Patientenstammdaten wie z.B. Geburtstag, Postleitzahl oder Beruf. Für den Typ „Karteieintrag“ werden anstelle Code und Kurztext die Eigenschaften Kürzel und Text abgefragt. Medikamente können nach Name, PZN oder ATC-Klassifikation eingegrenzt werden und Termine nach Terminart und/oder Kalender.

tomedo handbuch statistiken patientenbezogene customstatistik 2

Für die Einstellung des Suchzeitraumes ist das aktuelle Tagesdatum ausschlaggebend. Über die Einstellung 1 werden Ausgangs- und Endpunkt des Suchzeitraumes festgelegt. Wenn also am 19.06.2019 von Quartal Anfang bis Quartal Ende ausgewählt wird, erstreckt sich der Suchzeitraum vom 01.04.2019 bis 30.06.2019. Anschließend können Ausgangs- und Endpunkt über die Eingaben daneben 2 vor- und zurückverschoben werden. Dabei kann nach Jahren, Quartalen, Monaten und Tagen verschoben werden. Werden an diesem Punkt also -4 Jahre und +4 Jahre eingegeben, verschieben sich Ausgangs- und Endpunkt des Startzeitraumes entsprechend auf 01.04.2015 und 30.06.2023.

tomedo handbuch statistiken patientenbezogene customstatistik 3

Beim Abfragekriterium „Nutzer“ öffnet sich ein Auswahlmenü, welches alle in der Nutzerverwaltung angelegten Nutzer zur Auswahl auflistet. Für die Abfragekriterien „Code und Kurztext“ bzw. „Kürzel und Text“ können verschiedene Eigenschaften gewählt werden, je nachdem, ob zum Beispiel ein bestimmter Karteieintrag enthalten sein soll oder nicht.

tomedo handbuch statistiken patientenbezogene customstatistik 4

Für jedes Abfragekriterium muss ein Kürzel vergeben werden, über welches die einzelnen Kriterien dann in der Zeile „Verknüpfung“ über verschiedene Relationen miteinander verknüpft werden.

tomedo handbuch statistiken patientenbezogene customstatistik 5

Sobald die Abfrage fertig erstellt wurde, muss zum Ausführen wie gewohnt in die Statistiken (Menüleiste Verwaltung → Statistiken) gewechselt werden.

Ein-Klick-Statistiken

Statistikabfragen können über die Symbolleisten der Tagesliste oder Kartei mit einem Klick aufgerufen werden. Dies muss einmal konfiguriert werden:

Wählen Sie dazu den Menüpunkt Admin → Statistikverwaltung. Dort wählen Sie die gewünschte Statistik aus und klicken jetzt auf den „+“-Button im Bereich „Toolbar“.

Optional: Wählen Sie nun unter „Vorauswahl“ einen von Ihnen zuvor gespeicherten Filter.

Denken Sie sich ein Kürzel aus und wenn gewünscht ziehen Sie noch ein Bild aus Finder oder Spotlight in das Icon-Feld.

Anschließend müssen Sie noch in der Symbolleiste der Tagesliste rechtsklicken, „Symbolleiste anpassen“ auswählen und die Statistik mit dem oben definierten Kürzel in die Symbolleiste ziehen, siehe auch: https://forum.tomedo.de/index.php/205/vorgefiltertestatistikabfragen-beispiel-patienten-tagesliste.

Vorgefilterte Statistikabfragen in der Symbolleiste als Symbol ablegen

Am Beispiel einer Patienten-Tagesliste zum Export und Druck in Excel/Numbers

Einmalig einzurichten:

  • Menüpunkt Verwaltungen → Statistiken
  • Allg. Abfragen → Besuch
  • „Ankunft um oder nach dem“ ankreuzen, heutiges Datum ausgewählt lassen und 0:00 eintragen (wenn Sie ein MVZ mit Übernachtungen sind und mehrtägige Besuche an allen Tagen anzeigen wollen, wählen Sie stattdessen „Besuchsende um oder nach dem“)
  • „Ankunft bis zum“ ankreuzen, heutiges Datum angewählt lassen und 23:59 eintragen
  • Zum Speichern dieses Filters auf das Dreieck-Symbol rechts von „Eigene Vorauswahl“ klicken, „Filter speichern unter…“ wählen und einen Namen (z.B. „Tageslisten-Statistik“) eingeben.
tomedo handbuch statistiken filter speichern

Zum Testen auf „Ausführen“ klicken. Es sollte die aktuelle Besuchsliste erscheinen. Diese können Sie jetzt bei Bedarf noch nachfiltern durch Klick auf den „+“-Button unten rechts unter der Tabelle, zum Beispiel nach behandelndem Arzt.

tomedo handbuch statistiken ergebniss

Die Ergebnisliste kann jetzt durch die Statistikaktion „Liste als XLS-Datei in Excel / Numbers / Libre Office öffnen“ geöffnet und ausgedruckt werden.

tomedo handbuch statistiken verwaltung statistikabfragen

Anschließend erstellen Sie eine Ein-Klick-Statistik und fügen in der Symbolleiste der Tagesliste das neu entstandene Symbol „TagesLStat“ in die Symbolleiste ein.

Von nun an können Sie immer durch Klick auf dieses Symbolleisten-Icon sofort die aktuelle Tagesliste als Statistik angezeigt bekommen (die im Filter gespeicherten Datums-Werte werden relativ zum heutigen Datum gespeichert), diese ggf. noch filtern und dann in Excel öffnen.

SQL-Anfragen selber konfigurieren

Parametrisierung

Statistikabfragen in tomedo® sind SQL-Anfragen an die Datenbank (Dialekt: Postgres-SQL). Um Ergebnisse von Statistikabfragen möglichst schnell anzeigen zu können, empfiehlt es sich, die Ergebnislisten klein zu halten. Dazu können Sie bei der Auswahl einer Abfrage schon einschränkende Parameter angeben (z.B. alle Einträge in einem bestimmten Zeitraum). Möglich wird dies durch eine Erweiterung der SQL-Syntax um spezielle Parameter/Makros. Dabei stehen die folgenden Makros für die Parametrisierung der SQL-Anfragen zur Verfügung.

<ZS>STRING;Anzeigetext;SQLPräfix;SQLSuffix</ZS>

Zeichenkette

Beipiel:

<ZS:textParameter>STRING;Text des Karteieintrags;A.text;and</ZS>

erzeugtes SQL-Code-Fragment:

A.text ILIKE '%test%' and

  • zusätzlich ist eine OR oder AND Suche in mehreren Feldern gleichzeitig möglich:

Beispiel:

<ZS> STRING;Text des Karteieintrags;OR;A.text; A.text1; and </ZS>

Tag (Datum)

<ZS> DAY;parameter;Anzeigetext;SqlPräfix;SqlSuffix </ZS>

Parameter 2stellig: 1. Stelle von links:
0 = von-bis Ersetzung (00:00:00 – 23:59:59)
1 = nur Datum,
2. Stelle: 1 = Pflichfeld, 0 = kein Pflichtfeld

Beispiel:

<ZS>DAY;01;Datum ist;A.datum;and</ZS>

erzeugtes SQL-Code-Fragment:

(A.datum > '2013-08-13 00:00:00' andA.datum < '2013-08-14 00:00:00') and

Zeit

<ZS> DATE;parameter;Anzeigetext;SqlPräfix;SqlSuffix </ZS>

  • Parameter 2stellig: 1. Stelle von links:
    1 = Pflichtfeld, 0 = kein Pflichtfeld
    2. Stelle: -1 = 0:00, 0 = jetzt, 1 = 23:59

Beispiel:

<ZS> DATE;-01;Geburtsdatum größer;geburtsdatum > ;or </ZS>

erzeugtes SQL-Code-Fragment:

geburtsdatum > '2013-08-13 00:00:00' or

Zahlen

<ZS> NUMBER;Anzeigetext;SQLPräfix;SQLSuffix </ZS>

Beispiel:

<ZS> NUMBER;Steigerungsfaktor;steigerungsfaktor<; </ZS>

erzeugtes SQL-Code-Fragment:

steigerungsfaktor < 2.3

funktioniert für Ganz- und Gleitzahltypen

Auswahllisten

<ZS> SELECTION;initialAufWahr(0/1/2);Anzeigetext; Item1;SQL1;Item2;SQL2...</ZS>

Beispiel:

<ZS> SELECTION;0;Bereits abgerechnet;Ja;abgerechnet = true and;

Nein;abgerechnet = false and </ZS>

Initial = 0/1 gibt an, ob die Selektion bei Auswahl der Abfrage im Statistikfenster bereits ausgewählt ist. Initial = 2 markiert eine Pflichtauswahl (die nicht abgewählt werden kann.)

erzeugtes SQL-Code-Fragment:

abgerechnet = true and

Nutzerauswahl

<ZS>NUTZERSELECTION;initial (0/1/2);Nutzertypen;Anzeigetext;SQL1;SQL2 </ZS>

Beispiel:

<ZS> NUTZERSELECTION;0;0; Abrechner;C.abrechner=’;’ and </ZS>

Initial = 0/1

gibt an, ob die Selektion bei Auswahl der Abfrage im Statistikfenster bereits ausgewählt ist.

Initial = 2

markiert eine Pflichtauswahl (die nicht abgewählt werden kann.)

Nutzertyp:
0 = alle sichtbaren Nutzer;
1 = Leistungserbringer;
2 = abrechnende Ärzte;
3 = auch unsichtbare Nutzer

erzeugtes SQL-Code-Fragment:

C.abrechner = ’zo’ and

Nutzerabhängiges Ergebnis

<ZS> NUTZERDEPENDENTSELECTION;initial (0/1/2) ;Titel;Anzeigetext1;

Rechtekeypath1;SQL1;…;Anzeigetext_n;Rechtekeypath_n;SQL_n </ZS>

Beispiel:

<ZS> NUTZERDEPENDENTSELECTION;2;Aufgaben;Aufgaben aller Nutzer;

admin.alleAufgabenAnzeigbar;N.ident = <ZSNUTZERIDENT> and </ZS>

Initial:
0 = Option ist nicht gesetzt
1 = Option ist gesetzt
2 = Option ist gesetzt und nicht veränderbar

Rechtekeypath:
gibt an welche Rechte benötigt werden, damit der Nutzer die Statistik ausführen darf

admin = Nutzer mit Administratorrechten
tomedo = Alle Nutzer
RECHTETYP = Nutzer mit einem bestimmten Recht z.B. admin.alleAufgabenAnzeigbar

Um auf den aktuell angemeldeten Nutzer zugreifen zu können, steht die Variable <ZSNUTZERIDENT> zur Verfügung.

Erzeugtes SQL-Code Fragment:

N.ident = 18

Quartal

<ZS> QUARTAL;Anzeigetext;SQLPräfix;SQLSuffix </ZS>

oder

<ZS> QUARTAL2;Anzeigetext;attrQuartal;attrJahr;SQLSuffix </ZS>

oder

<ZS> QUARTAL3;Anzeigetext;stdComparator;attrQuartal;attrJahr; SQLSuffix </ZS>

Mit allen drei Kommandos wird auf Quartale eingeschränkt

  • QUARTAL: Einschränkung per Datumsattribut 1.1.2016 – 31.3.2016
  • QUARTAL2: Einschränkung per Jahr/Quartal-Attributen (z.B. 1 und 2016)
  • QUARTAL3: wie Quartal2, bloß mit auswählbarem Vergleichsoperator

Parameter stdComparor für QUARTAL3 Kommando bestimmt den vorausgewählten Vergleichsoperator;

0 = gleich,
1 = kleiner,
2 = kleiner/gleich,

3 = größer/gleich,
4 = größer,
5 = ungleich.

Beispiel:

<ZS> QUARTAL;Quartal;A.datum; and </ZS>
<ZS> QUARTAL2;Quartal;B.jahr;B.quartal; or </ZS>
<ZS> QUARTAL3;Quartal;2;C.jahr;C.quartal; or </ZS>

erzeugte Code-Fragmente:

(A.datum > '2016-01-01 00:00:00' and
A.datum < '2016-04-01 00:00:00') and
(B.jahr = 2016 and B.quartal = 1) or
(C.jahr < 2016 or (C.jahr = 2016 and
C.quartal <= 1) or

Beschränkung der Listengröße

<ZS> LIMIT;J; Standard </ZS>

Beispiel:

<ZS> LIMIT;J; 100 </ZS>

Erzeugtes SQL-Code-Fragment:

LIMIT 100

Bei der Einbettung der Makros in eine SQL-Anfrage ist darauf zu achten, dass sowohl beim Ignorieren des Parameters als auch bei einer Ersetzung des Parameters durch das erzeugte SQL-Code-Fragment ein syntaktisch korrekter SQL-Gesamtausdruck entsteht. Dies kann beispielsweise durch das Hinzufügen einer „immerwahren“ Bedingung geschehen:

Beispiel:

where
<ZS> DATE;Ankunft kleiner;A.ankunft <;and </ZS>
<ZS> STRING;Besuchsinfo;A.infotext;and </ZS>
<ZS> NUMBER;PatientNr.;B.ident;and </ZS>

true;

Um eine konditionale Oder-Verknüpfung von Bedingungen (in Kombination mit Und-Verknüpfungen) zu ermöglichen, gibt es den Befehl <ZSBLOCK>. Innerhalb dieses Blocks findet ein Löschen von führenden oder abschließenden „or“s und „and“s statt. Außerdem wird ein leerer Block durch den Ausdruck „true“ ersetzt. Der Block wird automatisch mit (…) geklammert.

Beispiel:

where
<ZS> DATE;Ankunft kleiner;A.ankunft <;and </ZS>
<ZS> STRING;Besuchsinfo;A.infotext;and </ZS>
<ZS> NUMBER;PatientNr.;B.ident;and </ZS>
<ZSBLOCK>
<ZS> STRING;EBM-Ziffer;C.code;or </ZS>
<ZS> STRING;

Verknüpfung zu anderen Tabellen

Für Ergebnislisten besteht die Möglichkeit, diese mit anderen Informationen zu verknüpfen. Voraussetzung dafür ist die Existenz bestimmter Spalten(namen) in der erzeugten Liste. Folgende Spaltennamen führen zu einer Verknüpfbarkeit mit anderen Listen:

  • PatientID:
    die eindeutige Nummer (ident) eines Patienten
  • BesuchID:
    die eindeutige Nummer (ident) eines Besuchs
  • ScheinID:
    die eindeutige Nummer (ident) eines KV-Abrechnungsscheines
  • PrivatrechnungID:
    die eindeutige Nummer (ident) einer Privatrechnung

Zukunftssichere Filterung

Falls Sie planen, die Abfrage später um weitere Parameter zu erweitern bzw. Parameter zu löschen oder umzuordnen, gehen bei oben beschriebenem Vorgehen alle vorhandenen Vorauswahlen für die ausgewählte Statistik verloren. Sie können dies verhindern, indem Sie jedem Parameter einen eigenen Bezeichner geben. Dieser wird in der folgenden Form angegeben:

<ZS:parameterName> … </ZS> statt wie bisher <ZS> … </ZS>

Der Parametername darf nur aus Buchstaben und Ziffern bestehen (keine Leerzeichen oder sonstige Sonderzeichen).

Inhaltsverzeichnis