von Stefan Sabutsch, Gabriel Kleinoscheg, Nina Svec, Nikola Tanjga
Der bisher im Umfeld der österreichischen Gesundheitsakte ELGA verwendete Terminologie-Server ist seit 2014 in Verwendung, entspricht aber nicht mehr den heutigen technologischen Anforderungen wie z. B. HL7 FHIR. Der Ruf nach einer leichtgewichtigen, modernen Anwendung wurde über die Jahre immer lauter. Die in einer europaweiten Ausschreibung angebotenen feature-reichen Systeme kommerzieller Anbieter passten leider nicht in den engen öffentlich finanzierten Budgetrahmen. Das Semantic Competence Center der ELGA GmbH suchte daher nach leichter finanzierbaren Alternativen, die mindestens die Kernaufgabe eines Terminologieservers erfüllen können – die Bereitstellung aktueller Terminologien mit vielen gleichzeitigen Abrufen.
Während dieser Zeit konnten positive Erfahrungen mit der Verwendung von Git und der WebGUI GitLab gesammelt werden. Es lag auf der Hand, diese Technologie auch für die Bereitstellung von Terminologien einzusetzen. Es zeigte sich, dass der bereits gelebte Terminologie-Workflow und der Git-Workflow gut zusammenpassen.
Der neue Terminologie-Server („TerminoloGit“) wurde auf Grundlage verschiedener Open-Source-Komponenten und selbst entwickelter Werkzeuge aufgebaut.
Die für den neuen Terminologieserver genutzten Open-Source-Komponenten umfassen primär Git, GitLab und den FHIR IG-Publisher. Git stellt dabei das Versionskontrollsystem für die Terminologien dar. Damit ist die Verwaltung unterschiedlicher Versionen der Terminologien gewährleistet. GitLab unterstützt dabei den Terminologie-Workflow und vernetzt die einzelnen Komponenten (GitLab Runner, CI/CD) miteinander. Weiters werden die Terminologien mittels der GitLab Pages (HTML) im Internet öffentlich zur Verfügung gestellt. Dieses Ensemble wird durch einen FHIR-Server („FHIR-tx-at“) komplettiert.
In Kombination mit den Git-Werkzeugen werden FHIR-Komponenten für den neuen Terminologieserver genutzt. Die Inhalte der GitLab-Pages werden durch den FHIR IG-Publisher erstellt – somit entspricht die Darstellung der Terminologieserver Inhalte einem FHIR Implementation Guide. Ein FHIR-Server („FHIR-tx-at“) stellt alle Terminologien in FHIR-Format zur Verfügung, mit allen Vorteilen, die ein FHIR-Server mit sich bringt.
Neben den vorhandenen Open-Source-Werkzeugen stellen MaLaC-CT und IGVer Eigenentwicklungen in der Gesamtarchitektur dar.
MaLaC-CT (Markup Language Converter for Clinical Terms) ist ein in Python geschriebener stand-alone Konverter, der es ermöglicht, Terminologien in die Formate fsh/sushi, fhir, claml, svs, einem proprietären CSV und ART-DECOR-konformes Format zu konvertieren. Dadurch kann die aktuelle Version jeder Terminologie in den verschiedenen Formaten zum Download angeboten werden.
Der IGVer hingegen erweitert den Funktionsumfang der vom FHIR IG-Publisher erstellten HTML Dateien. Historische Versionen einer Terminologie können somit mittels der publizierten HTML-Seiten direkt abgerufen werden.
Die Publikation einer Terminologie wird mit TerminoloGit folgendermaßen bewerkstelligt:
Alle Terminologien stehen auf GitLab WIP (Work in progress) bereit. Bei einem Update einer Terminologie oder durch das Hinzufügen einer neuen Terminologie wird im Hintergrund MaLaC-CT durch eine GitLab Pipeline automatisch aufgerufen. Dieser konvertiert die Datei in alle implementierten Formate, veröffentlicht diese per FHIR IG-Publisher und stellt sie in einem eigenen GitLab Repo zur Verfügung, alte Versionen werden per IGVer automatisch als Vorversionen eingereiht. Alle Änderungen an den Terminologien werden gleichzeitig am FHIR-tx-at nachgezogen.
Das neue Terminologieserver-Konzept soll sich ab 1. Januar 2022 in der Praxis bewähren. Bis Ende Oktober 2022 wird noch ein Parallelbetrieb mit dem bisherigen Terminologieserver aufrechterhalten.
Der beschriebene Terminologie-Workflow kann sich im Laufe des Parallelbetriebs gegebenenfalls ändern. Der stabile Betrieb des FHIR Server („FHIR-tx-at“) ist für Q3 2022 vorgesehen.
Im Sinne des Open-Source-Gedankens würden sich die Autoren sehr über die Nutzung des Terminologieservers in anderen Projekten, Feedback und noch mehr über eine aktive Beteiligung freuen.
Die einzelnen Teilprojekte können unter diesen Links abgerufen werden.
• TerminoloGit: gitlab.com/elga-gmbh/termgit
• MaLaC-CT: gitlab.com/elga-gmbh/malac-ct
• Aktuelle Ergebnisse von IG Publisher: gitlab.com/elga-gmbh/terminologit-dev-html
• Aktuelle Einsicht in eine TerminoloGit Publikation: terminologit.elga.gv.at
Stefan Sabutsch
Teamleiter Semantic Competence Center, ELGA GmbH
Gabriel Kleinoscheg
Semantic Competence Center, ELGA GmbH
Nina Svec
Semantic Competence Center, ELGA GmbH
Nikola Tanjga
Semantic Competence Center, ELGA GmbH
Bildnachweis: © bakhtiarzein/stock.adobe.com