Das Tumordatenbankprogramm basiert auf dem proprietären anwendungsgekapselten relationalen Datenbanksystem der Firma Progress in der Version 8. Der Zugriff auf die Datensätze sowie die Programmierung der Benutzerschnittstelle erfolgte in der gleichnamigen Programmiersprache Progress 4gl. Die verwendete Entwicklungsumgebung ProVision gestattet zusammen mit der Programmiersprache Progress der vierten Generation die graphische Gestaltung von Eingabemasken direkt am Bildschirm und die ereignisgesteuerte Programmierung. Das Tumordokumentationssystem kann entweder als Einzelplatzversion auf dem Windows PC oder als Client-Server Installation in einem TCP/IP Netzwerk betrieben werden. Clientseitig wird Windows als Betriebssystem, serverseitig Windows NT oder diverse UNIX-Derivate wie auch Linux verwendet.
Zur Arbeitserleichterung des dokumentierenden Arztes besteht die Möglichkeit Patientenstamm- und Bewegungsdaten aus einem übergeordneten Klinikinformationssystem zu übernehmen. Hierzu wurde mittels der kostenlos verfügbaren Programmbibliothek ProtoGen/HL7 [5] eine Schnittstelle für das standardisierte medizinische Kommunikationsprotokoll HL7 geschaffen [6].
Das Datenmodell der Datenbank und der Quelltext des Programms steht allen Interessierten kostenlos zur Verfügung. Die zugrundeliegende Datenbanksoftware und die 4GL Entwicklungsumgebung der Firma Progress muss jedoch direkt bei Progress Deutschland erworben werden.
Dadurch ist gewährleistet, dass alle Programmnutzer das Programm an ihre eigenen Bedürfnisse anpassen können. Dadurch ist eine leichte Integration in die vorhandene EDV- und Organisationsstruktur möglich und ein erhöhter Investitionschutz gegeben. Funktionen zur Arztbriefschreibung und Dokumentenverwaltung, die in Grundzügen im Programm realisiert sind, können somit einfach auf die jeweiligen klinikinternen Arbeitsabläufe zugeschnitten werden.
Die Benutzerschnittstelle des Programms ist modular aufgebaut, um eine problemlose Erweiterung des Programms zu gewährleisten. Diese Erweiterungsmöglichkeit ist zwingend erforderlich, da selbst ein umfangreiches Tumordokumentationsprogramm nicht alle Aspekte von vornherein abdecken kann, die möglicherweise für eine spezielle Studie von Bedeutung sind. Die Darstellung der Benutzerschnittstelle über zahlreiche kaskadierte Fenster ist für eine Windowsanwendung unüblich, wird jedoch von den Benutzern nach kurzer Einarbeitungszeit akzeptiert, da ein hoher Kontextbezug erreicht wird. Die Dateneingabe durch kontextsensitive Wertelisten unterstützt, die durch berechtigte Benutzer gepflegt werden können.
In der ersten Ausbaustufe ist das Programm neben den Funktionen zur Tumordateneingabe mit einer Datenexportschnittstelle zum Export aller Daten und einer Importschnittstelle für Patientenstamm- und Bewegungsdaten ausgestattet. Abfragen und Reports können innerhalb des Datenbanksystems mittels der Programmiersprache Progress programmiert werden. Der Import der exportierten Daten in eine relationale Datenbank gestattet die Durchführung beliebiger Abfragen mit der Abfragesprache SQL.
Für die gleiche physikalische Größe, bzw. den gleichen Schlüssel wird in der
Datenbank durchgängig die gleiche Bezeichnung verwendet. So bezeichnet das
Attribut patient
stets die interne Patientennummer in der Datenbank.
Primärschlüssel einer Datenbanktabelle tragen stets die gleiche Bezeichnung,
wie die Tabelle selbst. Für alle Primärschlüssel bzw. Fremdschlüssel werden
entsprechende Indexe angelegt. Der Indexname wird so gewählt, das anhand des
Namens Reihenfolge und Zusammensetzung des Index deutlich wird.
klinik_patient
bezeichnet einen Index bestehend aus der Klinik- und
Patientennummer. Zähler werden bezeichnet wie die Felder, die sie füllen
mit nachgestelltem _seq
. So bezeichnet patient_seq
einen
Zähler, der das Feld patient
füllt.
Die Benutzerschnittstelle ist stark modular aufgebaut. Dies ermöglicht
einerseits die leichte Erweiterbarkeit des Programms, andererseits die
mehrfache Verwendung des gleichen Moduls in unterschiedlichem Kontext.
Die Kommunikation zwischen den Programmen erfolgt mittels globaler
Variablen, die in der Datei globals.i
und tumdok.p
definiert
sind. Die Datei globals.i
muss bei allen Programmmodulen inkludiert
werden. Beim Aufruf eines neuen Programmmoduls werden jeweils die aktuellen
Tabellenschlüssel an das aufgerufene Modul übergeben.