Das deutschsprachige HL7 Magazin

Magazin

von Stefan Sabutsch, Gabriel Kleinoscheg, Nina Svec, Nikola Tanjga

TerminoloGit – ein Open-Source-Terminologieserver mit FHIR und git aus Österreich

In vielen e-Health Umgebungen wird ein Terminologieserver als zentrale Referenz für alle notwendigen Terminologien eingesetzt. Ziel ist es, dass die IT-Systeme, die untereinander in einer Datenaustausch-Beziehung stehen, dieselben Terminologien zur selben Zeit verwenden können. Codesysteme, Value Sets und Concept-Maps werden gemeinsam mit den dazugehörigen historischen Versionen in standardisierten Formaten und einheitlichen Metadaten leicht zugänglich bereitgestellt. Ein zentraler Terminologie-Server kann auch die gemeinschaftliche Erstellung und Wartung von Terminologien unterstützen.

Facebook
Twitter
LinkedIn

Von alt zu neu

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.

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.

Zusammenspiel der Komponenten

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.

Echtbetrieb ab 2022

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

Autoren

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

Facebook
Twitter
LinkedIn