Auch Entwickler von Medizingeräten müssen oft fertige Software oder Softwareblöcke zukaufen. Gleichzeitig müssen sie für die Zulassung nachweisen, dass es den Sicherheitsanforderungen entspricht. Wie schaffe ich das, wenn COTS-Software zum Einsatz kommt, deren Quellcode ich oft nicht kenne?
von Chris Ault, Produktmanager bei QNX Software Systems, und Mark Pitchford, Field Applications Engineer bei LDRA.
Medizingeräte benötigen eine MDD-Zulassung beziehungsweise Zulassungen durch die FDA, MHRA und vergleichbare zuständige Behörden in allen Regionen, in denen sie eingesetzt werden sollen. Für die Zulassung ist nachzuweisen, dass ein Gerät den Sicherheitsanforderungen entspricht; insbesondere ist der Nachweis der Verlässlichkeit der Gerätesoftware zu führen. Sorgfältig abgrenzende Aussagen und präzise Anforderungen an die Verlässlichkeit schaffen einen definierten Kontext und liefern messbare Kriterien für die Validierung der Verlässlichkeit eines Softwaresystems.
Mit einer einzelnen Technik allein lässt sich nicht beweisen, dass eine Software die an ihre Verlässlichkeit gestellten Anforderungen erfüllt. Deshalb müssen die Entwicklerteams mit einem ganzen Arsenal an Strategien und Techniken arbeiten (Bild 1), darunter:
Die IEC 62304 legt die Prozesse und Aktivitäten für den gesamten Lebenszyklus der Software fest und schreibt vor, dass dieser Zyklus nicht etwa mit dem Release endet, sondern auch Wartung und Fehlerbehebung während der gesamten Einsatzdauer der Software abdeckt (Bild 2). In der Norm wird auch ausdrücklich auf die Verwendung von SOUP (Software of Unknown Provenance) eingegangen [1]. Sie wird dort folgendermaßen definiert: »Software, die fertiggestellt und allgemein verfügbar ist und nicht speziell für das Medizingerät entwickelt wurde, in dem sie verwendet wird. Ebenso Software, die in der Vergangenheit entwickelt wurde und für die keine ausreichende Dokumentation der Entwicklungsprozesse verfügbar ist.«
Einfach ausgedrückt nimmt die IEC 62304 an, dass (kommerzielle oder nichtkommerzielle) »Off the shelf«-Software verwendet wird. Außerdem gibt sie zwei Definitionen für »Software unklarer Herkunft« (SOUP): erstens Software, die nicht speziell für das fragliche Medizingerät geschrieben wurde, und zweitens Software, deren Entwicklungsprozess nicht oder unzureichend dokumentiert ist. Die Frage lautet also nicht, ob man COTS- oder SOUP-Software in Medizingeräten verwenden kann, sondern ob eine spezielle COTS-Software für ein konkretes Gerät geeignet ist und wie man nachweisen kann, dass diese Software die Anforderungen an die funktionale Sicherheit des Geräts erfüllt.