In diesem Blogbeitrag untersuchen wir die Integration der Gematik TI Referenzumgebung in eine CI/CD-Pipeline und ihre tiefgreifenden Auswirkungen auf die Entwicklung von Gesundheitsanwendungen. Wir befassen uns mit den Schlüsselkonzepten hinter CI/CD-Pipelines, der Bedeutung der Gematik TI-RU-Umgebung im Gesundheitswesen und den Schritten zur nahtlosen Automatisierung des gesamten Entwicklungs- und Bereitstellungsprozesses.
Die ständige Softwareweiterentwicklung ist eine der größten Herausforderungen in der Healthcare-Branche. Wie können neue Funktionen bereitgestellt werden, ohne vorhandene zu zerstören und wie vermeidet man das Debugging in der Produktion? Die Antwort erscheint sehr einfach – Der Code muss nur ausreichend getestet werden. Bei NubiSoft Verwenden wir am liebsten TDD während des Entwicklungsprozesses, da dass viele Vorteile mit sich bringt. Fehler können bereits in frühen Phasen erkannt und verhindert werden, dass vermeidet das sie bis in die Produktion gelangen können. Außerdem kann man Funktionen hinzufügen oder ändern, ohne, dass die Software beim deployment einen Herzinfakt bekommt. Schließlich werden gut geschriebene Tests zu einer Art Aufzeichnung der Code-Basis und helfen damit diese in Zukunft besser verstehen und pflegen zu können. Unglücklicherweise ist die Testabdeckung nicht immer der einzige Faktor, und es ist nicht so einfach, wenn es um die Entwicklung von elektronischen Gesundheitsdiensten für Deutschland geht.
Bei einem unserer Kunden stand unser Team vor der Herausforderung, eine Anwendung namens VOS (Verordnungssoftware) zu entwerfen und zu entwickeln, deren primäres Ziel es ist, sich mit elektronischen Rezepten sowie dem Behandlungsplan für Patienten zu befassen. Wenn man weiß, wie das elektronische Rezept in Deutschland funktioniert, versteht man direkt, wie viele Dinge getestet werden müssen:
- Die Fähigkeit, Dokumente auf Basis des deutschen FHIR-Formats zu lesen, zu erstellen und zu bearbeiten
- Die Datenübertragung zwischen VOS– und PVS-Systemen (Praxisverwaltungssystemen)
- Die korrekte Kommunikation zwischen der VOS-Software und den Hardwaregeräten von Drittanbietern wie Konnektoren und Kartenterminals
- Die Integration von externen Diensten und die Möglichkeit der Datenübertragung zu und von Gematik-Cloud-Komponenten (Identity Provider FD, e-Rezept FD, etc.)
- Für das E-Rezept-System in Deutschland ermöglicht die Gematik drei getrennte Umgebungen: TITUS (Testumgebung), RU (Referenzumgebung) und PU (Produktionsumgebung). Aus der Sicht des testens sind TITUS und RU sehr wichtig.
Gematik TITUS vs. RU-Umgebung
Um auf die Testumgebung zugreifen zu können, muss man bei der Gematik eine Lizenz für einen Titus-Dienst erwerben, der einem dann den Zugang zu allen benötigten Komponenten verschafft darunter:
- die virtualisierte Anschlusskomponente,
- die virtualisierte Kartenterminal-Komponenten
- und die Gematik TI Services (IDP, e-Prescription, etc.) – welche direkt über die Internetverbindung zugänglich sind.
Der Zugriff auf die Verbindung zur Referenzumgebung wird über externe EVU-Zugangsanbieter hergestellt. Die Architektur der EVU-Umgebung ist ähnlich wie bei TITUS:
- Physisches oder virtuelles Anschlussgerät, das von Ihrem EVU (Referenzumgebung) zur Verfügung gestellt wird
- Ein physisches Kartenendgerät, das von Drittanbietern bereitgestellt wird
- Die Gematik TI-Dienste (IDP, e-Prescription) – zugänglich über den EVU-Anbieter (Referenzumgebung) via VPN-Verbindung.
Trotz des PVS – Vos Kommunikationsflusses scheinen alle genannten Punkte über den TITUS-Dienst geprüft werden zu können. Warum muss man sich also die Mühe machen, die RU-Umgebung zu nutzen? Der Teufel steckt im Detail und in der Tatsache, dass im TITUS-Dienst einige der Operationen mit dem Konnektor (PIN-Abfrage, Signieren von Dokumenten mit HBA-Karten usw.) auf simulierte Weise durchgeführt werden. Was bedeutet, dass Sie das Verhalten Ihrer Anwendung in einigen Fällen nicht testen können (z. B. falsche PIN-Eingabe, Zeitüberschreitung während der Signatur). Außerdem sind einige der Funktionen des Konnektors vollständig deaktiviert z.B.: Komfort-Signaturverwaltung oder die Änderung eines PINs. Schließlich sind die Konnektoren und Kartenterminals, die in der RU (Referenzumgebung) verwendet werden, die gleichen, die auch in der PU (Produktionsumgebung) von den Praktikern an ihren Arbeitsplätzen verwendet werden. Daher ist die Verwendung der RU (Referenzumgebung) die einzige Möglichkeit, um sicherzustellen, dass die Anwendung auch in der Produktionsumgebung funktionieren wird.
Wie wird die Gematik TI Referenzumgebung in der CI/CD Pipeline verwendet?
Der Einsatz von Referenzumgebungen im Testprozess verbessert die Stabilität der Anwendungen im Hinblick auf die Konsistenz mit der Produktionsumgebung. Allerdings bringt dies auch einige Probleme mit sich, die es zu lösen gilt:
- Das Erste ist, das die Gematik-Dienste nur über eine VPN-Verbindung erreichbar sind, d.h. Sie müssen die VPN-Verbindung auf jedem Rechner nutzen, der mit den RU-Diensten (Referenzumgebung) kommunizieren soll.
- Zweitens werden Kartenterminal-Aktionen nicht mehr simuliert, so dass Sie diese manuell durchführen müssen.
Zuletzt unterstützt der RU-Enabler nicht mehrere gleichzeitige VPN-Verbindungen, so dass man dieselbe VPN-Verbindung für alle Geräte, CI/CD-Runner und Deployment-Knoten verwenden muss.
Das erste Problem wird durch den Aufbau einer Multi-Hop-VPN-Verbindung gelöst. Daher ist jeder Rechner, der mit dem Intranet-Netzwerk verbunden ist (z. B. der Computer eines Entwicklers, ein CI/CD-Runneroder ein Kartenterminal), auch mit der RU-Umgebung (Referenzumgebung) verbunden. Doch ein Problem bleibt. Wie können die Entwickler des Teams die PIN-Verifizierung durchführen, wenn sie keinen physischen Zugriff auf das Terminal haben? Und was ist mit der PIN-Verifizierung im Terminal in der automatisierten CI/CD-Testpipeline? Glücklicherweise haben wir den richtigen Anbieter für unser Kartenendgerät gewählt. Der Einsatz des Cherry ST-1506 Kartenterminals bietet die Möglichkeit, den PIN über die Remote-API-Schnittstelle des Terminals zu verifizieren. Daher haben wir uns entschlossen, eine zusätzliche Intranet-Komponente zu entwickeln, die sich mit der Terminal-API verbindet, auf PIN-Anfragen wartet und bei Bedarf eine PIN-Verifizierung durchführt. Natürlich ist diese Komponente vollständig konfigurierbar und kann vorübergehend deaktiviert werden, wenn die man PIN-Verifizierung durchführen und Ihre Anwendung manuell testen möchten.
Diese aufgebaute Infrastruktur wird von vielen Entwicklern bei NubiSoft täglich genutzt und hilft ihnen und unseren Kunden, schnell wachsende und sich schnell verändernde Software mit der gewünschten Zuverlässigkeit und Stabilität zu erstellen.
Zusammenfassung
Zusammenfassend lässt sich sagen, dass die Integration der Gematik TI-RU-Umgebung in eine CI/CD-Pipeline zu unserem innovativen Ansatz bei der Entwicklung von Gesundheitsanwendungen passt. Es ermöglicht Entwicklern und Gesundheitsorganisationen, mit denen wir zusammenarbeiten, ihre Softwareentwicklungsprozesse zu rationalisieren, behördliche Anforderungen einzuhalten und patientenzentrierte Softwarelösungen effizienter bereitzustellen.