TerminoloGit – ein Open-Source-Terminologieserver mit FHIR und git aus Österreich
Inhaltsverzeichnis
Von alt zu neu
Der bisher im Umfeld der österreichischen Gesundheitsakte ELGA verwendete Terminologie-Server war seit 2014 in Verwendung, entsprach aber nicht mehr den technologischen Anforderungen, z.B. HL7 FHIR. Der Ruf nach einer leichtgewichtigen, modernen Anwendung wurde über die Jahre immer lauter. Das Semantic Competence Center der ELGA GmbH suchte nach finanzierbaren Alternativen, die mindestens die Kernaufgabe eines Terminologieservers erfüllen können – die Bereitstellung aktueller Terminologien mit vielen gleichzeitigen Abrufen.
Der neue Terminologie-Server („TerminoloGit“) wurde daher auf Grundlage verschiedener Open-Source-Komponenten und selbst entwickelter Werkzeuge aufgebaut. In einem 9-monatigen Parallelbetrieb wurde der neue Terminologie-Server intensiv geprüft und stabilisiert. Ab 01. Oktober 2022 ersetzt TerminoloGit den bisherigen Terminologieserver, da dessen Betrieb endgültig eingestellt wird.
Open-Source-Komponenten
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.
Selbst entwickelte Komponenten
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.
Die einzelnen Teilprojekte können unter diesen Links abgerufen werden.
Letzte Aktualisierung: 5. September 2022
Erstellt durch: ELGA GmbH