{"id":1269,"date":"2023-06-07T11:26:16","date_gmt":"2023-06-07T09:26:16","guid":{"rendered":"https:\/\/nubisoft.io\/blog\/?p=1269"},"modified":"2023-06-07T11:45:48","modified_gmt":"2023-06-07T09:45:48","slug":"gematik-ti-referenzumgebung-in-ci-cd-pipeline-verwendet-ja-das-ist-machbar","status":"publish","type":"post","link":"https:\/\/nubisoft.de\/blog\/gematik-ti-referenzumgebung-in-ci-cd-pipeline-verwendet-ja-das-ist-machbar\/","title":{"rendered":"Gematik TI Referenzumgebung in CI\/CD-Pipeline verwendet? Ja, das ist machbar!"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">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\u00fcsselkonzepten hinter CI\/CD-Pipelines, der Bedeutung der Gematik TI-RU-Umgebung im Gesundheitswesen und den Schritten zur nahtlosen Automatisierung des gesamten Entwicklungs- und Bereitstellungsprozesses.<\/h2>\n\n\n\n<p>Die st\u00e4ndige Softwareweiterentwicklung ist eine der gr\u00f6\u00dften Herausforderungen in der Healthcare-Branche. Wie k\u00f6nnen neue Funktionen bereitgestellt werden, ohne vorhandene zu zerst\u00f6ren und wie vermeidet man das <a href=\"https:\/\/nubisoft.io\/blog\/how-to-deal-with-non-reproducible-bugs-in-java-web-applications\/\" data-type=\"post\" data-id=\"638\">Debugging in der Produktion<\/a>? Die Antwort erscheint sehr einfach \u2013 Der Code muss nur ausreichend getestet werden. Bei NubiSoft Verwenden wir am liebsten TDD w\u00e4hrend des Entwicklungsprozesses, da dass viele Vorteile mit sich bringt. Fehler k\u00f6nnen bereits in fr\u00fchen Phasen erkannt und verhindert werden, dass vermeidet das sie bis in die Produktion gelangen k\u00f6nnen. Au\u00dferdem kann man Funktionen hinzuf\u00fcgen oder \u00e4ndern, ohne, dass die Software beim deployment einen Herzinfakt bekommt. Schlie\u00dflich werden gut geschriebene Tests zu einer Art Aufzeichnung der Code-Basis und helfen damit diese in Zukunft besser verstehen und pflegen zu k\u00f6nnen. Ungl\u00fccklicherweise ist die Testabdeckung nicht immer der einzige Faktor, und es ist nicht so einfach, wenn es um die Entwicklung von elektronischen Gesundheitsdiensten f\u00fcr Deutschland geht.<\/p>\n\n\n\n<p>Bei einem unserer Kunden stand unser Team vor der Herausforderung, eine Anwendung namens VOS (Verordnungssoftware) zu entwerfen und zu entwickeln, deren prim\u00e4res Ziel es ist, sich mit elektronischen Rezepten sowie dem Behandlungsplan f\u00fcr Patienten zu befassen. Wenn man wei\u00df, <a href=\"https:\/\/nubisoft.de\/blog\/e-rezept-wie-funktioniert-das-eigentlich\/\" data-type=\"post\" data-id=\"1108\">wie das elektronische Rezept in Deutschland funktioniert<\/a>, versteht man direkt, wie viele Dinge getestet werden m\u00fcssen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die F\u00e4higkeit, Dokumente auf Basis des deutschen <strong>FHIR<\/strong>-Formats zu lesen, zu erstellen und zu bearbeiten<\/li>\n\n\n\n<li>Die Daten\u00fcbertragung zwischen <strong>VOS<\/strong>&#8211; und <strong>PVS<\/strong>-Systemen (<strong>Praxisverwaltungssystemen<\/strong>)<\/li>\n\n\n\n<li>Die korrekte Kommunikation zwischen der <strong>VOS<\/strong>-Software und den Hardwareger\u00e4ten von Drittanbietern wie Konnektoren und Kartenterminals<\/li>\n\n\n\n<li>Die Integration von externen Diensten und die M\u00f6glichkeit der Daten\u00fcbertragung zu und von Gematik-Cloud-Komponenten (<strong>Identity Provider FD<\/strong>, <strong>e-Rezept FD<\/strong>, etc.)<\/li>\n\n\n\n<li>F\u00fcr das E-Rezept-System in Deutschland erm\u00f6glicht die Gematik drei getrennte Umgebungen: TITUS (Testumgebung), RU (<strong>Referenzumgebung<\/strong>) und PU (<strong>Produktionsumgebung<\/strong>). Aus der Sicht des testens sind <strong>TITUS<\/strong> und <strong>RU<\/strong> sehr wichtig.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Gematik TITUS vs. RU-Umgebung<\/h2>\n\n\n\n<p>Um auf die Testumgebung zugreifen zu k\u00f6nnen, muss man bei der Gematik eine Lizenz f\u00fcr einen Titus-Dienst erwerben, der einem dann den Zugang zu allen ben\u00f6tigten Komponenten verschafft darunter:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>die virtualisierte Anschlusskomponente,<\/li>\n\n\n\n<li>die virtualisierte Kartenterminal-Komponenten<\/li>\n\n\n\n<li>und die Gematik TI Services (IDP, e-Prescription, etc.) \u2013 welche direkt \u00fcber die Internetverbindung zug\u00e4nglich sind.<\/li>\n<\/ul>\n\n\n\n<p>Der Zugriff auf die Verbindung zur <strong>Referenzumgebung<\/strong> wird \u00fcber externe EVU-Zugangsanbieter hergestellt. Die Architektur der EVU-Umgebung ist \u00e4hnlich wie bei <strong>TITUS<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Physisches oder virtuelles Anschlussger\u00e4t, das von Ihrem EVU (Referenzumgebung) zur Verf\u00fcgung gestellt wird<\/li>\n\n\n\n<li>Ein physisches Kartenendger\u00e4t, das von Drittanbietern bereitgestellt wird<\/li>\n\n\n\n<li>Die Gematik TI-Dienste (IDP, e-Prescription) &#8211; zug\u00e4nglich \u00fcber den EVU-Anbieter (<strong>Referenzumgebung<\/strong>) via VPN-Verbindung.<\/li>\n<\/ul>\n\n\n\n<p>Trotz des PVS \u2013 Vos Kommunikationsflusses scheinen alle genannten Punkte \u00fcber den TITUS-Dienst gepr\u00fcft werden zu k\u00f6nnen. Warum muss man sich also die M\u00fche machen, die RU-Umgebung zu nutzen? Der Teufel steckt im Detail und in der Tatsache, dass im <strong>TITUS<\/strong>-Dienst einige der Operationen mit dem Konnektor (PIN-Abfrage, Signieren von Dokumenten mit HBA-Karten usw.) auf simulierte Weise durchgef\u00fchrt werden. Was bedeutet, dass Sie das Verhalten Ihrer Anwendung in einigen F\u00e4llen nicht testen k\u00f6nnen (z. B. falsche PIN-Eingabe, Zeit\u00fcberschreitung w\u00e4hrend der Signatur). Au\u00dferdem sind einige der Funktionen des Konnektors vollst\u00e4ndig deaktiviert z.B.: Komfort-Signaturverwaltung oder die \u00c4nderung eines PINs. Schlie\u00dflich sind die Konnektoren und Kartenterminals, die in der RU (<strong>Referenzumgebung<\/strong>) verwendet werden, die gleichen, die auch in der PU (<strong>Produktionsumgebung<\/strong>) von den Praktikern an ihren Arbeitspl\u00e4tzen verwendet werden. Daher ist die Verwendung der RU (<strong>Referenzumgebung<\/strong>) die einzige M\u00f6glichkeit, um sicherzustellen, dass die Anwendung auch in der <strong>Produktionsumgebung<\/strong> funktionieren wird.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie wird die Gematik TI Referenzumgebung in der CI\/CD Pipeline verwendet?<\/h2>\n\n\n\n<p>Der Einsatz von <strong>Referenzumgebungen<\/strong> im Testprozess verbessert die Stabilit\u00e4t der Anwendungen im Hinblick auf die Konsistenz mit der <strong>Produktionsumgebung<\/strong>. Allerdings bringt dies auch einige Probleme mit sich, die es zu l\u00f6sen gilt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Das Erste ist, das die Gematik-Dienste nur \u00fcber eine VPN-Verbindung erreichbar sind, d.h. Sie m\u00fcssen die VPN-Verbindung auf jedem Rechner nutzen, der mit den RU-Diensten (<strong>Referenzumgebung<\/strong>) kommunizieren soll.<\/li>\n\n\n\n<li>Zweitens werden Kartenterminal-Aktionen nicht mehr simuliert, so dass Sie diese manuell durchf\u00fchren m\u00fcssen.<\/li>\n<\/ul>\n\n\n\n<p>Zuletzt unterst\u00fctzt der RU-Enabler nicht mehrere gleichzeitige VPN-Verbindungen, so dass man dieselbe VPN-Verbindung f\u00fcr alle Ger\u00e4te, CI\/CD-Runner und Deployment-Knoten verwenden muss.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"625\" src=\"https:\/\/nubisoft.io\/blog\/wp-content\/uploads\/2023\/06\/Frame-2-1024x625.png\" alt=\"CI\/CD Pipeline\" class=\"wp-image-1270\" srcset=\"https:\/\/nubisoft.de\/blog\/wp-content\/uploads\/2023\/06\/Frame-2-1024x625.png 1024w, https:\/\/nubisoft.de\/blog\/wp-content\/uploads\/2023\/06\/Frame-2-300x183.png 300w, https:\/\/nubisoft.de\/blog\/wp-content\/uploads\/2023\/06\/Frame-2-768x468.png 768w, https:\/\/nubisoft.de\/blog\/wp-content\/uploads\/2023\/06\/Frame-2.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Das erste Problem wird durch den Aufbau einer Multi-Hop-VPN-Verbindung gel\u00f6st. 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\u00f6nnen die Entwickler des Teams die PIN-Verifizierung durchf\u00fchren, 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\u00fccklicherweise haben wir den richtigen Anbieter f\u00fcr unser Kartenendger\u00e4t gew\u00e4hlt. Der Einsatz des Cherry ST-1506 Kartenterminals bietet die M\u00f6glichkeit, den PIN \u00fcber die Remote-API-Schnittstelle des Terminals zu verifizieren. Daher haben wir uns entschlossen, eine zus\u00e4tzliche Intranet-Komponente zu entwickeln, die sich mit der Terminal-API verbindet, auf PIN-Anfragen wartet und bei Bedarf eine PIN-Verifizierung durchf\u00fchrt. Nat\u00fcrlich ist diese Komponente vollst\u00e4ndig konfigurierbar und kann vor\u00fcbergehend deaktiviert werden, wenn die man PIN-Verifizierung durchf\u00fchren und Ihre Anwendung manuell testen m\u00f6chten.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"625\" src=\"https:\/\/nubisoft.io\/blog\/wp-content\/uploads\/2023\/06\/Frame-1-1024x625.png\" alt=\"\" class=\"wp-image-1272\" srcset=\"https:\/\/nubisoft.de\/blog\/wp-content\/uploads\/2023\/06\/Frame-1-1024x625.png 1024w, https:\/\/nubisoft.de\/blog\/wp-content\/uploads\/2023\/06\/Frame-1-300x183.png 300w, https:\/\/nubisoft.de\/blog\/wp-content\/uploads\/2023\/06\/Frame-1-768x469.png 768w, https:\/\/nubisoft.de\/blog\/wp-content\/uploads\/2023\/06\/Frame-1.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Diese aufgebaute Infrastruktur wird von vielen Entwicklern bei NubiSoft t\u00e4glich genutzt und hilft ihnen und unseren Kunden, schnell wachsende und sich schnell ver\u00e4ndernde Software mit der gew\u00fcnschten Zuverl\u00e4ssigkeit und Stabilit\u00e4t\u00a0zu\u00a0erstellen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zusammenfassung<\/h2>\n\n\n\n<p>Zusammenfassend l\u00e4sst 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\u00f6glicht Entwicklern und Gesundheitsorganisationen, mit denen wir zusammenarbeiten, ihre Softwareentwicklungsprozesse zu rationalisieren, beh\u00f6rdliche Anforderungen einzuhalten und patientenzentrierte Softwarel\u00f6sungen effizienter bereitzustellen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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\u00fcsselkonzepten 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\u00e4ndige Softwareweiterentwicklung ist eine der [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":1251,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_case_study_excerpt":"","footnotes":""},"categories":[253],"tags":[326,372,370],"class_list":["post-1269","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gesundheitswesen","tag-e-rezept","tag-referenzumgebung","tag-ru"],"_links":{"self":[{"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/posts\/1269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/comments?post=1269"}],"version-history":[{"count":2,"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/posts\/1269\/revisions"}],"predecessor-version":[{"id":1277,"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/posts\/1269\/revisions\/1277"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/media\/1251"}],"wp:attachment":[{"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/media?parent=1269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/categories?post=1269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nubisoft.de\/blog\/wp-json\/wp\/v2\/tags?post=1269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}