Notre présentation au workshop Machine Learning for Health de NeurIPS 2020

Le projet de recherche des résidentes en pharmacie au CHU Sainte-Justine en 2020 était l’évaluation en pratique du modèle de machine learning visant l’identification d’ordonnances et de profils pharmacologiques inhabituels que nous avons développé. J’ai déjà parlé de ce modèle ici, l’élaboration et l’évaluation de ce modèle ont été présentés à la conférence Machine Learning for Healthcare 2020 et au Symposium IA Montréal 2020.

Essentiellement, pour l’identification d’ordonnances atypiques, ce modèle a montré une concordance assez mauvaise avec l’opinion de pharmaciens. Cependant, pour l’identification de profils pharmacologiques atypiques, la performance était bien meilleure. Les pharmaciens qui ont participé au projet avaient une opinion positive du modèle. Je crois que les résultats de ce projet démontrent le potentiel d’outils basés sur l’intelligence artificielle pour aider le pharmacien dans sa pratique clinique.

Un abstract étendu du projet a été accepté au workshop Machine Learning for Health (ML4H) de NeurIPS 2020 qui aura lieu le vendredi 11 décembre. Le texte complet de l’abstract est disponible sur arXiv. Un manuscrit complet décrivant le projet est en cours de révision pour publication.

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.

É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.