Code-Generator zur Aktualisierung von Metadaten

Valentina Scherwey

In Zusammenarbeit mit dem Medizinisches Zentrum gleis d und medshare GmbH aktualisierte Puzzle ITC in der Open Source Lösung eHealth Connector (eHC) die Metadaten. Anstatt die Metadaten manuell anzupassen, wurde ein Code-Generator entwickelt, der die Value-Sets vom Art-Decor entsprechend aufbereitet.

Ausgangslage

Der eHealth Connector (eHC) ist ein Convenience-API für die Anbindung an eHealth Infrastrukturen. Dazu werden international akzeptierte Implementierungsleitfäden und Standards wie IHE (Integrating the Healthcare Enterprise) und HL7 Clinical Document Architecture (CDA) verwendet. Der eHC unterstützt den organisationsübergreifenden Austausch von standardisierten Transaktionen und Inhalten. Die Architektur des eHC enthält generische Pakete für alle, auf internationaler Ebene üblichen Profile. Zusätzlich stehen länderspezifische Ergänzungen zur Verfügung.

Per April 2017 wurden die EPD-Metadaten gemäss dem Gesetz für elektronische Patientendossiers aktualisiert und werden laufend angepasst. Die bestehenden Java-Klassen im eHC müssen entsprechend den Gesetzesgrundlage ebenfalls laufend aktualisiert werden.

Die Rolle von Puzzle ITC

Um die Metadaten gemäss aktueller Spezifikationen verfügbar zu machen, musste der eHealth Concenience API sowie die dazugehörigen Demo-Programme angepasst werden.

Anstatt die Metadaten manuell zu bearbeiten, wurde ein Code-Generator entwickelt, der die Value-Sets aus Art-Decor entsprechend aufbereitet. Der Generator kann auch für zukünftige Anpassungen der Metadaten wiederverwendet werden sowie den Sourcecode aktualisieren.

Nach einer ersten Analyse der betroffenen Referenzklassen und der aktualisierten Metadaten wurden mittels Code Generator die entsprechenden Enum-Types aktualisiert. In Zusammenarbeit mit medshare GmbH wurden die beiden Demo-Programme aktualisiert und ein entsprechender Quality Audit durchgeführt.

In Abstimmung mit der Community und entsprechendem Code-Review wurde diese Aktualisierung ein Bestandteil vom aktuellen Release des eHealth Generators.

Tech Stack

Folgende Technologien und Methoden wurden eingesetzt:

  • Java
  • Maven
  • JSON
  • YAML (Konfiguration)
  • JavaParser (Codegenerierung)
  • Junit (Tests)
  • ART-DECOR (SWISS EPR Value-Sets)
  • Eclipse IDE (Entwicklungsumgebung)
  • SVN (Codeverwaltung, Sourceforge.net)
  • WIKI (Dokumentation, Sourceforge.net)
  • Linux, Windows