LaborTextBuilder

Ein Control, das aus Laborwerten sinnvollen Text erstellt

Wie schreibt ein Arzt seine Briefe?

Täglich mache ich mir Gedanken darum, wie man's einfacher gestalten könnte - weil:

  • es sehr wichtig für Patienten und den Hausarzt ist, dass möglichst exakte Informationen übersichtlich geliefert werden
  • gute und schnell verfügbare Briefe für den Ruf einer Klinik entscheidend sind
  • das Briefe diktieren für jeden Arzt zu den zeitraubendsten Tätigkeiten gehört.

Es wäre doch schön, wenn uns ein Teil dieser Arbeit schneller von der Hand gehen würde.

Jeder Arzt diktiert seine Laborwerte in jedem Brief anders. Die Reihenfolge hängt von deren Wichtigkeit ab:

  • Zuerst kommen für die aktuelle Behandlung wichtige Werte
  • Danach auffällige Werte, die eher nicht mit der Hauptdiagnose in Zusammenhang stehen.
  • Zum Schluss müssen alle Werte genannt werden, die normal sind.
  • Für zusammengehörende Gruppen von Werten (z.B. Blutbild, Entzündungsparameter...) sollten der Übersichtlichkeit wegen bei normalen Befunden auch nur die Gruppen genannt werden, und nicht jeder einzelne Wert.

Also braucht man ein Control, mit dem Laborwerte in Gruppen angezeigt werden können und das erlaubt, Gruppen und Einzelwerte schnell zu sortieren - und das daraus einen Text formuliert.

Hört sich kompliziert an, ist aber gar nicht so schwierig. Da das Control aktuell noch nicht endgültig fertig ist, werde ich hier mal nacheinander die verschiedenen Stufen bei der Control-Entwicklung auflisten.

Die Urform sieht so aus:

Aktuell sind es noch Buttons, mit denen ich die Gruppen oder Laborwerte hin und her schiebe. Auch die Auswahl an unterschiedlichen Laborparametern ist noch nicht groß. Geplant ist, dass sich die Gruppen und einzelnen Laborwerte einfach mit der Maus verschieben lassen. Nachteil an dieser Variante ist auch, dass man alle Laborparameter von Hand eingeben muss. (der aktuelle Verwendungszweck ist das Visiten-Programm weiter oben) Aber es wäre eine Arbeit von wenige als einem Tag, hier ein Interface einzubinden, das alle möglichen Laborwerte von einer beliebigen Datenquelle verarbeiten kann.

Man beachte, dass die Inhalte von Laborgruppen sich beim Ändern der Priorität ändern können. Sollen Infarktenzyme (z.B. bei Patienten mit einem Herzinfarkt) zuerst genannt werden, gehören dazu natürlich auch ALAT und ASAT. Die brauchen dann aber bei den Leberwerten nicht mehr genannt werden...

Fortsetzung:

Nun habe ich den LaborTextBuilder ausgebaut:

Ich wollte ihn bequem anpassbar haben, um für verschiedene Klinik-Labors (mit eigenen Standards) schnell eine Art Interface zu haben, dass diese Werte lesen und verarbeiten. Also erstellte ich eine DLL, die zum Ziel hat, eine XML-Ressource zu schreiben oder zu lesen, die Laborwerte mit Schlüsselnamen und Standard-Werten sowie Minima und Maxima enthält.

Diese DLL heißt LaborBasis und wird in zwei Projekten verwendet: Einmal im LaborBasisEditor und zum zweiten im LaborViewer.

Der LaborBasisEditor sieht so aus:

Mit dem LaborBasisEditor wird eine XML-Datei erstellt (die hier verwendete heißt KlinikStandard.xml), diese Datei dient als Grundlage zur Datenanzeige im LaborViewer.

Der LaborViewer sieht jetzt so aus:

Man kann mit der Maus Controls mit Laborgruppen oder auch Labor-Einzelwerte verschieben. Resultat ist ein Text, wie ich ihn selber diktieren würde.

Alle drei Projekte (LaborBasis, LaborViewer, und LaborBasisEditor) sind im Download LabTextBuilderNeu (s.o.) enthalten.

Grüße und viel Spaß beim Ausprobieren

Thomas Bergner