IEC 62304:2006 – les processus du cycle de vie logiciel expliqués
Garantir les normes de sécurité les plus élevées et minimiser les risques liés à la défaillance d'un dispositif médical sont les deux piliers du développement de logiciels pour dispositifs médicaux. Ces domaines sont réglementés par trois normes : ISO 14971, l'ISO 13485 que nous aborderons la prochaine fois, et l'IEC 62304, qui est le point central de cet article.
Sans plus attendre, je passe la parole à Krzysztof Minicki, notre Directeur Santé et Sciences de la Vie, qui vous guidera à travers les exigences de l'IEC 62304 et sa mise en œuvre.
Vous voulez savoir comment appliquer l'IEC 62304 pour réaliser une analyse des écarts d'un logiciel existant ? Lisez cet article >>> Comment réaliser une analyse des écarts d'un logiciel existant conformément à l'IEC 62304-2015 ?
Qu'est-ce que l'IEC 62304 ?
L'IEC 62304 est une norme internationale qui spécifie les exigences relatives au développement et au cycle de vie des logiciels en tant que dispositifs médicaux et des logiciels intégrés aux dispositifs médicaux. L'objectif de l'IEC 62304 est de garantir que les logiciels sont mis en œuvre de manière sûre, pleinement fonctionnels et maintenus tout au long de leur cycle de vie, y compris après leur mise sur le marché. Elle décrit la classification de sécurité des logiciels médicaux en fonction du niveau de risque qu'ils présentent pour les utilisateurs finaux, les patients et les personnes utilisant le dispositif.
L'IEC 62304 a été publiée en 2006, son nom complet est donc IEC 62304:2006. La norme a été légèrement modifiée en 2015 pour l'ajuster à la MDD alors en vigueur. Une annexe a été ajoutée, laquelle précise les exigences de sécurité pour les logiciels existants qui ont été mis sur le marché avant l'entrée en vigueur des normes et réglementations actuelles. L'IEC 62304 avec l'annexe est également connue sous le nom d'IEC 62304:2006+AMD1:2015. Actuellement, les travaux se poursuivent activement pour ajuster la norme à l'EU MDR.
La norme IEC 62304 est-elle obligatoire ?
L'IEC 62304 n'est pas obligatoire, cependant il est recommandé que les organisations qui développent des logiciels de dispositifs médicaux suivent ses exigences. L'IEC 62304, conjointement avec l'ISO 13485 et l'ISO 14971, comprend les exigences de base que toute entreprise de développement de logiciels médicaux devrait respecter afin de garantir les normes de sécurité les plus élevées pour ses produits.
Est-ce que le La FDA exige-t-elle IEC 62304 ?
L'IEC 62304 est harmonisée par les États-Unis et reconnue par la FDA ; elle peut donc, sans y être obligatoire, être suivie par les entreprises de développement de logiciels médicaux.
Quelles sont les classifications de sécurité pour les systèmes logiciels selon l'IEC 62304 ?
L'IEC 62304 fournit aux entreprises de développement logiciel une série de lignes directrices sur la manière d'aborder l'identification et la gestion des risques associés, par exemple, à une défaillance logicielle, qui pourrait affecter un patient ou l'opérateur d'un dispositif. Sur la base de la classification des risques des dispositifs médicaux, la norme indique certaines mesures de contrôle des risques, qui doivent être mises en œuvre tout au long du cycle de vie du logiciel.
IEC 62304 décrit trois classes de sécurité de base pour les logiciels :
- classe A: si le logiciel ne peut causer aucun dommage,
- classe B: si le logiciel peut causer un dommage ou une blessure mineure, qui n'entraîne pas de dommage sanitaire durable ou permanent,
- classe C: si le logiciel peut causer des dommages graves à la santé, des blessures sévères ou même la mort.
Cette envergure permet une identification précise et un ajustement des processus associés à la sécurité du développement de logiciels médicaux à toutes les étapes : de la planification, en passant par le codage, jusqu'à la mise en production et la maintenance.
Gardez à l'esprit que les classes ci-dessus sont strictement liées aux logiciels. Les dispositifs médicaux sont classés selon le MDR de l'UE ou selon les exigences spécifiques à chaque pays.
IEC 62304 détermine les exigences de sécurité applicables à chaque classe. La classe A comporte le moins d'exigences puisqu'elle ne présente aucun risque pour la santé ou la vie humaine. Les exigences applicables aux classes B et C sont très similaires. La différence entre la classe A et les classes B et C est considérable, tant en termes de mise en œuvre que de coût global.
Un autre point important à garder à l'esprit est que, lors de la classification, nous devons également prendre en considération un scénario dans lequel le logiciel pourrait ne pas fonctionner correctement, être indisponible ou piraté. Cela poserait-il un risque pour les utilisateurs finaux dans un tel cas ?
Comment réaliser une classification de sécurité selon l'IEC 62304 ?
Lors de la classification, nous devons toujours supposer le scénario le plus défavorable lorsqu'une situation dangereuse peut survenir.
La première chose qui doit être déterminée est de savoir si une situation dangereuse résulte d'une défaillance logicielle. Si non, alors le logiciel est éligible à la classe A.
Si oui, nous pouvons passer à l'étape suivante et évaluer l'efficacité des mesures de contrôle des risques externes au logiciel. Il peut s'avérer que de telles mesures réduisent la probabilité qu'une défaillance logicielle cause un dommage ou diminuent la gravité d'un tel dommage.
Ensuite, nous devons déterminer si une défaillance logicielle entraîne un risque inacceptable. Si non, alors le logiciel est classé en classe A. Si oui, nous devons évaluer la gravité d'une éventuelle blessure. S'il s'agit d'une blessure non grave, alors notre logiciel de dispositif médical est classé en classe B. Si une défaillance peut causer un préjudice grave, voire la mort, alors il relève de la classe C.
L'algorithme de classification de sécurité se trouve à la section 4.3 de l'IEC 62304.
Décomposition logicielle selon IEC 62304
L'IEC 62304 permet une décomposition des composants logiciels, afin qu'ils puissent être qualifiés dans différentes classes, à condition de maintenir une séparation et un isolement appropriés.
Par exemple, si votre logiciel est par définition classé comme classe C à haut risque, vous pouvez essayer de le décomposer en composants distincts. Ceux-ci doivent être isolés en termes d'architecture et de fonctionnalités. Il peut alors s'avérer que certains composants relèvent d'une classe de risque inférieure, ce qui, à son tour, réduit les coûts globaux de développement de logiciels médicaux. Si vous ne savez pas comment réaliser une telle décomposition ou si vous avez des doutes, nous pouvons mobiliser notre équipe et vous aider.
Agile vs IEC 62304
L'IEC 62304 n'impose aucun modèle de stratégie de développement spécifique. Bien que sa rédaction puisse suggérer un modèle en cascade, le tableau B.1 de l'annexe B présente des exemples de diverses stratégies de développement, notamment la stratégie incrémentale ainsi que la stratégie évolutive, autrement dit agile. Spyrosoft a mis en œuvre une approche entièrement Agile pour la livraison de nos logiciels de dispositifs médicaux. Nous pouvons vous fournir dans un court délai une solution réduisant le time to market, avec une transparence totale tout au long du développement.
En d'autres termes, cela signifie que toute stratégie de développement peut être utilisée tant que la documentation technique est cohérente avec les processus de développement et conforme à l'IEC 62304.
Passons maintenant à ce à quoi le processus de développement logiciel et sa documentation devraient ressembler selon l'IEC 62304.
Quelles sont les exigences relatives au processus de développement logiciel selon l'IEC 62304 ?
Le processus de développement logiciel selon l'IEC 62304 peut se résumer à la transformation des données d'entrée de conception en données de sortie de conception. Par données de sortie de conception, nous entendons les exigences métier et fonctionnelles, ainsi que l'usage prévu. Les données de sortie de conception sont ce qui a été créé à partir des données d'entrée de conception conformément aux exigences de l'IEC 62304. La validation, en termes simples, consiste à vérifier si l'entrée correspond à la sortie.
Pour obtenir un résultat de conception approprié, l'IEC 62304 spécifie des exigences détaillées pour chaque étape du processus de développement logiciel :
L'IEC 62304 exige que les fabricants établissent un plan de développement logiciel en fonction de la portée, de l'ampleur et de la classification de sécurité logicielle du logiciel qu'ils développeront. Le plan doit être tenu à jour.
Les exigences logicielles doivent documenter les exigences fonctionnelles et de capacité, telles que la finalité du logiciel ou le langage de code, mais également les exigences de sécurité, les mesures de contrôle des risques, les interfaces entre le système logiciel et d'autres systèmes, et bien d'autres encore, détaillées à la section 5.2.2 de l'IEC 62304.
La norme IEC 62304 exige des fabricants qu'ils documentent l'architecture logicielle en fonction de sa classe. De plus, les SOUP, qui est la dénomination réglementaire des logiciels tiers qui font partie de notre logiciel de dispositif médical ou qui soutiennent le processus de développement, doivent être répertoriés avec les exigences qu'ils doivent satisfaire et les résultats de leur vérification. Cela est particulièrement important en tant que mesure préventive visant à minimiser le risque que des pirates informatiques ou des personnes non autorisées accèdent au logiciel et présentent un danger pour les utilisateurs finaux.
Conformément à l'IEC 62304, le logiciel doit être subdivisé en unités logicielles, pour lesquelles une conception détaillée doit être développée, afin qu'il puisse être correctement implémenté.
Un fabricant est tenu d'établir un processus de vérification des unités logicielles et des critères d'acceptation pour chaque unité logicielle.
La norme IEC 62304 exige que les fabricants disposent d'un plan d'intégration, selon lequel l'intégration des unités système dans les éléments logiciels ou les systèmes logiciels doit être réalisée. Les fabricants doivent également inclure les enregistrements des tests et des vérifications.
Selon l'IEC 62304, les fabricants doivent établir des exigences, des procédures et des critères pour les tests des systèmes logiciels. Les résultats de ces tests doivent également être inclus dans la documentation.
Avant la mise sur le marché du logiciel, un fabricant est tenu de s'assurer que tous les processus de vérification ont été menés à bien et que tout problème éventuel a été documenté. Il incombe également au fabricant de veiller à ce que le logiciel ait été mis sur le marché sans aucune corruption ni modification non autorisée.
De plus, conformément à l'exigence de traçabilité de l'IEC 62304, les fabricants sont tenus de prouver que toutes les exigences système et logicielles, ainsi que les mesures de maîtrise des risques incluses dans la documentation, ont été correctement mises en œuvre, testées et vérifiées. Une attention particulière doit être portée pour garantir que les mesures de maîtrise des risques appropriées à chaque classe soient en place tout au long du cycle de vie du développement logiciel.
La norme IEC 62304 inclut également les exigences relatives à la maintenance logicielle, à la gestion des risques, à la gestion de configuration logicielle et aux processus de résolution des problèmes. Nous les aborderons dans les sections suivantes.
Découvrez nos services de santé pilotés par l'IA !
En savoir plusQuelles sont les exigences relatives au processus de maintenance logicielle selon l'IEC 62304 ?
La norme exige que les fabricants préparent un plan de maintenance logicielle, établissent les processus et procédures permettant d'analyser les problèmes et les modifications ainsi que de mettre en œuvre les changements.
De plus, l'IEC 62304 spécifie des exigences distinctes concernant la surveillance, la documentation et l'évaluation des retours des utilisateurs. Les problèmes identifiés doivent être consignés sous forme de rapports de problème, qui incluent l'évaluation de la manière dont ils peuvent affecter la sécurité du logiciel du dispositif médical. Les fabricants sont également tenus de mettre en place un processus de résolution des problèmes pour traiter tout problème de ce type.
Pour une liste plus détaillée des exigences concernant le processus de maintenance logicielle, voir la section 6 de l'IEC 62304.
Quelles sont les exigences relatives au processus de gestion des risques selon l'IEC 62304 ?
Les fabricants doivent analyser les logiciels en termes de contribution aux situations dangereuses, identifier ces éléments logiciels et documenter les causes potentielles, par exemple les défauts logiciels, les mauvais usages prévisibles ou le fonctionnement défectueux et inattendu des SOUP.
Par conséquent, un fabricant doit analyser régulièrement les modifications apportées au logiciel du dispositif médical, y compris les SOUP, susceptibles de contribuer à des situations dangereuses, et déterminer si des mesures de contrôle des risques supplémentaires sont nécessaires.
De plus, pour chaque cas où un élément logiciel pourrait contribuer à une situation dangereuse, le fabricant doit déterminer et documenter les mesures de contrôle des risques appropriées conformément à l'ISO 14971, par exemple, rendre impossible l'utilisation de certaines fonctionnalités logicielles si une condition spécifique n'est pas remplie. La mise en œuvre de chaque nouvelle mesure de contrôle des risques doit être vérifiée et les résultats doivent être documentés.
Un fabricant est également tenu de documenter la traçabilité de tout danger logiciel identifié.
Pour une liste plus détaillée des exigences relatives au processus de gestion des risques, voir la section 7 de l'IEC 62304.
Quelles sont les exigences relatives au processus de gestion de la configuration logicielle selon l'IEC 62304 ?
Les fabricants de logiciels médicaux sont tenus de mettre en place des moyens d'identifier les éléments de configuration, autrement dit, de créer un plan de configuration logicielle. Le plan doit inclure les types et les versions des éléments de configuration, avec les SOUP identifiés séparément. Tous les éléments de configuration et leurs versions qui composent la configuration du système logiciel doivent être documentés.
La norme IEC 62304 inclut également les exigences concernant la manière d'approuver, de mettre en œuvre et de vérifier les modifications apportées aux éléments de configuration, et exige que les fabricants tiennent des enregistrements pour la traçabilité de chaque modification.
Pour une liste plus détaillée des exigences concernant le processus de gestion de configuration logicielle, voir la section 8 de l'IEC 62304.
Quelles sont les exigences relatives au processus de résolution des problèmes logiciels selon l'IEC 62304 ?
Selon l'IEC 62304, un fabricant doit préparer un rapport de problème pour chaque problème détecté dans le logiciel du dispositif médical (en production). Un tel rapport doit inclure des informations sur la manière dont un problème a affecté les performances, la sécurité ou la sûreté du logiciel (déclaration de criticité) ainsi que d'autres informations pouvant être utiles pour résoudre le problème.
Chaque problème doit être investigué afin d'en déterminer la cause et d'identifier les tendances problématiques possibles. Un fabricant de logiciels médicaux doit également évaluer la pertinence du problème vis-à-vis de la sécurité du logiciel en utilisant le processus de gestion des risques. Les résultats de l'investigation doivent être documentés, et une demande de modification doit être créée pour chaque action nécessaire à la résolution du problème. Une fois le problème résolu, le fabricant doit vérifier la résolution, contrôler si les tendances défavorables ont été inversées et clôturer le rapport de problème le cas échéant.
L'une des dernières exigences de cette section concerne le contenu de la documentation de test, qui doit inclure, entre autres, les anomalies détectées, des informations sur la version testée, les outils de test ainsi que l'identification du testeur.
Un autre point important à mentionner est que le fabricant est tenu de communiquer le problème à toutes les parties concernées, y compris les utilisateurs finaux et les autorités, ainsi que de conserver des enregistrements de tout rapport de problème, accompagnés de sa résolution et de sa vérification, pour référence future.
Vous cherchez un partenaire de développement de logiciels médicaux qui respecte les normes de sécurité les plus strictes ?
IEC 62304 est l'un des piliers de notre Système de Management Intégré de la Qualité, qui a récemment fait l'objet d'un audit et sera bientôt certifié.
Notre équipe d'ingénieurs qualité et réglementaires possède une expérience dans la création de logiciels de dispositifs médicaux sûrs, conformes à l'IEC 62304, et peut également vous aider pour la classification de sécurité ou la décomposition de votre logiciel.
Utilisez le formulaire de contact ci-dessous pour réserver une consultation ou discuter de votre projet de logiciel de dispositif médical avec Krzysztof.
L'IEC 62304 est une norme internationale qui définit les exigences du cycle de vie pour les logiciels de dispositifs médicaux et les logiciels en tant que dispositif médical. Son objectif est de garantir que les logiciels sont développés, publiés et maintenus en toute sécurité tout au long de leur cycle de vie. Elle aide les organisations à minimiser les risques liés aux défaillances logicielles susceptibles d'affecter les patients ou les opérateurs des dispositifs.
L'IEC 62304 n'est pas légalement obligatoire, mais elle est fortement recommandée et largement adoptée. Avec l'ISO 14971 et l'ISO 13485, elle constitue le cadre de référence utilisé par les entreprises de logiciels médicaux pour répondre aux exigences de sécurité et aux exigences réglementaires. La respecter améliore considérablement la probabilité de réussir les audits et les examens réglementaires.
La norme définit trois classes, A, B et C, en fonction du niveau de préjudice potentiel causé par une défaillance logicielle. La classe A ne présente aucun risque, la classe B peut causer des blessures non graves et la classe C peut entraîner des dommages graves ou la mort. Cette classification détermine la profondeur des processus, de la documentation et des contrôles qui doivent être mis en œuvre.
IEC 62304 ne prescrit aucune méthodologie spécifique, même s'il peut sembler aligné sur un modèle en cascade. Les stratégies agiles, incrémentales et évolutives sont parfaitement acceptables tant que la documentation et les processus sont conformes aux exigences de la norme. Spyrosoft applique avec succès l'Agilité tout en maintenant une conformité totale.
La norme exige un processus structuré qui transforme les entrées de conception en sorties de conception validées. Elle décrit des attentes claires en matière de planification, d'exigences, d'architecture, de conception unitaire, d'intégration, de tests, de vérification et de mise en production. La traçabilité et les mesures documentées de maîtrise des risques doivent être maintenues tout au long du cycle de vie.
arrow_circle_rightContactez-nous
Parlons de la manière dont nous pouvons vous aider à mettre en œuvre les exigences de l'IEC 62304:2006
arrow_circle_right nos articles

