Un réseau de neurones pour la prédiction d’ordonnances

Le même groupe qui a récemment publié une évaluation de leur système de prédiction d’ordonnances a aussi publié, quelques mois auparavant, un autre article décrivant une approche différente pour arriver au même résultat. L’article est disponible en texte complet sur PubMed Central. Un article similaire (probablement une version préliminaire) découlant d’un congrès avait aussi été publiée en 2019. Alors que leur approche originale était basée sur des statistiques de cooccurrence, ils ont utilisé ici une approche de réseaux de neurones avec une comparaison à une régression logistique. L’objectif de l’étude était de comparer la performance de ce type de modèle pour prédire les ordonnances placées par les cliniciens par rapport aux ensembles d’ordonnances (order sets) (donc, comparer les ordonnances recommandées par le système à celles présentes dans les order sets réellement utilisés pour le patient), comme c’est l’habitude dans presque tous les articles de ce groupe.

Toujours comme d’habitude pour ce groupe, une base de données de l’Université Stanford a été utilisée pour entraîner le modèle. Dans la présente étude, cette base de données a aussi été utilisée pour l’évaluation présentée dans l’étude, plutôt qu’une évaluation séparée sur des données collectées prospectivement. C’est donc une limite de l’étude. Le jeu de données a été divisé en partitions d’entraînement, de validation et de test de manière adéquate en s’assurant que les patients étaient inclus dans une seule partition et que la séquence temporelle entre les partitions était respectée. En effet, les partitions de validation et de test doivent contenir des données chronologiquement générées après celles de la partition d’entraînement afin que les évolutions de pratiques normales qui influencent les données dans une utilisation réelle d’un modèle soient reflétées dans l’évaluation. Dans le cas où ce n’est pas fait, on apprend au modèle ce qui va arriver dans le futur et cela gonfle artificiellement les métriques de performance.

Plusieurs données cliniques des patients disponibles dans le dossier électronique du centre (les prescriptions, les analyses de laboratoires, les codes de diagnostic, etc.) ont été utilisées en entrée du modèle. Ces données ont été simplifiées en 4 représentations temporelles (dans la dernière journée, dans les 7 derniers jours, dans les 30 derniers jours et depuis toujours) avec un pré-traitement adéquat. La sortie du modèle était la prescription de chaque élément d’ordonnance dans la journée suivante. Seuls les éléments d’ordonnance prescrits au moins 256 fois dans le jeu de données ont été inclus, pour une possibilité de 1639 possibilités incluses sur un total de 14914, mais représentant tout de même plus de 90% des ordonnances. Les auteurs ont aussi évalué la performance de prédiction de order sets entiers et pas seulement d’ordonnances individuelles (610 possibilités).

Un échantillon de données provenant de 57 624 patients a été utilisé pour l’entraînement. Les résultats incluent les aires sous la courbe ROC, mais il n’est pas très clair comment cet indicateur a été calculé puisque l’on est clairement dans une prédiction multi-classe et plusieurs façons de calculer cette mesure existent dans ce contexte. Les auteurs présentent la précision moyenne plutôt que l’aire sous la courbe précision-rappel, mais ce n’est pas trop clair pourquoi ils ne présentent pas les deux. La précision moyenne de la régression logistique était 0,176 et celle du réseau de neurones était 0,240. Dans le contexte de prédiction des order sets, la précision moyenne de la régression logistique était 0,118 alors que celle du réseau de neurones était 0,311.

L’article est bien écrit et le développement et l’évaluation du modèle suivent des pratiques adéquates. En particulier, la façon dont le jeu de données d’entraînement et d’évaluation du modèle a été divisé est excellente, ce qui n’est pas toujours le cas dans ce genre d’article. Malheureusement, cela demeure une évaluation sur une seule base de données de recherche sans évaluation prospective sur de nouvelles données, tel que réalisé dans l’autre étude. De plus, la performance est loin d’être spectaculaire.

Bref, c’est une étude intéressante et bien construite, mais il reste encore beaucoup de chemin à faire. Je suis encouragé de voir de la nouvelle littérature sur des applications concrètes d’intelligence artificielle dans des domaines touchant le travail du pharmacien.

Évaluation d’un système de prédiction d’ordonnances pour remplacer la recherche manuelle lors de prescription électronique

Un groupe de l’Université Stanford aux États-Unis a publié dans le JAMIA d’octobre 2020 une étude randomisée ouverte décrivant une évaluation de leur système de prédiction et de recommandation d’ordonnances. Le même article avait fait l’objet d’une pré-publication sur medRxiv en février 2020. J’avais très brièvement parlé des travaux de ce groupe en août 2019, principalement parce que leurs publications majeures dataient déjà de quelques années, mais il semble qu’ils se remettent à publier. Je parlerai plus tard d’autres travaux récents de ce groupe.

L’objectif de l’étude était de comparer les ordonnances faites par des médecins dans 5 situations cliniques simulées de médecine interne, en utilisant le système de prédiction et recommandation d’ordonnances comparativement à la pratique standard, soit une barre de recherche classique. L’issue primaire était le score d’adéquation clinique (une cote de -10 à +10 attribuée à chaque ordonnance, un score plus élevé indiquant une ordonnance plus appropriée) des ordonnances tel que coté par un panel de 4 médecins ayant évalué chaque ordonnance émise par les participants à l’étude. Les scores ont d’abord été établis indépendamment par chaque membre du panel puis les divergences ont été résolues par consensus. Les issues secondaires étaient essentiellement des façons différentes d’évaluer les scores et la correspondance des résultats de recherche aux ordonnances placées. Un sondage après la participation à l’étude a aussi été réalisé. Les participants étaient randomisés de manière à ce que 3 des 5 scénarios choisis au hasard pour chaque participant utilisent le système et 2 la recherche classique. Chaque scénario était programmé de manière à ce que le patient s’améliore avec des ordonnances adéquates et se détériore avec des ordonnances inadéquates.

L’outil de prédiction et recommandation d’ordonnances est un système basé sur des statistiques de cooccurrence qui apprend quelles ordonnances sont statistiquement probables en fonction d’ordonnances qui ont déjà été placées pour un patient. Ce modèle a été entraîné à partir d’une base de données comportant des ordonnances placées entre 2009 et 2014. Les prédictions du système étaient affichées à l’utilisateur après que celui-ci ait placé des ordonnances pour le patient, de manière à offrir d’emblée des recommandations d’ordonnances contextuellement appropriées plutôt que laisser l’utilisateur chercher dans l’ensemble des ordonnances disponibles à l’aide d’une barre de recherche. Des captures d’écran sont disponibles dans l’article.

43 médecins avec une expérience médiane de 3 ans (24 résidents et 19 patrons) ont participé à l’étude entre octobre 2018 et décembre 2019. Le score médian des ordonnances était de 6.2, avec une médiane de 6.5 dans le groupe avec le système de prédiction comparativement à une médiane de 6.0 dans le groupe avec recherche classique, une différence non statistiquement significative. Parmi les issues secondaires, un note un nombre total d’ordonnance plus élevé (15 contre 16, intervalle de confiance 95% 1,01-1,17), un score total plus élevé (82 contre 91, intervalle de confiance 1,01-1,12) et un nombre de clics plus faible (56 contre 49, intervalle de confiance 0,83-0,99) ont été observés dans le groupe avec le système de recommandation. Les participants à l’étude avaient une opinion positive du système, la plupart trouvant qu’un tel outil serait utile dans un contexte clinique où plusieurs ordonnances doivent être placées simultanément.

Je trouve cette étude très intéressante. J’aurais été quand même surpris de voir des ordonnances de meilleure qualité en utilisant le système, il s’agissait quand même de situations cliniques relativement communes pour lesquelles il est probable que les participants à l’étude savaient très bien ce qui devait être prescrit et étaient peu susceptibles de prescrire des choses très inadéquates. Il me semble donc ambitieux que les auteurs se soient attendus à de meilleures ordonnances avec leur système, d’autant plus que sa performance telle que décrite dans la publication originale en 2016 était correcte, mais pas spectaculaire. Je suis content de voir une diminution du nombre de clics avec le système de prédiction, indiquant des résultats de recherche améliorés, cependant l’effet semble quand même modeste. Ce résultat est probablement largement dépendant de la configuration du système de prescription. Par exemple, des ordonnances pré-rédigées bien conçues pour ces situations cliniques pourraient, j’imagine, réduire drastiquement le nombre de clics, c’est un peu étrange que la discussion en parle peu sachant que ce groupe s’est beaucoup intéressé aux order sets dans le passé.

J’ai l’impression que l’avantage principal d’un tel système pourrait être non pas d’impacter significativement la qualité des ordonnances, mais plutôt de réduire le risque de commettre des erreurs de prescription de type « look-alike » en sélectionnant des options erronées dans des résultats de recherche basés sur des chaînes de caractères. En effet, si le système peut privilégier les résultats contextuellement appropriés, les ordonnances peu applicables au contexte pourraient être placées plus bas dans les résultats, même si la chaîne recherchée s’y trouve, ou du moins être accompagnées d’un avertissement. Évidemment, ce genre d’erreur est rare et il est donc probablement difficile de démontrer un avantage dans une étude à petite échelle. Cependant, dans une étude de simulation, il pourrait être possible d’élaborer un scénario où le risque de choisir une ordonnance inappropriée mais d’apparence similaire est plus élevé. Bref, je pense que malgré les résultats peu convaincants de cet article, l’approche présentée a du potentiel et ne devrait pas être écartée.

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.