High Performance Management von Massendaten in der medizinischen Bildverarbeitung

Der Auftraggeber

Siemens Healthcare GmbH

Die Siemens Healthcare GmbH gehört zu den weltweit größten Technologieanbietern in der Gesundheitswirtschaft. Auf vier Standbeinen stellt das Unternehmen Lösungen für sämtliche Schritte der medizinischen Versorgungskette bereit: Die medizinische Bildgebung mit u. a. Computertomografen, Magnetresonanztomografen und Ultraschalluntersuchungssystemen fördert die Früherkennung von Krankheiten und die zielgerichtete Steuerung von Therapien. Mit der Entwicklung von innovativen Therapiesystemen unterstützt Siemens Healthcare die Planung und Durchführung individueller Behandlungen. Im Bereich Labordiagnostik bietet das Unternehmen Produkte und Dienstleistungen zur Diagnosestellung und Therapiekontrolle. Schließlich runden IT-Lösungen im Bereich der Bildgebung sowie Radiologieinformationssysteme das Portfolio ab.

Das Projekt

Die syngo®-Suite bietet erweiterte RIS-, PACS- und Bildnachbearbeitung in einem umfassenden Paket, das speziell an die Anforderungen im bildgebenden Bereich der Radiologie und Kardiologie angepasst ist. Die Gesamtlösung integriert einen umfangreichen Image-Management-Workflow in eine einheitliche Arbeitsumgebung.

Ein zentraler Bestandteil des Backends ist das SIRIUS Data Management (SDM), ein in Java realisierter Application Server. Seine Aufgabe besteht unter anderem darin, die angeschlossenen Arbeitsplätze mit den umfangreichen Bilddaten der Patienten zu versorgen. Darüber hinaus nimmt der Server die digitalen Bilder aller angeschlossenen bildgebenden medizintechnischen Geräte (Modalitäten) entgegen und sorgt für die zuverlässige Archivierung der Patientendaten und des digitalen Bildmaterials.

Unsere Aufgaben

Die develop group unterstützte den Auftraggeber dabei, die Codegenerierung für die Persistenzschicht des Servers auf einen am "State-of-the-Art" orientierten Model-Driven-Architecture-Ansatz umzustellen.

In einem ersten Schritt wurden mit Hilfe eines UML-Tools Metamodelle entworfen, die mit dem Metamodell-Generator aus dem openArchitectureWare-Framework in instanzierbare Objektmodelle überführt werden können.

Im nächsten Schritt wurden diese Objektmodelle mit den Daten der Geschäftslogik befüllt und in weitere Objektmodelle für unterschiedliche Aspekte des Persistenz-Frameworks transformiert.

Mit Hilfe von geeigneten Code-Templates wurden schließlich in einem letzten Schritt der spezifische Code für den jeweiligen Zielaspekt sowie die entsprechenden Dokumentationen im HTML-Format generiert.

Das Ergebnis dieser Vorgehensweise spricht für sich: Heute kann das Datenmodell der Geschäftslogik in XML-Files transparent deklariert und einfach an projektspezifische Gegebenheiten angepasst werden.

Die Codegenerierung als nebenläufiger Bestandteil des Build-Systems sorgt dafür, dass die SQL-Skripte zum Einrichten der Datenbankschemata, das Java Data Object Mapping (JDO-Mapping) und der Java-Code für die persistenten Klassen der Geschäftslogik automatisch erzeugt werden.

Die Verifikation der Codegenerierung wurde mit umfangreichen JUnit-Testsuiten sichergestellt.

Neben der Codegenerierung übernahm die develop group weitere Refaktorierungsmaßnahmen und Erweiterungen an dem proprietären Persistenz-Framework, das auf einer kommerziellen JDO-Implementierung aufsetzt.

Das technische Projektumfeld

  • Datenbank: Oracle
  • Unterstützte Betriebssysteme: Sun Solaris, Linux, MS Windows
  • Entwicklungsumgebung und entwicklungsbegleitende Werkzeuge: Eclipse, Poseidon for UML, Apache Ant, IBM Rational ClearCase, IBM Rational ClearQuest, IBM Rational RequisitePro, Oracle Raptor
  • Java-Technologie (teilprojektspezifische Auswahl): XML/XMI, HTML, Expand, SolarMetric Kodo JDO, openArchitectureWare, log4j, JUnit, Jakarta Commons Digester

Das Ergebnis

Der Codegenerator wurde ins Build-System integriert, die erzeugten Artefakte sind fester Bestandteil des ausgelieferten Produkts geworden. Der generierte Code wird sowohl bei Upgrades von bestehenden als auch bei neuen Installationen ausgeliefert.

Programmierfehler durch manuelles Codieren der Architekturvorgaben werden dadurch ausgeschlossen. Das System erreicht so eine deutlich höhere Stabilität und Sicherheit.

Diesen Projektbericht können Sie hier herunterladen: Initiates file downloadDownload PDF

Ihr Projekt-Ansprechpartner

Mail to Edgar DehmEdgar Dehm
Bereich Business Applications