Donnerstag, 20. November 2008

A3: XML / DTD

Nachdems anlässlich des von David Selig veröffentlichten Klassendiagramms keine Beschwerden gegeben hat, tue ich es ihm hiermit gleich. Damit erspare ich mir einen zweiten Post nach der Deadline zur gleichen Aufgabe, außerdem schätze ich mein Thema als exotisch genug ein um anderen nicht in die Quere zu kommen. Ich habe wieder einmal mein Faible für die Medizin ausgelebt und ein Mini-Tumordokumentationssystem abgebildet:


Hintergrundinformation

Patienten werden erst dann erfasst, wenn sie einen Tumor haben. Diese Tatsache spiegelt sich in den Kardinalitäten der Beziehung zwischen Patient (1) und Tumor (N, jedoch mindestens 1) wieder.

Ein Tumor wird eindeutig identifiziert durch die Lage und die Differenzierung. Die Lage wird angegeben durch einen obligatorischen Organbezirk (zB Nasenhaupthöhle) und gegebenenfalls eine Organseite (Links, Rechts, Mitte, oder Keine Seite wenn anatomisch auch keine vorhanden ist). Die Differenzierung ist ist die histologische Einteilung in benign, malign, semimalign oder undifferenziert. Zwei vollständige Beispiele wären also „Nasenhaupthöhle Rechts malign“ und „Zungenspitze Mitte benign“.

Zu jedem Tumor kann ein Krebsmeldeblatt zur Einsendung an das Krebsmelderegister der Statistik Austria angelegt werden, muss aber nicht.

Im Rahmen der Untersuchungen eines Patienten werden allgemeine Anamnese-Daten erfasst, etwa das Gewicht und Tumor unspezifische Begleiterkrankungen (Hypertonie, Diabetes, ...). Bei jeder Untersuchung werden entweder alle oder nur ein Teil der Tumoren genau untersucht. Dabei werden der Tumorstatus (Ersttumor, Zweittumor, Rezidiv, Residuum) seine Ausdehnung (befallene Organbezirke), sowie spezifische Krankheitssymptome und Nervenläsionen erfasst.

In der Praxis werden unter anderem auch noch eingesetzte Diagnoseverfahren (zB Bildgebung [Röntgen, PET, Szintigraphie, ...], Endoskopie, Gewebsentnahme/Histologie) und Therapien
(Chemotherapie, Radiotherapie, Kombitherapie, Operation, Sonstige Verfahren) dokumentiert, in diesem Modell jedoch nicht abgebildet.

Das DTD ...

... veröffentliche ich natürlich nicht :p

Als viel beschäftigter Mensch bin ich natürlich interessiert, mir möglichst wenig Arbeit zu machen und die unvermeidbaren Dinge möglichst effizient zu lösen. Darum habe ich ein wenig geschummelt und die Anweisung von oben, "Erstellen Sie zur DTD ein XML Dokument" missachtet. Am Anfang war das XML, und das XML war bei XMLSpy, und bei XMLSpy ward das DTD.

Damits nicht ganz so billig ist, gabs danach einen Handarbeits-Feinschliff: ID und IDREF wurden genutzt, das Gewicht hat eine FIXED Einheit ("kg") und zu guter Letzt gab es noch Enumerierungen für die Organseite (links|rechts|mitte|keine) sowie Differenzierung (benign|malign|semimalign|undifferenziert|unbekannt).

Jetzt müssen höhere Mächte nur noch die XML Arbeitsumgebung reanimieren (Command env not found!), damit ich das ganze fertig abgeben kann.

2 Kommentare:

David Selig hat gesagt…

Ah ein Kollege der effizienten Arbeitsweise :D Danke fürs Raufladen, so bin ich mir schon ein wenig sicherer auf der richtigen Fährte gewesen zu sein :)

Michael Derntl hat gesagt…

DTD mit Tool erstellen ist ok, sofern der Feinschliff erfolgt. Wenn nachher alles CDATA und #PCDATA ist, schauts nicht so gut aus. Es schadet aber auch nicht, das mal händisch zu erstellen, so viele Sprachkonstrukte gibts ja eh nicht.