Qui a dit qu'un algorithme à finalité médicale devait être fait comme un logiciel (de) dispositif médical ?
La confusion entre algorithme et logiciel est répandue. De fait, j'ai rencontré cette situation dans plusieurs entreprises du secteur biomédical.
Bien entendu, un algorithme à finalité médicale sera certainement implémenté dans un logiciel (de) dispositif médical. Néanmoins, logiciel et algorithme ne désignent pas la même chose et, dans le cadre des dispositifs médicaux, des exigences différentes leur sont applicables.
De ce fait, confondre les deux peut vite impacter la conception et le développement d'un dispositif médical, notamment en termes de fiabilité du résultat obtenu.
Traitons ce sujet à l'occasion de cet article.
Différences entre algorithme et logiciel
Si on considère les définitions générales,
un logiciel est un ensemble (i) de séquences d'instructions interprétables par une machine et (ii) d'un jeu de données nécessaires à ces opérations et
un algorithme est une suite finie et non ambiguë d'opérations mathématiques qui permettent de résoudre un problème ou d'obtenir un résultat.
Ainsi, le résultat de conception et développement d'un algorithme est un document descriptif qui peut donner lieu à une publication scientifique et le résultat de conception et développement d'un logiciel est un programme exécutable qui peut être commercialisé.
Le tableau ci-dessous présente quelques différences importantes entre un algorithme à finalité médicale et un logiciel (de) dispositif médical.

DIFFERENCES ENTRE ALGORITHME A FINALITE MEDICALE ET LOGICIEL (DE) DISPOSITIF MEDICAL | ||
Algorithme à finalité médicale | Logiciel (de) dispositif médical | |
Compétences requises pour la conception et le développement | Mathématiques | Génie logiciel |
Normes applicables à la conception et le développement | Normes générales applicables aux dispositifs médicaux (ISO 13485, ISO 14971…) | Normes générales applicables aux dispositifs médicaux (ISO 13485, ISO 14971…) et normes techniques applicables au logiciel (de) dispositif médical (CEI EN 62304, CEI EN 82304-1…) |
Résultat de conception et développement | Document descriptif de l'algorithme | Un ou plusieurs programmes exécutables par une machine |
Indicateurs de qualité du résultat obtenu | Complexité algorithmique et limites d'obtention du résultat correct | Fiabilité de fonctionnement, sécurité et sûreté au regard de l'emploi prévu |
Sera commercialisé en tant qu'élément (de) dispositif médical | NON | OUI |
Doit faire l'objet d'une évaluation clinique ou d'une évaluation des performances | Il ne s'agit pas d'une exigence réglementaire | OUI : incorporé dans un dispositif médical ou en tant que dispositif médical en soi |
Protection juridique | Protection par brevet sous conditions | Protection par le droit d'auteur |
Malgré ces différences, la confusion entre logiciel (de) dispositif médical et algorithme à finalité médicale est une réalité.
Une explication possible est que tous deux requièrent de la programmation pour leur conception et développement. Cependant, ces programmations ont des objectifs différents :
en algorithmie, l'objectif de la programmation est d'obtenir un exécutable pour évaluer l'efficacité de l'algorithme et
en génie logiciel (de) dispositif médical, l'objectif de la programmation est de créer un produit fiable et adapté à une utilisation en milieu médical.
Il s'agit donc d'activités de programmation distinctes dont les contraintes de mise en œuvre n'ont pas grand-chose en commun.
Eviter la confusion entre logiciel (de) dispositif médical et algorithme à finalité médicale
Dans le cadre des dispositifs médicaux innovants on rencontre souvent le cas où un algorithme doit être mis au point pour être implémenté dans un logiciel (de) dispositif médical.
La confusion entre algorithme et logiciel peut alors s'avérer particulièrement dommageable : elle peut amener à faire du programme d'évaluation de l'algorithme le cœur d'architecture du logiciel (de) dispositif médical.
Malheureusement, cette approche peut réduire la prise en compte des possibles dysfonctionnements du logiciel par son architecture.
Pour éviter ce cas de figure, le système de management de la qualité (SMQ) peut s'avérer particulièrement utile.
En effet, il est possible de mettre en place deux procédures distinctes
d'une part pour la conception et le développement d'algorithmes à finalité médicale et,
d'autre part, pour la conception et le développement de logiciel (de) dispositif médical.
Cette approche permet de différencier ces activités et, le cas échéant, de les paralléliser pour réduire le temps de conception et développement global du dispositif médical.

Pour implémenter l'algorithme dans le logiciel (de) dispositif médical, l'élément d'entrée est la description de l'algorithme.
Il est ainsi possible d'implémenter l'algorithme en tenant compte de l'analyse de risques du reste du logiciel pour réduire les probabilités de dysfonctionnement du dispositif médical.
Le fabricant du dispositif médical assure ainsi la fiabilité de fonctionnement de son logiciel en focalisant l'attention de ses collaborateurs sur les points importants de chacune de ces activités :
- la gestion des risques pour le logiciel (de) dispositif médical et
- l'efficacité pour l'algorithme à finalité médicale.
Intérêt de la différence pour le fabricant
Outre la fiabilité du logiciel (de) dispositif médical obtenu, la mise en place de deux procédures distinctes permet au fabricant d'éviter d'autres écueils de la confusion entre algorithme et logiciel.
A titre d'exemple, parmi les situations que j'ai rencontrées, on peut citer
- la confusion entre évaluation de l'algorithme et validation du logiciel,
- l'absence de prise en compte de l'utilisation du dispositif médical dans le cadre de la conception et le développement du logiciel,
- les pertes de temps passé à tenir compte, pour l'un ou l'autre, de contraintes qui ne sont pas applicables,
- les sous-estimations des temps de conception et développement nécessaires.
Ainsi, malgré une apparente complexité, cette approche simplifie et accélère la conception et le développement d'un dispositif médical innovant.
Pour en savoir plus
Pour passer de l'algorithme à l'implémentation du logiciel, l'analyse de risques permet de prévenir les dysfonctionnements du logiciel (de) dispositif médical.
Une fois que le logiciel (de) dispositif médical est fonctionnel il est important de le protéger.
Autres articles
Intérêt des normes harmonisées dans le cadre des logiciels dispositifs médicaux
EBIOS Risk Manager pour la cybersécurité des dispositifs médicaux
Prestations de conception et développement de logiciel (de) dispositif médical
Impact des logiciels SOUP sur les dispositifs médicaux (DM ou DMDIV)
Certification Qualité Hôpital Numérique (QHN) pour logiciel de santé
Langue du dossier technique d'un logiciel dispositif médical
Surveillance après commercialisation d'un logiciel dispositif médical (DM ou DMDIV)
Dispositions transitoires du Règlement (UE) 2017/745 pour les logiciels dispositifs médicaux
Conformité réglementaire de logiciel (de) dispositif médical
Qu'est-ce qu'un système de management de la qualité (SMQ) EN ISO 13485 ?
L'intelligence artificielle dans les logiciels (de) dispositifs médicaux
Attestation de conformité de logiciel dispositif médical (DM ou DMDIV)
Langue d'interface graphique de logiciel (de) dispositif médical
Utilité de la spécification d'utilisation d'un logiciel dispositif médical
Validation des logiciels pour les systèmes qualité des dispositifs médicaux
Norme CEI EN 82304-1 pour logiciel dispositif médical (DM ou DMDIV)
Dispositifs médicaux avec fonction de mesurage : identification et réglementation
Un guide sur la cybersécurité des dispositifs médicaux dans l'Union Européenne
Classification des logiciels (de) dispositifs médicaux (A, B, C…)
Les systèmes d'exploitation au regard de la cybersécurité des dispositifs médicaux
Cybersécurité des logiciels (de) dispositifs médicaux en France
Particularités de la gestion de risques de logiciel (de) dispositif médical
Détermination de besoins logiciels pour dispositifs médicaux : cas d'étude
Comment réduire le coût d'un logiciel (de) dispositif médical ?
Norme CEI 62366-1 et conception d'interfaces graphiques de logiciels (de) dispositifs médicaux
Norme EN 62304 et interface utilisateur des logiciels (de) dispositifs médicaux
Réglementation applicable aux logiciels (de) dispositifs médicaux