{"id":8419,"date":"2025-01-30T16:17:09","date_gmt":"2025-01-30T15:17:09","guid":{"rendered":"http:\/\/www.johner-institut.de\/blog\/?p=8419"},"modified":"2025-02-01T08:58:21","modified_gmt":"2025-02-01T07:58:21","slug":"software-schnittstellen-beschreibung-konform-iec-62304","status":"publish","type":"post","link":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/","title":{"rendered":"Software-Schnittstellen konform IEC 62304"},"content":{"rendered":"\n<p><strong>Interne Software-Schnittstellen <\/strong>sind notwendig, um Software-Komponenten innerhalb eines Software-Systems zu verbinden. <strong>Externe Software-Schnittstellen <\/strong>sind die Voraussetzung daf\u00fcr, dass das Software-System mit anderen Systemen kommunizieren kann.<\/p>\n\n\n\n<p>Dieser Artikel beschreibt, wie Sie Software-Schnittstellen gesetzeskonform und praxisnah dokumentieren k\u00f6nnen.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\" id=\"interne\">1. Interne vs. externe Software-Schnittstellen<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 \u00dcbersicht<\/h3>\n\n\n\n<p>Medizinprodukte, gleich ob Standalone-Software oder physische Ger\u00e4te, bestehen aus Komponenten. Damit nutzt ein Produkt nicht nur externe Schnittstellen, sondern auch interne, n\u00e4mlich zwischen den einzelnen Komponenten.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 Sonderfall: interne = externe Schnittstelle<\/h3>\n\n\n\n<p>Zerlegt man das Software-System in Komponenten, gilt es im n\u00e4chsten Schritt, diese Komponenten und deren Schnittstellen zu spezifizieren. Dabei kann und muss es vorkommen, dass die Schnittstellen der \u00e4u\u00dferen Komponente gleichzeitig die der inneren Komponenten sind.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen.png\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"218\" src=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen-300x218.png\" alt=\"Komponenten-interne-externe-Schnittstellen\" class=\"wp-image-9127\" srcset=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen-300x218.png 300w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen-1024x744.png 1024w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen.png 1220w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption class=\"wp-element-caption\">Abb 1.: Externe Schnittstellen sind immer auch interne Schnittstellen (hier mit orangenen Kreisen markiert). Umgekehrt haben interne Schnittstellen nicht immer ein externes Pendant.<\/figcaption><\/figure>\n\n\n\n<p><strong>Beispiel<\/strong>: Die GUI eines Medizinger\u00e4ts wird gleichzeitig die GUI der Komponente sein, auf der die \u201eSoftware-GUI\u201c l\u00e4uft. Auch \u201eDaten-Schnittstellen\u201c werden direkt zu einer Komponente durchgereicht, welche diese Daten-Schnittstelle implementiert.<\/p>\n\n\n\n<div class=\"jig_defbox\"><div class=\"jig_defbox-definition\"><div class=\"jig_defbox-icon-wrapper\" style=\"fill:#919191\"><svg viewBox=\"0 0 512 512\" width=\"24\" height=\"24\" class=\"dashicons\" aria-hidden=\"true\"><g><path d=\"M430.9,177.6c-0.3-96-78.1-174.1-174-174.9c-0.1,0-0.2,0-0.4,0c-0.2,0-0.4,0-0.5,0c-0.2,0-0.4,0-0.5,0 c-0.1,0-0.2,0-0.4,0c-95.9,0.8-173.7,78.9-174,174.9c-0.4,7.3-1.9,60.3,36.6,109.2c29.5,37.6,49.4,74.7,55,85.9v63.5 c0,0,0,0.1,0,0.1c0,0.5,0,0.9,0.1,1.4c0,0.3,0.1,0.6,0.1,0.9c0,0.1,0,0.2,0,0.2c0.4,2.7,1.4,5.2,3,7.4l33.7,55.1 c3.1,5.1,8.7,8.2,14.7,8.2h61.8c6,0,11.5-3.1,14.7-8.2l33.7-55.1c1.5-2.1,2.6-4.6,3-7.4c0-0.1,0-0.2,0-0.2c0-0.3,0.1-0.6,0.1-0.9 c0-0.5,0.1-0.9,0.1-1.4c0,0,0-0.1,0-0.1v-60.3c1.2-2.4,22.3-45.5,56.7-89.2C432.8,237.8,431.3,184.9,430.9,177.6z M303.3,418.8 h-96.2v-33.1h96.2V418.8z M276.4,475h-42.5l-13.3-21.6h69L276.4,475z M311.6,351.4H200.4c-8.6-16.3-28-50.6-55.7-85.9 c-32-40.6-29.3-85.7-29.3-86c0-0.4,0.1-0.9,0.1-1.3c0-77.6,63-140.8,140.5-141.1c77.5,0.3,140.5,63.5,140.5,141.1 c0,0.4,0,0.9,0.1,1.3c0,0.4,3.1,44.9-29.3,86C339.5,300.8,320.2,335.1,311.6,351.4z\"><\/path><path d=\"M257.8,64.4c-62,0-112.5,50.5-112.5,112.5c0,9.5,7.7,17.2,17.2,17.2s17.2-7.7,17.2-17.2 c0-43.1,35-78.1,78.1-78.1c9.5,0,17.2-7.7,17.2-17.2S267.3,64.4,257.8,64.4z\"><\/path><\/g><\/svg><\/div><span class=\"jig_defbox-header\" style=\"color:#919191\">Tipp<\/span><\/div>\n<p>Spezifizieren Sie diese Schnittstellen nicht redundant, sondern verweisen Sie in der Komponenten-Spezifikation auf die entsprechende Spezifikation des \u00fcbergeordneten Medizinprodukts bzw. der \u00fcbergeordneten Komponente.<\/p>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"internet\">1.3 Sonderfall: Internet als interne Software-Schnittstelle<\/h3>\n\n\n\n<p>Ob eine \u201eInternet-Schnittstelle\u201c intern oder extern ist, h\u00e4ngt davon ab, was man als System (z. B. als Medizinprodukt) definiert.<\/p>\n\n\n\n<p>Wenn Sie beispielsweise das Gesamtsystem aus einer <a href=\"https:\/\/www.johner-institut.de\/blog\/tag\/mobile-medical-apps\/\">Mobile Medical App<\/a> und der zugeh\u00f6rigen Server-Software als <strong>ein<\/strong> <strong>Medizinprodukt <\/strong>und zugleich die Gesamtheit aller Software als <strong>ein Software-System <\/strong>definieren, dann ist das Internet eine <strong>interne<\/strong>(!)\u00a0Software-Schnittstelle, die zwei Komponenten des Software-Systems verbindet: die Medical-App-Software-Komponente mit der Server-Software-Komponente.<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"143\" src=\"https:\/\/cdn.johner-institut.de\/blog\/wp-content\/uploads\/2015\/02\/Interne-oder-externe-Software-Schnittstelle-300x143.png\" alt=\"Internet: Interne oder externe Software-Schnittstelle\" class=\"wp-image-11387\" srcset=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/02\/Interne-oder-externe-Software-Schnittstelle-300x143.png 300w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/02\/Interne-oder-externe-Software-Schnittstelle-1024x489.png 1024w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/02\/Interne-oder-externe-Software-Schnittstelle.png 1459w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption class=\"wp-element-caption\">Abb. 2: Gesamtsystem aus einer Mobile Medical App und einer Server-Software, die \u00fcber das Internet verbunden sind.<\/figcaption><\/figure>\n\n\n\n<div class=\"jig_defbox\"><div class=\"jig_defbox-definition\"><div class=\"jig_defbox-icon-wrapper\" style=\"fill:#919191\"><svg viewBox=\"0 0 576 512\" width=\"24\" height=\"24\" class=\"dashicons\" aria-hidden=\"true\"><path d=\"M569.5,440c18.5,32-4.7,72-41.6,72H48.1c-36.9,0-60-40.1-41.6-72L246.4,24c18.5-32,64.7-32,83.2,0L569.5,440 L569.5,440z M288,354c-25.4,0-46,20.6-46,46s20.6,46,46,46s46-20.6,46-46S313.4,354,288,354z M244.3,188.7l7.4,136 c0.3,6.4,5.6,11.3,12,11.3h48.5c6.4,0,11.6-5,12-11.3l7.4-136c0.4-6.9-5.1-12.7-12-12.7h-63.4C249.4,176,244,181.8,244.3,188.7 L244.3,188.7z\"><\/path><\/svg><\/div><span class=\"jig_defbox-header\" style=\"color:#919191\">Vorsicht mit dieser Aufteilung<\/span><\/div>\n<p>Wir raten davon ab, das <a href=\"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-einheiten-iec-62304\/\">Software-System<\/a>\u00a0als Gesamtheit aller Software zu definieren. Ein\u00a0Software-System sollte immer an den Grenzen der jeweiligen Prozessor-\/Speichereinheit enden. In obigem Beispiel h\u00e4tte man somit zwei Software-Systeme: zum einen die App und zum anderen die Server-Software. Dann sind die Schnittstellen zum Internet jeweils externe Software-Schnittstellen.<\/p>\n\n\n\n<p>Diese Aufteilung empfehlen wir&nbsp;\u00fcbrigens unabh\u00e4ngig davon, ob Sie beide Systeme zu einem Medizinprodukt z\u00e4hlen oder nicht.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"iec62304\">2. Regulatorische Anforderungen &nbsp;<\/h2>\n\n\n\n<p>Die <strong>IEC 62304<\/strong> verlangt in Kapitel 5.3.2, dass die Hersteller die Software-Schnittstellen zwischen den Software-Komponenten dokumentieren.\u00a0Eine nahezu identische Forderung findet sich im Kapitel 5.4.3, die ebenfalls die <cite>\u201eEntwicklung eines detaillierten Designs fu\u0308r Schnittstellen\u201c<\/cite> fordert.<\/p>\n\n\n\n<p>Beide Kapitel verlangen die Dokumentation der Software-Schnittstellen, legen aber nicht fest, wie diese Software-Schnittstellen zu beschreiben\/spezifizieren sind.<\/p>\n\n\n\n<p>\u00c4hnlich unkonkret fordert\u00a0die\u00a0<strong>FDA im Software Validation Guidance<\/strong>\u00a0eine\u00a0\u201e<em>definition of all external and user interfaces, as well as any internal software-to-system\u00a0interfaces<\/em>\u201c.<\/p>\n\n\n\n<p>Wenn Sie die Schnittstellen Ihrer Software wie nachfolgend vorgeschlagen dokumentieren, erf\u00fcllen Sie die regulatorischen Anforderungen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dokumentation\">3. Dokumentation von Software-Schnittstellen<\/h2>\n\n\n\n<p>Spezifikationen sollten das spezifizierte Objekt als Blackbox beschreiben, d. h. \u00fcber dessen Schnittstellen. Das gilt f\u00fcr Produkte bzw. Systeme (z. B. physische Ger\u00e4te mit Medizinger\u00e4ten (PEMS) oder Standalone-Software-Systeme) ebenso wie f\u00fcr\u00a0Komponenten solcher Systeme, z. B. Programmierbare Elektrische Subsysteme\u00a0(<a href=\"https:\/\/www.johner-institut.de\/blog\/systems-engineering\/pess-programmierbare-elektronische-subsysteme\/\">PESS<\/a>) oder Software-Komponenten.\u00a0<\/p>\n\n\n\n<p>Software und Software-Komponenten verf\u00fcgen \u00fcber maximal drei Schnittstellentypen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Benutzer-System-Schnittstellen (User Interface, GUI)<\/li>\n\n\n\n<li>System-System-Schnittstellen (Datenschnittstellen wie API, BUS-Systeme, Sensoren, Aktoren, Webservices)<\/li>\n\n\n\n<li>Schnittstelle zur Laufzeitumgebung<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 1: Software-Schnittstellen identifizieren<\/h3>\n\n\n\n<p>Wie granular Sie die Software-Schnittstellen spezifizieren m\u00fcssen, legen die Normen (wie die IEC 62304) nicht fest. Sie m\u00fcssen die Schnittstellen aber dokumentieren.<\/p>\n\n\n\n<p>Der erste und einfachste Schritt besteht darin, die Schnittstellen \u00fcberhaupt in der Software-Architektur kenntlich zu machen. Hier empfehlen sich Komponenten-Diagramme und die Lollipop-Notation (siehe Abb. 3).\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.johner-institut.de\/fileadmin\/bilder\/articles\/Schnittstellen-62304-UML-Komponentendiagramm-Lollipop.png\" alt=\"Exemplarisches UML-Komponentendiagramm mit Lollipops, welche die Software-Schnittstellen identifizieren\"\/><figcaption class=\"wp-element-caption\">Abb. 3: Exemplarisches UML-Komponentendiagramm mit Lollipops, die die Software-Schnittstellen identifizieren.<\/figcaption><\/figure>\n\n\n\n<p>Mit Lollipops k\u00f6nnen Sie besonders gut visualisieren, welche Schnittstellen es gibt, welche Software-Komponenten die Schnittstellen implementieren und welche Komponenten die Schnittstellen anderer Komponenten nutzen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 2: Die identifizierten Software-Schnittstellen spezifizieren<\/h3>\n\n\n\n<p>Eine blo\u00dfe Nennung der Schnittstellen ist nicht ausreichend, um Normenkonformit\u00e4t und den eigentlichen Sinn dieser Dokumentation zu erreichen, also dem Programmier-Team und den Personen, die die Komponenten testen, ausreichend Informationen f\u00fcr deren Arbeit bereitzustellen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Programmierschnittstellen API<\/h4>\n\n\n\n<p>Daher besteht der n\u00e4chste Schritt darin, die API der Schnittstellen zu spezifizieren. Erst damit legen Sie wirklich die Anforderungen an die Komponenten fest. Die API beschreibt:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Namen und Zweck der nach au\u00dfen verf\u00fcgbaren Funktionen\/Methoden<\/li>\n\n\n\n<li>Name, Bedeutung und Wertebereiche von \u00dcbergabe- und R\u00fcckgabeparametern<\/li>\n\n\n\n<li>Verhalten der Komponente bei Nutzung einer Funktion\/Methode. Dieses Verhalten kann sich nur \u00fcber eine Schnittstelle der Komponente zeigen.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">Andere Schnittstellentypen<\/h4>\n\n\n\n<p>Wenn Sie andere Software-Schnittstellen beschreiben m\u00fcssen, z. B.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Webservices<\/li>\n\n\n\n<li>REST-Schnittstellen<\/li>\n\n\n\n<li>Bus-Systeme (CAN-Bus, USB, I2C &#8230;)<\/li>\n<\/ul>\n\n\n\n<p>empfehlen wir Ihnen, diese anhand des <a href=\"https:\/\/www.johner-institut.de\/blog\/tag\/interoperabilitat\/\">Interoperabilit\u00e4tsmodells<\/a> zu spezifizieren und auf Vollst\u00e4ndigkeit zu pr\u00fcfen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 3: \u201eNichtfunktionale\u201c Anforderungen erg\u00e4nzen<\/h3>\n\n\n\n<p>Erg\u00e4nzen Sie die Beschreibung Ihrer API um nichtfunktionale Anforderungen wie:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Performanz<\/strong>: Wie schnell muss die Komponente auf Aufrufe \u00fcber die Schnittstelle reagieren? Wie \u00e4ndert sich diese Geschwindigkeit in Abh\u00e4ngigkeit von der Anzahl der Aufrufe pro Zeiteinheit oder von der Gr\u00f6\u00dfe der \u00fcbertragenen Daten?<\/li>\n\n\n\n<li><strong>Security<\/strong>: Werden die Daten verschl\u00fcsselt \u00fcbertragen? Auf welcher \u00dcbertragungsschicht? Wie m\u00fcssen sich andere Komponenten an der spezifizierten autorisieren?<\/li>\n\n\n\n<li><strong>Zuverl\u00e4ssigkeit\/Robustheit<\/strong>: Wie reagiert die Komponente auf fehlerhafte Inputs, auf fehlende Inputs, auf Inputs in falscher Reihenfolge? Fehlerhaft beinhaltet: falsche Datentypen, falsche Wertebereiche, falsche Codierung (sowohl auf struktureller, syntaktischer und semantischer Ebene), falsche Datenmengen, falsche Aufrufgeschwindigkeit usw.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 4: Sonderfall \u201eSoftware-Schnittstellen bei SOUP\u201c dokumentieren<\/h3>\n\n\n\n<p><a href=\"https:\/\/www.johner-institut.de\/blog\/fda\/off-the-shelf-software-ots-versus-soup\/\" target=\"_blank\" rel=\"noopener\">SOUP<\/a> sind zuerst nichts anderes als Komponenten in Ihrem Software-System. Entsprechend muss die Architektur diese Komponenten erkennen lassen. Die Besonderheit besteht darin, dass SOUP (insbesondere Frameworks, z. B.\u00a0 .NET), h\u00e4ufig so viele Funktionen anbieten, dass eine API-Beschreibung nicht mehr sinnvoll m\u00f6glich ist. Ein blo\u00dfer Verweis auf die API des SOUP-Herstellers w\u00fcrde aber auch nicht gen\u00fcgen, weil damit nicht gekl\u00e4rt ist, wie die eigenen Komponenten mit der SOUP interagieren.<\/p>\n\n\n\n<div class=\"jig_defbox\"><div class=\"jig_defbox-definition\"><div class=\"jig_defbox-icon-wrapper\" style=\"fill:#919191\"><svg viewBox=\"0 0 48 48\" width=\"24\" height=\"24\" class=\"dashicons\" aria-hidden=\"true\"><g><path d=\"M20,19.5h16v-3H20V19.5z M20,25.5h16v-3H20V25.5z M20,31.5h10v-3H20V31.5z M14.1,20c0.6,0,1-0.2,1.4-0.6 c0.4-0.4,0.6-0.9,0.6-1.4s-0.2-1-0.6-1.4c-0.4-0.4-0.9-0.6-1.4-0.6c-0.6,0-1,0.2-1.4,0.6c-0.4,0.4-0.6,0.9-0.6,1.4 c0,0.6,0.2,1,0.6,1.4C13,19.9,13.5,20,14.1,20z M14.1,26c0.6,0,1-0.2,1.4-0.6c0.4-0.4,0.6-0.9,0.6-1.4c0-0.6-0.2-1-0.6-1.4 S14.6,22,14.1,22c-0.6,0-1,0.2-1.4,0.6s-0.6,0.9-0.6,1.4c0,0.6,0.2,1,0.6,1.4S13.5,26,14.1,26z M14.1,32c0.6,0,1-0.2,1.4-0.6 c0.4-0.4,0.6-0.9,0.6-1.4c0-0.6-0.2-1-0.6-1.4c-0.4-0.4-0.9-0.6-1.4-0.6c-0.6,0-1,0.2-1.4,0.6s-0.6,0.9-0.6,1.4 c0,0.6,0.2,1,0.6,1.4S13.5,32,14.1,32z M7,40c-1.7,0-3-1.4-3-3V11c0-0.8,0.3-1.5,0.9-2.1C5.5,8.3,6.2,8,7,8h34 c0.8,0,1.5,0.3,2.1,0.9C43.7,9.5,44,10.2,44,11v26c0,0.8-0.3,1.5-0.9,2.1C42.5,39.7,41.8,40,41,40L7,40z M7,37h34V11H7V37z M7,11\"><\/path><\/g><\/svg><\/div><span class=\"jig_defbox-header\" style=\"color:#919191\">Weiterf\u00fchrende Informationen<\/span><\/div>\n<p>Lesen Sie hier mehr zu <a href=\"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/off-the-shelf-software-ots-versus-soup\/\">SOUP und OTS<\/a> (Off-the-Shelf-Software), die nicht synonym sind.<\/p>\n<\/div>\n\n\n\n<p>In diesem Fall k\u00f6nnen Sie statt auf konkrete Interfaces auf \u201eabstrakte\u201c Interfaces verweisen. Beispiele daf\u00fcr w\u00e4ren \u201ePersistenz\u201c und \u201eUI\u201c. Dass nat\u00fcrlich eine UI tausenden Klassen und noch mehr Methoden bereitstellt, ist unbestritten. Diese zu listen, w\u00e4re von endlichem Wert. Im Gegenteil w\u00e4re der Sinn einer Architektur damit konterkariert. Dieser besteht darin:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Entwicklern und Testern eine pr\u00e4zise Vorgabe f\u00fcr deren Arbeit geben<\/li>\n\n\n\n<li>Die G\u00fcte der Architektur bewerten k\u00f6nnen<\/li>\n\n\n\n<li>Auswirkungen von \u00c4nderungen auf andere Komponenten und damit Risiken beurteilen k\u00f6nnen<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"fehler\">4. Typische Fehler<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 Falscher Zeitpunkt<\/h3>\n\n\n\n<p>Sie sollten keinesfalls in der \u00fcbergeordneten Komponente diese Spezifikation der Software-Schnittstellen offen lassen und das erst nachholen, wenn die Subkomponente spezifiziert wird. Wer das tut, l\u00e4uft Gefahr,<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fehler zu sp\u00e4t zu bemerken, unn\u00f6tige Nachbesserungen zu verursachen und dadurch das Projekt zu verz\u00f6gern,<\/li>\n\n\n\n<li>missverstandene Anforderungen des Kunden zu sp\u00e4t zu entdecken und dadurch Konflikte zu verursachen,<\/li>\n\n\n\n<li>wider den Vorschriften der Normen zu entwickeln,<\/li>\n\n\n\n<li>Rollen mit Aufgaben zu beauftragen, die daf\u00fcr nicht ausgebildet sind (beispielsweise Entwickler mit der Spezifikation der GUI statt Usability Engineers).<\/li>\n<\/ul>\n\n\n\n<div class=\"jig_defbox\"><div class=\"jig_defbox-definition\"><div class=\"jig_defbox-icon-wrapper\" style=\"fill:#919191\"><svg viewBox=\"0 0 512 512\" width=\"24\" height=\"24\" class=\"dashicons\" aria-hidden=\"true\"><g><path d=\"M430.9,177.6c-0.3-96-78.1-174.1-174-174.9c-0.1,0-0.2,0-0.4,0c-0.2,0-0.4,0-0.5,0c-0.2,0-0.4,0-0.5,0 c-0.1,0-0.2,0-0.4,0c-95.9,0.8-173.7,78.9-174,174.9c-0.4,7.3-1.9,60.3,36.6,109.2c29.5,37.6,49.4,74.7,55,85.9v63.5 c0,0,0,0.1,0,0.1c0,0.5,0,0.9,0.1,1.4c0,0.3,0.1,0.6,0.1,0.9c0,0.1,0,0.2,0,0.2c0.4,2.7,1.4,5.2,3,7.4l33.7,55.1 c3.1,5.1,8.7,8.2,14.7,8.2h61.8c6,0,11.5-3.1,14.7-8.2l33.7-55.1c1.5-2.1,2.6-4.6,3-7.4c0-0.1,0-0.2,0-0.2c0-0.3,0.1-0.6,0.1-0.9 c0-0.5,0.1-0.9,0.1-1.4c0,0,0-0.1,0-0.1v-60.3c1.2-2.4,22.3-45.5,56.7-89.2C432.8,237.8,431.3,184.9,430.9,177.6z M303.3,418.8 h-96.2v-33.1h96.2V418.8z M276.4,475h-42.5l-13.3-21.6h69L276.4,475z M311.6,351.4H200.4c-8.6-16.3-28-50.6-55.7-85.9 c-32-40.6-29.3-85.7-29.3-86c0-0.4,0.1-0.9,0.1-1.3c0-77.6,63-140.8,140.5-141.1c77.5,0.3,140.5,63.5,140.5,141.1 c0,0.4,0,0.9,0.1,1.3c0,0.4,3.1,44.9-29.3,86C339.5,300.8,320.2,335.1,311.6,351.4z\"><\/path><path d=\"M257.8,64.4c-62,0-112.5,50.5-112.5,112.5c0,9.5,7.7,17.2,17.2,17.2s17.2-7.7,17.2-17.2 c0-43.1,35-78.1,78.1-78.1c9.5,0,17.2-7.7,17.2-17.2S267.3,64.4,257.8,64.4z\"><\/path><\/g><\/svg><\/div><span class=\"jig_defbox-header\" style=\"color:#919191\">Tipp<\/span><\/div>\n<p>In den <a href=\"https:\/\/www.johner-institut.de\/digitale-dienstleistungen\/auditgarant\/\">Videotrainings im Auditgarant<\/a> beschreibe ich genau, wie Sie Schnittstellen schnell und normenkonform spezifizieren k\u00f6nnen und so die Voraussetzung schaffen f\u00fcr eine zielgerichtete Entwicklung ohne unn\u00f6tige Nachbesserungsschleifen.<\/p>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 Unpassende Verantwortlichkeiten<\/h3>\n\n\n\n<p>Die IEC 62304 ist leider an einigen Stellen in Kapitel 5.3 irref\u00fchrend. Die externen Schnittstellen eines Produkts sollten bereits als Teil der Produktanforderungen spezifiziert werden. Das ist typischerweise nicht die Aufgabe der Software-Entwicklung.<\/p>\n\n\n\n<p>Die externen Schnittstellen des Software-Systems sollten konform den Anforderungen im Kapitel 5.2 der IEC 62304 formuliert werden. Es gibt keine Notwendigkeit, diese Anforderungen als Teil der Software-Architektur im Kapitel 5.3 zu spezifizieren.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.3 Schlechte Architektur<\/h3>\n\n\n\n<p>Schwierigkeiten bei der Spezifikation der Software-Schnittstellen k\u00f6nnen ein Hinweis auf eine schlechte Software-Architektur sein.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Schwierigkeit<\/strong><\/td><td><strong>Hinweis auf m\u00f6gliches Problem<\/strong><\/td><\/tr><tr><td>Es ist sehr aufw\u00e4ndig, eine Software-Schnittstelle zu beschreiben.<\/td><td>Versto\u00df gegen die Heuristik von 7 +\/- 2 Komponenten, was zu etwas wie der \u201eWindows-DLL-H\u00f6lle\u201c f\u00fchren kann (Wartbarkeitsproblem)<\/td><\/tr><tr><td>Es gibt sehr viele Komponenten, deren Schnittstellen zu spezifizieren sind.<\/td><td>Versto\u00df gegen das Paradigma \u201eWeak Coupling\u201c, denn ein \u201eWeak Coupling\u201c bedeutet wenige Schnittstellen<\/td><\/tr><tr><td>Eine Komponente hat sehr viele Schnittstellen.<\/td><td>Versto\u00df gegen das Paradigma \u201eWeak Coupling\u201c, denn ein \u201eWeak Coupling\u201c bedeutet wenige Schnittstellen<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Tabelle 1: Schwierigkeiten bei der Spezifikation der Schnittstellen k\u00f6nnen ein Hinweis auf eine suboptimale Software-Architektur sein.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">5. Fazit<\/h2>\n\n\n\n<p>Es ist vergleichsweise einfach, die regulatorischen Anforderungen an die Dokumentation von Software-Schnittstellen zu erf\u00fcllen. Schwieriger ist es, gute Software-Architekturen zu entwerfen, die in wenigen und schlanken Software-Schnittstellen m\u00fcnden.<\/p>\n\n\n\n<div class=\"jig_defbox\"><div class=\"jig_defbox-definition\"><div class=\"jig_defbox-icon-wrapper\" style=\"fill:#919191\"><svg viewBox=\"0 0 50 50\" width=\"24\" height=\"24\" class=\"dashicons\" aria-hidden=\"true\"><rect width=\"10.16\" height=\"10.27\"><\/rect><rect y=\"13.24\" width=\"10.16\" height=\"10.27\"><\/rect><rect y=\"26.49\" width=\"10.16\" height=\"10.27\"><\/rect><rect x=\"13.15\" y=\"13.24\" width=\"10.16\" height=\"10.27\"><\/rect><rect x=\"13.15\" y=\"26.49\" width=\"10.16\" height=\"10.27\"><\/rect><rect x=\"13.15\" y=\"39.73\" width=\"10.16\" height=\"10.27\"><\/rect><\/svg><\/div><span class=\"jig_defbox-header\" style=\"color:#919191\">Unterst\u00fctzung<\/span><\/div>\n<p>Melden Sie sich (z. B. via <a href=\"\/kontakt\/\">Kontaktformular)<\/a>, um mit den Software- und Regulatory-Experts des Johner Instituts zu kl\u00e4ren, wie Sie pr\u00e4zise und wartbare Software-Architekturen entwerfen und die Software-Entwicklung schlank, verst\u00e4ndlich und normenkonform dokumentieren k\u00f6nnen.<\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u00c4nderungshistorie<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>2025-01-30: Beitrag komplett \u00fcberarbeitet und aktualisiert, Reihenfolge der Kapitel getauscht<\/li>\n\n\n\n<li>2018-05-10: Erste Version des Beitrags erstellt<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Interne Software-Schnittstellen sind notwendig, um Software-Komponenten innerhalb eines Software-Systems zu verbinden. Externe Software-Schnittstellen sind die Voraussetzung daf\u00fcr, dass das Software-System mit anderen Systemen kommunizieren kann. Dieser Artikel beschreibt, wie Sie Software-Schnittstellen gesetzeskonform und praxisnah dokumentieren k\u00f6nnen.<\/p>\n","protected":false},"author":113,"featured_media":9127,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[184],"tags":[269,863,362],"ppma_author":[1206],"class_list":["post-8419","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-iec-62304-medizinische-software","tag-medizinische-software","tag-software-anforderungen","tag-software-architektur","category-184","description-off"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Software-Schnittstellen: Beschreibung konform IEC 62304<\/title>\n<meta name=\"description\" content=\"Die IEC 62304 fordert die Spezifikation von Software-Schnittstellen. Wie Sie interne und externe Software-Schnittstellen dokumentieren\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Software-Schnittstellen: Beschreibung konform IEC 62304\" \/>\n<meta property=\"og:description\" content=\"Die IEC 62304 fordert die Spezifikation von Software-Schnittstellen. Wie Sie interne und externe Software-Schnittstellen dokumentieren\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/\" \/>\n<meta property=\"og:site_name\" content=\"Regulatorisches Wissen f\u00fcr Medizinprodukte\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/JohnerInstitut\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-30T15:17:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-01T07:58:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1220\" \/>\n\t<meta property=\"og:image:height\" content=\"887\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Janos Hackenbeck\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Janos Hackenbeck\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/\"},\"author\":{\"name\":\"Janos Hackenbeck\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#\\\/schema\\\/person\\\/a8092bff9934d179ff93433b4a7e9f21\"},\"headline\":\"Software-Schnittstellen konform IEC 62304\",\"datePublished\":\"2025-01-30T15:17:09+00:00\",\"dateModified\":\"2025-02-01T07:58:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/\"},\"wordCount\":1431,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Komponenten-interne-externe-Schnittstellen.png\",\"keywords\":[\"Medizinische Software \\\/ Medical Device Software\",\"Software-Anforderungen IEC-62304-konform dokumentieren\",\"Software-Architektur (IEC-62304-konform)\"],\"articleSection\":[\"Software &amp; IEC 62304\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/\",\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/\",\"name\":\"Software-Schnittstellen: Beschreibung konform IEC 62304\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Komponenten-interne-externe-Schnittstellen.png\",\"datePublished\":\"2025-01-30T15:17:09+00:00\",\"dateModified\":\"2025-02-01T07:58:21+00:00\",\"description\":\"Die IEC 62304 fordert die Spezifikation von Software-Schnittstellen. Wie Sie interne und externe Software-Schnittstellen dokumentieren\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Komponenten-interne-externe-Schnittstellen.png\",\"contentUrl\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Komponenten-interne-externe-Schnittstellen.png\",\"width\":1220,\"height\":887,\"caption\":\"Komponenten: Interne und externe Schnittstellen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/software-schnittstellen-beschreibung-konform-iec-62304\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Software &amp; IEC 62304\",\"item\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/category\\\/iec-62304-medizinische-software\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Software-Schnittstellen konform IEC 62304\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/\",\"name\":\"Regulatorisches Wissen f\u00fcr Medizinprodukte\",\"description\":\"Fachartikel zur Entwicklung und Zulassung von Medizinprodukten und weiteren regulatorischen Themen\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#organization\",\"name\":\"Johner Institut GmbH\",\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/07\\\/Johner-Institut.png\",\"contentUrl\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/07\\\/Johner-Institut.png\",\"width\":1213,\"height\":286,\"caption\":\"Johner Institut GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/JohnerInstitut\\\/\",\"https:\\\/\\\/x.com\\\/christianjohner\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/JohnerInstitut\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#\\\/schema\\\/person\\\/a8092bff9934d179ff93433b4a7e9f21\",\"name\":\"Janos Hackenbeck\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/Janos-Hackenbeck_300x300.pnga589e3e444c74132e654890732437603\",\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/Janos-Hackenbeck_300x300.png\",\"contentUrl\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/Janos-Hackenbeck_300x300.png\",\"caption\":\"Janos Hackenbeck\"},\"description\":\"Janos Hackenbeck ist studierter Medizinphysiker. Durch langj\u00e4hrige Erfahrung in der Qualit\u00e4tssicherung von Software und beim Aufbau von Softwareprojekten unter IEC 62304 und ISO 13485 ist er Experte f\u00fcr Medizinproduktesoftware. Vom Standort Berlin aus unterst\u00fctzt er Kunden des Johner Instituts mit Schwerpunkt auf IVD-Software.\",\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/author\\\/janos-hackenbeck\\\/\"}]}<\/script>\n<meta name=\"copyright\" content=\"Johner Institut GmbH\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Software-Schnittstellen: Beschreibung konform IEC 62304","description":"Die IEC 62304 fordert die Spezifikation von Software-Schnittstellen. Wie Sie interne und externe Software-Schnittstellen dokumentieren","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/","og_locale":"de_DE","og_type":"article","og_title":"Software-Schnittstellen: Beschreibung konform IEC 62304","og_description":"Die IEC 62304 fordert die Spezifikation von Software-Schnittstellen. Wie Sie interne und externe Software-Schnittstellen dokumentieren","og_url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/","og_site_name":"Regulatorisches Wissen f\u00fcr Medizinprodukte","article_publisher":"https:\/\/www.facebook.com\/JohnerInstitut\/","article_published_time":"2025-01-30T15:17:09+00:00","article_modified_time":"2025-02-01T07:58:21+00:00","og_image":[{"width":1220,"height":887,"url":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen.png","type":"image\/png"}],"author":"Janos Hackenbeck","twitter_misc":{"Verfasst von":"Janos Hackenbeck","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/#article","isPartOf":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/"},"author":{"name":"Janos Hackenbeck","@id":"https:\/\/www.johner-institut.de\/blog\/#\/schema\/person\/a8092bff9934d179ff93433b4a7e9f21"},"headline":"Software-Schnittstellen konform IEC 62304","datePublished":"2025-01-30T15:17:09+00:00","dateModified":"2025-02-01T07:58:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/"},"wordCount":1431,"commentCount":2,"publisher":{"@id":"https:\/\/www.johner-institut.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/#primaryimage"},"thumbnailUrl":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen.png","keywords":["Medizinische Software \/ Medical Device Software","Software-Anforderungen IEC-62304-konform dokumentieren","Software-Architektur (IEC-62304-konform)"],"articleSection":["Software &amp; IEC 62304"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/","url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/","name":"Software-Schnittstellen: Beschreibung konform IEC 62304","isPartOf":{"@id":"https:\/\/www.johner-institut.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/#primaryimage"},"image":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/#primaryimage"},"thumbnailUrl":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen.png","datePublished":"2025-01-30T15:17:09+00:00","dateModified":"2025-02-01T07:58:21+00:00","description":"Die IEC 62304 fordert die Spezifikation von Software-Schnittstellen. Wie Sie interne und externe Software-Schnittstellen dokumentieren","breadcrumb":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/#primaryimage","url":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen.png","contentUrl":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen.png","width":1220,"height":887,"caption":"Komponenten: Interne und externe Schnittstellen"},{"@type":"BreadcrumbList","@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-schnittstellen-beschreibung-konform-iec-62304\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/www.johner-institut.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Software &amp; IEC 62304","item":"https:\/\/www.johner-institut.de\/blog\/category\/iec-62304-medizinische-software\/"},{"@type":"ListItem","position":3,"name":"Software-Schnittstellen konform IEC 62304"}]},{"@type":"WebSite","@id":"https:\/\/www.johner-institut.de\/blog\/#website","url":"https:\/\/www.johner-institut.de\/blog\/","name":"Regulatorisches Wissen f\u00fcr Medizinprodukte","description":"Fachartikel zur Entwicklung und Zulassung von Medizinprodukten und weiteren regulatorischen Themen","publisher":{"@id":"https:\/\/www.johner-institut.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.johner-institut.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.johner-institut.de\/blog\/#organization","name":"Johner Institut GmbH","url":"https:\/\/www.johner-institut.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.johner-institut.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/07\/Johner-Institut.png","contentUrl":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/07\/Johner-Institut.png","width":1213,"height":286,"caption":"Johner Institut GmbH"},"image":{"@id":"https:\/\/www.johner-institut.de\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/JohnerInstitut\/","https:\/\/x.com\/christianjohner","https:\/\/www.youtube.com\/user\/JohnerInstitut"]},{"@type":"Person","@id":"https:\/\/www.johner-institut.de\/blog\/#\/schema\/person\/a8092bff9934d179ff93433b4a7e9f21","name":"Janos Hackenbeck","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2024\/05\/Janos-Hackenbeck_300x300.pnga589e3e444c74132e654890732437603","url":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2024\/05\/Janos-Hackenbeck_300x300.png","contentUrl":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2024\/05\/Janos-Hackenbeck_300x300.png","caption":"Janos Hackenbeck"},"description":"Janos Hackenbeck ist studierter Medizinphysiker. Durch langj\u00e4hrige Erfahrung in der Qualit\u00e4tssicherung von Software und beim Aufbau von Softwareprojekten unter IEC 62304 und ISO 13485 ist er Experte f\u00fcr Medizinproduktesoftware. Vom Standort Berlin aus unterst\u00fctzt er Kunden des Johner Instituts mit Schwerpunkt auf IVD-Software.","url":"https:\/\/www.johner-institut.de\/blog\/author\/janos-hackenbeck\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/11\/Komponenten-interne-externe-Schnittstellen.png","jetpack-related-posts":[{"id":5371949,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-komponenten\/","url_meta":{"origin":8419,"position":0},"title":"Software-Komponenten konform mit IEC 62304 und FDA entwickeln","author":"Prof. Dr. Christian Johner","date":"9. Mai 2023","format":false,"excerpt":"Die Hersteller medizinischer Software m\u00fcssen die gesetzlichen Anforderungen an die Software-Komponenten erf\u00fcllen, um ihre Produkte \u201ezulassen\u201c zu d\u00fcrfen. Dieser Artikel stellt diese Anforderungen vor und gibt 7 Tipps, wie diese schnell und einfach zu erf\u00fcllen sind. 1. Was Software-Komponenten sind a) Definition Die IEC 62304 definiert den Begriff Software-Komponente wie\u2026","rel":"","context":"In &quot;Software &amp; IEC 62304&quot;","block_context":{"text":"Software &amp; IEC 62304","link":"https:\/\/www.johner-institut.de\/blog\/category\/iec-62304-medizinische-software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/04\/Software-Komponenten.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/04\/Software-Komponenten.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/04\/Software-Komponenten.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/04\/Software-Komponenten.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/04\/Software-Komponenten.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":11771,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-einheiten-iec-62304\/","url_meta":{"origin":8419,"position":1},"title":"Software-Einheit: spezifizieren und testen unter IEC 62304","author":"Janos Hackenbeck","date":"15. September 2015","format":false,"excerpt":"Der Begriff der Software-Einheit (englisch: Software Unit) entstammt der IEC 62304. Vielen\u00a0Herstellern unterlaufen beim Spezifizieren und Testen dieser Software-Einheiten\u00a0Fehler. Diese Artikel gibt Ihnen Tipps, diese zu vermeiden. Definitionen Definition Software-Einheit Die IEC 62304 definiert eine Software-Einheit als \"Software-Komponente, die nicht in weitere Komponenten unterteilt ist\". Definition Software-Komponente Eine Software-Komponente definiert\u2026","rel":"","context":"In &quot;Software &amp; IEC 62304&quot;","block_context":{"text":"Software &amp; IEC 62304","link":"https:\/\/www.johner-institut.de\/blog\/category\/iec-62304-medizinische-software\/"},"img":{"alt_text":"Software-Einheiten, Software-Komponenten und Software-System im Kompoentenbaum","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/09\/Software-Einheit-Software-Komponente-1.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/09\/Software-Einheit-Software-Komponente-1.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/09\/Software-Einheit-Software-Komponente-1.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/09\/Software-Einheit-Software-Komponente-1.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":8575,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/detailliertes-design-iec-62304-kapitel-5-4\/","url_meta":{"origin":8419,"position":2},"title":"Detailliertes Design: FDA und IEC 62304 konform dokumentieren","author":"Dr. Tina Priewasser","date":"26. Juli 2016","format":false,"excerpt":"Ein\u00a0\"detailliertes Design\" fordern sowohl die IEC 62304 als auch die FDA, jedoch ohne diesen Begriff pr\u00e4zise\u00a0zu definieren. Lesen Sie hier, wie Sie die regulatorischen Anforderungen schnell und \"auditsicher\"\u00a0erf\u00fcllen k\u00f6nnen. \"Detailliertes Design\": Begriffsdefinition Definition nach\u00a0ISO\/IEC 24765 Die ISO\/IEC 24765 (\"Systems and software engineering - Vocabulary\") definiert \"Detailed design\" wie folgt: The\u2026","rel":"","context":"In &quot;Software &amp; IEC 62304&quot;","block_context":{"text":"Software &amp; IEC 62304","link":"https:\/\/www.johner-institut.de\/blog\/category\/iec-62304-medizinische-software\/"},"img":{"alt_text":"Software-Architektur-Software bis detailliertes Design","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2016\/08\/Software-Architektur-Software-detailliertes-Design.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2016\/08\/Software-Architektur-Software-detailliertes-Design.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2016\/08\/Software-Architektur-Software-detailliertes-Design.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2016\/08\/Software-Architektur-Software-detailliertes-Design.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":11225,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-architektur-dokumentation\/","url_meta":{"origin":8419,"position":3},"title":"Software-Architektur Dokumentation","author":"Dr. Tina Priewasser","date":"10. Juli 2015","format":false,"excerpt":"Die Software-Architektur Dokumentation dient vor allem diesen\u00a0Zielen: Eine schnelle und effektive Entwicklung\u00a0erm\u00f6glichen Das Entwicklungsprojekt --Zeiten, Ressourcen -- pr\u00e4zise planen Die regulatorischen Anforderungen an die Software-Architektur\u00a0erf\u00fcllen Die Weiterentwicklung des Systems und die Einarbeitung neuer Mitarbeiter erleichtern Eine schnelle, effektive und planbare Software-Entwicklung wird v.a. dann gelingen, wenn man\u00a0die\u00a0Aufgabe (eine Software zu\u2026","rel":"","context":"In &quot;Software &amp; IEC 62304&quot;","block_context":{"text":"Software &amp; IEC 62304","link":"https:\/\/www.johner-institut.de\/blog\/category\/iec-62304-medizinische-software\/"},"img":{"alt_text":"Die Software-Architektur Dokumentation umfasst auch die Bausteinsicht (hier in drei Hierarchiebenen)","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/07\/Software-Architektur-Dokumentation.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/07\/Software-Architektur-Dokumentation.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/07\/Software-Architektur-Dokumentation.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/07\/Software-Architektur-Dokumentation.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":8579,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/sicherheitsklassen-iec-62304\/","url_meta":{"origin":8419,"position":4},"title":"Sicherheitsklassen gem\u00e4\u00df IEC 62304","author":"Claudia Schmitt","date":"10. Oktober 2025","format":false,"excerpt":"Die IEC 62304 definiert Sicherheitsklassen, damit Medizinproduktehersteller den Aufwand f\u00fcr die Software-Dokumentation an den Grad von Sch\u00e4den anpassen k\u00f6nnen, die durch einen Softwarefehler verursacht werden k\u00f6nnen. Dieser Expert Article hilft, die Sicherheitsklassen zu bestimmen, gegebenenfalls zu reduzieren, damit den Aufwand zu minimieren und dennoch IEC-62304-konform zu dokumentieren. Key-Takeaways Die IEC\u2026","rel":"","context":"In &quot;Software &amp; IEC 62304&quot;","block_context":{"text":"Software &amp; IEC 62304","link":"https:\/\/www.johner-institut.de\/blog\/category\/iec-62304-medizinische-software\/"},"img":{"alt_text":"IEC 62304: Sicherheitsklassen gem\u00e4\u00df Ammendment I (Entscheidungsdiagramm)","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/07\/IEC-62304-Sicherheitsklassen-Ammendment-I.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":8441,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/integrationstests-und-strategie\/","url_meta":{"origin":8419,"position":5},"title":"Integrationstests bei Software &#038; Integrationsstrategie","author":"Urs M\u00fcller","date":"24. Januar 2023","format":false,"excerpt":"Sowohl die IEC 62304 als auch die FDA fordern Integrationspr\u00fcfungen, typischerweise in Form von Integrationstests. 1. Was sind Integrationstests? Definition: Integrationstest Integrationstests sind in der Software-Entwicklung eine Abfolge von Einzeltest mit dem Ziel, Fehler im Zusammenspiel verschiedener, voneinander abh\u00e4ngiger (und bereits getesteter) Software-Komponenten eines Software-Systems zu finden. Quelle: Johner Institut,\u2026","rel":"","context":"In &quot;Software &amp; IEC 62304&quot;","block_context":{"text":"Software &amp; IEC 62304","link":"https:\/\/www.johner-institut.de\/blog\/category\/iec-62304-medizinische-software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/01\/Integrationstests-scaled.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/01\/Integrationstests-scaled.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/01\/Integrationstests-scaled.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/01\/Integrationstests-scaled.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/01\/Integrationstests-scaled.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/01\/Integrationstests-scaled.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"jetpack_shortlink":"https:\/\/wp.me\/pavawf-2bN","jetpack_sharing_enabled":true,"authors":[{"term_id":1206,"user_id":113,"is_guest":0,"slug":"janos-hackenbeck","display_name":"Janos Hackenbeck","avatar_url":{"url":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2024\/05\/Janos-Hackenbeck_300x300.png","url2x":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2024\/05\/Janos-Hackenbeck_300x300.png"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":""}],"_links":{"self":[{"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/posts\/8419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/users\/113"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/comments?post=8419"}],"version-history":[{"count":19,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/posts\/8419\/revisions"}],"predecessor-version":[{"id":5380576,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/posts\/8419\/revisions\/5380576"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/media\/9127"}],"wp:attachment":[{"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/media?parent=8419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/categories?post=8419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/tags?post=8419"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/ppma_author?post=8419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}