Operation am offenen Herzen Beratungshaus Fecher portiert Datenbank-System auf .NET

Redakteur: Dr. Andreas Bergler

Weil das bestehende Datenbank-System an seine Grenzen stieß, wechselte GE mit der Anwendung Centricity Cardiology Healthcare auf .NET – eine Migration bei laufender Weiterentwicklung.

Firmen zum Thema

Das Frontend des Datenbanksystems Centricity Carddas Xi² sollte auf .NET portiert werden.
Das Frontend des Datenbanksystems Centricity Carddas Xi² sollte auf .NET portiert werden.
( Archiv: Vogel Business Media )

Rund 260 Kliniken mit kardiologischen Abteilungen vertrauen auf das Datenbank-System Centricity Carddas Xi². Das Produkt der Centricity Cardiology IT Lösungen von GE Healthcare stellt für über 5.000 Anwender Funktionen für Datenmanagement und PACS (Picture Archiving and Communication System) in einer Infrastruktur für Kardiologie und Radiologie bereit. Die unter Gupta entstandene Anwendung hatte GE Healthcare im Jahr 2000 zusammen mit ihrem Anbieter aufgekauft. Weil die IT-Strategie global auf .NET ausgerichtet werden sollte, zog man das migrationserfahrene Beratungs- und Softwarehaus Fecher für eine Portierung zu Rate.

Das Herz der Kardiologie

»Erste Ansätze für unser kardiologisches Datenbank-System gehen über den Anbieter MSP bis ins Jahr 1992 zurück – die Entwicklungsumgebung aber auch die Anwendung selbst waren mittlerweile in die Jahre gekommen«, blickt der Program Manager von GE Healthcare IT, Herbert Schelb zurück. Eine Verbesserung der Lage versprach zunächst die von Unify angekündigte Gupta-Version 5.0. Als diese im Januar 2007 auf den Markt kam, erfüllte sie die Erwartungen jedoch nicht. »Mit Gupta lassen sich auf relationalen Datenbanken aufbauend sehr schnell Datenbank-Applikationen entwickeln«, hebt Schelb hervor, »aber für die komplexen Anforderungen eines zusammenwachsenden Gesundheitswesens ist die Technologie einfach nicht mehr leistungsfähig genug. Mit der .NET-Technologie hatten wir bereits erfolgreich andere Anwendungen entwickelt«, fasst Schelb zusammen.

Das Datenbank-System wird zur Steuerung, Aufzeichnung und Auswertung kardiologischer Untersuchungen für Katheter, Echo, EKG oder beim Röntgen eingesetzt. In den Krankenhäusern stehen seine Funktionalitäten üblicherweise an 20 bis 50 verschiedenen Arbeitsstationen zur Verfügung: von Untersuchungs- und Befundräumen über Besprechungsräume bis hin zur Verwaltung. Das System, das die Software der Untersuchungsgeräte integriert, lässt sich an ein Krankenhaus-Informations-System (KIS) anbinden. Es unterstützt bei Administration, Zeit- und Terminplanung für Untersuchungen, bei der Dokumentation, dem Archivieren von Bildern und Filmen und dem Verfassen von Arztberichten. Die Lösung umfasst somit alle Stationen, die ein Patient vor, während und nach einer Untersuchung im Krankenhaus durchläuft.

Am Puls der Zeit

Die Kommunikation mit angebundenen Systemen erfolgt über eingehende und ausgehende Nachrichten im Standard HL7 (Health Level 7). Für einen durchgehenden Behandlungsablauf werden die Arztberichte an das KIS übermittelt und können per eMail an niedergelassene Ärzte verschickt werden. Röntgenbilder werden automatisch an das Bildarchiv des Krankenhauses weitergeleitet, lassen sich aber ebenso in die Arztberichte einbetten. Das auf einer relationalen Datenbank aufbauende kardiologische System hält alle Daten permanent online, so dass sie jederzeit schnell von jeder berechtigten Arbeitsstation abgerufen werden können. Zu Forschungszwecken oder zur Beantwortung von wirtschaftlichen Fragestellungen lassen sich die Daten statistisch auswerten.

»Damit unsere Kunden mit dem raschen Wandel des Gesundheitswesens Schritt halten können, bringen wir beinahe jährlich eine neue Version unserer Software auf den Markt«, erläutert Schelb. Die anstehende Migration sollte das Release von Centricity Carddas V3.0 daher möglichst nicht verzögern. Neben der Portierung analysierten Schelb und sein Team alternativ, Teile der Anwendung unter .NET neu zu schreiben. »So hätte es aber viel zu lange gedauert, bis alles wieder genauso stabil gelaufen wäre wie zuvor«, sagt Schelb. Ende 2005 schaute er sich deshalb nach Möglichkeiten der Portierung um. Auf die toolgestützte Dienstleistung »The Porting Project« ist er über einen Newsletter des Beratungs- und Softwarehauses Fecher aufmerksam geworden.

Einzelheiten zur Portierung des Datenbank-Systems lesen Sie auf der nächsten Seite.

Anwendung unter dem Messer

Im Juli 2006 startete Fecher mit einer unverbindlichen Feinanalyse des Anwendungscodes. »In dieser Phase war noch offen, ob die gesamte Anwendung oder lediglich deren Frontend portiert werden sollte«, erinnert sich Schelb. »Um die Projektkosten niedrig zu halten das Risiko klein zu halten, haben wir uns entschieden, erst einmal das Frontend auf .NET zu bringen.« Die Schnittstellen zu den verschiedenen Untersuchungsgeräten hatten seine Entwickler im Laufe der Jahre größtenteils schon in C++ entwickelt. Im November 2006 gab GE Healthcare dann grünes Licht für das Portierungsprojekt.

Anfang 2007 begannen Schelb und sein Team zunächst mit der Vorbereitung des Codes. Dabei wurde die komplexe Frontend-Anwendung durch Partitionierung in einzelne Module zerlegt, damit sich diese schnell portieren und austauschen lassen. »So haben wir nebenbei auch die Anwendungsstruktur vereinfacht«, freut sich Schelb. Von den acht Entwicklern, die sich parallel zum Portierungsprojekt um die Weiterentwicklung für das nächste Release kümmern sollten, hatte er bis dahin einen speziell für das Portierungsprojekt abgestellt. Im Mai war es schließlich soweit: der Code wurde für die Portierung mit dem Ice-Porter-Werkzeug an Fecher übergeben.

600 Fenster, 35.000 Controls, 800 Klassen und über 200 Report Builder Reports wandelte das Systemhaus in lediglich vier Wochen in C#-Code und Crystal Reports um. Neue, noch in Gupta entwickelte Features portierte Fecher gleich mit. Weitere Funktionalitäten für die neue Version programmierten die Entwickler von GE Healthcare nach dem Code-Freeze dann gleich in .NET. »Die Testphase dauerte relativ lange, auch weil wir nachjustieren mussten«, stellt Schelb fest. Besonders schwierig zu portieren war die Funktionsbibliothek MTable zur Erweiterung von Gupta-Tabellen, weil dieser Fall in den zahlreichen Portierungsprojekten von Fecher bislang einfach nicht vorgekommen war. Gemeinsam mit der Ice Tea Group, der amerikanischen Mutter von »The Porting Project«, konnte dieses Problem jedoch behoben werden.

Operation geglückt

Im April 2008 nahm GE Healthcare den portierten Code endgültig ab. »Unter .NET haben wir in die neue Version von Centricity Carddas ganz einfach eine eingekaufte Lösung zur grafischen Darstellung von Statistiken einbinden können. Außerdem sind die mittels Skinning erzeugten Oberflächen jetzt viel konsistenter als noch unter Gupta. In der kurzen Zeit seit der Code-Abnahme haben wir mit der .NET-Remoting-Technologie bereits signifikante Architekturverbesserungen erzielen können.«

(ID:2018606)