FORMOSA - Ein interaktives XML-Derivat für die klinische Mathematik




FORMOSA - Ein interaktives XML-Derivat für die klinische Mathematik

J. W. Dietrich, M. R. Fischer

Medizinische Klinik, Klinikum Innenstadt der Universität München, Ziemssenstr. 1, D-80336 München
und
in.struct AG, Keferloher Straße 109, 80807 München

eMail (dietrich | fischer)@instruct.de

Die klinische Medizin wird heute durch zahlreiche mathematische Methoden unterstützt, die allerdings meist ungenutzt bleiben. Ihre geringe Akzeptanz ist in didaktischen Umständen und mangelhafter Verfügbarkeit der benötigten Gleichungen in der klinischen Praxis begründet. Als unterstützendes Instrument sollte daher ein didaktisch orientiertes Nachschlagewerk (FORMICA) entwickelt werden, das multimodal über verschiedene Informationskanäle zur Verfügung steht. Der Datenstruktur wurde ein XML-Dialekt (FORMOSA) zugrundegelegt, der eine plattformübergreifende Codierung und die Möglichkeit einer automatischen Konvertierung in andere XML-Dialekte wie HTML oder WML offeriert. Interaktive Funktionen werden durch eine integrierte Skriptsprache realisiert, die je nach technischen Voraussetzungen auf dem Client oder Server interpretiert werden kann. Eine erste Implementation als lokal benutzbares Programm konnte mit einer schnellen und sehr kompakten Engine realisiert werden. FORMOSA scheint sich insgesamt für eine þexible und effiziente Codierung klinisch-mathematischer Inhalte zu eignen.

Numerous mathematical methods promise to support clinical medicine. Nevertheless, due to their insufficient availability in the clinical setting and educational factors they are used only seldomly. Therefore, a didactical oriented interactive encyclopedia was to be developed, that should be available via several communication channels. The data structure was realized as an XML dialect (FORMOSA), offering a platform independent coding and the possibility to convert the data automatically into other XML dialects as HTML or WML. Interactive functions are implemented by an integrated scripting language that can be interpreted by the server or client, depending on technical conditions. A Þrst implementation as a stand-alone application could be realized with a fast and very compact engine (<100 KB in size). Therefore, FORMOSA seems to be suitable for a þexible and efÞcient coding of clinical-mathematical contents.


Schlüsselwörter: Klinische Mathematik, XML, Computer Based Training

Key Words: Clinical Mathematics, XML, Computer Based Training




1 Einleitung


Sowohl die theoretische als auch die klinische Medizin proÞtieren von der Anwendung mathematischer Methoden, die in den vergangenen Jahrzehnten entwickelt wurden.
So wurden Algorithmen und Gleichungen entwickelt, die es erlauben, physiologische und pharmakologische Zusammenhänge detailliert zu beschreiben und zu simulieren und hieraus z. B. Dosierungsempfehlungen für Arzneimittel abzuleiten. Auch für die Interpretation diagnostischer Verfahren stehen heute mathematische Methoden zur Verfügung, welche die Aussagekraft von Untersuchungen erhöhen oder Hinweise auf die Prognose von Krankheitsbildern erlauben.
Leider werden diese Verfahren in der klinischen Medizin bislang selten genutzt. Einerseits sind die erforderlichen Gleichungen und Algorithmen in der konkreten klinischen Bedarfssituation nur schwierig verfügbar, andererseits scheinen jedoch nach wie vor auch DeÞzite in der medizinischen Ausbildung zu bestehen. Diese Situation hat unerwünschte Folgen, die von unzureichendem theoretischen Verständnis über nicht optimale Ausnutzung diagnostischer Verfahren bis hin zu ernsten Fehlern bei der therapeutischen Konzeption reichen können.
In diversen Studien aus dem angelsächsichen Raum hatte ein Großteil der interviewten Ärzte Schwierigkeiten, klinisch relevante Berechnungen wie die Ermittlung von Arzneimitteldosen oder die Bilanzierung der Flüssigkeitszufuhr fehlerfrei auszuführen [1&endash;4].
In das medizinische Curriculum wurden bereits seit Jahren statistische und epidemiologische Fragestellungen mit Erfolg eingeführt. Methoden der angewandten klinischen Mathematik werden bislang jedoch nicht vermittelt.
Die Klinische Mathematik verspricht damit zwar große Vorteile für Diagnostik und Therapieplanung, faktisch entgeht dieser BeneÞt jedoch vielen Patienten.
Evidence Based Medicine gilt als Gebot der Stunde für eine patientenorientierte und efÞziente Praxis [5]. Soll sie wirklich eingesetzt werden, müssen auch die ihr zugrundeliegenden mathematischen Berechnungsalgorithmen zur Hand sein.



2 Methoden

Eine Auswahl klinisch und theoretisch wichtiger Gleichungen und Algorithmen sollte als interaktive „Medizinische Formelsammlung“ (FORMICA &endash; Formulary of Mathematics in Clinical Application) über verschiedene Informationskanäle zugänglich gemacht werden. Dazu wurden zunächst drei parallele Ansätze vorgesehen:

Sowohl das Computerprogramm, das plattformübergreifend für Mac OS und Windows zur Verfügung stehen soll, als auch das internetbasierte Programm sollen Recherche-, Nachschlage- und Berechnungsfunktionen bieten. Komplexe und multivariable Zusammenhänge sollen in beiden Lösungen mit der mittlerweile etablierten QuickTime-Technologie visualisiert werden. Im endgültigen Umfang sollen die etwa 250 &endash; 300 wesentlichen Gleichungen kommentiert für die klinische Medizin zur Verfügung stehen.
Erste Tests, die mit einer prototypischen CGI-basierten Internet-Version erfolgten, verliefen erfolgreich. Die endgültige Version sollte jedoch erheblich flexibler gestaltet werden.
Als erstes Teilprojekt der neuen Version wurde eine Datenstruktur deÞniert, welche die folgenden Anforderungen erfüllen soll:

Diese Ziele führten zur Entwicklung eines XML-basierten Formats (FORMOSA). Ein gültiges FORMOSA-Dokument besteht aus einem Prolog, der das Datenformat speziÞziert, fakultativ einer Mainlist, welche die verfügbaren Gleichungen anbietet, und/oder einer Entry-Beschreibung und schließlich einem das Dokument abschließenden Epilog (Fig. 1).
Die Mainlist enthält dazu einerseits einzelne Items, die jeweils aus einem Verweis auf eine Entry-Card-ID und den Text-Etiketten für verschiedene Spalten bestehen, und andererseits die Überschriften für die Spalten (Listing 1). Diese Daten werden dann verwendet, um den Inhalt des Blätter-/Suchfensters darzustellen (Fig. 2).


Fig. 1: Grundstruktur eines wohlgeformten FORMOSA-Dokuments



<FORMOSA version="1.0">
<!-- Hauptliste -->
<MAINLIST>
<!-- Listenelemente, entry verweist auf den Eintrag -->
<CAPTION><COL1>Gleichung</COL1><COL2>Gebiet</COL2></CAPTION>
<ITEM ENTRY=4><COL1>Enzymkinetik</COL1><COL2>Physiologie</COL2></ITEM>
<ITEM ENTRY=2><COL1>Gesamtk&ouml;rperwasser</COL1><COL2>Diagnostik</COL2> </ITEM>
<ITEM ENTRY=5><COL1>Györgi-Quotient</COL1><COL2>Diagnostik</COL2></ITEM>
<ITEM ENTRY=12><COL1>Henderson-Hasselbalch-Gleichung</COL1> <COL2>Physiologische Chemie</COL2></ITEM>
<ITEM ENTRY=52><COL1>K&ouml;rperoberfläche</COL1><COL2>Diagnostik</COL2> </ITEM>
<ITEM ENTRY=1><COL1>Konversionskoeffizient</COL1><COL2>Physik</COL2></ITEM>
<ITEM ENTRY=22><COL1>Kreatinin-Clearance</COL1><COL2>Diagnostik</COL2> </ITEM>
<ITEM ENTRY=25><COL1>Na<SUP>+</SUP>-Substitution</COL1> <COL2>Therapieplanung</COL2></ITEM>
<ITEM ENTRY=52><COL1>Nernstsche Gleichung</COL1><COL2>Physiologie</COL2> </ITEM>
<ITEM ENTRY=21><COL1>Radioaktiver Zerfall</COL1><COL2>Physik</COL2></ITEM>
<ITEM ENTRY=9><COL1>Regelkreis 0. Ordnung</COL1><COL2>Kybernetik</COL2> </ITEM>
</MAINLIST>
</FORMOSA>

Listing 1: Beispiel für eine kleine Mainlist


Fig. 2: Kombiniertes Blätter-/Suchfenster, dessen Inhalte aus der Mainlist in Listing 1 gewonnen wurden, in der lokalen FORMICA-Version für Windows.


Der Code einer Entry-Card besteht wiederum aus vier Abschnitten. Nach der Titel-Sektion, die eine ID-Nummer, den Namen der Gleichung und den Titel des Fensters festlegt, folgen ein Content-Abschnitt, der einen Erklärungstext mit fakultativen multimedialen Ergänzungen enthält, sowie, jeweils optional, ein Skript, das für die Berechnungsfunktion verwendet werden kann und ein Formularbereich (Listing 2 und Fig. 3).



Fig. 3: Beispiel einer Entry-Card mit Berechnungsfunktion
im Mac OS Stand-Alone Programm.

<FORMOSA version="1.0">
<ENTRY ID="22">
<TITLE>Kreatininclearance</TITLE>
<WINDOW.TITLE>@TITLE</WINDOW.TITLE>
<CONTENT>
<EQN>
<IMG SRC=pict.422></IMG>
<UNIT>ml/min</UNIT>
</EQN>
<MOV SRC=moov.403></MOV>
<P>Die Clearance hat die Ma&szlig;einheit ml/min. Daher
mu&szlig; das Ergebnis noch durch die Sammelzeit geteilt
werden. Handelt es sich um 24-Stunden-Urin, wird also durch
1440 Minuten geteilt.</P>
<P>Diese Gleichung kann analog auch f&uuml;r andere
Substanzen verwendet werden, z. B. Inulin.</P>
</CONTENT>
<SCRIPT>
on docalc()
set c to u*v/p/1440
end docalc
</SCRIPT>
</ENTRY>
<FORM>
<TEXTFIELD NAME="Kreatininkonzentration im Urin (U)" ID="u">
<UNIT FACTOR="0.0113">g/24h</UNIT>
<UNIT>µmol/24h</UNIT>
</TEXTFIELD>
<TEXTFIELD NAME="Urinvolumen (V)" ID="v">
<UNIT>ml</UNIT>
<UNIT FACTOR="1000">l</UNIT>
</TEXTFIELD>
<TEXTFIELD NAME="Plasmakonzentration (P)" ID="p">
<UNIT FACTOR="1131">mg/dl</UNIT>
<UNIT>µmol/l</UNIT>
</TEXTFIELD>
<REPLYFIELD NAME="Ergebnis:" ID="c">ml/min</REPLYFIELD>
<BUTTON NAME="Berechnen" ONCLICK="docalc"></BUTTON>
</FORM>
</FORMOSA>


Listing 2: Code einer Entry-Card mit Berechnungs-Skript und erklärendem QuickTime-Movie.


Die Kernkomponente für FORMICA bildet ein FORMOSA-Parser, der in Pascal implementiert wurde. Aufbauend auf bewährten Prinzipien des Compilerbaus [6] ruft der Parser einen Scanner auf, der FORMOSA-Tags und reservierte Wörter der integrierten Skriptsprache erkennt und als Symbole an den Parser zurückgibt sowie neue Bezeichner innerhalb von Skripten identiÞziert, damit sie anschließend korrekt als Variablen oder Funktionsnamen behandelt werden können. Zeichenfolgen außerhalb von Tags oder Skripten werden als Text erkannt, der dann mit den ihm zugeordneten Tags in der speziÞzierten Weise dargestellt werden kann.

3 Ergebnisse

Die prototypische Version, die noch ausschließlich auf HTML- und CGI-Techniken basiert („Münchener Formelsammlung der Medizin“, http://link.medinn.med.uni-muenchen.de/mfm/) konnte erfolgreich in Betrieb genommen werden [7]. Trotz ihres kleinen inhaltlichen Umfanges erfreut sie sich innerhalb der medizinischen Fakultät der Universität München einer großen Beliebtheit.
Die neue Version baut mit FORMOSA auf einer spezialisierten Technik auf. Wegen seiner Mächtigkeit kann FORMOSA allerdings unrschwer in andere Markup-Sprachen konvertiert werden, so daß diese Lösung zugleich sehr viel þexibler ist.
Mit den oben beschriebenen Methoden konnte eine außerordentlich kompakte Engine realisiert werden, die weniger als 100 KB Speicherplatz beansprucht. In ersten Testläufen konnten zudem bei direkter Interpretation im Stand-Alone-Programm dank der mächtigen, auf die Inhalte abgestimmten Seitenbeschreibungssprache im Vergleich zu im Browser dargestellten HTML-Seiten insbesondere auf älteren Rechnern erhebliche Geschwindigkeitsvorteile erreicht werden.

4 Diskussion und Ausblick

FORMOSA hat sich als geeignet für die Darstellung mathematischer Inhalte in der Medizin erwiesen. für die lokale, browserunabhängige Nutzung zeichnet sich die beschriebene Methodik durch Geschwindigkeits- und Speicherplatzvorteile aus.
Die Hauptvorteile dieses Ansatzes liegen jedoch in der þexiblen Verwendungsmöglichkeit der Inhalte. So können die Codes sehr rasch in andere XML-basierte Sprachen umgewandelt werden. Im wesentlichen läuft dieser Konvertierprozeß auf eine schlichte Suchen-und-Ersetzen-Operation hinaus.
Es ist geplant, diese Techniken für die Online-Version von FORMICA zu nutzen. Dafür sind, je nach erforderlicher Technologie, verschiedene Einstiegspunkte, z. B. für HTTP- oder WAP-Clients zu schaffen. Die FORMOSA-Dateien müssen dann für die jeweilige Seitenbeschreibungssprache konvertiert werden. für die enthaltenen Skripte ist eine Umwandlung in JavaScript vorgesehen, die jedoch so transparent sein muß, daß Clients, die nicht JavaScript-fähig sind oder in denen Skriptsprachen manuell deaktiviert wurden, durch ein serverseitiges CGI bedient werden, das dann die FORMOSA-Skripte ausführt und die Ergebnisse an den Client zurückliefert.
Das beschriebene Verfahren kann auch als Modell für die þexible Bereitstellung von Wissen in Datenbanken betrachtet werden.


5 Literatur

  1. Baldwin, L. (1995). “Calculating drug doses.” BMJ 310 (6 May 1995): 1154.
  2. Lesar, T. S., L. Briceland und D. S. Stein (1997). “Factors Related to Errors in Medication Prescribing.” JAMA 277 (No. 4): 312-7.
  3. Potts, M. J. und K. W. Phelan (1996). “Deficiencies in Calculation and Applied Mathematics Skills in Pediatrics Among Primary Care Interns.” Arch Pediatr Adolesc Med 150 (July 1996): 748-52.
  4. Rolfe, S. und N. J. N. Harper (1995). “Ability of hospital doctors to calculate drug doses.” BMJ 310 (6 May 1995): 1173-4.
  5. Fischer, M. R. und W. Bartens (Hrsg.) (1999). Zwischen Erfahrung und Beweis - medizinische Entscheidungen und Evidence-based Medicine. Bern, Göttingen, Toronto, Seattle, Verlag Hans Huber.
  6. Wirth, N. (1986). Compilerbau. Stuttgart, B. G. Teubner.
  7. Dietrich, J. W., M. F. Holzer und M. R. Fischer (1997). “Die Münchener Formelsammlung der Medizin (MFM): Ziele und Implementation einer interaktiven Enzyklopädie im World Wide Web.” Biomedical Journal 50 (Okt./Nov.): 8-10.

 

Dieses Projekt wird von der Merck KG aA unterstützt.



http://www.formica-online.de