{"id":4275934,"date":"2021-09-14T08:35:00","date_gmt":"2021-09-14T07:35:00","guid":{"rendered":"https:\/\/www.johner-institut.de\/blog\/?p=4275934"},"modified":"2023-09-11T16:48:04","modified_gmt":"2023-09-11T14:48:04","slug":"code-generierung","status":"publish","type":"post","link":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/","title":{"rendered":"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?"},"content":{"rendered":"\n<p>Bei Code-Generierung denken viele an eine automatisierte und daher schnelle Erzeugung von bereits implizit qualit\u00e4tsgesichertem Code.<\/p>\n\n\n\n<p>Diese Hoffnungen werden nicht immer erf\u00fcllt. Trotzdem bieten Code-Generatoren Vorteile speziell f\u00fcr Hersteller in regulierten Branchen wie die der Medizinprodukte.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">1. Einf\u00fchrung in die Code-Generierung<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">a) Was versteht man unter Code-Generierung?<\/h3>\n\n\n\n<p>Ein Code-Generator ist ein Softwareprogramm, das den Quellcode in einer gew\u00e4hlten Programmiersprache erzeugt aus<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Modellen (z. B. UML, SysML),<\/li>\n\n\n\n<li>einer anderen formalen Sprache (XML, Domain Specific Language) oder<\/li>\n\n\n\n<li>anderen Formaten (z. B. Entscheidungstabellen).<\/li>\n<\/ul>\n\n\n\n<p>Das folgende Beispiel zeigt ein Modell und den daraus generierten Quellcode.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"184\" src=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell.jpg\" alt=\"Code-Generierung: Beispiel f\u00fcr ein einfaches Modell\" class=\"wp-image-4275943\" srcset=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell.jpg 605w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell-300x91.jpg 300w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell-200x61.jpg 200w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell-400x122.jpg 400w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell-600x182.jpg 600w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\"><meta charset=\"utf-8\">Abb. 1: Ein einfaches Modell (Quelle: Matthias van der Staay, IMT AG)<\/figcaption><\/figure>\n\n\n\n<p>Aus solch einem Modell erzeugt ein Code-Generator folgenden Quellcode:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generator-Code.png\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" width=\"778\" height=\"234\" src=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generator-Code.png\" alt=\"Screenshot mit dem aus dem obigen Modell erzeugten Quell-Code\" class=\"wp-image-4275948\" srcset=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generator-Code.png 778w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generator-Code-300x90.png 300w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generator-Code-768x231.png 768w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generator-Code-200x60.png 200w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generator-Code-400x120.png 400w, https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generator-Code-600x180.png 600w\" sizes=\"auto, (max-width: 778px) 100vw, 778px\" \/><\/a><figcaption class=\"wp-element-caption\">Abb. 2: Der aus dem Modell erzeugte Quellcode <meta charset=\"utf-8\">(Quelle: Matthias van der Staay, IMT AG)<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">b) Wo setzt man Code-Generatoren ein?<\/h3>\n\n\n\n<p>Code-Generatoren kommen v. a. dann zum Einsatz, wenn <a href=\"https:\/\/de.wikipedia.org\/wiki\/Boilerplate-Code\">Boiler-Plate-Code<\/a> erzeugt werden muss oder sich die Funktionsweise des Codes gut in einem Modell beschreiben l\u00e4sst.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Datenbankzugriff<\/h4>\n\n\n\n<p>Viele Entwicklungsframeworks bieten Code-Generatoren an, z. B. Ruby on Rails.<\/p>\n\n\n\n<p>Besonders beim Zugriff auf Datenbanken haben sich Code-Generatoren bew\u00e4hrt, die f\u00fcr ein gegebenes Datenbank-Schema die Zugriffsklassen f\u00fcr die \u00fcblichen <a href=\"https:\/\/de.wikipedia.org\/wiki\/CRUD\">CRUD-Operationen<\/a> erzeugen oder f\u00fcr gegebene Gesch\u00e4ftsklassen den Code zur Datenspeicherung (Persistenz) und f\u00fcr die entsprechenden <a href=\"https:\/\/de.wikipedia.org\/wiki\/Data_Definition_Language\">DDL-Befehle<\/a> schreiben.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Stubs und Skeletons<\/h4>\n\n\n\n<p>Bei <a href=\"https:\/\/de.wikipedia.org\/wiki\/Verteiltes_System\">verteilten Systemen <\/a>m\u00fcssen Daten serialisiert bzw. deserialisiert werden, z. B. von Objekten nach JSON, XML oder propriet\u00e4ren Bin\u00e4rformaten bzw. umgekehrt. Auch ein solcher Code l\u00e4sst sich in vielen F\u00e4llen vollst\u00e4ndig erzeugen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Signalverarbeitung<\/h4>\n\n\n\n<p>Bei der elektronischen Signalverarbeitung entwickeln viele Firmen die Komponenten zuerst mit Hilfe von Simulationswerkzeugen wie MATLAB\/Simulink. Nach der erfolgreichen Verifizierung besteht der n\u00e4chste Entwicklungsschritt darin, diese L\u00f6sungen in Hardware oder\/und Software zu realisieren.<\/p>\n\n\n\n<p>Im Fall von Software liegt der Gedanke nah, den Quellcode direkt aus dem Modell im Simulationswerkzeug zu generieren. In der Tat bieten deren Hersteller oft entsprechende M\u00f6glichkeiten.<\/p>\n\n\n\n<p>Falls diese M\u00f6glichkeiten nicht ausreichen, bleibt den Entwicklern noch der Weg, einen eigenen (besseren) Code-Generator zu entwickeln. Solch ein Code-Generator nutzt dann entweder eine API des Simulationswerkzeugs oder liest die Modelldateien ein, die dieses Tool erzeugt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">c) Welchen Nutzen verspricht die Code-Generierung?<\/h3>\n\n\n\n<p>Viele Vorteile der Code-Generierung liegen auf der Hand, andere sind weniger offensichtlich, und wieder andere erf\u00fcllen sich in der Praxis nicht:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>H\u00f6here Geschwindigkeit bei der (Weiter-)Entwicklung der Software<br><\/strong>Code-Generatoren k\u00f6nnen Hunderttausende Zeilen Code pro Tag erzeugen und sind damit jedem Entwickler haushoch \u00fcberlegen. Allerdings verschieben diese Generatoren die Entwicklung von der Programmierung zur Modellierung.<br>Die Pflege von Modellen ist oft einfacher als die Pflege von Quellcode, da Modelle einen schnelleren \u00dcberblick erlauben und unabh\u00e4ngiger vom \u201eProgrammierstil\u201c des Einzelnen sind.<br>Besonders bei Hardware-nahem Code wie in der Mess- und Regeltechnik beschleunigt die Verkn\u00fcpfung von Modellierung und Simulation die Entwicklung nennenswert. Der Gro\u00dfteil des Designs erfolgt anhand von \u201eDigital Twins\u201c und erspart die aufwendige Entwicklung vieler Hardware-Prototypen.<br><br><\/li>\n\n\n\n<li><strong>Besserer Code<br><\/strong>Modelle erlauben formale Pr\u00fcfungen, z. B. von deren Konsistenz und der Einhaltung von Constraints. <br>Zudem unterlaufen Code-Generatoren keine Fl\u00fcchtigkeitsfehler. Sie k\u00f6nnen Code erzeugen, der \u00fcbliche Codier-Richtlinien automatisiert einh\u00e4lt.<br>Der generierte Code und damit dessen Architektur ist konsistent und idealerweise bereits durch den Code-Generator qualit\u00e4tsgesichert.<br><br><\/li>\n\n\n\n<li><strong>Einfachere regulatorische Compliance<br><\/strong>Eine regulatorische Anforderung (z. B. MDR Anhang II, IEC 62304 Kapitel 5.3) besteht darin, dass Hersteller die <a href=\"https:\/\/www.johner-institut.de\/blog\/tag\/software-architektur\/\">Software-Architektur<\/a> beschreiben und verifizieren m\u00fcssen. Die Modelle entsprechen bereits dieser Dokumentation. <br>Sie lassen sich zudem besser formal verifizieren, als das bei text- bzw. dokumentenorientierten Architekturbeschreibungen m\u00f6glich ist. Die IEC 62304 fordert die Verifizierung der Software-Architektur.<br>Zudem verlangt die IEC 62304 in Kapitel 5.5, dass der Hersteller pr\u00fcfen muss, ob der Software-Code die Architektur umsetzt. Das ist bei generiertem Code automatisch der Fall.<strong><br><br><\/strong><\/li>\n\n\n\n<li><strong>H\u00f6here Zukunftsf\u00e4higkeit<br><\/strong>Programmiersprachen entwickeln sich st\u00e4ndig weiter. Dies erfordert regelm\u00e4\u00dfige Wartungsprojekte, um die Kompatibilit\u00e4t der Software mit neuen bzw. \u201edeprecated\u201c APIs und Sprachkonstrukten zu gew\u00e4hrleisten und damit dem Stand der Technik zu entsprechen.<br>Bei generiertem Code ist \u201enur\u201c die Anpassung des Code-Generators notwendig, aber nicht die Anpassung der ganzen Software-Anwendungen.<br>Hersteller, die Modelle verwenden, haben langfristig die M\u00f6glichkeit, auf die Code-Generierung zu verzichten und die Modelle in entsprechenden Laufzeitumgebungen auszuf\u00fchren.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. Regulatorische Anforderungen an die Code-Generierung<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">a) Anforderungen der ISO 13485<\/h3>\n\n\n\n<p>Die ISO 13485 verpflichtet die Hersteller zur<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201eValidierung der Anwendung der Computersoftware im Qualit\u00e4tsmanagementsystem\u201c (Computerized Systems Validation) und<\/li>\n\n\n\n<li>\u201eValidierung von Prozessen zur Produktion- und Dienstleistungserbringung\u201c einschlie\u00dflich \u201eQualifizierung der Ausr\u00fcstung\u201c und Validierung der dazu eingesetzten Software.<\/li>\n<\/ul>\n\n\n\n<p>Damit unterliegen Code-Generatoren der Validierungspflicht.<\/p>\n\n\n\n<p>Lesen Sie im <a href=\"https:\/\/www.johner-institut.de\/blog\/regulatory-affairs\/computer-system-validation-csv\/\">Fachartikel zur Computerized Systems Validation<\/a>, wie Sie diese Pflicht effizient und normenkonform erf\u00fcllen. Beachten Sie, dass sich die Software-Validierung nicht auf die Pr\u00fcfung der entwickelten Software (als Blackbox) beschr\u00e4nkt. Mehr zu den verschiedenen Definitionen des Begriffs Validierung erfahren Sie im <a href=\"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/verifizierung-und-validierung-von-medizinprodukten\/\">Video zur Verifizierung und Validierung<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">b) Anforderungen der IEC 62304<\/h3>\n\n\n\n<p>Hersteller haben zwei M\u00f6glichkeiten, den generierten Code aus Sicht der IEC 62304 zu behandeln:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Der generierte Code wird den gleichen Ma\u00dfnahmen zur Qualit\u00e4tssicherung unterworfen wie handgeschriebener Code. Auf bestimmte Aktivit\u00e4ten, wie die statische Code-Analyse oder Code-Reviews, kann ggf. verzichtet werden.<\/li>\n\n\n\n<li>Der generierte Code wird als SOUP (Software of Unknown Provenance) klassifiziert. Damit m\u00fcssten Hersteller die SOUP-Anforderungen (u. a. im Kapitel 5.3) erf\u00fcllen.<\/li>\n<\/ol>\n\n\n\n<p><strong>Achtung<\/strong>: Auf Medizinprodukte, die in den USA vertrieben werden, ist der SOUP-Ansatz nicht direkt \u00fcbertragbar, da die FDA das Konzept von OTS (Off-the-Shelf Software) kennt. Eigenentwickelter bzw. selbst-generierter Code f\u00e4llt aber nicht darunter. Lesen Sie hier mehr zu den <a href=\"https:\/\/www.johner-institut.de\/blog\/fda\/off-the-shelf-software-ots-versus-soup\/\">Gemeinsamkeiten und Unterschieden von SOUP und OTS<\/a>, um Probleme bei Audits und Inspektionen zu vermeiden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Herausforderungen bei der Code-Generierung<\/h2>\n\n\n\n<p>Hersteller, die Software mit Hilfe von Code-Generatoren erzeugen wollen, m\u00fcssen einige Herausforderungen bew\u00e4ltigen. Wie das gelingen kann, zeigt dieses Kapitel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">a) Regulatorische Anforderungen<\/h3>\n\n\n\n<p>Dass die Hersteller die o. g. regulatorischen Anforderungen erf\u00fcllen m\u00fcssen, ist offensichtlich. Hierzu ist es wichtig, fr\u00fchzeitig eine Strategie festzulegen, wie die Qualit\u00e4t des Code-Generators und des erzeugten Codes erreicht und nachgewiesen werden soll.<\/p>\n\n\n\n<p>Dabei sollten Hersteller auf das Folgende achten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Entscheiden, ob der erzeugte Code als SOUP betrachtet wird<\/li>\n\n\n\n<li>Im Entwicklungsplan des Medizinprodukts die Verifizierung des Modells festlegen<\/li>\n\n\n\n<li>Im Entwicklungsplan des Medizinprodukts die Verifizierung des erzeugten Codes festlegen<\/li>\n\n\n\n<li>Die Anforderungen des Code-Generators vor dessen Entwicklung spezifizieren<\/li>\n\n\n\n<li>Die Architektur des Code-Generators beschreiben<\/li>\n\n\n\n<li>Die Software des Code-Generators verifizieren, z. B. durch Code-Reviews, statische Code-Analyse, Unit-, Integrations- und Systemtests<\/li>\n\n\n\n<li>Diese qualit\u00e4tssichernden Ma\u00dfnahmen vor (!) Entwicklung des Code-Generators festlegen<\/li>\n<\/ul>\n\n\n\n<p>Hinweis: Zum Zeitpunkt der Entwicklung des Code-Generators steht oft noch nicht fest, bei welchen Medizinprodukte-Projekten er zum Einsatz kommen wird. Daher ist eine risikobasierte Entwicklung schwierig. Die Entwicklung sollte also mindestens den gleichen Anforderungen gen\u00fcgen wie die Entwicklung von (kritischen) Medizinprodukten.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">b) Aufwand zur Erstellung und Qualit\u00e4tssicherung<\/h3>\n\n\n\n<p>Nicht nur die regulatorischen Anforderungen f\u00fchren zu einem nennenswerten Aufwand bei der Entwicklung von Code-Generatoren. Dieser rechnet sich meist nur, wenn ein Generator in mehreren Projekten (mehrere Produkte, mehrere Versionen eines Produkts) zum Einsatz kommt.<\/p>\n\n\n\n<p>Gegebenenfalls fallen neben der Arbeitszeit noch Lizenzkosten an.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">c) Make or Buy?<\/h3>\n\n\n\n<p>Daher sollten Hersteller immer auch den Kauf bestehender L\u00f6sungen in Betracht ziehen. Bei der Make-or-Buy-Entscheidung und bei der Entscheidung zwischen mehreren (kommerziellen) Produkten helfen die folgenden Kriterien:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Passgenauigkeit der funktionalen Anforderungen, z. B. bez\u00fcglich Einsatzgebiet, Modellierungssprache und Zielsprache (Programmiersprache) <\/li>\n\n\n\n<li>G\u00fcte des erzeugten Codes (z. B. Konformit\u00e4t mit Codier-Richtlinien)<\/li>\n\n\n\n<li>Entstehende Abh\u00e4ngigkeit vom Hersteller des Code-Generators<\/li>\n\n\n\n<li>Preis des Code-Generators<\/li>\n\n\n\n<li>G\u00fcte der Anwenderdokumentation<\/li>\n\n\n\n<li>M\u00f6glichkeit, die G\u00fcte des Code-Generators und der zugeh\u00f6rigen Entwicklungsprozesse zu bewerten, z. B. anhand von Entwicklungsdokumenten oder Lieferantenaudits<\/li>\n\n\n\n<li>Verf\u00fcgbarkeit und G\u00fcte des Supports f\u00fcr den jeweiligen Code-Generator<\/li>\n\n\n\n<li>Erf\u00fcllung nicht-funktionaler Anforderungen wie Geschwindigkeit, Stabilit\u00e4t, Hardware-Voraussetzungen, Betriebssystem.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">d) Entwicklung eines Code-Generators<\/h3>\n\n\n\n<p>Wenn sich ein Hersteller entscheidet, einen Code-Generator selbst zu entwickeln, muss er nicht nur in der Lage sein, die Aufw\u00e4nde daf\u00fcr zu tragen. Der Hersteller muss auch den Herausforderungen der Software-Entwicklung begegnen und diese umsetzen k\u00f6nnen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Wahl der Beschreibungssprache<\/h4>\n\n\n\n<p>Es ist entscheidend, eine Beschreibungssprache (z. B. UML) zu w\u00e4hlen, die sich eignet, um die jeweilige Dom\u00e4ne zu modellieren. Die Notationen unterscheiden sich bei flowbasierter und zustandsbasierter Softwareentwicklung. Die Generierung von Software f\u00fcr die Batch-Verarbeitung unterscheidet sich von der kontinuierlichen Verarbeitung.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Validierung von Modellen<\/h4>\n\n\n\n<p>Es w\u00e4re hilfreich, wenn der Code-Generator automatisch Inkonsistenzen und den Versto\u00df gegen Vorgaben und Constraints bemerken und so die Modelle validieren k\u00f6nnte. Das bedingt, dass diese Vorgaben und Constraints formal beschrieben werden k\u00f6nnen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Balance von Komplexit\u00e4t und Leistungsf\u00e4higkeit<\/h4>\n\n\n\n<p>Je komplexer die Modelle sind, die der Code-Generator zu erstellen erlaubt, desto schwieriger wird nicht nur seine Entwicklung, sondern auch seine Nutzung.<\/p>\n\n\n\n<p>Einige Firmen erlauben, Modelle durch Skripte zu erg\u00e4nzen, und versuchen so eine Balance zu erreichen. Damit beginnt aber eine Verlagerung der Software-Entwicklung in der Zielumgebung zu einer Software-Entwicklung in der Modellierungsumgebung. Das wiederum ist verbunden mit allen regulatorischen Herausforderungen und Anforderungen an die Qualit\u00e4tssicherung von Modellen und Skripten.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Synchronisation von Modell und generiertem Code<\/h4>\n\n\n\n<p>Wenn das Modell es nicht erlaubt, den Code vollst\u00e4ndig zu generieren, m\u00fcssen die Entwickler in der \u201eZielsoftware\u201c Erg\u00e4nzungen vornehmen. Solche Bereiche m\u00fcssen davor gesch\u00fctzt werden, bei einer \u00dcberarbeitung des Modells \u00fcberschrieben zu werden.<\/p>\n\n\n\n<p>\u00c4nderungen des Modells k\u00f6nnen dennoch dazu f\u00fchren, dass der erg\u00e4nzte Code im schlechtesten Fall nicht einmal mehr kompiliert. Das bedeutet, dass die Zielsoftware \u2013 die generierte und manuell erg\u00e4nzte Software \u2013 einer vollst\u00e4ndigen Qualit\u00e4tssicherung unterliegen muss.<\/p>\n\n\n\n<p>In jedem Fall sollten Hersteller auch f\u00fcr den generierten Code ein Versionskontrollsystem verwenden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">e) \u00dcberkomplexe Modelle<\/h3>\n\n\n\n<p>Meist nutzen die grafischen Modellierungswerkzeuge eine hierarchische Darstellung. Dadurch erscheinen die Modelle bzw. Modellausschnitte weniger komplex, als sie es tats\u00e4chlich sind. Der generierte Code hingegen ist oft so komplex, dass eine sinnvolle Qualit\u00e4tssicherung durch Code-Reviews und Software-Unit-Tests nur schwer m\u00f6glich ist.<\/p>\n\n\n\n<p>Hierarchische Strukturen sind nicht notwendigerweise modulare Strukturen. Ein komponentenorientiertes Design ist aber die Voraussetzung f\u00fcr die<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wartbarkeit,<\/li>\n\n\n\n<li>Wiederverwendbarkeit,<\/li>\n\n\n\n<li>Testbarkeit und<\/li>\n\n\n\n<li>Austauschbarkeit von Software-Komponenten.<\/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\">Beachten Sie auch den Podcast zur Codegenerierung!<\/span><\/div>\n<p>Prof. Johner diskutiert in dieser Episode mit Matthias van der Staay, wann sich der Einsatz von Code-Generatoren bei Medizinprodukten rentiert, welche regulatorischen Rahmenbedingungen dabei zu beachten sind und wie Hersteller diese erf\u00fcllen k\u00f6nnen, um \u00c4rger im Audit zu vermeiden. Matthias van der Staay berichtet von seiner Erfahrung als ein Hersteller und als ein Anwender solcher Code-Generatoren.<\/p>\n\n\n\n<p>Diese und weitere Podcast-Episoden finden Sie auch&nbsp;<a href=\"https:\/\/www.johner-institut.de\/podcast\/medical-device-insights\/\">hier<\/a>.<\/p>\n<\/div>\n\n\n\t\t\t<style type=\"text\/css\">#pp-podcast-7776 a, .pp-modal-window .modal-7776 a, .pp-modal-window .aux-modal-7776 a, #pp-podcast-7776 .ppjs__more { color: #dc1a22; } #pp-podcast-7776:not(.modern) .ppjs__audio .ppjs__button.ppjs__playpause-button button *, #pp-podcast-7776:not(.modern) .ppjs__audio .ppjs__button.ppjs__playpause-button button:hover *, #pp-podcast-7776:not(.modern) .ppjs__audio .ppjs__button.ppjs__playpause-button button:focus *, .pp-modal-window .modal-7776 .ppjs__audio .ppjs__button.ppjs__playpause-button button *, .pp-modal-window .modal-7776 .ppjs__audio .ppjs__button.ppjs__playpause-button button:hover *, .pp-modal-window .modal-7776 .ppjs__audio .ppjs__button.ppjs__playpause-button button:focus *, .pp-modal-window .aux-modal-7776 .pod-entry__play *, .pp-modal-window .aux-modal-7776 .pod-entry__play:hover * { color: #dc1a22 !important; } #pp-podcast-7776.postview .episode-list__load-more, .pp-modal-window .aux-modal-7776 .episode-list__load-more, #pp-podcast-7776:not(.modern) .ppjs__time-handle-content, .modal-7776 .ppjs__time-handle-content { border-color: #dc1a22 !important; } #pp-podcast-7776:not(.modern) .ppjs__audio-time-rail, #pp-podcast-7776.lv3 .pod-entry__play, #pp-podcast-7776.lv4 .pod-entry__play, #pp-podcast-7776.gv2 .pod-entry__play, #pp-podcast-7776.modern.wide-player .ppjs__audio .ppjs__button.ppjs__playpause-button button, #pp-podcast-7776.modern.wide-player .ppjs__audio .ppjs__button.ppjs__playpause-button button:hover, #pp-podcast-7776.modern.wide-player .ppjs__audio .ppjs__button.ppjs__playpause-button button:focus, .pp-modal-window .modal-7776 button.episode-list__load-more, .pp-modal-window .modal-7776 .ppjs__audio-time-rail, .pp-modal-window .modal-7776 button.pp-modal-close { background-color: #dc1a22 !important; } #pp-podcast-7776 .hasCover .ppjs__audio .ppjs__button.ppjs__playpause-button button { background-color: rgba(0, 0, 0, 0.5) !important; } .pp-modal-window .modal-7776 button.episode-list__load-more:hover, .pp-modal-window .modal-7776 button.episode-list__load-more:focus, .pp-modal-window .aux-modal-7776 button.episode-list__load-more:hover, .pp-modal-window .aux-modal-7776 button.episode-list__load-more:focus { background-color: rgba( 220,26,34, 0.7 ) !important; } #pp-podcast-7776 .ppjs__button.toggled-on, .pp-modal-window .modal-7776 .ppjs__button.toggled-on, #pp-podcast-7776.playerview .pod-entry.activeEpisode, .pp-modal-window .modal-7776.playerview .pod-entry.activeEpisode { background-color: rgba( 220,26,34, 0.1 ); } #pp-podcast-7776.postview .episode-list__load-more { background-color: transparent !important; } #pp-podcast-7776.modern:not(.wide-player) .ppjs__audio .ppjs__button.ppjs__playpause-button button *, #pp-podcast-7776.modern:not(.wide-player) .ppjs__audio .ppjs__button.ppjs__playpause-button button:hover *, #pp-podcast-7776.modern:not(.wide-player) .ppjs__audio .ppjs__button.ppjs__playpause-button button:focus * { color: #dc1a22 !important; } #pp-podcast-7776.modern:not(.wide-player) .ppjs__time-handle-content { border-color: #dc1a22 !important; } #pp-podcast-7776.modern:not(.wide-player) .ppjs__audio-time-rail { background-color: #dc1a22 !important; } #pp-podcast-7776, .modal-7776, .aux-modal-7776 { --pp-accent-color: #dc1a22; } #pp-podcast-7776 .ppjs__script-button { display: none; }<\/style>\n\t\t\t<div id=\"pp-podcast-7776\" class=\"pp-podcast single-episode has-header header-hidden playerview media-audio hide-download hide-description hide-content\"  data-teaser=\"\" data-elength=\"18\" data-eunit=\"\" data-ppsdata=\"{&quot;ppe-7776-1&quot;:{&quot;title&quot;:&quot;2021-23: Codegenerierung bei Medizinprodukten&quot;,&quot;author&quot;:&quot;Matthias van der Staay, Prof. Dr. Christian Johner&quot;,&quot;date&quot;:&quot;14. September 2021&quot;,&quot;link&quot;:&quot;https:\\\/\\\/johner-institut.podigee.io\\\/38-code-generierung&quot;,&quot;src&quot;:&quot;https:\\\/\\\/audio.podigee-cdn.net\\\/497891-m-656938b811881609b690019b1959d632.mp3?source=feed&quot;,&quot;mediatype&quot;:&quot;audio&quot;,&quot;season&quot;:0,&quot;categories&quot;:[],&quot;duration&quot;:&quot;21:27&quot;,&quot;episodetype&quot;:&quot;full&quot;,&quot;timestamp&quot;:1631582100,&quot;key&quot;:&quot;3652f24bb8a1996a9769f29b85f80893&quot;},&quot;load_info&quot;:{&quot;loaded&quot;:1,&quot;displayed&quot;:1,&quot;offset&quot;:0,&quot;maxItems&quot;:1,&quot;src&quot;:&quot;5a329de0e539499bf1ed92d7abcc9adb&quot;,&quot;step&quot;:1,&quot;sortby&quot;:&quot;sort_date_desc&quot;,&quot;filterby&quot;:&quot;codegenerierung&quot;,&quot;fixed&quot;:&quot;&quot;,&quot;args&quot;:{&quot;imgurl&quot;:&quot;https:\\\/\\\/images.podigee-cdn.net\\\/0x,sqvWI5fZv_m3DhwUGGW8fZRSSgFarfP0F8a2nNIFtktA=\\\/https:\\\/\\\/main.podigee-cdn.net\\\/uploads\\\/u17081\\\/b9425c6a-8ecc-48cf-888c-a2351bacd246.jpg&quot;,&quot;imgset&quot;:&quot;&quot;,&quot;display&quot;:&quot;&quot;,&quot;hddesc&quot;:1,&quot;hdfeat&quot;:1,&quot;oricov&quot;:&quot;https:\\\/\\\/images.podigee-cdn.net\\\/0x,sqvWI5fZv_m3DhwUGGW8fZRSSgFarfP0F8a2nNIFtktA=\\\/https:\\\/\\\/main.podigee-cdn.net\\\/uploads\\\/u17081\\\/b9425c6a-8ecc-48cf-888c-a2351bacd246.jpg&quot;,&quot;elength&quot;:18}},&quot;rdata&quot;:{&quot;permalink&quot;:&quot;https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-json\\\/wp\\\/v2\\\/posts\\\/4275934&quot;,&quot;fprint&quot;:&quot;5a329de0e539499bf1ed92d7abcc9adb&quot;,&quot;from&quot;:&quot;feedurl&quot;,&quot;elen&quot;:18,&quot;eunit&quot;:&quot;&quot;,&quot;teaser&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;autoplay&quot;:&quot;&quot;}}\"><div class=\"pp-podcast__wrapper\"><div class=\"pp-podcast__info pod-info\"><div class=\"pod-info__header pod-header\"><div class=\"pod-header__image\"><div class=\"pod-header__image-wrapper\"><img decoding=\"async\" class=\"podcast-cover-image\" src=\"https:\/\/images.podigee-cdn.net\/0x,sqvWI5fZv_m3DhwUGGW8fZRSSgFarfP0F8a2nNIFtktA=\/https:\/\/main.podigee-cdn.net\/uploads\/u17081\/b9425c6a-8ecc-48cf-888c-a2351bacd246.jpg\" srcset=\"\" sizes=\"(max-width: 640px) 100vw, 25vw\" alt=\"\"><\/div><span class=\"pod-header__image-style\" style=\"display: block; width: 100%; padding-top: 100%\"><\/div><\/div><\/div><div class=\"pp-podcast__content pod-content\"><div class=\"pp-podcast__single\"><div class=\"pp-podcast__player\"><div class=\"pp-player-episode\"><audio id=\"pp-podcast-7776-player\" preload=\"none\" class=\"pp-podcast-episode\" style=\"width: 100%;\" controls=\"controls\"><source type=\"audio\/mpeg\" src=\"https:\/\/audio.podigee-cdn.net\/497891-m-656938b811881609b690019b1959d632.mp3?source=feed\" \/><\/audio><\/div><\/div><div class=\"pod-content__episode episode-single\"><button class=\"episode-single__close\" aria-expanded=\"false\" aria-label=\"Close Single Episode\"><span class=\"btn-icon-wrap\"><svg class=\"icon icon-pp-x\" aria-hidden=\"true\" role=\"img\" focusable=\"false\"><use href=\"#icon-pp-x\" xlink:href=\"#icon-pp-x\"><\/use><\/svg><\/span><\/button><div class=\"episode-single__wrapper\"><div class=\"episode-single__header\"><div class=\"episode-single__title\">2021-23: Codegenerierung bei Medizinprodukten<\/div><div class=\"episode-single__author\"><span class=\"byname\">by<\/span><span class=\"single-author\">Matthias van der Staay, Prof. Dr. Christian Johner<\/span><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"pod-content__launcher pod-launch\"><button class=\"pod-launch__button pod-launch__info pod-button\" aria-expanded=\"false\"><span class=\"ppjs__offscreen\">Show Podcast Information<\/span><span class=\"btn-icon-wrap\"><svg class=\"icon icon-pp-podcast\" aria-hidden=\"true\" role=\"img\" focusable=\"false\"><use href=\"#icon-pp-podcast\" xlink:href=\"#icon-pp-podcast\"><\/use><\/svg><svg class=\"icon icon-pp-x\" aria-hidden=\"true\" role=\"img\" focusable=\"false\"><use href=\"#icon-pp-x\" xlink:href=\"#icon-pp-x\"><\/use><\/svg><\/span><\/button><\/div><\/div>\n\n\n<h2 class=\"wp-block-heading\">4. Fazit<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">a) An der modellbasierten Entwicklung f\u00fchrt kein Weg vorbei &#8230;<\/h3>\n\n\n\n<p>Die Code-Generierung aus Modellen hat \u00e4hnlich wie die k\u00fcnstliche Intelligenz (KI) schon viele Sommer der Begeisterung und Winter der Ern\u00fcchterung erlebt. Es besteht jedoch kein Zweifel daran, dass viele Firmen auf Dauer den Anschluss verlieren, wenn sie sich der Code-Generierung g\u00e4nzlich verweigern.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die Entwicklungsgeschwindigkeit nimmt dank des Einsatzes von \u201eDigital Twins\u201c weiter zu. Die Code-Generierung ist die ideale Erg\u00e4nzung.<\/li>\n\n\n\n<li>Der Fachkr\u00e4ftemangel wird auch bei Software-Entwickler:innen immer deutlicher. Daher ist es wichtig, auch deren Arbeit durch Automatisierung zu unterst\u00fctzen.<\/li>\n\n\n\n<li>Die Entwicklungszyklen von Produkten werden immer k\u00fcrzer. Treiber sind neue technische M\u00f6glichkeiten, h\u00f6here Kundenanforderungen und agile Vorgehensmodelle. Bei vielen iterativen \u00c4nderungen von Produkten sind die Automatisierung und damit die Code-Generierung besonders wirtschaftlich.<\/li>\n<\/ul>\n\n\n\n<p>Es ist zu vermuten, dass in Zukunft in vielen Anwendungsbereichen direkt ausf\u00fchrbare Modelle den Code-Generatoren den Rang ablaufen werden. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">b) &#8230; aber \u201ca fool with a tool is still a fool\u201d<\/h3>\n\n\n\n<p>Entwicklung und Einsatz von Code-Generatoren erfordern besonders hoch qualifizierte Expert:innen. Die Anforderungen an die Abstraktionsf\u00e4higkeit sind regelm\u00e4\u00dfig h\u00f6her als in anderen Software-Projekten.<\/p>\n\n\n\n<p>Ein noch so leistungsf\u00e4higer Code-Generator ersetzt weder die F\u00e4higkeit, Modelle zu erstellen, noch jene Produktstrategien zu erarbeiten. Wer die Kundenanforderungen nicht systematisch erhebt, wird dies mit der Code-Generierung bestenfalls nur schneller feststellen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">c) Eine Abw\u00e4gung ist notwendig<\/h3>\n\n\n\n<p>Firmen m\u00fcssen wesentliche Entscheidungen treffen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Wollen Sie Code-Generatoren einsetzen?<\/li>\n\n\n\n<li>F\u00fcr welche Produkte, Projekte und Komponenten?<\/li>\n\n\n\n<li>Sollen Sie einen Code-Generator entwickeln oder lizenzieren?<\/li>\n<\/ol>\n\n\n\n<p>Es gibt keine allgemeing\u00fcltigen Antworten. Lassen Sie sich f\u00fcr Ihren konkreten Anwendungsfall von Personen beraten, die damit Erfahrungen gesammelt haben. Das Team des Johner Instituts vermittelt gerne entsprechende Kontakte.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p>Beachten Sie auch den Podcast zum Thema Code-Generierung mit Matthias van der Staay. Er hat wichtigen Input zu diesem Artikel geliefert. Sein Arbeitgeber, die <a href=\"https:\/\/www.imt.ch\/\">Firma IMT<\/a>, setzt Code-Generatoren bei der Entwicklung von Medizinprodukten ein und bietet solche Code-Generatoren auch kommerziell an. Wenden Sie sich bei Fragen an <a href=\"mailto:vanderStaay@imt.ch?subject=Code-Generierung\">Herrn van der Staay<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bei Code-Generierung denken viele an eine automatisierte und daher schnelle Erzeugung von bereits implizit qualit\u00e4tsgesichertem Code. Diese Hoffnungen werden nicht immer erf\u00fcllt. Trotzdem bieten Code-Generatoren Vorteile speziell f\u00fcr Hersteller in regulierten Branchen wie die der Medizinprodukte.<\/p>\n","protected":false},"author":1,"featured_media":0,"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":"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code? Oder bleibt \"a fool with a tool still a fool\"? ","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":[],"ppma_author":[1210],"class_list":["post-4275934","post","type-post","status-publish","format-standard","hentry","category-iec-62304-medizinische-software","category-184","description-off"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?<\/title>\n<meta name=\"description\" content=\"Die Code-Generierung kann die Software-Entwicklung sehr beschleunigen. Aber auch Code-Generatoren unterliegen gesetzlichen Anforderungen.\" \/>\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\/code-generierung\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?\" \/>\n<meta property=\"og:description\" content=\"Die Code-Generierung kann die Software-Entwicklung sehr beschleunigen. Aber auch Code-Generatoren unterliegen gesetzlichen Anforderungen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/\" \/>\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=\"2021-09-14T07:35:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-11T14:48:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell.jpg\" \/>\n<meta name=\"author\" content=\"Prof. Dr. Christian Johner\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prof. Dr. Christian Johner\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"12\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\\\/code-generierung\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/\"},\"author\":{\"name\":\"Prof. Dr. Christian Johner\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#\\\/schema\\\/person\\\/77ee54cd54e987c0b5738d4cb4c80441\"},\"headline\":\"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?\",\"datePublished\":\"2021-09-14T07:35:00+00:00\",\"dateModified\":\"2023-09-11T14:48:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/\"},\"wordCount\":2061,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/Code-Generierung-Modell.jpg\",\"articleSection\":[\"Software &amp; IEC 62304\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/\",\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/\",\"name\":\"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/Code-Generierung-Modell.jpg\",\"datePublished\":\"2021-09-14T07:35:00+00:00\",\"dateModified\":\"2023-09-11T14:48:04+00:00\",\"description\":\"Die Code-Generierung kann die Software-Entwicklung sehr beschleunigen. Aber auch Code-Generatoren unterliegen gesetzlichen Anforderungen.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/Code-Generierung-Modell.jpg\",\"contentUrl\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/Code-Generierung-Modell.jpg\",\"width\":605,\"height\":184},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/iec-62304-medizinische-software\\\/code-generierung\\\/#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\":\"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?\"}]},{\"@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\\\/77ee54cd54e987c0b5738d4cb4c80441\",\"name\":\"Prof. Dr. Christian Johner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/Christian_Johner.jpgab057afc2debeb41aaf55cce7e79e618\",\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/Christian_Johner.jpg\",\"contentUrl\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/Christian_Johner.jpg\",\"caption\":\"Prof. Dr. Christian Johner\"},\"description\":\"Professor Johner ist Experte f\u00fcr die Entwicklung und Zulassung von Medizinprodukten, die Software enthalten oder Software sind. Als Auditor, als Mitglied eines Normen-Komitees, als Ausbilder benannter Stellen sowie als Autor mehrerer B\u00fccher und Leitf\u00e4den tr\u00e4gt der promovierte Physiker zur Weiterentwicklung der regulatorischen Landschaft bei. Davon zeugen auch Leitf\u00e4den, die er f\u00fcr die WHO und die Benannten Stellen entwickelt hat. Sein Unternehmen, das Johner Institut, unterst\u00fctzt Medizinproduktehersteller weltweit beim Aufbau von QM-Systemen, bei der Zulassung und Pr\u00fcfung ihrer Produkte sowie bei der digitalen Transformation regulatorischer Prozesse. Es bietet Weiterbildungen wie E-Learning und Seminare an und \u00fcbernimmt f\u00fcr Hersteller Prozesse wie die \u00dcberwachung der Regularien und der Produkte im Markt. Christian Johner lehrte an mehreren Universit\u00e4ten u.a. an der Hochschule Konstanz, der Universit\u00e4t St. Gallen, der Universit\u00e4t W\u00fcrzburg sowie der Stanford University v.a. Software-Architektur, Software-Qualit\u00e4tssicherung und medizinische Informatik.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/christianjohner\\\/\",\"https:\\\/\\\/x.com\\\/christianjohner\"],\"url\":\"https:\\\/\\\/www.johner-institut.de\\\/blog\\\/author\\\/christian\\\/\"}]}<\/script>\n<meta name=\"copyright\" content=\"Johner Institut GmbH\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?","description":"Die Code-Generierung kann die Software-Entwicklung sehr beschleunigen. Aber auch Code-Generatoren unterliegen gesetzlichen Anforderungen.","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\/code-generierung\/","og_locale":"de_DE","og_type":"article","og_title":"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?","og_description":"Die Code-Generierung kann die Software-Entwicklung sehr beschleunigen. Aber auch Code-Generatoren unterliegen gesetzlichen Anforderungen.","og_url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/","og_site_name":"Regulatorisches Wissen f\u00fcr Medizinprodukte","article_publisher":"https:\/\/www.facebook.com\/JohnerInstitut\/","article_published_time":"2021-09-14T07:35:00+00:00","article_modified_time":"2023-09-11T14:48:04+00:00","og_image":[{"url":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell.jpg","type":"","width":"","height":""}],"author":"Prof. Dr. Christian Johner","twitter_misc":{"Verfasst von":"Prof. Dr. Christian Johner","Gesch\u00e4tzte Lesezeit":"12\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/#article","isPartOf":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/"},"author":{"name":"Prof. Dr. Christian Johner","@id":"https:\/\/www.johner-institut.de\/blog\/#\/schema\/person\/77ee54cd54e987c0b5738d4cb4c80441"},"headline":"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?","datePublished":"2021-09-14T07:35:00+00:00","dateModified":"2023-09-11T14:48:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/"},"wordCount":2061,"commentCount":1,"publisher":{"@id":"https:\/\/www.johner-institut.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/#primaryimage"},"thumbnailUrl":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell.jpg","articleSection":["Software &amp; IEC 62304"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/","url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/","name":"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?","isPartOf":{"@id":"https:\/\/www.johner-institut.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/#primaryimage"},"image":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/#primaryimage"},"thumbnailUrl":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell.jpg","datePublished":"2021-09-14T07:35:00+00:00","dateModified":"2023-09-11T14:48:04+00:00","description":"Die Code-Generierung kann die Software-Entwicklung sehr beschleunigen. Aber auch Code-Generatoren unterliegen gesetzlichen Anforderungen.","breadcrumb":{"@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/#primaryimage","url":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell.jpg","contentUrl":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2021\/09\/Code-Generierung-Modell.jpg","width":605,"height":184},{"@type":"BreadcrumbList","@id":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-generierung\/#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":"Code-Generierung: Die Zauberformel f\u00fcr schnelleren und besseren Code?"}]},{"@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\/77ee54cd54e987c0b5738d4cb4c80441","name":"Prof. Dr. Christian Johner","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/05\/Christian_Johner.jpgab057afc2debeb41aaf55cce7e79e618","url":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/05\/Christian_Johner.jpg","contentUrl":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/05\/Christian_Johner.jpg","caption":"Prof. Dr. Christian Johner"},"description":"Professor Johner ist Experte f\u00fcr die Entwicklung und Zulassung von Medizinprodukten, die Software enthalten oder Software sind. Als Auditor, als Mitglied eines Normen-Komitees, als Ausbilder benannter Stellen sowie als Autor mehrerer B\u00fccher und Leitf\u00e4den tr\u00e4gt der promovierte Physiker zur Weiterentwicklung der regulatorischen Landschaft bei. Davon zeugen auch Leitf\u00e4den, die er f\u00fcr die WHO und die Benannten Stellen entwickelt hat. Sein Unternehmen, das Johner Institut, unterst\u00fctzt Medizinproduktehersteller weltweit beim Aufbau von QM-Systemen, bei der Zulassung und Pr\u00fcfung ihrer Produkte sowie bei der digitalen Transformation regulatorischer Prozesse. Es bietet Weiterbildungen wie E-Learning und Seminare an und \u00fcbernimmt f\u00fcr Hersteller Prozesse wie die \u00dcberwachung der Regularien und der Produkte im Markt. Christian Johner lehrte an mehreren Universit\u00e4ten u.a. an der Hochschule Konstanz, der Universit\u00e4t St. Gallen, der Universit\u00e4t W\u00fcrzburg sowie der Stanford University v.a. Software-Architektur, Software-Qualit\u00e4tssicherung und medizinische Informatik.","sameAs":["https:\/\/www.linkedin.com\/in\/christianjohner\/","https:\/\/x.com\/christianjohner"],"url":"https:\/\/www.johner-institut.de\/blog\/author\/christian\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":3544,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-review\/","url_meta":{"origin":4275934,"position":0},"title":"Code Review, Checkliste, Tools &#038; Guidelines","author":"Alexander Wassel","date":"3. Mai 2016","format":false,"excerpt":"Unter Code-Reviews versteht man das Pr\u00fcfen des nicht kompilierten Quell-Codes durch\u00a0weitere Personen beispielsweise im Rahmen von Inspektionen oder Walk-Throughs. Regulatorische Anforderungen an Code-Reviews Die IEC 62304 fordert keine expliziten Code-Reviews. Sie sieht aber Code-Reviews als eine M\u00f6glichkeit, um Software-Einheiten zu pr\u00fcfen. Dabei m\u00fcssen allerdings schriftliche Pr\u00fcfkriterien f\u00fcr die Code-Reviews vorliegen,\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":"Code Reivew","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/04\/Code-Review.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/04\/Code-Review.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2015\/04\/Code-Review.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":511347,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/code-coverage\/","url_meta":{"origin":4275934,"position":1},"title":"Code Coverage: Vollst\u00e4ndigkeit von Software-Tests bestimmen","author":"Urs M\u00fcller","date":"11. Juni 2020","format":false,"excerpt":"Code Coverage dient den meisten Software-Entwicklern als die wichtigste Metrik f\u00fcr die Vollst\u00e4ndigkeit von Software-Tests. Dieser Artikel verschafft Ihnen einen \u00dcberblick \u00fcber die Abdeckungsgrade und gibt Tipps zum deren Bestimmung. \u00a0Inhalts\u00fcbersicht 1. Varianten des Code Coverage \u00bb 2. Regulatorische Anforderungen \u00bb 3. Bewertung der Code Coverage \u00bb 4. Bestimmen der\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":"Code Coverage: Ein Beispiel","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2016\/09\/Bildschirmfoto-2016-09-19-um-13.47.54.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2016\/09\/Bildschirmfoto-2016-09-19-um-13.47.54.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2016\/09\/Bildschirmfoto-2016-09-19-um-13.47.54.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2016\/09\/Bildschirmfoto-2016-09-19-um-13.47.54.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":5366977,"url":"https:\/\/www.johner-institut.de\/blog\/regulatory-affairs\/regulation-as-code\/","url_meta":{"origin":4275934,"position":2},"title":"Regulation as Code: Das Ende der Regulierung, wie wir sie kennen","author":"Prof. Dr. Christian Johner","date":"22. November 2022","format":false,"excerpt":"Noch immer ver\u00f6ffentlichen die Regulierer Gesetze und Verordnungen als Text. So wie seit Tausenden von Jahren. Regulation as Code bedeutet einen radikalen Bruch mit dieser Praxis. Ist es m\u00f6glich, Gesetze in Algorithmen zu \u00fcberf\u00fchren? Warum wollte man dies tun? Wie sollten Sie sich als Regulierer, Hersteller, Beh\u00f6rde oder Benannte Stelle\u2026","rel":"","context":"In &quot;Regulatory Affairs: Regulatorische Anforderungen an Medizinprodukte&quot;","block_context":{"text":"Regulatory Affairs: Regulatorische Anforderungen an Medizinprodukte","link":"https:\/\/www.johner-institut.de\/blog\/category\/regulatory-affairs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2022\/11\/Regulation-as-Code.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2022\/11\/Regulation-as-Code.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2022\/11\/Regulation-as-Code.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2022\/11\/Regulation-as-Code.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2022\/11\/Regulation-as-Code.jpg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":3233284,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/validierung-von-machine-learning-libraries\/","url_meta":{"origin":4275934,"position":3},"title":"Validierung von Machine Learning Libraries","author":"Prof. Dr. Christian Johner","date":"25. Februar 2020","format":false,"excerpt":"Immer mehr Hersteller setzen Machine Learning Libraries wie scikit-learn, TensorFlow und Keras in ihren Produkten ein. Damit beschleunigen sie ihre Forschungs- und Entwicklungsvorhaben. Allerdings ist nicht allen Herstellern klar, welche regulatorischen Anforderungen sie bei Machine Learning Libraries nachweisen m\u00fcssen und wie sie das am besten tun. Das f\u00fchrt dazu, dass\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\/2020\/02\/machine-learning-libraries.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2020\/02\/machine-learning-libraries.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2020\/02\/machine-learning-libraries.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2020\/02\/machine-learning-libraries.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":7179,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/kodierrichtlinien-iec-62304-fda\/","url_meta":{"origin":4275934,"position":4},"title":"Kodierrichtlinien f\u00fcr Medizinprodukte-Software","author":"Claudia Schmitt","date":"21. Dezember 2016","format":false,"excerpt":"Kodierrichtlinien (Coding Guidelines) dienen dazu, Quellcode zu f\u00f6rdern, der verst\u00e4ndlich, wartbar, testbar und m\u00f6glichst fehlerfrei ist. Dieser Artikel beschreibt\u00a0die regulatorischen Anforderungen an Kodierrichtlinien und gibt konkrete Beispiele. Regulatorische Anforderungen an Kodierrichtlinien Forderungen der Medizinprodukte-Richtlinie (MDD) Die Medizinprodukterichtlinie MDD (93\/42\/EWG) fordert f\u00fcr Medizinprodukte, die Software enthalten oder eigenst\u00e4ndige Software sind: Bei\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":"Kodierrichtlinien","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/03\/Kodierrichtlinien-1024x353.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/03\/Kodierrichtlinien-1024x353.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2014\/03\/Kodierrichtlinien-1024x353.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":8109,"url":"https:\/\/www.johner-institut.de\/blog\/iec-62304-medizinische-software\/software-audit\/","url_meta":{"origin":4275934,"position":5},"title":"Software-Audit: Auf was es wirklich ankommt","author":"Claudia Schmitt","date":"7. M\u00e4rz 2016","format":false,"excerpt":"\"Findet ein Software-Audit statt?\"\u00a0lautet eine Frage, die mich \u00fcber unser\u00a0Micro-Consulting erreicht. \"Und kann ich durch eine\u00a0geeignete Wahl der Software-Sicherheitsklasse\u00a0so ein Software-Audit vermeiden?\" Erst ist mir weder klar, was genau mit \"Software-Audit\" gemeint, noch was die genaue Bef\u00fcrchtung ist. Doch dann verstehe ich und finde die Frage sehr bedeutsam f\u00fcr alle\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-Audit: Gibt es das?","src":"https:\/\/i0.wp.com\/www.johner-institut.de\/blog\/wp-content\/uploads\/2016\/03\/software-audit-compressor.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_shortlink":"https:\/\/wp.me\/pavawf-hWmG","jetpack_sharing_enabled":true,"authors":[{"term_id":1210,"user_id":1,"is_guest":0,"slug":"christian","display_name":"Prof. Dr. Christian Johner","avatar_url":{"url":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/05\/Christian_Johner.jpg","url2x":"https:\/\/www.johner-institut.de\/blog\/wp-content\/uploads\/2023\/05\/Christian_Johner.jpg"},"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\/4275934","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/comments?post=4275934"}],"version-history":[{"count":28,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/posts\/4275934\/revisions"}],"predecessor-version":[{"id":5376277,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/posts\/4275934\/revisions\/5376277"}],"wp:attachment":[{"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/media?parent=4275934"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/categories?post=4275934"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/tags?post=4275934"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.johner-institut.de\/blog\/wp-json\/wp\/v2\/ppma_author?post=4275934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}