23
Auswertung im GTDS fixe Abläufe für Standard-Aufgaben Mamma-Auswertung Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf in der Auswertungs-Ansicht ( Funktion Druck/Ausg. ) Variable Auswertungen je nach Anforderung

Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Embed Size (px)

Citation preview

Page 1: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Auswertung im GTDS

• fixe Abläufe für Standard-Aufgaben– Mamma-Auswertung– Kolorekt-Auswertung

• vorgefertigte Berichte ( Leitstelle Berichtsauswahl )• Berichtsaufruf in der Auswertungs-Ansicht

( Funktion Druck/Ausg. )

• Variable Auswertungen je nach Anforderung

Page 2: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Tabelle als GrundelementDie Daten des GTDS werden in einer relationalen Datenbank gespeichert. Auswertung bedeutet nichts anderes, als daraus die gewünschten Daten in der gewünschten Form herauszuholen. Grundelement einer relationalen Datenbank ist die Tabelle, z.B. ergibt sich durch folgendes SQL :SQL> l 1 select Pat_ID, Name, Vorname, Geburtsdatum 2 from PATIENT 3 where ......

So eine Tabelle :

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911

Page 3: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Tabelle als Grundelement (II)

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911

PATIENT

• Tabelle hat einen bestimmten Namen ( hier PATIENT )

• Spalten haben bestimmte Namen ( hier PAT_ID , NAME usw.)

• Spalten haben Datentypen ( vereinfacht : Zahlen , Text oder Datum )

• Anzahl und Typ der Spalten ist für alle Zeilen konstant

• Daten stehen in den einzelnen Zeilen (hier sind es 4)

Page 4: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911

PATIENT

Wenn die Tabelle PATIENT nur diese vier Zeilen enthält, genügt zur Ausgabe folgendes :

select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT ;

Grundlagen SQL (I)nähere Einzelheiten siehe SQLKURS - Skript

Page 5: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Grundlagen SQL (II)

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911

PATIENT

Auswahl einzelner Spalten in der SELECT - Liste

select Name, Vorname, Geburtsdatum from PATIENT ;

NAME VORNAME GEBURTSDAT--------------- ---------- ----------Abrechnungstest Hermine 31.12.1899Prostata Hans 11.11.1911........

Page 6: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Grundlagen SQL (III)

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911

PATIENT

Auswahl einzelner ZEILEN mit der where – Klausel

select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT where Name = 'Prostata' ;

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1602 Prostata Hans 11.11.1911

Page 7: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Grundlagen SQL (IV)

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911

PATIENT

where – Klausel, mehrere Teile mit AND (oder OR) verbunden

select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT where Name = 'B97test' AND Vorname = 'Fritz';

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911

Page 8: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Grundlagen SQL (V)PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911

where – Klausel für Zahlen

select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT where Pat_ID = 1622 ;

Die Spalte Pat_ID ist hier die einzige, welche es erlaubt, übereine where-Klausel eine bestimmte Zeile der beiden "B97test"herauszufinden. Nur mit Name, Vorname und Geburtsdatum wäre der Zugriff nur auf einen von beiden nicht möglich. Sie erfüllt hier die Funktion eines sog. Primärschlüssels

Page 9: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Grundlagen SQL (VI)

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1581 Abrechnungstest Hermine 31.12.1899 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 1602 Prostata Hans 11.11.1911

Order by – Klausel ordnet die Daten nach den angegebenenFeldern :

select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT order by Name, Vorname ;

Page 10: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Tabellen verbinden (Join)

• eine Datenbank besteht gewöhnlich aus zahlreichen Tabellen, bei GTDS z.B. ca. 200

• zwischen diesen Tabellen bestehen Beziehungen, einfaches Beispiel

PATIENT TUMOR

• die Zuordnung der einzelnen Datensätze erfolgt in einer relationalen Datenbank ausschließlich durch "normale", sichtbare Tabellenspalten, es gibt keine verdeckten "Pointer" usw.

Page 11: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1581 Abrechnungstest Hermine 31.12.1899 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 1602 Prostata Hans 11.11.1911

Zu den bereits bekannten Patienten existiert eine Tabelle mit deren Tumoren :

Fk_Patient Tumor Diagnose Pat_ID ID datum ICD10 DIAGNOSETEXT ---------- ----- -------- ---------- ---------------- 1581 1 28.12.99 C50 Mammakarzinom li. 1581 2 01.02.03 C18 Kolonkarzinom 1602 1 01.07.97 C61 Prostatakarzinom 1622 1 19.08.96 C61 Prostatakarzinom

Tabellen verbinden (Join) – Beispiel (a)

Page 12: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1581 Abrechnungstest Hermine 31.12.1899 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 1602 Prostata Hans 11.11.1911

Fk_Patient Tumor Diagnose Pat_ID ID datum ICD10 DIAGNOSETEXT ---------- ----- -------- ---------- ---------------- 1581 1 28.12.99 C50 Mammakarzinom li. 1581 2 01.02.03 C18 Kolonkarzinom 1602 1 01.07.97 C61 Prostatakarzinom 1622 1 19.08.96 C61 Prostatakarzinom

Tabellen verbinden (Join) – Beispiel (b)Die Beziehung der Datensätze ist einfach zu sehen, begründet in der jeweils gleichen PAT_ID :

Page 13: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Tabellen verbinden (Join) – Beispiel (c)Realisierung in SQL :

select PATIENT.Pat_ID, PATIENT.Name, PATIENT.Vorname, TUMOR.Fk_PatientPat_ID, TUMOR.Tumor_ID, TUMOR.Diagnosedatum, TUMOR.ICD10from PATIENT, TUMORwhere PATIENT.Pat_ID = TUMOR.Fk_PatientPat_ID ;

Fk_Patient Tumor Diagnose PAT_ID NAME VORNAME Pat_ID ID datum ICD10 ------ --------------- ------- ---------- ----- -------- --- 1581 Abrechnungstest Hermine 1581 1 28.12.99 C50 1581 Abrechnungstest Hermine 1581 2 01.02.03 C18 1602 Prostata Hans 1602 1 01.07.97 C61 1622 B97test Fritz 1622 1 19.08.96 C61

Page 14: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Tabellen verbinden (Join) – Beispiel (d)vereinfachte Version in SQL : der Name der Tabelle muß nur dann vor den Spaltennamen stehen, wenn eine Spalte mit gleichem Namen in beiden Tabellen vorkommt (hier nicht)select Pat_ID, Name, Vorname, Fk_PatientPat_ID, Tumor_ID, Diagnosedatum, ICD10from PATIENT, TUMORwhere Pat_ID = Fk_PatientPat_ID ;

Fk_Patient Tumor Diagnose PAT_ID NAME VORNAME Pat_ID ID datum ICD10 ------ --------------- ------- ---------- ----- -------- --- 1581 Abrechnungstest Hermine 1581 1 28.12.99 C50 1581 Abrechnungstest Hermine 1581 2 01.02.03 C18 1602 Prostata Hans 1602 1 01.07.97 C61 1622 B97test Fritz 1622 1 19.08.96 C61

Page 15: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Tabellen verbinden (Join) – Beispiel (e)vereinfachte Version in SQL II: in der from – Klausel kurze Aliasnamen angeben und bei select und where verwenden

select P.Pat_ID, P.Name, P.Vorname, T.Fk_PatientPat_ID, T.Tumor_ID, T.Diagnosedatum, T.ICD10from PATIENT P, TUMOR Twhere P.Pat_ID = T.Fk_PatientPat_ID ;

Fk_Patient Tumor Diagnose PAT_ID NAME VORNAME Pat_ID ID datum ICD10 ------ --------------- ------- ---------- ----- -------- --- 1581 Abrechnungstest Hermine 1581 1 28.12.99 C50 1581 Abrechnungstest Hermine 1581 2 01.02.03 C18 1602 Prostata Hans 1602 1 01.07.97 C61 1622 B97test Fritz 1622 1 19.08.96 C61

Page 16: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Tabellen verbinden (Join) – Beispiel (f)Join in Schreibweise Standard – SQL (bei Oracle ab ca. Version 9 verwendbar)select P.Pat_ID, P.Name, P.Vorname, T.Fk_PatientPat_ID, T.Tumor_ID, T.Diagnosedatum, T.ICD10from PATIENT P JOIN TUMOR T ON P.Pat_ID = T.Fk_PatientPat_ID ;

Fk_Patient Tumor Diagnose PAT_ID NAME VORNAME Pat_ID ID datum ICD10 ------ --------------- ------- ---------- ----- -------- --- 1581 Abrechnungstest Hermine 1581 1 28.12.99 C50 1581 Abrechnungstest Hermine 1581 2 01.02.03 C18 1602 Prostata Hans 1602 1 01.07.97 C61 1622 B97test Fritz 1622 1 19.08.96 C61

Page 17: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Tabellen verbinden – (Outer) Join

1. Die einfache Join-Abfrage verlangt, daß in allen abgefragten Tabellen mindestens eine passende Datenzeile existiert.

2. Dabei werden immer alle Felder aus der Select-Liste im Ergebnis gezeigt, auch wenn dadurch Daten mehrfach ausgegeben werden (Beispiel : zweimal Stammdaten von "Hermine Abrechnungstest" )

3. Sollen auch Daten angezeigt werden, bei denen die erste Bedingung nicht zutrifft, muß ein sog. Outer Join eingesetzt werden.

Page 18: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Tabellen verbinden – Beispiel Outer Join"klassische" Oracle – Syntax : hinter der Spalte der Tabelle, für die es evtl. keine Daten gibt, wird (+) gesetzt :select P.Pat_ID, P.Name, P.Vorname, T.Fk_PatientPat_ID, T.Tumor_ID, T.Diagnosedatum, T.ICD10from PATIENT P, TUMOR Twhere P.Pat_ID = T.Fk_PatientPat_ID(+) ;

Fk_Patient Tumor Diagnose PAT_ID NAME VORNAME Pat_ID ID datum ICD10 ------ --------------- ------- ---------- ----- -------- --- 1581 Abrechnungstest Hermine 1581 1 28.12.99 C50 1581 Abrechnungstest Hermine 1581 2 01.02.03 C18 1602 Prostata Hans 1602 1 01.07.97 C61 1622 B97test Fritz 1622 1 19.08.96 C61 1623 B97test Fritz

Page 19: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Tabellen verbinden – Beispiel Outer JoinStandard – Syntax (bei Oracle ab ca. Version 9 verwendbar) am Schluß könnte noch eine where-Klausel folgen :

select P.Pat_ID, P.Name, P.Vorname, T.Fk_PatientPat_ID, T.Tumor_ID, T.Diagnosedatum, T.ICD10from PATIENT P LEFT OUTER JOIN TUMOR T ON P.Pat_ID = T.Fk_PatientPat_ID ;

Fk_Patient Tumor Diagnose PAT_ID NAME VORNAME Pat_ID ID datum ICD10 ------ --------------- ------- ---------- ----- -------- --- 1581 Abrechnungstest Hermine 1581 1 28.12.99 C50 1581 Abrechnungstest Hermine 1581 2 01.02.03 C18 1602 Prostata Hans 1602 1 01.07.97 C61 1622 B97test Fritz 1622 1 19.08.96 C61 1623 B97test Fritz

Page 20: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911

PATIENT

Beispiel : Patienten, für die mindestens ein Tumor dokumentiert ist :

select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT P where EXISTS (select 'X' from TUMOR T where T.Fk_PatientPat_ID = P.Pat_ID)

Der Vergleich mit vorigen Folien zeigt, daß Patient Nr. 1623 keinen Eintrag in der Tabelle TUMOR hat, er steht nicht mehr im Ergebnis (daher durchgestrichen).

SQL : EXISTS - Unterabfrage

Page 21: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

PAT_ID NAME VORNAME GEBURTSDAT---------- --------------- ---------- ---------- 1623 B97test Fritz 11.11.1911

PATIENT

Beispiel : Patienten, für die kein Tumor dokumentiert ist :

select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT P where NOT EXISTS (select 'X' from TUMOR T where T.Fk_PatientPat_ID = P.Pat_ID)

Der Vergleich mit vorigen Folien zeigt, daß Patient Nr. 1623 keinen Eintrag in der Tabelle TUMOR hat, er steht allein im Ergebnis .

SQL : NOT EXISTS

Page 22: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

GTDS – Tabellen in der Diagnosedaten-Maske

• TUMOR• VORHANDENE_DATEN• VORERKRANKUNGEN• GKR• TNM• ANN_ARBOR• SONSTIGE_KLASSIFIK• LOKALISATION• HISTOLOGIE• AA_DIAGNOSESICHERUNG

• .... usw. .... für die Texte zu den Schlüsseln (z.B. ICD) sind weitere Tabellen ab- zufragen

• Spezialdokumentation z.B. für Mamma , Untersuchungen und Vorgesehene Maßnahmen kommen noch extra dazu

Schlußfolgerung : Auswertung durch Abfragen auf die Originaltabellen des GTDS ist in den meisten Fällen zu schwierig und fehleranfällig

Page 23: Auswertung im GTDS fixe Abläufe für Standard-Aufgaben –Mamma-Auswertung –Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf

Alles in einem : Auswertungs-Tabelle

• Alle Grund-Daten zum Tumor in einer Tabelle, eine Zeile pro TUMOR (nicht pro Patient)

• Extrakt – Prinzip – Daten werden jeweils durch ein komplexes Programm

zusammengestellt– Aktualität / Datenstand entspricht dem Zeitpunkt, zu

dem der Extrakt erstellt wurde, siehe Feld DATUM_DER_AUSWERTUNG , es wird nicht automatisch nachgeführt.

– Mehrere Extrakte (im GTDS Auswertungs-Läufe) können nebeneinander existieren, unterschieden durch ihre VORGANG_ID