Étude sur l’analyse d’ordonnances par machine learning pour cibler les interventions du pharmacien

Une première publication résolument orientée vers l’application de machine learning au travail du pharmacien en contexte hospitalier a été publiée par un groupe d’auteurs français en septembre dans le JAMIA. L’article commence avec une référence à To Err is Human, peut-être lisent-ils ce blogue… Un logiciel commercial combinant le machine learning à une aide à la décision classique basée sur des règles a été utilisé. L’objectif de l’étude était de décrire la performance de ce système en comparaison à celle d’un pharmacien.

L’étude a été réalisée dans un hôpital parisien de 592 lits. Dans cet hôpital, les pharmaciens ne révisent pas les ordonnances systématiquement pour tous les patients, mais plutôt uniquement pour certains départements, ce qui concorde avec la pratique française en général. Il est donc supposé que l’utilisation d’un logiciel permettant d’identifier les patients pour lesquels une intervention pharmaceutique est requise à l’aide d’un modèle de machine learning permettrait d’optimiser le travail du pharmacien en lui évitant de réviser des profils ne comportant pas de problèmes. Ceci rejoint les hypothèses qui sous-tendent les travaux que je coordonne moi-même dans ma pratique.

Le modèle de machine learning utilisé était un classificateur binaire prédisant l’intervention d’un pharmacien. Les données fournies en entrée au modèle étaient les données de laboratoires, les données démographiques, certaines données de l’histoire médicale et les paramètres physiologiques. En ce qui a trait aux données du profil pharmacologique, il est à noter que les ordonnances ou le profil pharmacologique eux-mêmes ne semblent pas avoir été utilisés. Plutôt, le résultat de l’analyse du profil par un logiciel d’aide à la décision basé sur des règles semble avoir été privilégié, en fournissant au modèle le statut de déclenchement de chaque alerte possible après l’analyse du profil. Les données exactes choisies de même que leur traitement sont relativement peu décrits, on imagine que ceci découle du fait que l’étude concerne un logiciel commercial. L’apprentissage a été fait de manière supervisée en utilisant la présence d’intervention du pharmacien (réduite à une variable binaire) comme sortie du modèle. Le modèle lui-même était une variante de boosting d’arbres de décision, donc un modèle relativement simple et transparent. Il est dommage que l’étude n’ait pas comparé d’approches plus simples (régression logistique) ni plus complexes (réseaux de neurones) pour voir si le choix de technique était le meilleur. Il n’y a pas eu non plus d’évaluation d’importance des données utilisées par le modèle qui aurait pu fournir des explications sur les prédictions. Au niveau temporel, le modèle semblait générer une prédiction à chaque fois qu’une nouvelle ordonnance était analysée, mais il ne semble pas que cette analyse se concentrait sur cette ordonnance précisément; le modèle n’indiquait donc pas au pharmacien exactement sur quoi devrait porter son intervention.

Le modèle a été entraîné à l’aide de 18 mois de données extraites des dossiers électroniques du centre, soit de janvier 2017 à août 2018. Le processus d’entraînement et de test est peu décrit. L’étude concerne une validation du modèle entraîné qui a été faite en comparaison avec l’opinion d’un seul pharmacien sur une période de 2 semaines. Seuls les problèmes identifiés par le pharmacien mais pas par le modèle ont été évalués par plus d’un clinicien. Des ordonnances ont été sélectionnées aléatoirement durant ces deux semaines et les interventions faites par le pharmacien ont été notées, puis comparées aux prédictions du modèle. Les résultats rapportés incluent l’aire sous la courbe ROC, ce qui n’est pas adéquat selon moi puisque la prévalence d’interventions était très faible à 3,6%, je me concentrerai donc uniquement sur l’aire sous la courbe précision-rappel (AUPR) et le score F1, des mesures plus représentatives en présence de débalancement de classes. Deux comparateurs non-machine learning ont été utilisés, ce qui est très bien, soit les alertes générés par le système d’aide à la décision basé sur les règles et un score basé sur des facteurs de risque du patient (âge, fonction rénale, potassium et INR).

3364 ordonnances pour 412 patients ont été évalués par le pharmacien. 211 interventions ont été recommandées par le pharmacien pour 174 patients. L’AUPR du modèle était de 0,75 et le score F1 de 0,74 en comparaison avec respectivement 0,56 et 0,61 pour les alertes d’aide à la décision et 0,56 et 0,64 pour le score basé sur les facteurs de risque, ce qui démontre une bonne performance du modèle, supérieure aux autres outils et assez proche de celle du pharmacien. Malheureusement, les interventions ainsi réalisées sont peu décrites, il est donc difficile de juger de l’impact clinique pour le patient. En particulier, je trouve que la performance du système d’aide à la décision dans cette étude était très élevée, avec une précision à 0,54 et un rappel à 0,69, indiquant relativement peu de faux positifs par rapport à ce que j’observe dans ma propre pratique, où une large proportion des alertes d’aide à la décision sont des faux positifs. Peut-être le système que j’utilise est-il peu performant ou celui utilisé dans l’étude était très performant. Il aurait été plus facile d’avoir confiance en ces chiffres si l’opinion de plus d’un pharmacien avait été obtenue. Néanmoins, je trouve positif de constater qu’un tel modèle, avec une approche simple, est capable d’avoir une aussi bonne performance. Ceci démontre bien qu’il y a une place pour des outils d’intelligence artificielle dans la pratique clinique du pharmacien.

Je trouve que la plus grosse lacune du modèle étudié dans cette étude est le fait qu’il s’agisse d’un apprentissage supervisé à partir des interventions passées de pharmaciens, dont l’utilisation pratique serait d’orienter ces mêmes interventions. Je vois mal comment ce modèle pourrait survivre à sa propre implantation. Il est bien connu que les modèles de machine learning utilisés pour prédire des interventions en soins de santé doivent constamment être réentraînés pour prendre en compte l’évolution de la pratique influençant ces interventions. Cependant, si l’intervention elle-même est utilisée comme cible dans un entraînement supervisé, et que le modèle est en même temps utilisé pour décider d’intervenir, le modèle se retrouve à utiliser ses propres prédictions pour se réentraîner, ce qui est évidemment délétère. J’aurais aimé voir une discussion de comment les auteurs prévoient gérer ce problème une fois leur modèle déployé.

Malgré cela, il s’agit définitivement d’un article pertinent et à connaître pour les pharmaciens s’intéressant au machine learning. Je suis très heureux de voir des applications pratiques en pharmacie hospitalière commencer à apparaître dans la littérature scientifique.

Machine learning non supervisé pour la détection d’anomalies dans les prescriptions de médicaments

Je crois beaucoup au potentiel de l’intelligence artificielle pour aider le pharmacien dans son travail de validation d’ordonnances. Le sujet n’est certainement pas parmi les plus populaires dans la littérature sur les applications de l’intelligence artificielle en santé mais on voit que l’analyse d’ordonnances de médicaments revient régulièrement dans les nouvelles publications. Un nouvel article d’une équipe du Brésil discute de ce sujet.

L’objectifs des chercheurs était d’identifier des combinaisons médicament-voie-fréquence atypiques (outliers) de manière non-supervisée, c’est-à-dire sans que les données fournies au modèle n’indiquent à l’avance si une ordonnance est atypique ou non. À cette fin, un nouvel algorithme a été développé permettant de représenter les ordonnances de chaque médicament à l’aide d’un vecteur bi-dimensionnel incorporant la dose et la fréquence. Un graphe est construit à partir des prescriptions d’un médicament ainsi représentées, l’objectif étant d’attribuer à chaque prescription un score de « centralité » indiquant à quel point la combinaison dose-fréquence est commune par rapport à l’historique des prescriptions de ce médicament. Après analyse par l’algorithme, un seuil attribué à chaque médicament permet de séparer les combinaisons dose-fréquence typiques de celles atypiques.

Le modèle a été développé et testé sur des données d’un hôpital brésilien collectées entre janvier et septembre 2017 à partir du prescripteur électronique de l’établissement. 2 millions d’ordonnances pour 16 000 patients sont incluses dans la banque de données. Les médicaments sont représentés en nom générique, et les doses et fréquences de médicaments ont été standardisées pour l’analyse. Les médicaments avec moins de 1000 occurrences dans l’historique de prescription ont été exclus. Des doses quotidiennes minimales et maximales ont été extraites de banques de données commerciales sur les médicaments; les médicaments sans ces données ont été exclus de l’analyse.

563 171 ordonnances pour 51 médicaments ont été inclus dans le jeu de données final. La section des résultats de l’article montre des images faciles à interpréter expliquant comment l’algorithme caractérise les combinaisons de dose et de fréquence pour un médicament et où sont les combinaisons atypiques. De même, un échantillon de 150 000 ordonnances pour 21 médicaments est disponible sur le GitHub du projet.

Les limites de doses extraites des banques de données ont été utilisées pour caractériser la performance du modèle pour identifier les surdosages et sous-dosages. L’algorithme développé par les auteurs a été comparé à 5 modèles « standards » pour la détection de outliers. La performance a été analysée à l’aide du score F1, une mesure de classification prenant en compte le fait que les ordonnances atypiques sont bien moins fréquentes que les ordonnances typiques.

Les résultats montrent que l’algorithme proposé par les auteurs offre la meilleure performance, se classant parmi les 3 meilleurs algorithmes pour la détection des dosages atypiques pour 31 des 51 médicaments, avec un score F1 de 0.68. Les méthodes classiques se sont avérées moins performantes sauf les forêts d’isolation avec un classement parmi les meilleurs 3 algorithmes pour 26/51 médicaments et un score F1 de 0.61. L’algorithme s’est aussi avéré plus stable lors de variation de ses paramètres d’entraînement.

Les auteurs notent que leur algorithme était vulnérable à des erreurs de dosage par rapport au choix de produit pharmaceutique, par exemple une prescription d’amlodipine en comprimés de 10 mg pour une dose de 5 mg, alors qu’il existe des comprimés de 5 mg. Ceci semble davantage être un symptôme de la configuration du système (j’en parlais en 2016) qui demande au prescripteur de choisir un produit plutôt qu’une molécule. On note aussi des détections d’atypicité pour des dosages impossibles selon la forme, comme 88 mcg de lévothyroxine avec des comprimés de 100 mcg, ainsi que des vraies détections de dosages atypiques (méropénem 2g une fois par jour, allopurinol 600 mg une fois par jour). Les auteurs notent que les médicament dont le dosage est intrinsèquement plus variable comme le chlorure de potassium oral, ou la carbamazépine par exemple, montraient une performance moins bonne.

Les auteurs indiquent que leur approche ne permet pas la prise en compte des doses en fonction du poids. Ceci affecte la généralisation d’une telle approche. Par exemple, dans un contexte d’hôpital avec une bonne proportion de patients pédiatriques, la plupart des médicaments peuvent être dosés en fonction du poids ou de la surface corporelle en plus de doses fixes pour les patients plus vieux ou les adultes, ce qui complexifie la tâche.

Je trouve cette étude très intéressante car elle rejoint mes propres intérêts de recherche. Je m’intéresse davantage à la détection de médicaments atypiques dans le contexte des autres médicaments d’un patient, tandis que cette étude s’intéresse au dosage d’un médicament en lien avec le médicament lui-même, indépendamment des autres médicaments actifs. Ceci ressemble aux travaux de Allen Flynn. Je trouve un peu étrange que cette nouvelle étude ne cite pas ces publications, qui ont sensiblement un objectif similaire malgré des méthodes un peu différentes. En tout cas, il y a définitivement un besoin pour ces deux volets d’analyse d’ordonnances automatisée, et cette étude est un pas de plus dans la bonne direction.

Impact de la complexité d’une ordonnance sur son temps de validation

Cette étude avait pour objectif de caractériser le temps passé par des pharmaciens à valider 30 dyades courantes de médicament et voie d’administration en relation avec la complexité de ces ordonnances, dans une optique d’évaluer si le fait de ne plus exiger la vérifications d’ordonnances « simples » permettrait d’épargner du temps aux pharmaciens.

L’étude a été menée dans un centre académique tertiaire de 1000 lits situé aux États-Unis. Les pharmaciens travaillaient des quarts de travail de 8 heures et procédaient à la vérification des ordonnances de façon mixte avec d’autres activités comme la réponse à des questions téléphoniques et la vérification contenant-contenu des produits dispensés. À noter que l’établissement utilisait un dossier patient électronique intégré moderne et les pharmaciens travaillaient dans le module de pharmacie de ce système. Les chercheurs ont d’abord développé une classification d’ordonnances en catégories simple, modérée et complexe. Puis, ils ont implanté une technologie de capture d’écran pour suivre le travail des pharmaciens, et enfin ils ont extrapolé les données collectées à l’ensemble du volume d’activité de vérification d’ordonnances pour estimer le temps passé à valider chaque catégorie d’ordonnances.

La classification de la complexité des ordonnances était basée sur trois critères:

  • La présence sur la liste d’alerte élevée d’ISMP.
  • Le niveau « d’atypicité » de l’ordonnance basé sur la variabilité des doses et fréquences prescrites pour une combinaison de médicament + voie d’administration.
  • Le niveau de complexité cognitive de la validation des 30 dyades médicament + voie d’administration tel que déterminé par un sondage mené auprès des 60 pharmaciens du centre (27 ayant répondu).

Les résultats des dyades pour ces 3 critères ont été utilisés pour effectuer une classification par consensus en niveaux de complexité. Le logiciel de capture d’écran a été utilisé pour enregistrer le processus de validation de 12 pharmaciens expérimentés travaillant à la validation d’ordonnances et calculer le temps nécessaire à la validation. Chaque médicament a été observé 30 fois pour obtenir une puissance suffisante. Les vérifications d’ordonnances où il était possible que le pharmacien ait été interrompu (tel que déterminé par l’inactivité de la souris) ont été exclues et remplacées dans le jeu de données.

Un modèle de régression linéaire mixte a été utilisé pour comparer les temps de vérifications entre les ordonnances hautement complexes et faiblement complexes, modérément complexes et hautement complexes, et modérément complexes et faiblement complexes. L’analyse a pris en compte les mesures répétées pour un même pharmacien et les corrélations entre observations. Une analyse de sensibilité a aussi été menée en excluant deux antibiotiques qui se sont avérés aberrants dans leur groupe de complexité.

Les médicaments hautement complexes avait un temps de validation de 18,6 ± 23,1 secondes, les ordonnances modérément complexes un temps de 23,7 ± 23,3 secondes, et les ordonnances faiblement complexes un temps de 8,0 ± 14,4 secondes. L’analyse n’a pas démontré de différence statistiquement significative entre ces temps. L’analyse de sensibilité excluant la céfazoline et la pipéracilline + tazobactam qui avaient des temps de validation très longs malgré leur classification à faible complexité, a démontré une différence statistiquement significative entre les médicaments à haute complexité et ceux à faible complexité.

Les auteurs concluent que l’exclusion des médicaments à faible complexité de la validation des ordonnances par un pharmacien permettrait de récupérer 196 heures de temps de travail par année par pharmacien, temps qui pourrait être assigné à des activités avec davantage de valeur ajoutée. Cependant, en excluant la céfazoline dont les résultats s’apparentaient davantage à un médicament à complexité élevée, le temps récupéré diminue à 82 heures par année.

Je trouve cet article intéressant car il ramène dans l’actualité le sujet du temps passé par les pharmaciens à effectuer de la vérification prospective d’ordonnances et amène de nouvelles données sur l’impact clinique réel de cette activité. L’étude n’amène pas de réponses claires et c’est dommage, mais elle illustre bien la difficulté de bien caractériser l’activité cognitive des pharmaciens durant la validation d’ordonnances. La discussion de l’article est très bonne, elle met bien en perspective les résultats de l’étude et je vous invite à la lire. Je suis bien d’accord avec ce paragraphe en particulier, qui illustre bien selon moi la nécessité de repenser l’activité de vérification d’ordonnances à la lumière des outils technologiques modernes à la disposition des pharmaciens:

The verification of low complexity orders is a basic and repetitive drug distribution function that pharmacists frequently characterize as rote work due to the extremely low rate of problems. The most serious concerns, such as drug allergies, drug interactions, and dosing errors are generally identified using clinical decision support rules and alerts, while others would need to be identified through anomalous or important patient-specific factors that arise during routine profile review or clinical rounds. Verification of these low complexity orders may actually increase the risk of error due to the lack of vigilance by the pharmacist when reviewing these orders, similar to errors of omission seen with alert fatigue.