Un modèle prédictif des ruptures d’approvisionnement

Le numéro de juillet 2021 de l’AJHP contenait un article décrivant le développement et l’évaluation d’un modèle prédictif des ruptures d’approvisionnement en médicaments.

Le contexte de réalisation de l’étude est un peu mal décrit, mais je crois comprendre que les auteurs sont des pharmaciens d’un centre universitaire américain situé en Caroline du Nord et qu’ils ont réalisé cette étude à partir de données disponibles publiquement et des données internes de leur institution.

Ils ont construit un jeu de données à partir des ruptures d’approvisionnement observées dans leur centre en 2016 et 2017 et ont catégorisé chaque médicament à l’aide d’une issue dichotomique soit la présence d’une rupture durant la période d’observation ou son absence. Ensuite, ils ont associé à chaque médicament des variables potentiellement prédictives d’une rupture identifiées à partir d’une revue de littérature. Ces données ont été extraites de diverses sources énumérées dans l’article. Cependant, certaines données n’ont pu être obtenues (par exemple les données relatives aux méthodes de fabrication du médicament) et ont donc été exclues.

Un modèle de régression logistique a été construit. Les variables ont d’abord été testées individuellement pour inclusion dans le modèle multivarié, cependant certaines variables ont été jugées prioritaires par les auteurs et ont été incluses peu importe leur effet dans le modèle univarié. Les autres variables ont été incluses dans le modèle multivarié selon la présence d’une corrélation dans le modèle univarié pour chacune. Le modèle a été testé à l’aide d’une validation croisée à 10 blocs (10-fold cross-validation), et la mesure de performance rapportée était la moyenne de performance sur le jeu de validation de chacun des 10 blocs. Les mesures de performance « classiques » d’un modèle prédictif dichotomique (aire sous la courbe ROC et mesures associées au tableau 2×2) ont été rapportées.

Les variables candidates identifiées à partir de la revue de littérature étaient d’abord ceux liées au manufacturier (équipement désuet, contamination des matières premières, etc.), ou liées aux catastrophes naturelles compromettant la fabrication ou le transport; celles-ci correspondent aux données exclues car non disponibles ou non prévisibles. Les données incluses étaient le nombre de manufacturiers, la disponibilité de formes par voie orale, injectable, ou les deux, la présence de génériques, la classe thérapeutique, le statut de drogue contrôlée selon les normes américaines, et le statut de médicament orphelin. On note que ce que les auteurs entendent par « médicament » est mal défini dans l’article, parlent-ils d’un produit précis (comme on pourrait imaginer en parlant de nombre de manufacturiers) ou d’une molécule (comme on pourrait imaginer en parlant de disponibilité par voie orale ou injectable) ? Ont-ils regroupé différents formats ou teneurs d’une même molécule (comme on aurait tendance à substituer de l’un à l’autre en cas de rupture) ?

1588 médicaments ont été inclus, dont 71 ont été exclus en raison de données manquantes. 1096 (72,2%) n’ont pas eu de ruptures, les autres en ont eu une (on voit ici un débalancement de classes, nous y reviendrons). Les classes thérapeutiques les plus fréquentes étaient « autre » (44,6%), suivi des agents cardiovasculaires (15%) et antimicrobiens (13,6%). Le nombre de manufacturiers moyen par médicament était de 4,9. Les facteurs significatifs associées à la présence de rupture en régression univariée étaient la voie intraveineuse seulement, les classes antimicrobien, analgésique, électrolyte, anesthésique ou cardiovasculaire et la présence uniquement de manufacturiers génériques. En régression multivariée, les facteurs associés aux ruptures étaient la voie intraveineuse seulement ou la présence à la fois de produits oraux et intraveineux, et les classes antimicrobien, analgésique, électrolyte, anesthésique ou cardiovasculaire.

Les auteurs affirment que la performance du modèle était bonne, avec une sensibilité de 0,71, une spécificité de 0,93, valeur prédictive positive de 0,80, et valeur prédictive négative de 0,90. L’aire sous la courbe ROC était 0,93 et l’exactitude 0,97.

L’objectif de cette étude est définitivement intéressant, car il serait très utile de pouvoir prédire à l’avance qu’un médicament sera en rupture de stock. Cependant, malgré les chiffres de performance qui apparaissent à prime abord satisfaisants, je ne crois pas que les auteurs aient réussi à atteindre réellement leur objectif ni à bien démontrer la performance de leur modèle. Gardons d’abord en tête que l’étude n’a porté que sur un jeu de données construit pour l’étude et n’a fait l’objet d’aucune évaluation en pratique réelle, et la littérature ne manque pas d’exemple de modèles prometteurs en théorie qui ont échoué en pratique pour une variété de raisons.

Au niveau méthodologique, on peut se demander pourquoi seulement la régression logistique a été testée. En effet, il s’agit d’un modèle simple et définitivement à inclure dans une liste de modèles à tester, et d’ailleurs offrant une performance surprenante en comparaison à certains modèles beaucoup plus complexes, mais il aurait été relativement facile de tenter plusieurs modèles à prédiction dichotomique et de comparer les résultats (arbres de décision, machine à vecteurs de support). Il est aussi dommage que seule la performance globale du modèle ait été rapportée. En effet, comme les médicaments sans rupture de stock étaient majoritaires dans les données, il est connu que les mesures comme l’aire sous la courbe ROC peuvent apparaître erronément élevées en raison d’une tendance à prédire la classe majoritaire. Une statistique comme l’aire sous la courbe précision-rappel aurait été préférable, ou au minimum des chiffres de performance découpés par classe avec ou sans rupture. Enfin, il est dommage que le code est les données ne soient pas disponibles, il est ainsi impossible d’évaluer de manière indépendante ce que les auteurs affirment, et il s’agit de données et de code que j’imagine relativement simples et faciles à sécuriser afin de les rendre partageables.

De façon plus générale, je trouve que la manière dont le modèle est conçu est problématique. Essentiellement, les auteurs arrivent à un modèle qui prédit si un médicament est à risque d’être en rupture de stock en fonction de ses caractéristiques « de base », sans tenir compte de sa chaîne logistique. Par exemple, une donnée est le nombre de manufacturiers plutôt que l’identité de ces manufacturiers. Donc, à travers le temps dans une utilisation pratique, ce modèle ne pourrait arriver à prédire avec succès une rupture pour un médicament que si des médicaments avec des caractéristiques de base similaires se sont retrouvés aussi en rupture. De plus, avec la stratégie de validation croisée sans égard au temps (il n’est pas mentionné précisément dans l’article quelle stratégie de division en blocs a été utilisée mais comme il s’agit de 10 blocs on peut assumer que c’est une stratégie avec division aléatoire des données sans égard au temps), on peut se retrouver avec des effets de contamination. Si par exemple durant une période, plusieurs médicaments du même manufacturier se sont retrouvés en rupture et que ceux-ci avaient des caractéristiques similaires (on peut imaginer par exemple plusieurs électrolytes intraveineux produits par le même manufacturier en rupture en même temps, ce que l’on a vécu à quelques reprises dans le passé), le modèle peut avoir été contaminé si des données de cette période se sont retrouvées à la fois dans les blocs d’entraînement et de validation, offrant ainsi une bonne performance de prédiction, alors qu’en réalité le modèle n’aurait jamais vu venir cette rupture.

Bref, c’est une étude avec un objectif intéressant, mais l’aspect expérimental comporte tellement de lacunes et de raccourcis méthodologiques que j’ai de la difficulté à croire que le modèle ainsi élaboré offrirait une performance satisfaisante en pratique.

Utiliser le machine learning pour rédiger les instructions posologiques des médicaments

J’ai déjà parlé de plusieurs applications possibles du machine learning pour améliorer le fonctionnement des dossiers électroniques et pour certaines applications en pharmacie, son application en pharmacie d’établissement de santé étant un de mes intérêts de recherche. Un article publié en février 2021 dans le journal de l‘American Pharmacists Association décrit une application intéressante du machine learning pour assister le pharmacien dans un contexte de pratique communautaire. Dans ce contexte, la réception d’ordonnances électroniques avec des instructions en texte libre écrites par les prescripteurs comporte souvent des instructions inadaptées aux patients (par exemple, du jargon médical, des abréviations, des mots en latin). Les assistant-techniques en pharmacie et pharmaciens doivent « traduire » ces instructions en langage compréhensible par un patient qui n’a pas nécessairement de formation médicale. Cette traduction pourrait être effectuée par un modèle d’intelligence artificielle, ce qui épargnerait du temps et pourrait potentiellement diminuer les erreurs liées à ce processus manuel et variable.

L’objectif de l’étude était d’évaluer un modèle de traduction par intelligence artificielle développé à cette fin. Le modèle en question comportait un réseau de neurones appelé neural machine translation (un type de modèle bien connu et déjà utilisé dans d’autres applications), suivi d’une étape de vérification permettant d’éliminer des traductions incohérentes, puis d’une étape de normalisation. Le modèle avait été préalablement entraîné à partir de la banque de données comportant 537 710 ordonnances électroniques reçues par une pharmacie postale américaine en 2017 et 2018. Le développement et l’entraînement de ce modèle a été présenté à une conférence en novembre 2020. L’article décrit le processus de validation du modèle. Chaque ordonnance comportait 3 éléments utilisés pour l’étude: les instructions en texte libre émises par le prescripteur, les instructions en texte libre remises au patient et élaborées à la main par le personnel de la pharmacie, et les instructions en texte libre déterminées par le modèle d’intelligence artificielle à partir des instructions du prescripteur. D’autres variables étaient également utilisées, notamment la classe du médicament, afin d’orienter le modèle.

300 ordonnances non utilisées pour l’entraînement du modèle (jeu de test de la base de données) ont été échantillonnées et annotées par deux étudiants en pharmacie. Les divergences d’opinion ont été résolues par discussion avec un pharmacien et un chercheur auteurs de l’étude. L’annotation visait à coter les instructions par rapport à leur conformité aux pratiques recommandées pour l’étiquetage des médicaments selon une ligne directrice américaine, par exemple pour valider que toutes les composantes de la posologie étaient présents (dose, unité, voie, fréquence), que les motifs de prise pour les ordonnances au besoin étaient présents, etc. Ils ont aussi coté la « distance minimale » entre les différentes instructions en fonction d’une méthodologie décrite dans l’étude, un chiffre plus élevé indiquant le besoin de plus de manipulations de traitement de texte pour passer d’une chaîne à l’autre.

47 classes de médicaments étaient incluses dans les 300 ordonnances échantillonnées, dont 11,7% de médicaments pour de diabète, 8% de médicaments respiratoires, etc. 35 médicaments à haut risque étaient inclus. 279 ordonnances ont été incluses, celles d’instruments médicaux ayant été exclues. 70,3% des instructions transmises par les prescripteurs n’étaient pas conformes [notamment, 43,7 % contenaient une abréviation, du jargon ou des mots en latin], comparativement à 33,0% des instructions produites par le personnel des pharmacies et 29,7% des instructions produites par le modèle.

Les auteurs soulignent que 23 instructions produites par le modèle comportaient des erreurs de dose, d’unité ou de fréquence, dont 5 pour des médicaments à haut risque, comparativement à 2 pour les instructions produites par le personnel de pharmacie. Un exemple avec un sevrage de prednisone est donné dans l’article.

Les instructions produites par le modèle étaient plus près des instructions finales remises au patient: la distance minimale entre les instructions des prescripteurs et les instructions finales était d’une médiane de 30 (intervalle interquartile 19-47) alors qu’elle était de 18,5 (intervalle interquartile 0-36) entre les instructions du modèle et les instructions finales.

Les auteurs expriment la possibilité qu’un tel modèle serve de « premier pas » lors du traitement d’une ordonnance électronique, ainsi les instructions posologiques pourraient être éditées à partir du texte produit par le modèle plutôt qu’à partir des instructions du prescripteur directement, afin de réduire la charge de travail représentée par l’édition manuelle des instructions posologiques. Ils soulignent à juste titre que les erreurs d’interprétation de certaines posologies faites par le modèle sont un problème; dans ma propre expérience ce genre de situation (où un texte proposé « par défaut » est inexact ou erroné, même rarement) est très mal toléré par les cliniciens. Même s’il est attendu qu’ils éditent le texte, ceux-ci préférent généralement rien du tout plutôt qu’un texte pouvant comporter dans de rare cas une erreur. Les auteurs proposent des solutions possibles, comme par exemple une rétroaction par apprentissage par renforcement permettant au modèle d’identifier en temps réel les erreurs qu’il commet, l’inclusion d’un intervalle de confiance par rapport aux instructions présentées, ainsi que des changements à la manière dont les posologies sont transmises électroniquement pour diminuer le recours au texte libre.

Je trouve cet article intéressant, cette application me semble avoir du potentiel. Même en limitant l’utilisation du modèle aux cas où la performance du modèle serait très bonne, pour éviter les problèmes (ex: exclure les instructions complexes ou les formes pharmaceutiques plus rares), il serait possible de faciliter la vie du personnel des pharmacies dans la rédaction des instructions posologiques remises au patient. Dans le contexte québécois bien sûr, ceci nécessiterait une augmentation significative de la proportion d’ordonnances transmises électroniquement et des améliorations aux logiciels de pharmacie communautaire.

Facteurs associés à l’annulation d’ordonnances électroniques

Un article publié en novembre 2020 dans JAMIA décrit l’utilisation de données provenant d’une fonctionnalité d’annulation d’ordonnances électroniques (« void« ) qui visait à indiquer qu’une ordonnance était une erreur. L’étude avait pour objectif de décrire la nature des erreurs qui avaient fait l’objet d’une annulation et d’explorer les facteurs de risque et stratégies de prévention de ces erreurs.

L’étude a eu lieu dans un centre académique américain de 495 lits utilisant un logiciel de dossier électronique commercial. Les ordonnances annulées durant une période de 16 mois, soit du 25 août 2017 au 31 décembre 2018, ont été incluses. Suite à une annulation d’ordonnance, l’équipe de recherche contactait le clinicien dans un délai de 24 heures pour obtenir des détails sur les circonstances de l’annulation, et les détails de l’annulation dans le dossier électronique étaient révisés. Le modèle SEIPS dont j’ai déjà parlé il y a plusieurs années a été utilisé pour analyser les erreurs, de manière à identifier les facteurs contributifs au niveau des personnes, des tâches, des technologies, de l’environnement et des aspects organisationnels.

1074 ordonnances ont été annulées durant l’étude. Toutes les ordonnances ont pu être analysées, et 387 entretiens ont été menés 355 sondages ont été remplis par 286 cliniciens impliqués dans les annulations. 842 annulations des 1074 (78%) étaient de véritables erreurs. La majorité des erreurs étaient des ordonnances faites par des médecins (63%) et la plupart ont aussi été annulées par des médecins (54%); les autres cliniciens les plus impliqués étant des infirmières ou pharmaciens.

Sur la base des données collectées dans les dossiers, les erreurs les plus fréquentes étaient des duplications d’ordonnances dans 51% des cas, des erreurs posologiques dans 22% des cas, des erreurs de patient dans 11% des cas, des erreurs cliniques dans 7% des cas suivi d’autres raisons dans des proportions moins fréquentes. Aucun événement indésirable découlant des erreurs n’a été rapporté, cependant 190 erreurs (22%) se sont rendues au patient avec au moins une dose de médicament administrée avant que l’erreur ne soit interceptée.

Les facteurs impliqués dans les erreurs sont sans grande surprise, je liste ici ce qui est principalement identifié mais il est utile de lire la section très détaillée sur ce sujet dans l’article.

  • Facteurs technologiques: la confusion dans la présentation de l’information dans le dossier électronique, la conception des alertes et le manque de formation sur l’utilisation du logiciel.
  • Facteurs cognitifs: la surcharge d’alertes, la charge de travail, les distractions.
  • Facteurs sociaux: les difficultés de communication entraînant une mauvaise compréhension entre différents cliniciens (en particulier lors d’ordonnances verbales) ou avec le patient.
  • Facteurs environnementaux: les interruptions, le bruit, le manque de temps, les alarmes.
  • Facteurs organisationnels: la charge de travail, le manque de personnel, le manque de diffusion de protocoles et les déviations par rapport aux protocoles.

L’article n’apporte rien de bien surprenant en termes de facteurs contributifs, ceux-ci sont largement connus et déjà démontrés comme des causes d’erreurs dans une variété de circonstances; pas seulement dans le cadre de la prescription électronique. Il est cependant surprenant de voir que près du quart des erreurs de prescription ont mené à l’administration d’au moins une dose du médicament erroné au patient, ce qui me semble beaucoup. Ceci peut être un reflet des processus en place dans le centre où l’étude a eu lieu mais pourrait aussi indiquer que la fonctionnalité d’annulation dans un logiciel de prescription électronique est plus susceptible d’être utilisée pour les erreurs « significatives » par rapport aux erreurs plus mineures qui ne mènent pas à des conséquences tangibles.