Auswertungs/Extrakt-Werkzeug für das GTDS Version 0.3

Installation der Version 0.3

( Gilt NUR für die Einzelversion, ist im GTDS-Update enthalten )

In diesem Skript werden die Tabellen erzeugt bzw. aktualisiert und Masken und Menüs generiert.

Die Installation kann i.d.R. unbedenklich erfolgen, wenn bereits vorher ein GTDS-Auswertungs-Programm installiert war.

[voriger Abschnitt][aktueller -- Funktion][nächster Abschnitt -- prakt. Vorgehen][Hauptmenü][Tabellen-Struktur]

Funktion

(noch gehts nicht immer ... oder ist weit von Perfektion entfernt )

Unter ~tumsys/tusys/gtds-8859/auswertung befindet sich nach der Installation die Version 0.3 des GTDS- Auswertungs-Programmes. Das Programm ist prinzipiell unabhängig vom restlichen GTDS. Es kann aufgerufen werden durch

Grundfunktionen, Erweiterte Funktionalität mit Version 0.2 und 0.3

Die Version 0.1 des Auswertungs-Programmes enthielt bereits weitgehend die unten beschriebenen Basis-Funktionen. Diese Version war eigentlich hauptsächlich für Systembetreuer und Register-Benutzer gedacht. Das entsprach auch ihrem zunächst eher experimentellen Charakter. Damit konnte diese Version aber aus Datenschutzgründen eigentlich nur von Personen verwendet werden, die ohnehin Zugriff auf den gesamten Datenbestand haben. In der Tabelle AUSWERTUNG befanden sich immer Daten von Patienten aller Abteilungen. Zudem wurden u.U. Dateien in Verzeichnissen erzeugt, auf die andere Betriebssystem-Benutzer als tumsys kein Schreibrecht hatten

Nunmehr unterscheidet das Auswertungs-Programm weitgehend selbständig zwischen "gewöhnlichen" und voll berechtigten Benutzern. Während für die letzteren eine erweiterte Version der bisherigen Funktionalität vorliegt, wurde für die "gewöhnlichen" Anwender eine neue View AUSWERTUNG_ALLE erzeugt, die aus der Tabelle AUSWERTUNG nur jene Patienten zugreifen läßt, für die der aktuelle Benutzer (erkannt an der Oracle User-ID) berechtigt ist (im Rahmen der Abteilungs-Berechtigungen über die Tabelle ERTEILT_ZUGRIFF). Die Spalten bleiben gleich, so daß jetzt "gewöhnliche" Anwender Auswertungsfunktionalität für die Patienten erhalten, für die sie berechtigt sind. Zu diesem Zweck steht dann auch ein geändertes Hauptmenü zur Verfügung, welches über das Programm AUSWERT_ALLE gestartet wird. Dieses Programm wird automatisch aufgerufen, wenn man nicht als tumsys eingeloggt bzw. für Oracle OPS$TUMSYS oder BEISPIEL ist. Das Anlegen neuer Auswertungs-Läufe oder das Löschen alter ist gewöhnlichen Benutzern dann nicht erlaubt.

Rufen Sie das Auswertungs-Programm nun auf, erhalten Sie ein Hauptmenü mit u.a. folgenden Funktionen :

Spalten-Ausgabe

beinhaltet das Spalten-Ausgabe-zum-PC-Tool, wie wir es auf der Benutzergruppensitzung im Frührjahr 1997 vorgeführt haben. Inzwischen kann es beliebige Tabellen ausgeben.

Bearbeiten

verzweigt in eine einfache Maske über die Tabelle AUSWERTUNG ,in der sich jetzt die Auswertungs-Resultate befinden. Mit den Cursor- Auf-Ab Tasten kann man zwischen Datensätzen blättern, mit den Bild-Tasten zwischen Seiten des gleichen Datensatzes.


Mit Version 0.3 ist wahlweise eine komfortablere Version mit angezeigtem Kopfmenü und Fähigkeit unmittelbar Berichte zu erzeugen verfügbar. Hier besteht eine einfache Möglichkeit, durch simples Ankreuzen, wie aus dem GTDS geläufig, bestimmte Patienten für die Ausgabe von Berichten auszuwählen.

Vorhanden

Alle Auswertungsläufe schreiben in die Tabelle AUSWERTUNG. Die einzelnen Vorgänge erhalten eine Vorgang_ID zur Unterscheidung. Zusätzlich werden sie in der Tabelle AUSWERTUNGS_PARAMETER festgehalten.

Neue Auswertung (nur Systembetreuer)

Über diese Maske wird ein neuer Auswertungslauf angestartet, der neue Datensätze unter einer neuen Vorgang_ID in die Tabelle AUSWERTUNG schreibt. Ursprünglich ist eine komplexe Möglichkeit vorgesehen, Auswahlkriterien zusammenzustellen und zur Vorselektion der ausgewählten Daten zu verwenden. Da jedoch bei ersten Tests auch eine Selektion alller Daten leidlich schnell gelang, ist diese Funktion relativ beschränkt geblieben, es können nur Selektionskriterien für die GTDS-Tabellen PATIENT und TUMOR angegeben werden.


Die Maske war in einigen veralteten Versionen (im README-Auswertung mit 0.0xx bezeichnet ) teilweise nicht voll funktionsfähig.

Die Parameter für den Auswertungslauf werden in eine Datei BEDINGG.sql geschrieben.
Durch Eingabe von X und Return im letzten Feld wird der Auswertungsauf gestartet, der u.U. längere Zeit in Anspruch nehmen kann ( bis > 1 Stunde ). Die Realisierung des Auswertungslaufes erfolgt durch Aufruf von sqlplus mit dem umfangreichen SQL-Skript fuellen.sql. Dieses fügt wiederum intern BEDINGG.sql ein.

Listen

Sowohl die Version für gewöhnliche Benutzer, als auch die für Systembetreuer enthält jetzt einen Punkt "Listen", eine spezielle Version der GTDS-Statistik-Maske nur für solche Listen, die (auch) auf der Tabelle AUSWERTUNG basieren. Als Beispiel wurde der im GTDS bekannte Report für Überlebenszeiten neu über AUSWERTUNG geschrieben. Bei gleichem Ergebnis ist die Laufzeit drastisch vermindert.


Mit der Version 0.3 ist eine vereinfachte Version des "Karteikarten-Reports" dazugekommen, den ein Anwender zur Verfügung stellte. Komprimiert werden alle wichtigen Daten pro Tumor im Format einer Art Karteikarte bereitgestellt.
Solche vordefinierte Listen werden genauso wie Ihre nicht auf der Auswertungs-Tabelle basierenden Verwandten in die Tabelle STATISTIK usw. eingetragen (GTDS-Hauptmenü und dann sYstem-->Berichte-->Statistik). Ihre Bezeichnung muß mit AUSWERTUNG: beginnen.

Die Spaltennamen der Auswertungstabelle AUSWERTUNG bzw. des Views AUSWERTUNG_ALLE kann man unter sqlplus mit DESC AUSWERTUNG oder auch durch Betrachtung von cr_ausw.sql bzw. cr_ausw_alle.sql anschauen. Sie sollten weitgehend selbsterklärend sein. Das Prinzip Extrakt- Tabelle steht. Jedoch muß noch die praktische Erprobung zeigen, ob dieser Extrakt der richtige ist.

Hinweise für Erweiterungen und/oder Verbeserungen des Extraktes werden gern entgegengenommen. Es ist dabei jedoch zu bedenken, daß die Zahl der Spalten in einer Tabelle nicht unbegrenzt anwachsen kann, und daß bestimmte Items, die in großer Zahl pro Tumor auftreten können (z.B. Laborwerte, Untersuchungen, evtl. auch einzelne Chemotherapiezyklen) für diese Art Extrakt mit Denormalisierung einfach ungeeignet sind.

[voriger Abschnitt][aktueller][nächster Abschnitt][Hauptmenü][Tabellen-Struktur]

Auswertungs-Programm für Systembetreuer

Praktisches Vorgehen

Auswertungs-Lauf
Fehler kontrollieren
Auswertung anschauen / bearbeiten
Vorhandene Auswertungs-Läufe
überflüssige Auswertungs-Läufe löschen
Ergebnisse / Tabellen zum PC exportieren
Anhang : Tabellen-Struktur

Voraussetzung ist natürlich, daß das GTDS-Auswertungs-Programm erfolgreich installiert wurde. Wie bereits dargestellt, befindet sich nach der Installation die Version 0.3 des GTDS-Auswertungs-Programmes unter ~tumsys/tusys/gtds-8859/auswertung (bzw. unter ~tumsys/tusys/gtds-8859/auswertung-0.3) . Es kann nun aufgerufen werden durch

Befehlszeile
mit cd ~tumsys/tusys/gtds-8859/auswertung und nachfolgend ./AUSWERT starten Sie unmittelbar aus der (Shell-)Befehlszeile das GTDS-Auswertungs-Programm. Wenn Sie ./AUSWERT_ALLE aufrufen, erhalten Sie die Version für gewöhnliche Benutzer, auch wenn Sie z.B. tumsys sind.
über das Menüsystem des GTDS
Hier ist das GTDS-Auswertungs-Programm häufig verfügbar als Liste in der Listen-Maske unter Leitstelle->Statistik. Rufen Sie diese Maske auf, erscheint zunächst die Auswahl der verfügbaren Listen. In dieser Auswahl ist (vermutlich als eine der letzten Möglichkeiten) die GTDS-Auswertung verfügbar. Sie gelangen das ins Hauptmenü des GTDS-Auswertungs-Programmes.

Dieser Aufruf wird über ein Hilfsprogramm start-auswertung im GTDS-Verzeichnis realisiert.

Starten Sie nun als tumsys das GTDS-Auswertungs-Programm, d.h. also mit Rechten eines Systembetreuers, auf so erscheint folgendes Hauptmenü

:
[Abb.: Hauptmenue]

(Unter den Menüpunkten steht Bearb. für Bearbeiten und Vorha. für Vorhanden ).

[Hauptmenü][Überschrift][nächster Abschnitt][aktueller Absatz][nächster Absatz]

Auswertungs-Lauf

Um das GTDS-Auswertungs-Programm sinnvoll nutzen zu können, müssen Sie im ersten Schritt einen Auswertungs-Lauf starten. Das bedeutet, daß aus den vielen verzweigten und relational verbundenen Tabellen des GTDS ein Auszug oder Exzerpt erstellt wird, wobei pro Tumor eine Zeile in der Tabelle AUSWERTUNG mit allen wichtigen Daten zu diesem Tumor erscheint.

Jeder Auswertungs-Lauf stellt den Zustand der Datenbank zu einem bestimmten Zeitpunkt dar. Er wird nicht etwa automatisch aktualisiert. In dem Verzeichnis der einzelnen Auswertungs-Läufe in der Tabelle AUSWERTUNGS_PARAMETER werden der Zeitpunkt und die bestimmenden Parameter festgehalten. Jeder Auswertungs-Lauf erhält eine eindeutige Nummer, die VORGANG_ID, durch die er jederzeit eindeutig gekennzeichnet ist. gekennzeichnet.

Zum Erstellen eines solchen Auszuges dient das SQL*Plus- und PL/SQL-Skript fuellen.sql . Sie können dieses Skript ohne weiteres anschauen, hingegen ist eine Modifikation nur unter großer Vorsicht empfehlenswert. Für Hinweise auf noch vorhandene Ungenauigkeiten sind wir jederzeit dankbar. Dieses Skript ist unter Oracle Version 6 und 7 lauffähig. Sein Umfang könnte jedoch auf einigen Systemen (vorwiegen DOS/NOVELL -Installationen) zu Schwierigkeiten führen. Die Selektionsbedingungen für jeweils den aktuellen Auswertungs-Lauf befinden sich in einer separaten Datei BEDINGG.sql . Dadurch wird vermieden, das Füllskript für jeden Auswertungs-Lauf modifizieren zu müssen.

Normalerweise können Sie einen Auswertungs-Lauf aus dem Hauptmenü des GTDS-Auswertungs-Programmes über den Punkt Neue Auswertung (s.o.) starten :
[Abb.: neue Auswertung]

In das Feld "Bedingung Hauptselect" können Sie SQL-Bedingungen eingeben, die die erhaltene Patienten-Menge einschränken. Beispiele, wie dies aussehen könnte erhalten Sie, wenn Sie in dieses Feld gehen und [LISTE] (normalerweise F9) drücken. Es können mehrere Bedingungen mit AND verbunden werden. Einschränkend ist jedoch zu sagen, daß sich diese SQL-Bedingungen derzeit nur auf die Tabellen PATIENT und TUMOR im GTDS beziehen können, also typischerweise solche Felder wie PAT_ID , STERBEDATUM , DIAGNOSEDATUM usw.. Eine Auswahl nach TNM, Histologie , Lokalisation u.a. ist derzeit nur mit zusätzlichem Aufwand möglich. Sie ist jedoch auch an dieser Stelle nicht unbedingt notwendig, da auf die nach dem Auswertungs-Lauf in einer Tabelle vorliegenden Daten leicht die verschiedensten SQL-Bedingungen angewandt werden können.

Auch ein Auswertungs-Lauf ohne zusätzliche Einschränkungen (Feld "Bedingung Hauptselect" leer wie hier) ist gut möglich . In diesem Falle wird für alle Tumoren im Register jeweils eine Zeile erzeugt. Das kann in einem typischen Register (einige tausend Fälle) ca. 30 ... 60 Minuten dauern. Es ist zweckmäßig, einen solchen Auswertungs-Lauf nicht gerade während der größten Dokumentations-Aktivität der Anwender durchzuführen. Ferner muß in der Datenbank für die Tabelle AUSWERTUNG , die den Auszug aufnimmt, ausreichend Platz sein ( unter sqlplus können Sie mit SQL> START free_sum nachschauen).

Haben Sie durch Eingabe von X in das kleine Feld und danach [RETURN] einen Auswertungs-Lauf, gestartet, so würde etwa folgendes ablaufen :

 
SQL*Plus: Release 3.1.3.7.1 - Production on Wed Oct  1 14:16:09 1997

Copyright (c) Oracle Corporation 1979, 1994.  All rights reserved.


Connected to:
Oracle7 Server Release 7.1.6.2.0 - Production Release
PL/SQL Release 2.1.6.2.0 - Production

Zusätzliche Bedingungen

AND Fk_LokalisationLok LIKE '%'
EINGENZEN: NEIN
create table FEHLERCHEN(Ftext varchar(254))
             *
ERROR at line 1:
ORA-00955: name is already used by an existing object



Vorgangs-Nummer Datum Ausw
--------------- ----------
            508 01.10.1997


0 rows deleted.


Commit complete.

Auflistung in Tabelle AUSWERTUNGS_PARAMETER

1 row created.


Commit complete.

Arbeit wird begonnen ...

PL/SQL procedure successfully completed.

Disconnected from Oracle7 Server Release 7.1.6.2.0 - Production Release
PL/SQL Release 2.1.6.2.0 - Production

-- Betätigen Sie RETURN zur Rückkehr zu SQL*Forms --

Dies ist als normaler Ablauf zu bewerten. Der anfängliche Oracle-Fehler ist ohne Bedeutung, das Füll-Skript möchte nur sicherstellen, daß die Tabelle zum Ablegen der Fehler tatsächlich existiert. Andere Fehler als sinngemäß ORA-00955: name is already used by an existing object wären dagegen als abnorm zu bezeichnen und sollten gemeldet werden. Hinter Arbeit wird begonnen ... findet der eigentliche Auswertungs-Lauf statt, das Skript kann daher längere Zeit ohne Bildschirmausgabe verharren. Nach mehreren Stunden sollte es in jedem Falle mit Control-C abgebrochen werden.


[Hauptmenü][Überschrift][nächster Abschnitt][voriger Absatz][aktueller Absatz][nächster Absatz]

Fehler kontrollieren

Bei einem Auswertungs-Lauf bietet die Meldung PL/SQL procedure successfully completed (s.o.) leider keine komplette Garantie, daß in der Extrakt-Tabelle das gewünschte Ergebnis enthält. Dies liegt darin begründet, daß ein PL/SQL-Skript normalerweise keine Meldungen nach "außen" abgeben kann, etwa zum Bildschirm. Daher muß es evtl. aufgetretene Fehler in eine Datenbanktabelle speichern, die hier den Namen FEHLERCHEN mit der einen Spalte Ftext VARCHAR2(254) trägt. Dort werden z.B. Probleme notiert, die z.B. mit ungewöhnlichen Werten in den Daten auftreten können und bei bestimmten Konstellationen in früheren Versionen des Füll-Skriptes dazu führten, daß der Auswertungsvorgang vorzeitig abgebrochen wurde.

Über den Menüpunkt Fehler des Hauptmenüs erreichen Sie eine Maske zum Anschauen/Suchen der Fehlermeldungen :
[Abb.: Fehlermeldungen]

Die Fehlermeldungen werden mit Datum gespeichert und sind i.d.R. chronologisch geordnet. Sind viele Fehler vorhanden, gelangt man mit den Tasten zum Blättern ([Bild ab]) oder auch über die Funktionen für "Suchkriterien" und "Suche" im Menü zu den aktuellen Meldungen. Mit der Taste für [Delete Record] bzw. [Datensatz löschen], meist ESC ESC Entf und anschließendem Speichern können alte Fehlermeldungen gelöscht werden.

Einige Fehlermeldungen sind länger als die angezeigte Bildschirmzeile, mit der Taste für [Edit Field] bzw. [Feld editieren] , gewöhnlich F11, können Sie solche Meldungen komplett anschauen, wenn Sie mit den Cursortasten in die entsprechende Zeile wechseln.

Neuere Versionen des Hilfsprogrammes zum Löschen überflüssiger alter Auswertungs-Läufe tragen gleichfalls eine Zeile in die Fehlertabelle ein, in der Art 24.08.1998 13:02 loesche_auswertung : 1 Datensätze des Vorgangs 645 mit 1 mal Commit gelöscht. . Dies ist eigentlich eine informative Meldung, kein Fehler.

[Hauptmenü][Überschrift][nächster Abschnitt][voriger Absatz][aktueller Absatz][nächster Absatz]

Auswertung anschauen / bearbeiten

[Abb.: Maske bearbeiten]

Mit der Funktion Bearb. des Hauptmenüs wird eine Pflege-/Suchmaske für die Resultate in der Tabelle AUSWERTUNG zur Verfügung gestellt. Nach dem Aufruf aus dem Hauptmenü führt diese unmittelbar eine Abfrage ([Execute Query]) auf die Daten der neuesten Auswertung (mit der höchsten Vorgang_ID ) durch. Es stehen Ihnen jetzt alle üblichen Funktionen einer Pflegemaske zur Verfügung. Da die vielen Felder der Tabelle AUSWERTUNG nicht auf eine Bildschirmseite passen, können Sie zusätzlich mit den Tasten [Bild auf] bzw. [Bild ab] zwischen verschiedenen Seiten mit verschiedenen Feldern wechseln (ähnlich wie in der GTDS-Verlaufsmaske). Durch F10 erscheint das übliche Kopfmenü : [Abb. Kopfmen.] Mit den Funktionen für Suchkriterien und Suche des Kopfmenüs steht ihnen die einfache Query-By-Example-Suche von SQL*Forms für beliebige Felder zur Verfügung. Bei einer solchen Suche sollten Sie ggf. auf die VORGANG_ID (erstes Feld, mit Werteliste) achten, da sonst Tumoren aus allen gespeicherten Auswertungs-Vorgängen gefunden werden. Mit der Funktion [Count Query Hits] (Taste mit Control-K nachschauen) kann jeweils die Anzahl der Treffer ermittelt werden.

Mit Version 0.3 haben Sie die Wahl zwischen zwei Varianten. Wenn Sie den Punkt "Bearb." im Hauptmenü wählen, erscheint zunächst noch die Vor-abfrage[Untermenü zu Bearbeiten:Standard/erWeitert] Hier führt die Auswahl "Standard" zur bereits gezeigten Maske, "erWeitert" hingegen zur Maske für gewöhnliche Benutzer . Diese bietet eine bessere Darstellung, Möglichkeiten, Datensätze zum Drucken auszuwählen (neu ab Version 0.3) usw.. Sie bezieht sich jedoch auf die eingeschränkte Datenmenge der View AUSWERTUNG_ALLE.

[Hauptmenü][Überschrift][nächster Abschnitt][voriger Absatz][aktueller Absatz][nächster Absatz]

Liste der vorhandenen Auswertungs-Vorgänge

Über den Menüpunkt Vorha. erhalten Sie eine Übersicht über die vorhandenen Auswertungs-Vorgänge. Um alle Informationen zu präsentieren und evtl. Inkonsistenzen aufzuzeigen, werden die Informationen doppelt gewonnen und dargeboten - erst aus der Verzeichnis-/Übersichtstabelle AUSWERTUNGS_PARAMETER , sodann aus der Tabelle AUSWERTUNG . Dieser letztere Teil des Vorgangs kann etwas länger dauern (Max. wenige Minuten). Eine typische Ausgabe könnte sein :

 
SQL*Plus: Release 3.1.3.7.1 - Production on Wed Oct  1 14:19:29 1997

Copyright (c) Oracle Corporation 1979, 1994.  All rights reserved.


Connected to:
Oracle7 Server Release 7.1.6.2.0 - Production Release
PL/SQL Release 2.1.6.2.0 - Production


Aktueller Oracle-Benutzer
------------------------------
OPS$TUMSYS


Wed Oct  1                                                             page    1
                        Vorhandene Auswertungsvorgänge
                      in der Tabelle AUSWERTUNGS_PARAMETER

    ID DATUM_DER Anzahl HAUPTBEDINGUNG
------ --------- ------ --------------------------------
   500 30-SEP-97
   501 30-SEP-97
   502 30-SEP-97
   504 30-SEP-97    196
   505 01-OCT-97    196
   506 01-OCT-97    196
   508 01-OCT-97    196

7 rows selected.


Wed Oct  1                                                             page    1
                        Vorhandene Auswertungsvorgänge
                   und ihre Größen in der Tabelle AUSWERTUNG

    ID DATUM          ANZAHL
------ ---------- ----------
   500 30.09.1997         51
   501 30.09.1997         51
   502 30.09.1997         51
   504 30.09.1997        196
   505 01.10.1997        196
   506 01.10.1997        196
   508 01.10.1997        196

7 rows selected.

Weiter mit RETURN

[Hauptmenü][Überschrift][nächster Abschnitt][voriger Absatz][aktueller Absatz][nächster Absatz]

überflüssige Auswertungs-Läufe löschen

Nach einiger Zeit befinden sich möglicherweise in der Tabelle AUSWERTUNG mehr Auswertungs-Vorgänge als erwünscht. Das ist grundsätzlich nicht schlimm, der einzelne Auswertungs-Vorgang bleibt ja durch seine VORGANG_ID identifiziert. Es leidet jedoch die Übersicht, Abfragen werden evtl. verlangsamt. In diesem Falle können Sie über Löschen im Hauptmenü ein SQL-Skript aufrufen, welches Ihnen die vorhandenen Auswertungs-Vorgänge auflistet und dann nach der Nummer desjenigen fragt, den Sie löschen wollen.


[Hauptmenü][Überschrift][nächster Abschnitt][voriger Absatz][aktueller Absatz]

Ergebnisse / Tabellen zum PC exportieren

Der Menüpunkt Spalten-Ausgabe ermöglicht Ihnen, Inhalte der Auswertungs- oder im Prinzip jeder anderen SQL-Tabelle einfach in ein ASCII-Format zu exportieren, welches leicht mit MS-ACCESS(®) oder einem anderen PC-Datenbankprogramm wieder eingelesen werden kann.

Nach dem Aufruf aus dem Hauptmenü präsentiert sich folgender Bildschirm:
[Abb.: Spalten-Auswahl]

Die für die Tabelle AUSWERTUNG erforderlichen Parameter sind im oberen , tabellen-bezogenen Teil der Maske bereits eingesetzt. Im unteren Teil befindet sich eine Liste der Spalten, die mit den [Bild auf/ab] Tasten geblättert werden kann. Links können Sie (ähnlich wie bei der Adressaten-Auswahl des GTDS) mit X die gewünschten Spalten ankreuzen. Die Gesamtlänge der Spaltenliste (alle Inhalte hintereinander) ist derzeit auf ca. 500 Zeichen begrenzt.

Mit F10 -> Bestätigen oder F2 können Sie die Ausgabe starten :
[Bild]

Hier kreuzen Sie an, welche Schritte gewünscht sind. Der Vorgang läuft dann folgendermaßen weiter :

 
spalausw.ksh : Resultat nicht zum PC schicken.
SQL-Skript=/tmp/spal_sql_4315.sql

AUSGABEDATEI /tmp/SPALAUSW.LST
SPOOLDATEI /tmp/SPALAUSW.LST wird verwendet !
TABELLE AUSWERTUNG
Tabelle AUSWERTUNG wird ausgegeben.
spalausw.ksh : Schlüsselwort TABELLE evtl. zu weit unten !
SPALTE VORGANG_ID NUMBER 22
SPALTE DATUM_DER_AUSWERTUNG DATE 7
SPALTE PAT_ID NUMBER 22
SPALTE ANZAHL_TUMOREN NUMBER 22
SPALTE GEBURTSDATUM DATE 7
Maximale Länge der Ausgabezeilen vsl. 95

SQL*Plus: Release 3.1.3.7.1 - Production on Wed Oct  1 14:24:08 1997

Copyright (c) Oracle Corporation 1979, 1994.  All rights reserved.


Connected to:
Oracle7 Server Release 7.1.6.2.0 - Production Release
PL/SQL Release 2.1.6.2.0 - Production

SQL> 
VORGANG_ID;DATUM_DER_AUSWERTUNG;PAT_ID;ANZAHL_TUMOREN;GEBURTSDATUM
/tmp/SPALAUSW.LST erstellt.
Disconnected from Oracle7 Server Release 7.1.6.2.0 - Production Release
PL/SQL Release 2.1.6.2.0 - Production

-- Betätigen Sie RETURN zur Rückkehr zu SQL*Forms --

Es wurde gemäß den gemachten Angaben ein SQL-Skript erstellt, dessen Ausgaben in /tmp/SPALAUSW.LST gelandet sind. Diese Datei sieht so aus :

 
VORGANG_ID;DATUM_DER_AUSWERTUNG;PAT_ID;ANZAHL_TUMOREN;GEBURTSDATUM
"500";"30.09.1997";"1";"3";"09.08.1899"
"500";"30.09.1997";"1";"3";"09.08.1899"
"500";"30.09.1997";"1";"3";"09.08.1899"
"500";"30.09.1997";"2";"1";"02.02.1902"
"500";"30.09.1997";"7";"6";"11.11.1911"
"500";"30.09.1997";"7";"6";"11.11.1911"
"500";"30.09.1997";"7";"6";"11.11.1911"
"500";"30.09.1997";"7";"6";"11.11.1911"
"500";"30.09.1997";"7";"6";"11.11.1911"
usw.

In der ersten Zeile befinden sich also die Spaltennamen, getrennt durch Semikolon. Es folgen, eine Zeile pro Datensatz, die Daten. Dieses Dateiformat kann i.d.R. leicht von PC-Datenbanken wiedereingelesen werden. Auf Wunsch wird die Ausgabe unmittelbar mit pcsend (wie Briefe aus dem GTDS) zum lokalen PC geschickt.

Wollen Sie eine andere, bestimmte Auswertung oder eine andere Tabelle in dieser Weise ausgeben, so gehen Sie folgendermaßen vor :

Die Funktionen

vorgefertige Berichte und Listen

und

Ergebnisse / Tabellen zum PC exportieren

sind analog zu den Möglichkeiten für normale Benutzer verfügbar. Ein entprechender Punkt wurde auch in das Hauptmenü für Systembetreuer eingefügt (oben rechts).

[voriger Abschnitt][aktueller][nächster Abschnitt][Hauptmenü][Tabellen-Struktur]

Auswertungs-Programm für normale Benutzer

Artikel wird noch ergänzt.

Das Auswertungs-Programm für normale GTDS-Anwender greift auf die View AUSWERTUNG_ALLE zu, so daß nur Patienten zugreifbar sind, für die man auch berechtigt ist. Die Einschränkung auf reine Systemverwalter und Leitstellenbenutzer ist nicht mehr unbedingt notwendig.

Voraussetzung ist auch hier, daß das GTDS-Auswertungs-Programm erfolgreich installiert wurde.

Ein direkter Zugang aus dem Menüsystem des GTDS ist z.T. möglich. Das Auswertungs-Programm ist dann verfügbar als "Liste" in der Listen-Maske des GTDS unter Leitstelle->Statistik. Rufen Sie diese Maske auf, erscheint zunächst die Auswahl der verfügbaren Listen. In dieser Auswahl ist (vermutlich als eine der letzten Möglichkeiten) die GTDS-Auswertung verfügbar(gestartet wird zunächst ein Hilfsprogramm namens start-auswertung). Anderenfalls müßten Sie im Verzeichnis ~tumsys/tusys/gtds-8859/auswertung das Programm ./AUSWERT bzw. wenn Sie auch als Administrator die Version für alle Benutzer wollen, ./AUSWERT_ALLE aufrufen.

Sie gelangen dann das ins Hauptmenü des allgemeinen GTDS-Auswertungs-Programmes :
[Bild]

Die für den Systembetreuer wichtigen Punkte "Neue Auswertung" und "Löschen" sind unter dem Menüpunkt sYstem in einem Untermenü versteckt :
[Bild]

Diese Punkte kann nur aufrufen, wer dazu berechtigt ist (d.h. Eigentümer der Tabelle AUSWERTUNG).

Unter sYstem verbirgt sich jedoch auch der für jede selbständige Auswertung notwendige, für alle zugängliche Punkt sqlPlus :

[Bild]
Auf diese Weise gelangen Sie dann in dieses elementare, doch unentbehrliche Werkzeug.

[Bild]

An dieser Stelle ist auf unsere SQL-Einführung sowie auf kurze Hinweise zum Gebrauch von SQL*Plus zu verweisen. Eine erweiterte, GTDS- und Auswertungsbezogene Einführung in SQL unter Oracle(®) wird in Erwägung gezogen, wenn genügend Interesse besteht. Ein kurzes Beispiel zur Verwendung von SQL und SQL*Plus in Verbindung mit dem Auswertungs-Programm des GTDS befindet sich weiter unten in Ergebnisse von SQL*Plus-Skripten zum PC schicken.

Jede Auswertung im eigentlichen Sinne setzt voraus, daß die Auswertungs-Tabelle mit zumindest einem Auswertungs-Lauf gefüllt wurde. Gewöhnliche Benutzer könnten aber wohl in der Regel auf vorhandene Auswertungs-Läufe zurückgreifen. Welche Auswertungs-Läufe verfügbar sind, zeigt der Menüpunkt Vorhanden in einer einfachen Liste an (Beispiel s.o.). Benötigen Sie möglichst aktuelle Daten und haben die entsprechende Berechtigung (d.h. i.d.R. Sie dürfen sich als tumsys einloggen), können Sie aber auch ohne Weiteres einen neuen Auswertungs-Lauf starten. Danach müßten Sie kontrollieren, ob mögliche Fehler geschehen sind.

Häufig werden in Ihrer Auswertungs-Tabelle bereits mehrere Auswertungs-Läufe vorhanden sein. Dabei ist daran zu denken, daß diese ggf. mehrfach Daten des gleichen Patienten enthalten, nur gesammelt bis zu einem unterschiedlichen Zeitpunkt.

Die einzelnen Auswertungs-Läufe werden jeweils mit einer eindeutigen Nummer, der VORGANG_ID numeriert. Auf diese Weise entsteht eine Struktur der Art Bei allen Arbeiten mit der Auswertungs-Tabelle ist dies unbedingt zu beachten. Normalerweise werden Sie nur die Daten des neuesten, aktuellsten Auswertungs-Laufes benötigen. Abfragen, Listen usw. müssen dann entsprechend eingeschränkt werden. Die einfache Maske unter Bearbeiten, die Spalten-Ausgabe sowie die von uns gelieferten Listen berücksichtigen dies automatisch und verwenden, sofern Sie nichts anderes anfordern, nur Daten des neuesten Auswertungs-Laufes.

Auswertung(en) anschauen / bearbeiten

Mit der Funktion Bearbeiten des Hauptmenüs wird eine Pflege-/Suchmaske für die Resultate in der View AUSWERTUNG_ALLE zur Verfügung gestellt. Nach dem Aufruf aus dem Hauptmenü führt diese unmittelbar eine Abfrage ([Execute Query]) auf die Daten der neuesten Auswertung (mit der höchsten Vorgang_ID ) durch. Es stehen Ihnen jetzt alle üblichen Funktionen einer Pflegemaske zur Verfügung ([Details]). Ab Version 0.3 ist es auch möglich, Datensätze auszuwählen, für die dann verschiedene Berichte gedruckt werden können.


vorgefertige Berichte und Listen

Mit SQL-Skripten sowie der Möglichkeit, Daten zum PC zu versenden (s.u.) können Berichte aus den Daten der einer Auswertung erzeugt und weiterbearbeitet werden. In vielen Fällen erscheinen aber vorgefertigte Listen trotzdem günstig zu sein ([Details]). Als erste solche Liste wurde die im GTDS bereits vorhandene einfache Überlebensstatistik realisiert. Bei gleichem Ausgabeformat ist die Performance sehr deutlich verbessert.


Ergebnisse / Tabellen zum PC exportieren

Die Funktion Spalten-Ausgabe ist auch für gewöhnliche Benutzer verfügbar.

Ergänzend ist in diesem Zusammenhang auf zwei weitere Möglichkeiten hinzuweisen :


[voriger Abschnitt][aktueller Abschnitt][Hauptmenü][Tabellen-Struktur]

Anhang : Tabellen-Struktur

In den Dateien cr_ausw.sql und cr_auswp.sql befinden sich die CREATE-Statements für die Auswertungs-Tabellen :

 
create sequence VORGANG start with 500
/
create table AUSWERTUNG (
Vorgang_Id                 NUMBER NOT NULL ,
Datum_der_Auswertung       DATE NOT NULL ,
Satznummer                 NUMBER,
Pat_Id                     NUMBER NOT NULL ,
Anzahl_Tumoren             NUMBER(2),
Tumor_Id                   VARCHAR(2),
GeburtsDatum               DATE,
SterbeDatum                DATE,
SterbeDatum_exakt          VARCHAR(1),
Geschlecht                 VARCHAR(1),
PLZ                        VARCHAR(10),
Tumortod                   VARCHAR(1),
Autopsie                   VARCHAR(1),
AufnahmeDatum              DATE,
DiagnoseDatum              DATE,
Anzahl_Abteilungen         NUMBER(2),
Abteilung1                 NUMBER(4),
Abteilung2                 NUMBER(4),
Abteilung3                 NUMBER(4),
Anzahl_Aerzte              NUMBER(2),
Hausarzt                   NUMBER(8),
Arzt1                      NUMBER(8),
Anzahl_Aufenthalte         NUMBER(3),
Gesamtdauer_Aufenthalte    NUMBER(5),
ICD9                       VARCHAR(6),
ICD10                      VARCHAR(6),
DiagnoseText               VARCHAR(255),
Lokalisation               VARCHAR(6),
Lokalisation2              VARCHAR(6),
Lok_Seite                  VARCHAR(2),
Lok_Auflage                VARCHAR(2),
Lok_Haupt_Neben            VARCHAR(1),
Anzahl_Histologien         NUMBER(2),
Histologie                 VARCHAR(6),
Histo_Lfdnr                NUMBER(8),
Histo_Auflage              VARCHAR(2),
Histo_Haupt_Neben          VARCHAR(1),
Histo_Diagnose             VARCHAR(1),
Histo_Herkunft             VARCHAR(1),
Histo_Grading              VARCHAR2(2),
Klin_Tnm_Lfdnr             NUMBER(8),
Klin_Tnm_Herkunft          VARCHAR(1),
Klin_Tnm_Datum             DATE,
Klin_P_T                   VARCHAR(1),
Klin_T                     VARCHAR(5),
Klin_P_N                   VARCHAR(1),
Klin_N                     VARCHAR(5),
Klin_P_M                   VARCHAR(1),
Klin_MET                   VARCHAR(5),
P_Tnm_Lfdnr                NUMBER(8),
P_Tnm_Herkunft             VARCHAR(1),
P_Tnm_Datum                DATE,
P_P_T                      VARCHAR(1),
P_T                        VARCHAR(5),
P_P_N                      VARCHAR(1),
P_N                        VARCHAR(5),
P_P_M                      VARCHAR(1),
P_MET                      VARCHAR(5),
Ann_Arbor_Lfdnr            NUMBER(8),
Ann_Arbor_Herkunft         VARCHAR(1),
Ann_Arbor_Datum            DATE,
Ann_Arbor_Stadium          VARCHAR(5),
Ann_Arbor_Allgemein        VARCHAR(5),
Anzahl_Sonstige            NUMBER(3),
Sonstige_Name              VARCHAR(30),
Sonstige_Id                NUMBER(3),
Sonstige_Lfdnr             NUMBER(8),
Sonstige_Herkunft          VARCHAR(1),
Sonstige_Datum             DATE,
Sonstige_Stadium           VARCHAR(10),
Therapieebeginn            DATE,
Primaertherapie            VARCHAR(5),
Anzahl_Operationen         NUMBER(2),
OP_Nummer                  NUMBER(8),
OP_Datum                   DATE,
OP_Abteilung               NUMBER(6),
OP_Bezeichnung             VARCHAR(254),
OP_Schluessel              VARCHAR(10),
OP_Schluessel_Auflage      VARCHAR(2),
Anzahl_Innere              NUMBER(2),
Innere_Nummer              NUMBER(3),
Innere_Beginn              DATE,
Innere_Abteilung           NUMBER(6),
Innere_Protokoll_ID        NUMBER(8),
Innere_Anzahl_Zyklen       NUMBER(3),
Innere_FreiText            VARCHAR(254),
Anzahl_Bestrahlungen       NUMBER(3),
Bestrahlung_Nummer         NUMBER(3),
Bestrahlung_Datum          DATE,
Bestrahlung_Abteilung      NUMBER(6),
Bestrahlung_FreiText       VARCHAR(254),
Anzahl_Teilbestrahlungen   NUMBER(3),
Teil_Bestr_Beginn          DATE,
Anzahl_Zielgebiete         NUMBER(3),
Zielgebiet1                VARCHAR(5),
Zielgebiet2                VARCHAR(5),
Applikationsart            VARCHAR(5),
Applikationstechnik        VARCHAR(10),
Gesamtdosis                VARCHAR(10),
Gy_GBQ                     VARCHAR(10),
Strahlenart                VARCHAR(10),
Referenz                   VARCHAR(5),
SonstigeTherapie           VARCHAR(32),
erste_R_Klassifikation     VARCHAR(5),
erstes_Rezidiv             VARCHAR(20),
Anzahl_Metastasen          NUMBER(2),
Metastase1                 VARCHAR(20),
Metastase2                 VARCHAR(20),
Anzahl_Folgeerkrankungen   NUMBER(2),
Folgeerkrankung1           VARCHAR(20),
Folgeerkrankung2           VARCHAR(20),
Letzte_Info_Datenart       VARCHAR(20),
Letzte_Info_Datum          DATE,
Letzte_Info_Lfdnr          NUMBER(8)
)
Storage( INITIAL 200K NEXT 1M PCTINCREASE 0 )
/

REM in der folgenden Tabelle werden die Parameter
REM der einzelnen Auswertungen gespeichert.
REM

create table AUSWERTUNGS_PARAMETER (
Vorgang_ID           NUMBER NOT NULL,
Anzahl_Zeilen        NUMBER(6),
Datum_der_Auswertung DATE,
Hauptbedingung       VARCHAR(255),
LokalisationsBedingung VARCHAR(255),
HistologieBedingung  VARCHAR(255),
Eingrenzen           VARCHAR(255)
)
/

[Anfang des Abschnittes][Hauptmenü]