Conception d'algorithmes à finalité médicale

Maurice Navarro
Consultant qualité & logiciel pour dispositifs médicaux


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.

Conception d'algorithmes à finalité médicale

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.

Différences entre algorithme à finalité médicale et logiciel (de) dispositif médical
Différences entre algorithme à finalité médicale et logiciel (de) dispositif médica
  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 62304, CEI 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
Projection 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.

Parallélisation de conception et développement d'un algorithme et d'un logiciel (de) dispositif médical
Parallélisation de conception et développement d'un algorithme et d'un logiciel (de) 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.

Prévenir les anomalies du logiciel (de) dispositif médical

L'analyse de risques des logiciels (de) dispositifs médicaux permet de maîtriser leurs risques et de limiter leurs dysfonctionnements

Une fois que le logiciel (de) dispositif médical est fonctionnel il est important de le protéger.

Protéger un logiciel (de) dispositif médical

La protection par conception et la protection juridique d'un logiciel (de) dispositif médical augmentent la valeur des actifs de l'entreprise

Maurice Navarro

Maurice Navarro

Consultant qualité & logiciel pour dispositifs médicaux

Depuis plus de 15 ans, j'accompagne la réalisation de projets logiciels et la mise en place de systèmes de gestion de la qualité pour assurer le marquage CE de dispositifs médicaux fiables, sûrs et commercialisables sans délais.

Le 20 / 01 / 2021