Prédiction d’ordonnances de tests et examens à l’urgence par machine learning

On voit deux tendances qui se dessinent dans l’utilisation du machine learning dans le contexte d’ordonnances: la prédiction d’ordonnances et l’analyse d’ordonnances. Je vous parlais la semaine dernière de détection d’ordonnances atypiques, aujourd’hui je vous parle d’un nouvel article sur la prédiction d’ordonnances paru en octobre 2019 dans JAMIA.

L’étude s’est déroulée sur 3 sites, soit deux « urgent care centers » (on imagine des cliniques sans rendez-vous pour soins urgents) et une urgence d’hôpital du VA américain situés à Boston. Il s’agit d’une étude rétrospective, c’est à dire que des données du passé ont été extraites pour entraîner des modèles et faire des simulations, mais aucune utilisation prospective du modèle en vie réelle n’a eu lieu. L’objectif de l’étude était de déterminer s’il était possible de prédire les ordonnances de tests de laboratoire et examens (pas les médicaments) qui seraient prescrits durant une visite à l’urgence à partir des données disponibles au triage. L’objectif ultime était d’offrir des soins plus efficaces en diminuant le temps perdu à attendre la première évaluation médicale pour la prescription de tests et examens.

Les données du 12 avril 2012 au 31 décembre 2016 concernant les visites à l’urgence ont été extraites du dossier clinique informatisé des unités de soins à l’étude. Les patients qui ont quitté avant d’avoir été vus ou qui sont décédés à l’urgence ont été exclus. Ces données ont été traitées pour les transformer en représentations compatibles avec des modèles de machine learning. Les détails du traitement sont présentés dans l’article, mais consistent essentiellement en une préparation des variables suivantes:

  • La cote de sévérité attribuée au triage.
  • L’âge et le sexe du patient.
  • Les ordonnances de tests et examens demandés à la dernière visite à l’urgence.
  • Les listes de problèmes et de diagnostics codifiées.
  • Le quart de travail (jour/soir/nuit) à l’arrivée du patient.
  • Les signes vitaux (tension artérielle, pouls, saturation, fréquence respiratoire, température).
  • La présence de douleur.
  • La plainte principale du patient (chief complaint) à l’arrivée, traitée par analyse du langage naturel de manière très intéressante.

4 modèles de machine learning relativement simples (classification par régression des moindres carrés partiels, machines à vecteurs de support, forêts aléatoires et perceptron multicouche) ont été entraînés chacun selon deux méthodes, soit par prédiction binaire (prédire chaque test indépendamment) ou par prédiction multilabel (prédire tous les tests à réaliser d’un seul coup) . La performance de chaque modèle a été évaluée avec le score F1 et l’aire sous la courbe ROC. Les auteurs ont aussi effectué une simulation des coûts supplémentaires des tests qui seraient effectués « en surplus » sur la base des prédictions du modèle et en contrepartie ont aussi fait une simulation de la variation de la durée de séjour tenant à la fois compte du temps épargné par des tests demandés plus rapidement, et des délais supplémentaires occasionnés par l’attente de résultats de certains tests plus longs.

Les données de 140 855 visites ont été incluses dans le jeu de données. 2179 items uniques ont été prescrits, cependant 29 items représentaient 81% de toutes les ordonnances. Les auteurs se sont donc limités à ceux-ci dans leurs prédictions. La population de patients était composée de plus de 90% d’hommes, avec une minorité de ceux-ci âgés de moins de 45 ans. Les 5 raisons de visites les plus fréquentes étaient la douleur, des problèmes « thoraciques » (douleur, respiratoires, pulmonaires), des difficultés respiratoires, des problèmes abdominaux, et spécifiquement des douleurs thoraciques. Les 5 tests de laboratoire les plus fréquents étaient la créatinine, le glucose, l’urée, les électrolytes et la formule sanguine.

Le meilleur modèle était le perceptron multicouche (un réseau de neurones simples) avec prédiction binaire, avec un score F1 de 0,53 et une aire sous la courbe ROC de 0,70. On constate cependant que tous les modèles ont une performance proche les uns des autres avec des intervalles de confiance qui se chevauchent. Les auteurs soulignent que les prédictions semblaient largement corrélées avec la fréquence des tests, ainsi les modèles tendaient à surprédire les tests fréquents et à sous-prédire les tests rares. La cote de sévérité a été utilisée comme comparateur non machine learning, c’est-à-dire que les auteurs ont vérifié quelles seraient les métriques de performance d’un modèle qui prescrirait tous les tests aux patients avec cote élevée et aucun test aux patients avec une cote faible. Évidemment, ce type de modèle offrait une aire sous la courbe ROC et un rappel élevés à 0,76 et 0,95 respectivement, cependant on voit bien que la performance clinique d’un tel modèle serait très mauvaise avec un taux de faux positifs passant de 17% avec le meilleur modèle à 44% avec le score de sévérité. La simulation a démontré une augmentation du coût médian des tests de 21$ à 45$ par visite, avec une baisse de la durée de 158 à 151 minutes.

Je trouve que l’approche est intéressante, cependant la performance clinique ne semble pas particulièrement intéressante, avec un bénéfice clinique modeste pour un coût à toutes fins pratiques doublé en tests. Je trouve que le choix du score de sévérité au triage comme comparateur non machine learning est un peu trop simple. En effet, il serait très surprenant qu’une mesure aussi simple offre une performance intéressante, comme on le voit bien. Puisque les auteurs nous disent que le modèle tendait à surprédire les tests fréquents, je trouve que comparer à un top n de tests les plus fréquents (peut-être stratifié selon une sévérité faible ou élevée) aurait un comparateur plus près de la pratique réelle.

Je retiens de cette étude qu’il y a un potentiel à utiliser le machine learning pour apprendre les patrons de prescription dans des contextes où la rapidité de prescription pourrait apporter un bénéfice. Cependant, on voit que l’approche évaluée dans cet article, bien qu’étoffée, ne semble pas être au point. Les auteurs discutent dans l’article de l’utilisation d’une telle approche pour constituer des order sets pour les raisons de visite à l’urgence fréquentes plutôt qu’une approche manuelle. Cela rejoint les travaux d’autres groupes de chercheurs et je crois qu’il y a là une avenue à explorer.

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.

Utiliser le machine learning pour détecter les erreurs de prescription

Au début de 2017, je vous parlais d’un article décrivant un logiciel commercial de détection d’anomalies de prescription par machine learning. Cet article démontrait que plus de 75% des alertes générées par le système étaient valides par rapport aux données disponibles dans le dossier électronique de l’hôpital à l’étude et que plus de la moitié était de valeur clinique élevée.

Le même logiciel a fait l’objet d’une nouvelle étude parue en août 2019. Cette nouvelle étude a été réalisée dans un hôpital israélien de soins tertiaires de 1800 lits, mais une seule unité de médecine interne de 38 lits a été incluse. Les données ont été collectées du 1er juillet 2016 au 30 avril 2018.

Le logiciel intègre les données du dossier clinique informatisé de l’hôpital ainsi que les motifs (patterns) présents dans les pratiques de prescription du centre pour générer un modèle local, qui ensuite sert à l’analyse prospective de nouvelles ordonnances. Une rétroaction est donnée soit en temps réel lors de la prescription, soit en différé.

Durant l’étude, 4533 admissions ont eu lieu, générant 78 017 ordonnances. 315 alertes ont été générées pour 282 ordonnances, ce que les auteurs qualifient de faible et m’apparaît même extrêmement faible pour une système d’aide à la décision, quand on connaît le nombre très élevé d’alertes habituellement générées par de tels systèmes. Les auteurs ont comparé ces chiffres à ceux d’un autre système d’aide à la décision en place dans le même centre. On constate que 37% des ordonnances génèrent une alerte dans le système habituel comparativement à 0,4% dans ce nouveau logiciel.

Les alertes générées en temps réel étaient à 47% des alertes en lien avec des analyses de laboratoire, avec la sous-catégorie la plus fréquente qui était une alerte sur l’usage de sédatifs chez les patients avec hypercapnie. 42% des alertes en temps réel étaient liées au dosage. Les alertes asynchrones étaient générées lorsque la condition d’un patient changeait. La catégorie la plus fréquence de ces alertes était aussi l’usage de sédatifs chez les patients avec hypercapnie, suivie de près par l’usage de chronotropes négatifs chez les patients avec bradycardie.

Les auteurs rapportent la validité et l’utilité clinique des alertes. Je n’aime pas la méthode avec laquelle ces chiffres ont été déterminés: les auteurs ont pris la peine de vérifier la réponse des cliniciens aux alertes, mais la détermination finale de si une alerte était valide ou utile revenait à une seule personne, un « champion clinique » auteur de l’étude. J’aurais aimé voir une analyse externe par plusieurs personnes, possiblement même à l’aveugle de la réponse des cliniciens. De façon assez peu surprenante, 85% des alertes ont été jugées cliniquement valides et 80% cliniquement utile.

Les chiffres sur la réponse des cliniciens aux alertes sont plus intéressants. Environ la moitié des alertes ont généré un changement sur l’ordonnance dans un court laps de temps, ce qui est impressionnant considérant que la vaste majorité des alertes des systèmes d’aide à la décision classique sont ignorées. Les alertes les plus fréquemment associées à un changement étaient celles en lien avec le dosage, indiquant quand même que les alertes les plus fréquentes, sur l’hypercapnie et l’usage de sédatifs, n’étaient peut-être pas si cliniquement utiles.

Globalement, il s’agit d’un article très intéressant offrant des données sur l’impact clinique d’un logiciel d’aide à la prescription utilisant le machine learning. Les données présentées sont encourageantes, les alertes générées semblent être beaucoup plus utiles et pertinentes que celles générées par un système classique basé sur des règles programmées.

Cependant, le site web du produit et les publications des auteurs, du moins celles que je peux retrouver, n’offrent aucun détail technique sur le fonctionnement du logiciel, sur des forces et ses limites, ainsi que sur ses biais. 5 jours avant la publication de cet article, une autre publication du même journal appelait à la transparence. Je cite ici les deux phrases finales de l’abstract de cet article:

Hiding algorithms for commercial exploitation is unethical, because there is no possibility to assess whether algorithms work as advertised or to monitor when and how algorithms are updated. Journals and funders should demand maximal transparency for publications on predictive algorithms, and clinical guidelines should only recommend publicly available algorithms.