Urgences - Image CC0 - pexels.com

Biology Order Prescription

Levi-Dan Azoulay
Shana Zirah
Nathane Berrebi
Gaspard André
Jona Benhamou
Ali Bellamine

Plan du document

Les étapes clés de ce projet sont les suivantes :

I. Introduction

I.1 Contexte

Chaque jour, environ 50 000 personnes se présentent dans un service d'accueil des urgences (SAU) en France. En moyenne, 75% des patients retournent à domicile, et 20% sont hospitalisés. La durée moyenne de présence au SAU est longue. On estime que seulement 20% attendront moins d'une heure, tandis que ~30% attendront entre 1h et 2H et ~30% attendront en 2 et 4H. Enfin, un peu plus de 10% resteront au SAU entre 4 et 6H. Dans un contexte de pénurie de soignants, le recours à la consultation au SAU est en constante augmentation depuis plusieurs années. L'optimisation du circuit des urgences est une problématique centrale. Le cout humain et financier des dysfonctionnements du circuit et de l'offre de soin est important.

Le parcours classique du circuit des urgences est le suivant :

  1. Premier contact d'ordre administratif
  2. Premier contact soignant avec une infirmière d'accueil et d'orientation (IAO) (~M30) avec :
    • Recueil du motif de consultation
    • Prise des constantes
    • Recueil de quelques antécédents et de l'ordonnance du patient
    • Eventuellement ECG

Le patient est classé selon un score de gravité (bleu, vert, jaune, orange, rouge, ou 1-2-3-4-5)

  1. Premier contact médical avec un médecin (~H1) :
    • Interrogatoire
    • Examen clinique

A la suite de cette consultation, plusieurs cas de figures selon la situation. Le patient peut sortir avec ou sans ordonnance si le diagnostic est posé par l'examen clinique et ne nécéssite ni examen, ni hospitalisation. Le patient peut nécéssiter la réalisation d'examens (prise de sang, radiographie, scanner) ou motiver un avis d'un spécialiste. Auquel cas il doit attendre

  1. Réalisation des examens complémentaire ou d'un avis (prescription, réalisation, récupération)
  2. Décision finale : Conclusion une fois les examens récupérés. (~H3)

Entre chaque étape, le patient attend pendant une durée plus ou moins longue. Le médecin lui « jongle » avec plusieurs patients à la fois à des étapes différentes.

I.2 Objectifs

Nous proposons d'aider à raccourcir le temps entre l'arrivée du patient et sa sortie, en ne subordonnant pas la décision de réaliser un examen biologique à l'examen clinique du médecin. Nous savons que le temps entre l'arrivée au SAU et la première visite avec le médecin est le temps le plus long et le plus mal vécu par les patients.

Nous proposons à l'aide d'un algorithme d'apprentissage statistique de prédire, dès les données fournies par l'IAO, la nécéssité de réaliser un examen de biologie médicale, afin de permettre aux IDE de prélever cet examen juste après l'IAO, de sorte que le médecin dès sa première visite peut conclure avec les résultats de la biologie, qu'il aurait sans cela, demandé et attendu de récuperer avant de conclure et de prendre en charge le patient.

Données d'entrée Algorithme Données de sortie
Vecteur {0,1}^d d'examens de biologie associée à sa réalisation (1) ou non (0)
Age MLP
NLP (Embeddings, Word2Vec ...)
Autres
Ionogramme Complet - {0,1}
Sexe Bilan hépato-biliaire - {0,1}
Motif de consultation Numération sanguine (NFS) - {0,1}
Paramètres vitaux (FC, SpO2, PA, T°, FR, EVA) Glycémie - {0,1}
Ordonnance d'entrée du patient Hémostase - {0,1}
...

I.3 Définition des métriques

Nous proposons d'effectuer la tache suivante : prédire les examens biologiques qui seront réalisés lors de l'arrivé d'un patient aux urgences
Les métriques d'évaluation des performances seront :

La métrique d'évaluation d'un algorithme de machine learning est particulièrement sensible dans le cadre d'une application médicale. Nous attachons une importance particulière à la précision. En effet, une sur-prescription d'examen biologique non indiqué (faux positif) pourrait entrainer un effet contraire à l'effet escompté, en prolongant le temps de prise en charge des personnes concernées, posant, outre un problème financier et un allongement du temps d'attente, un problème éthique.

II. Téléchargement des données et transformation

Les données sont issus du projet MIMIC-IV.
Le projet MIMIC est un projet d'open-data médical initié par l'hopital Beth Israel Deaconess à Boston.
Initialement, seul des données de réanimation été accessible.

Pour sa 4ème édition, a été mis à disposition un jeu de données couvrant un spectre bien plus large :

L'ensemble de ces données ont été mis à disposition dans le cadre de projets complémentaires :

Ces bases sont complémentaires dans le sens où chaque collecte a été faite durant une période temporelle spécifique, qui se recoupe plus où moins.
Certains éléments nécessaires à l'exploitation de MIMIC-IV-ED sont présent dans MIMIC-IV.
La lecture de la documentation de MIMIC-IV et de MIMIC-IV-ED est vivement recommandé (lien ci-dessus).

En complément, un certains nombre de ressources est disponible sur le site du projet MIMIC-IV.

II.1 Téléchargement des données

La base de données de biologie étant volumineuse (nous y reviendrons plus bas), un pré-traitement des données a été effectué.
Le pré-traitement est le suivant :

Le script de transformation peut être consulté dans database_constitution/database_constitution.py

Un token de téléchargement des données vous a normallement été mis à disposition.

    # Commande à executer dans le terminal
    pip install -r requirements.txt
    python download_data.py [TOKEN]

II.2 Transformation des données au format tabulaire

Les données sont extraites depuis la base de données SQLITE de la façon suivante :

III. Exploration et visualisation les données

Avant d'explorer en détail les données, nous procédons à une identification et un nettoyage des données abérrantes. Ce nettoyage est effectué à partir de la documentation de MIMIC, de la visualisation des données et de connaissances métier.

III.1. Identification et suppression des outliers

De facon évidente, des outliers sont présents dans le dataset.

Une temperature au dela de 150°F, un rythme cardiaque au dela de 400 bpm, une saturation en oxygène au dela de 100%, ou une douleur coté au-dessus de 10 sur une echelle de 0 à 10, correspondent à des données abberantes.

A l'aide de la visualisation des données, de la documentation de MIMIC, et de connaissances métier, nous definissons des intervalles pour ces variables et supprimons les outliers

La distribution des variables après suppression des outliers.

On observe une distribution normale des variables comme la fréquence cardiaque, la pression arterielle ou la température

III.2. Analyse des valeurs manquantes

Nous observons que le taux de prises de sang prescrites augmente avec le nombre de valeurs manquantes. En effet, plus le nombre de features est manquant, plus les patients ont eu une prise de sang. La variable donnée manquante n'est donc pas indépendante de la target variable à prédire.

Nous avons observé, en regardant de plus près les motifs de consultation des patients avec beaucoup de données manquantes, qu'il s'agissait en réalité, des patients les plus graves.
Il s'agissait typiquement de traumatismes sévères, d'urgences neuro-chirurgicales, d'arrêts cardiaques, ou d'états de choc, ayant conduits les patients directement en service d'accueil des urgences vitales (le déchocage), sans passer par le triage et l'infirmier d'accueil.. Cela peut se faire quand le camion du SAMU transfert directement ces patients en salle de déchocage. La prise en charge (et donc la mesure de leurs constantes vitales) a donc été réalisé directement en shuntant le parcours classique, compte tenu de la gravité de leur état médical.
Il pouvait aussi s'agir de patients moins graves mais particulièrement agités, ou dont l'état rend la prise en charge à l'IAO complexe et nécéssite donc directement l'examen par un médecin, ou l'administration d'un traitement initial (sédation par exemple).

Au total,

Le pourcentage de données manquantes concernant les features ne dépasse pas 5% pour chaque variable (à l'exception de la variable "pain" qui atteint 7 %).

III.3. Visualisation des corrélations

On observe quelques corrélations caractéristiques et attendues entre certaines variables:

Cependant, on note de manière générale une corrélation plutôt faible dans la globalité des variables prédictives entre elles.

III. 4. Analyse du texte

III. 5. Exploration des labels

Concernant la fréquence de réalisation de chaque examen biologique., environ 50% patients ont bénéficié d'au moins un des examens parmi NFS, ionogramme sanguin, gaz du sang tandis que les autres examens biologiques étaient réalisés chez à peu près 20%.

On observe une corrélation importante entre les 3 variables (labels) les plus fréquentes, traduisant un co-occurence de leur réalisation aux urgences, à savoir NFS, ionogramme sanguin et gaz du sang. Il existe également une corrélation importante entre ces 3 variables et le reste des examens biologiques.

Autrement dit, quand une prise de sang est réalisée, dans la grande majorité des cas, celle-ci comprend en général au moins une NFS, un ionogramme et un gaz du sang, plus ou moins d'autres modalités d'examens biologiques.

III. 6. Association entre les features et labels

IV. Sélection des variables d'interêts

Afin d'évaluer les combinaisons idéales de variables, nous avons effectué entrainé et mesuré les performances de l'ensemble des modèles contenant entre 7 et 11 variables pour l'ensemble des labels. Les performances ont été arrondis à la deuxième décimale.
Lorsque deux modèles présentaient les mêmes performances, le modèle contenant le moins de variables est retenu.

L'enjeux est d'évaluer :

Le texte a été traité à l'aide d'un CountVectorizer et l'ensemble des modèles ont été entrainés à l'aide d'une régression logistique. L'algorithme d'optimisation utilisé a été liblinear qui s'avère converger plus rapidement dans le cadre de notre problème où un conditionnement par normalisation des variables a été effectué.

On observe une certaine hétégénéité des variables conduisant à l'obtention d'un meilleur modèle selon le label à prédire.
Aucune variable ne s'avère systématiquement ne pas être inclus dans les modèles les plus performant. A l'opposé, on identifie une forte présence de l'age, du fait d'avoir consulté dans les 7 ou 30 derniers jours (last_7 ou last_30) et du motif de consultation (chiefcomplaint) parmi les meilleurs modèles.
Chose notable, certains modèles semblent bénéficier de l'association de last_7 et de last_30.

Il faut toutefois noter que les modèles proposés présentent de faibles performances dans leurs variations, ces dernières pouvant être lié à des fluctuactions d'échantillonage lors de la cross-validation.

V. Définition et entrainement d'une solution d'apprentissage statistique

A partir des explorations précédents, nous proposons d'inclure l'ensemble des variables dans le modèle final.
Nous entrainerons un modèle par label à prédire plutôt qu'un modèle multi-label.

Nous inclurons l'ensemble des variables explorés, c'est à dire :

Ce choix est motivé de la façon suivante :

Nous nous proposons d'explorer deux modèles :

La validation est effectué sur un jeu de données de validation de 10 000 éléments. Nous avons considéré qu'il n'était pas nécessaire de procéder à une validation par cross-validation répété, dans la mesure où nous avons observés une forte reproductibilité de nos résultats durant nos différents entrainements et surtout du fait de la grande taille des échantillons d'entrainement (plus de 500 000 éléments) et de validation (10 000).

V. 1. Régression logistique

V. 2. Réseau de neurone (MLP)

Nous observons des performances légèrement meilleures avec un modèle base sur des réseau de neurones en comparaison à une régression logistique. Ces différences restent tout de même assez modeste.
Pour des raisons de concision et de lisibilité du rapport, nous avons pas fait état de l'ensemble de nos expérimentations, nous avons toutefois essayés plusieurs architectures de réseau de neurone, des modifications d'optimiseur, des modifications paramètres d'apprentissage et avons conservé les modèles les plus performants.

Concernant les pistes d'amélioration, il semble nécessaire d'ajouter de nouvelles features afin d'obtenir des meilleurs performances. Ainsi, nous pourrions par exemple exploiter :

A ce titre, nous avons effectués plusieurs expérimentations qui ne nous ont toutefois pas permis d'améliorer le modèle :

Bien que l'ensemble de ces méthodes ne nous aient pas données de résultats satisfaisant, nous considérons que chacune demanderait un temps d'exploration plus approfondie avant d'en conclure en leurs inefficacité.

Nous attirons l'attention du lecteur sur quelques points nécessaire à l'interprétation des performances :

Ainsi, nous attendons que notre algorithme une diminution de taux de faux positifs, c'est à dire une maximisation de la précision. En statistique bio-médicale cette métrique se nomme la Valeur Prédictive Positive (VPP) dont le seuil d'acceptabilité resterait à définir.

Notre modèle présente des performances très limité dans la prédiction de la prescription d'examen Phospho-calcique, Lipase, Hepato-Biliaire et Glycémie Sanguine. La forme des courbes ROC de ces derniers laisse entrevoir une difficulté à trouver un compromis entre précision et recall. Nous pensons que cela s'expliquer par deux facteurs :

Concernant la marqueur Cardiaque et la coagulation nous identifions de relatives bonnes performances qui restent à notre avis malgré tout en deça de performances acceptables pour une utilisation pratique de l'outils.
Enfin, pour la NFS, Ionogramme complet et Gazométrie, qui sont les examens les plus couramment réalisés, nous disposons de performances correctes avec la possibilité de maximiser la précision en sacrifiant du recall par ajustement du seuil de décision de la positivité de la prédiction.

A noter que le temps de réalisation d'un examen se décompose de la façon suivante :

Ainsi, le temps de mesure au sein de l'automate ne correspond qu'à une petite partie du temps nécessaire à la réalisation d'un examen.
Il est donc possible, lorsque l'échantillon sanguin est compatible, de faire réaliser à posteriori un où des examens complémentaires sur ce prélèvement.
Ainsi, pour certains examens, la seul prédiction d'une modalité est suffisante pour maintenir la pertinence du système, c'est notamment le cas pour : IonoC, Cardiaque, Lipase, Hépato-biliaire et Phospho-calcique. Ce n'est toutefois pas le cas pour la coagulation. L'examen glycémie sanguine peut quand à lui être substitué par des mesures capillaires se faisant extrêmement rapidement.

En conclusion :