Datenbank zum Speichern der von *.anq-Dateien importierten Infos: /databases/anq.gdb Schnell öffnen kann man die Datenbank mit: /opt/interbase/bin/isql /databases/anq.gdb -u username -p passwd -- Beim Importieren des ANQ-Files wird ein eintrag in der tabelle measurement_information angelegt, der eine eindeutige nummer für den importvorgang = für die befragungssitzung = für die eingelesene datei = für den zugehörigen datensatz, verteilt auf alle tabellen, vergibt, und diesem patnr sowie dot zuordnet. Dann wird für für jeden [kurzname abschnitt] des Files eine eigene Tabelle angelegt, die nach dem Kurznamen des Fragebogens und dem Abschnitt benannt ist. Typischerweise sind das derzeit für das Beispiel des QLQ-C30 V 3.0 mit Kurznamen C30V3: show tables; measurement_information c30v3_meta_information c30v3_raw_data -- show table measurement_information; anqdatasetnr int der hauptschlüssel auf die anq-dateneinträge ind den eigentlichen anq-datentabellen anqname varchar(100) patid aus der anq-datei anqfirstname varchar(100) anqlastname varchar(100) anqgrouppid varchar(100) anqdob date patnr int gefundene zugehörige nr. in der internen patientenkartei patienten.gdb; 0, falls kein passender patient gefunden wurde und auch keiner automatisch wegen der anq-datei angelegt wurde dateoftest date starttime time endtime time deltatime time qnrshortname varchar(100) qnrlongname varchar(100) Dabei wird bei einem importvorgang ein neuer anqdatasetnr hauptschlüssel generiert, und alle datenteile werden in die zugehörigen tabellen unter angabe dieses schlüssels geschrieben. Für jeden Eintrag in einen datentabellensatz = für jeden vollständigen Fragebogen(modul)abschnitt in der anq-Datei wird ein eintrag in measurement_information mit dem namen des Fragebogens gemacht. So kann ich nacher, wenn ich schnell alle Fragebögen von einem Patienten suche, oder alle Zeitpunkte, an denen ein Patient einen Fragebogen ausgefüllt hat, diese Infos relativ schnell nur mit Suchzugriffen auf diese eine Tabelle erhalten, ohne die anderen Tabellen durchsuchen zu müssen. Wenn ich dann auch noch die Daten brauche, dann kann ich die anderen Tabellen gezielter durchsuchen, also nur solche, von denen hier auch verzeichnet steht, daß dort Daten von diesem Patienten drin sind. Außerdem funktioniert diese strategie auch ohne den (via ibperl nicht funktionierenden?) Befehl "show tables". -- In jeder Tabelle werden zu den vorhandenen Parametern des zugehörigen Abschnitts der *.anq-Datei die dort gefundenen values abgelegt. Zusätzlich werden in jeder Tabelle Informationen über die Patientennummer und das Erfassungsdatum abgelegt. Damit enthalten die Tabellen derzeit folgende Spalten: show table c30v3_meta_information; patnr (to be removed) qnrshortname (to be removed) qnrlongname (to be removed) dot (to be removed) anqdatasetnr qnrshortname varchar(100) qnrlongname varchar(100) c30v3_language c30v3_version c30v3_number_of_questions c30v3_number_of_result_formulas c30v3_result_formula_1_bar_min c30v3_result_formula_1_bar_max ... c30v3_result_formula_15_bar_min c30v3_result_formula_15_bar_max show table c30v3_raw_data; patnr (to be removed) qnrshortname (to be removed) qnrlongname (to be removed) dot (to be removed) anqdatasetnr qnrshortname varchar(100) qnrlongname varchar(100) c30v3_question_nr__1 ... c30v3_question_nr__30 show table c30v3_computed_test_results; patnr (to be removed) qnrshortname varchar(100) qnrlongname varchar(100) qnrshortname (to be removed) qnrlongname (to be removed) dot (to be removed) anqdatasetnr qnrshortname varchar(100) qnrlongname varchar(100) c30v3_physical_function .. c30v3_financial_impact show table c30v3_computed_test_string_resu; show table c30v3_additional_text_informati;