Im letzten Artikel haben wir darüber berichtet, wie wir die DevOps-Reise für einen globalen OEM-Kunden gestaltet haben, indem wir den aktuellen Stand der IT-Entwicklung und des IT-Betriebs identifiziert und das Paradigma für die Transformation neu definiert haben. In diesem Blog werden wir ein DevOps-Paradigma für Anwendungen im Gesundheitswesen diskutieren.
DevOps liefert durch die Kombination von Automatisierung und agilen Prozessen schnelle IT-Services, die die Leistung optimieren und die Zusammenarbeit zwischen Softwareentwicklungsteams verbessern, damit diese gemeinsam schnellere Ergebnisse mit Zuverlässigkeit und Qualität liefern können. Die Einführung dieses Ansatzes in einer Gesundheitsumgebung, wie z. B. bei der Entwicklung von Software für medizinische Geräte, ist jedoch aufgrund der strengen Anforderungen an die Einhaltung von Vorschriften nicht so einfach.
DevOps ist jedoch ein Katalysator für die erfolgreiche Entwicklung einer Anwendung, kontinuierliche Integration und Bereitstellung. Es erfordert strenge Prüfungen und Genehmigungen vor der Freigabe, ohne die Compliance-Vorschriften der Gesundheitsbranche zu gefährden. Unser Ansatz für die Implementierung von DevOps umfasst daher Folgendes:

Wir wissen, dass die Entwicklung von Anwendungen für medizinische Geräte ein komplexer und stark regulierter Prozess ist, der die Einhaltung strenger Standards und Vorschriften zur Gewährleistung der Patientensicherheit erfordert. Einer der wichtigsten Standards in der Medizintechnikbranche ist die International Electrotechnical Commission (IEC) 62304. Die Norm umreißt die Anforderungen an die Entwicklung, Wartung und das Lebenszyklusmanagement von Software, die in medizinischen Geräten verwendet wird. Das Verständnis, die Nutzung und die Einhaltung der IEC 62304 sind für Entwickler medizinischer Geräte von entscheidender Bedeutung, um sicherzustellen, dass ihre Produkte die höchsten Sicherheits- und Leistungsstandards erfüllen. Daher ist der Einsatz eines modernen Entwicklungsansatzes in der Gesundheitsbranche komplex und selten, da er eine robuste Prozessbefolgung erfordert.
Wir haben ein umfassendes und robustes Risikokontrollsystem entwickelt, um die Grundsätze der IEC62304 durch strenge Planung, Dokumentation der Anforderungen, Prüfung und Verifizierung sowie Rückverfolgbarkeit einzuhalten - und so die Einhaltung aller relevanten Vorschriften zu gewährleisten. Dieses Rahmenwerk stellt sicher, dass alle Grundsätze eingehalten werden und ein "Beweisdokument" für zukünftige Audits erstellt wird. Unser Risikokontrollrahmen für DevOps-Praktiken bietet Entwicklern die Möglichkeit, Softwarecode sicher und zuverlässig in die Produktion zu überführen. Es deckt alle Komponenten des Softwareentwicklungsprozesses der Standards ab, wie unten dargestellt:

Die Gewährleistung von Qualität und Sicherheit ist während der Programmierung von entscheidender Bedeutung. Wir bemühen uns, die Fehler, die unseren Code später beeinträchtigen können, frühzeitig zu erkennen, indem wir das Konzept der "Buildbreaker" in der Build-Phase nutzen. Das bedeutet, dass, sobald ein Entwickler einen Build auslöst, die Unit-Tests durchgeführt werden und der Schwellenwert für Unit-Tests und Codeabdeckung konfiguriert wird, um den Build-Prozess fortzusetzen. Zusätzlich wird ein Code-Qualitäts-Scan mit SonarQube und ein Open-Source-Abhängigkeitsscan mit dem Dependency-check-Tool durchgeführt. Wenn bei einem dieser definierten Schwellenwerte ein Fehler auftritt, wird der Build "fehlgeschlagen" und zur weiteren Analyse und Lösung an den Entwickler zurückgeschickt.

Neben den Praktiken der kontinuierlichen Integration und Bereitstellung haben wir auch beobachtet, dass die Einrichtung von Projektteams, Repositories und Zweigen erhebliche operative Herausforderungen mit sich bringt und sich manuelle Fehler einschleichen. Dies hat zur Entwicklung einer Azure-Pipeline geführt, die die Erstellung von Projekten, Repositories, Boards und sogar Standard-YAML-Pipelines für Projektteams automatisiert, um ein nahtloses Onboarding zu gewährleisten. Automatisierte Pipelines sind eine Möglichkeit, Code und Infrastruktur auf konsistente und zuverlässige Weise zu erstellen, zu testen und bereitzustellen.
Mit diesem Ansatz wurde bereits viel erreicht, einige der Vorteile sind hier aufgeführt:
- Verbesserte Codequalität und sichere Kodierung,
- Verbesserte Einhaltung der Vorschriften der Gesundheitsbranche,
- Erhöhte Häufigkeit der Softwareerstellung,
- Schnelleres Feedback aus dem Softwaretestprozess, und
- Verbesserte Erfahrung der Entwickler durch weniger manuelle Eingriffe.
Es gibt noch mehr zu tun. Auf dem Weg nach vorne gibt es Möglichkeiten, die DevOps-Journeys durch eine verbesserte Zusammenarbeit zwischen Entwicklern und Betrieb zu transformieren, einschließlich der Automatisierung von Softwaretests mithilfe von Tools, Documentation as a Code und einer risikofreien Release-Strategie in Cloud Foundry. Dies würde dazu beitragen, die Markteinführungszeit zu verkürzen und den Geschäftserfolg von Anbietern von Gesundheitsanwendungen zu steigern. Da sich die Landschaft weiterentwickelt, wird sich der Transformationsprozess weiter beschleunigen.
Einschlägige Blogs

Aggregierte Beschaffung - Schließen von Schlupflöchern in der Lieferkette zur Wertschöpfung

Transformation digitaler Gesundheitsökosysteme - Herausforderungen bei der Gewährleistung von Sicherheit, Datenschutz und Vertrauen
