Logiciel de data science en santé

Depuis l’informatisation des services hospitaliers, de nombreuses données sont disponibles pour la recherche dans le milieu de la santé.

Ces données sont stockées dans des entrepôts de données de santé (EDS), au sein des hôpitaux.

A l’heure actuelle, pour pouvoir utiliser ces données pour la recherche, il faut avoir des connaissances poussées en programmation. En effet, manipuler ces données nécessite des compétences en SQL, R et Python notamment.

La réalisation d’études sur EDS nécessite une collaboration étroite entre cliniciens, data scientists et statisticiens.

Il existe des plateformes de travail collaboratif telles que Jupyter Notebook, où le code est mêlé à l’affichage des résultats de l’exécution de ce code. Néanmoins, cette plateforme nécessite des connaissances en programmation et a des fonctionnalités limitées, n’étant pas créée dans le but précis de la création d’études sur données d’EDS.

D’autre part, il existe des logiciels d’analyse statistique, avec des interfaces graphiques dites “no-code”, permettant de réaliser des analyses statistiques sans nécessiter de connaissances a priori en programmation. Ce type de logiciel ne permet habituellement pas de modifier le code, ce qui est limitant pour le data scientist et le développement de nouvelles fonctionnalités.

C’est pourquoi LinkR a été créée.

C’est une application web qui permet :

  • au clinicien : d’accéder aux données de santé avec une interface graphique, ne nécessitant pas de connaissances en programmation
  • au data scientist : de manipuler les données via une interface de programmation R et Python
  • à l’étudiant : d’apprendre la manipulation des données médicales, à la fois en parcourant les dossiers des patients et manipulant les données agrégées

Ainsi, elle permet aux différents intervenants impliqués dans la recherche médicale sur EDS de travailler de façon collaborative, sur une plateforme commune.

Du fait de cette plateforme commune adaptée aux cliniciens et aux data scientists, les études peuvent être réalisées beaucoup plus vite, et avec l’apport de la spécificité de chacun : l’expertise médicale du clinicien et l’expertise des données du data scientist.

Vue d’ensemble

LinkR permet l’analyse de données provenant de différentes sources :

  • des données d’EDS hospitaliers
  • des données issues de bases de données partagées, telles que les bases de données MIMIC ou AmsterdamUMCdb
  • des données issues de recueils de données, sous forme de fichiers CSV ou Excel

Une fois ces données importées dans LinkR, vous pouvez créer des études. Chaque étude comprendra un ou plusieurs subsets de patients.

Structure des données

Organisation des données au sein de LinkR

Une fois une étude créée, il faut la configurer.

Le principe est simple : une étude comporte une page “Données individuelles” et une page “Données agrégées”.

Données individuelles

Dans la page des données individuelles, je créé, selon mes besoins, un template de dossier médical.

Par exemple, si mon étude porte sur les pneumopathies bactériennes, je vais créer :

  • un onglet où seront affichés les compte-rendus des imageries médicales
  • un onglet où seront affichés les résultats bactériologiques
  • un onglet où seront affichés les traitements antibiotiques reçus par le patient

Avantages :

  • le clinicien peut donc visualiser les données des patients comme il a l’habitude de le faire, sous forme de dossier médical.
  • le data scientist peut, s’il le souhaite, modifier le code permettant la visualisation de données.
  • l’étudiant peut s’initier à la lecture d’un dossier clinique

Données individuelles Onglets de données individuelles avec un plugin "Console R"

Données agrégées

Une fois que cela est fait, nous pouvons poursuivre notre étude via l’analyse des données agrégées.

De la même façon, je créé des onglets, correspondant aux différentes étapes de mon étude :

  • pour visualiser la distribution des données et éliminer les données aberrantes
  • pour créer et appliquer des critères d’exclusion
  • pour créer et visualiser le flowchart
  • pour réaliser les statistiques de mon étude
  • pour importer une bibliographie
  • pour créer le rapport de mon étude

Chacun de ces exemples correspond à ce qu’on appelle un plugin : c’est un script permettant d’ajouter une fonctionnalité à l’application.
Nous aurons donc un plugin “Flowchart”, un plugin “Bibliographie” etc.

Avantages :

  • le clinicien peut réaliser les statistiques sur les données, sans connaissances en programmation
  • le data scientist peut, encore une fois, modifier le code des onglets, afin d’ajouter du code non proposé par les plugins.
  • l’étudiant peut s’initier aux biostatistiques

Données agrégées Onglets de données agrégées avec un plugin "Figure (ggplot2)"

Les différents intervenants peuvent communiquer via l’onglet “Messages”.

Ainsi :

  • le clinicien peut interroger le data scientist s’il a des questions portant sur la programmation
  • le data scientist peut interroger le clinicien s’il a des questions portant sur la médecine
  • l’étudiant peut interroger le clinicien ou le data scientist selon ses besoins

Le code peut être exécuté au sein des messages.

Messages Echange de messages entre les membres de l'étude "Pneumopathies bactériennes"

Interopérabilité

LinkR s’appuie sur le modèle de données commun OMOP, qui est un modèle utilisé par de nombreux hôpitaux dans le monde.

Ceci permet l’interopérabilité des données, il est ainsi possible de réaliser des études multicentriques facilement, en ne codant l’étude qu’une fois.

LinkR intègre des outils d’alignement des concepts, permettant de faire correspondre les concepts contenus dans différentes bases de données.
Par exemple pour faire correspondre le concept “123456 - Fréquence cardiaque” du centre 1 au concept “456789 - FC (bpm)” du centre 2.

Il est également possible de partager tout ce que vous développez au sein de LinkR.

A savoir :

  • les études : si vous avez terminé votre étude, vous pouvez la partager en un clic à d’autres centres. Ils pourront, depuis l’application, télécharger votre étude et la lancer sur leurs données.
  • les scripts de data cleaning (quel data scientist n’a jamais fait un script pour filtrer les faux poids et les fausses tailles, et n’aurait pas aimé en avoir un déjà développé à disposition ?)
  • les plugins que l’on a vus plus haut
  • les sets de données : les codes permettant de charger les sets sont partagés, et non les données
  • les terminologies : vous pouvez partagez à la fois le code permettant de charger les concepts, mais aussi les concepts des différentes terminologies ainsi que les alignements que vous avez réalisés

Interopérabilité
Interopérabilité algorithmique proposée par LinkR

En combinant l’interopérabilité des données ainsi que l’interopérabilité algorithmique (partage des études, scripts et plugins), LinkR permet rééllement de faire de la recherche selon les principes de la **principes de la “Science Ouverte” ou open science

Ceci permet également une protection des données de santé : LinkR suit une architecture décentralisée, ce sont les algorithmes qui voyagent et non les données.

Catalogue de plugins
Catalogue de plugins disponibles sur le git d'InterHop. L'installation d'un plugin se fait en un clic.

L’offre d’InterHop

InterHop propose déjà l’hébergement de données sur ses serveurs HDS (hébergeur de données de santé), loués à GPLExpert.

L’association propose également d’utiliser Goupile, un outil d’eCRF, permettant de recueillir des données directement sur les serveurs HDS.

InterHop proposera prochainement d’utiliser LinkR sur les serveurs HDS.

Ainsi, il sera possible de recueillir les données puis de réaliser les études au même endroit, de façon sécurisée.

InterHop proposera également un support à l’utilisation de LinkR.

Spécificités techniques

LinkR est une application web créée avec la librairie Shiny en R.

C’est un logiciel open source, sous licence GPLv3.

L’application peut être installée via ShinyProxy et être protégée par une authentification par SSO.

Pour installer l’application, suivez les étapes indiquées ici.

Vous pouvez également tester l’application ici :

  • avec les logs “test” / “test” pour ShinyProxy (cf première image ci-dessous)
  • en cliquant sur “LinkR - test - v0.2…”
  • puis de nouveau avec les logs “test” / “test” pour LinkR (cf deuxième image ci-dessous)

Connexion à LinkR Connexion à LinkR

Suite du projet

L’application actuelle est un prototype, le but est de développer par la suite une application web avec un backend en Python.

Le projet étant open source et réalisé par des bénévoles, toute contribution est la bienvenue !

Liens

Contact

Vous pouvez nous contacter par courriel à linkr-app@pm.me.

Vous pouvez aussi nous contacter via la messagerie instantanée et opensource Element. Un tutoriel d’aide à la connexion est disponible ici.