XML-‐basierte Kommunikation im IHE - Institute of Health ...
XML-‐basierte Kommunikation im IHE - Institute of Health ...
XML-‐basierte Kommunikation im IHE - Institute of Health ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3. Methoden und Vorgehensplanung<br />
Die Infoitems hätten auch in einer Liste aus Node-‐Objekten gespeichert werden können. Dies ist<br />
jedoch unflexibel, da es <strong>im</strong> Suchanfragen-‐Editor auch möglich sein soll, verschachtelte Struktu-‐<br />
ren anhand von Containern zu erstellen, welche wiederum Infoitems beinhalten (Abschnitt<br />
4.1.1). Somit wurde für die gewählten Infoitems ebenso eine Baumstruktur zur Speicherung<br />
verwendet. Da die Infoitems bereits als Node-‐Objekte vorliegen, wurde hier die selbe Node-‐<br />
Struktur angewandt.<br />
Die in Abschnitt 4.1.1 entwickelte Lösung zur Erstellung eines verschachtelten Containers aus<br />
Infoitems wird in der Implementierung durch einen Zeiger und Klammern geregelt. Der Zeiger<br />
befindet sich <strong>im</strong>mer an der Position, an der das nächste Infoitem zur SearchQuery hinzugefügt<br />
wird. Man kann sich das wie den Lesemarker (Curser) in einem Textverarbeitungsprogramm,<br />
z.B. Micros<strong>of</strong>t Word, vorstellen: Immer dort wo sich der Cursor befindet, wird das nächste Zei-‐<br />
chen, Bild, Diagramm, etc. eingesetzt. Wird zu Beginn (d.h. zur leeren SearchQuery) ein Infoitem<br />
zur Struktur hinzugefügt, befindet sich dieses Item in der 1. Ebene. Alle weiteren Infoitems wer-‐<br />
den in der gleichen Ebene hinzugefügt. Eine Ebene besitzt <strong>im</strong>mer einen Verknüpfungsoperator,<br />
das heißt, alle Elemente in der Ebene werden mit dem selben Operator verknüpft.<br />
Für das Wechseln zu einer neuen Ebene (und somit das Erstellen eines Containers) wird eine<br />
Klammerfunktion erstellt: Öffnet man in der SearchQuery eine Klammer, springt der Cursor eine<br />
Ebene tiefer. Wird die Klammer geschlossen, wird der Container verlassen und zur ursprüngli-‐<br />
chen Ebene zurückgekehrt. So kann Schritt für Schritt eine Struktur aus Infoitems und Container<br />
für die Suchanfrage aufgebaut werden.<br />
Blutdruck UND ( Parathormon ODER Glykose ) UND klinische Chemie<br />
openBracket()<br />
Verknüpfungsoperator<br />
1. Ebene<br />
Verknüpfungsoperator<br />
2. Ebene<br />
closeBracket()<br />
Verknüpfungsoperator<br />
1. Ebene<br />
Abbildung 12: Beispiel einer Suchanfrage und wie diese theoretisch in der SearchQuery-‐Klasse aufgebaut<br />
wird. Jeder Ebene werden die Infoitems (rot) mit einem benutzerdefinierten Operator verknüpft. Mit der<br />
openBracket() Methode kann eine neue Ebene mit eigenem Verknüpfungsoperator erstellt werden.<br />
40