R

R en 2021 : une manne d’outils pour les biochimistes cliniques

Auteur: Simon Bissonnette, Résident au diplôme d’études postdoctorales en biochimie clinique, Centre Universitaire de Santé McGill, Centre Hospitalier de l’Université de Montréal, Québec, Canada


 

Quel professionnel de laboratoire n’a pas été confronté à des difficultés logicielles? Un système informatique de laboratoire (SIL) qui bénéficierait grandement d’une mise à jour, des intergiciels manquants pour certains appareils, des outils d’analyse tout simplement indisponibles et le traitement manuel de données du SIL vers un site de contrôles de qualité externes sont tous des exemples menant à une répétition de mouvements. Ces clics de souris, copier-coller et transcriptions manuelles augmentent le risque d’erreur et occupent du temps technique et professionnel qui pourrait être réaffecté vers des tâches à valeur ajoutée en regard à la prise en charge de patients.

 

Solutions logicielles traditionnelles

Plusieurs approches logicielles sont envisageables pour optimiser ces processus. L’interfaçage des appareils à un intergiciel en est un exemple évident. Toutefois, le coût initial élevé de ces interfaces explique leur faible implémentation dans les secteurs spécialisés. Pour combler cette fonction, l’exportation de ces données sous format Excel, jumelé à un code Visual Basics for Applications (VBA) intégrant les fonctionnalités de la suite Microsoft Office, permet d’automatiser le traitement et le formatage sous une forme appropriée à la validation professionnelle et la transcription vers le SIL. Cette séquence peut prendre la forme d’un nettoyage des données via Access, la mise en graphique via Excel puis la présentation dans un rapport de validation via Word pour impression en Portable Document Format (PDF). Un nouvel outil lancé en 2014 par Microsoft, PowerBI, tente de faciliter ce processus par l’utilisation de tableaux de bord, soit des interfaces dynamiques et continuellement mises à jour à partir de multiples sources, incluant les bases de données SQL. L’introduction de PowerBI dans l’environnement des laboratoires cliniques se heurte toutefois à un manque d’expertise, un coût d’installation élevé et au risque de mises à jour de la suite Office brisant le flot de travail. Il apparaît donc nécessaire d’identifier une solution logicielle qui puisse répondre aux besoins des laboratoires cliniques et soutenir l’amélioration continue des processus.

 

Un langage statistique pour les non-programmeurs

R est un logiciel pouvant répondre à ces divers besoins. C’est un langage de programmation statistique à code ouvert plus accessible que VBA et SQL car il est orienté vers l’utilisateur, c’est-à-dire que la formulation du code tente davantage de représenter le processus cognitif lié à la tâche que le processus informatique sous-jacent. De plus, plusieurs applications pour les laboratoires cliniques sont déjà disponibles et seront présentées ci-bas. R peut être installé sur PC, Mac ou Linux et les exigences système sont minimales (1). R est gratuit, ce qui enlève une barrière administrative évidente à son implantation. Plus important encore, R possède une communauté collaborative qui code et partage maintenant plus de 15 000 modules appelés packages (2). Ces modules facilitent les tâches de calcul simple allant aux régressions de Deming et Passing-Bablok jusqu’à l’apprentissage machine (3, 4). Cette collaboration s’est exprimée une fois de plus lors de la conférence R/Medicine 2020 du 27 au 29 août dernier. Voici donc, tirés de cet événement, dix exemples sur l’utilisation de R pour améliorer les processus ou bonifier la valeur ajoutée dans les laboratoires cliniques. Les modules R utilisés sont précisés lorsque disponibles et identifiés avec des accolades, en accord avec la littérature R, afin de vous familiariser avec ces mots-clés et à titre de référence pour initier un projet similaire.

 

1. COVID-19 : améliorer l’accès aux tests de COVID-19

L’encodage des réquisitions dans le SIL représente un goulot d’étranglement important pour plusieurs laboratoires. Afin de pallier cette difficulté dans le contexte du dépistage systématique d’employés du système de la santé, l’équipe de Dr Patrick Mathias à l’University of Washington School of Medicine a déployé une solution innovante (5). L’implantation des modules de réquisitions électroniques dans les différentes unités de soins nécessite des ressources, notamment en informatique (formation et évaluation des compétences), ce qui limite leur rapidité de déploiement dans le contexte de la pandémie.  Ainsi, pour minimiser l’effort d’adaptation des unités de soins, l’équipe du Dr. Mathias a évité d’implanter des modules de réquisition électronique et a plutôt fourni des feuilles Excel dans lesquelles les informations nécessaires sur les employés étaient inscrites. Ces feuilles ont ensuite été reçues et téléversées sur un module R permettant d’en valider le contenu selon des règles automatisées pour ensuite générer les codes de réquisition dans le langage Health Level 7 (HL7) compréhensible par le SIL.

Cette solution a pu augmenter la cadence de tests et a ensuite mené au développement d’un outil web à l’attention des cliniques de dépistage de la COVID-19 visant le grand public, afin que les patients puissent eux-mêmes remplir les informations (6). Ces dernières peuvent alors être utilisées pour générer le fichier Excel suivant le flot de traitement mentionné ci-haut. L’avantage de cette approche est d’éliminer la nécessité d’installer des accès au dossier médical électronique (DME) ou au SIL dans les sites de prélèvements, diminuant de facto la formation requise pour les utilisateurs. Comme la requête Excel contient aussi le code à balayage de l’étiquette primaire, l’échantillon reçu au laboratoire peut être balayé pour sa réception et l’impression de l’étiquette du SIL, réduisant ainsi les étapes préanalytiques.

 

2. COVID-19 : optimiser quotidiennement le pooling de tubes

La stratégie de pool d’échantillon pour le dépistage de la COVID-19 permet d’augmenter la productivité en testant plusieurs échantillons mélangés dans un seul test. Cet avantage est cependant fortement diminué par un taux de positivité élevé dans la population testée car les échantillons d’un pool positif doivent être redosés individuellement. Il est donc primordial d’évaluer fréquemment le taux de cas positifs dans la population à l’étude. À cet effet, le flot de travail nécessite une extraction ou une lecture du cache de la base de données du SIL, son nettoyage automatique puis la mise à jour d’une base de données analysée sur une application web de type tableau de bord via le module {Shiny} et {Flexdashboard} (5). L’adaptabilité de ces modules permet entre autres le tri du taux de positivité en fonction du lieu de prélèvement ou d’analyse et donc le raffinement de la stratégie.

 

3. COVID-19 : réduire la transcription manuelle dans les analyses par pool

L’équipe de Dr Mathias a aussi automatisé le flot de travail des analyses par pool d’échantillons afin d’optimiser la cadence de tests. Traditionnellement, l’utilisation de pools augmente la complexité du processus d’analyse en nécessitant des étapes supplémentaires pour le traçage des échantillons dans les pools mais aussi pour ensuite tester individuellement les échantillons associés à un pool positif. Afin d’automatiser ces étapes, les informations du robot pipeteur, émises sous la forme d’un fichier XML, sont converties par R vers un fichier «Comma-Separated Values» (CSV) pouvant être lu par l’analyseur. Après l’analyse, un autre module R soumet les résultats négatifs au SIL, retient les résultats des pools positifs puis relance leur analyse, cette fois individuellement (5).

 

4. COVID-19 : produire des résultats de dépistage accessibles en ligne par le patient

La transmission des résultats de dépistage de COVID-19 au patient s’effectue souvent par appel et donc dépend de l’horaire et de la charge de travail du centre d’appel. Ce processus entraîne un délai entre l’émission du résultat par le laboratoire et sa transmission au patient. Pour réduire ce délai, le laboratoire du Dr. Mathias a intégré une application web (7) sur laquelle le patient peut entrer un code unique lui permettant d’accéder à son résultat. Ce code est généré en paires d’étiquettes sur feuilles pré-imprimées ; l’une est apposée sur la réquisition lors du prélèvement et l’autre sur une feuille d’information remise au patient. L’étiquette sur la feuille d’information contient aussi un code QR menant directement au résultat patient. Cette approche a permis d’obtenir un temps médian aussi bas que de deux à trois heures entre la disponibilité du résultat et sa consultation, qui peut de plus être effectuée 24 heures sur 24 (5). Des équipes multidisciplinaires incluant scientifiques de laboratoire et analystes de données sont essentielles pour implémenter de telles solutions logicielles complexes et bien formulées (8). Il y a espoir que cette fonctionnalité d’accès web pour remplir les réquisitions et accéder aux rapports de résultats soit un jour intégrée directement dans les SIL (9). Il faudrait alors considérer l’ajout de commentaires interprétatifs à l’intention des patients.

 

5. Réduire la transcription manuelle

Bien que les normes exigent une double-vérification lors de transcription manuelle de résultats, cet élément peut être négligé lors de la transcription des informations sur les documents de travail des analyses manuelles et mener à un risque pour le patient. Afin d’éviter cette situation dans le dosage de l’aldostérone par LC-MS/MS, le Dr. Holmes de l’Université de la Colombie-Britannique a programmé une interface R entre le robot pipeteur, l’analyseur LC-MS/MS et le SIL afin d’automatiser le transfert d’information. Ensuite, la préparation des rapports pour la validation professionnelle a également été automatisée (10).

 

6. Améliorer les commentaires supportant l’interprétation des résultats

L’accent sur l’efficience analytique et la distance grandissante entre le travail en laboratoire et celui en clinique mettent en péril l’exercice de la chimie clinique (11). Une revue systématique a d’ailleurs rapporté un taux moyen de 21% de surutilisation des tests de laboratoire par les cliniciens, soit le taux d’analyses demandées mais non cliniquement indiquées selon les lignes directrices ou les comités de pairs. Ce chiffre augmente à 45 % dans le cas de la sous-utilisation des tests, soit le taux d’analyses cliniquement indiquées mais n’ayant pas été demandées (12). Il y a donc des situations dans lesquelles les cliniciens prescrivent excessivement ou insuffisamment des tests de laboratoire. Il y a lieu de penser qu’outre la restriction des analyses, l’éducation des cliniciens avec des commentaires d’interprétation est une valeur ajoutée qui pourrait améliorer ces statistiques et valoriser notre profession.

Par exemple, un module d’interprétation R a été développé dans le flot de travail du dosage du ratio de l’aldostérone sur activité de la rénine plasmatique dans le laboratoire du Dr Holmes. Les résultats sont placés sur un graphique en deux dimensions et divisé en zones d’interprétation identifiant les catégories suivantes : dépistage positif de l’hyperaldostéronisme primaire, zone indéterminée, valeurs dans l’intervalle de référence, post-adrénalectomie ou maladie d’Addison, effet suspecté de médicaments et plusieurs autres conditions cliniques. L’interprétation des résultats de cathétérisme des veines surrénaliennes y est aussi automatisée. Ces interprétations sont incluses dans un rapport sur format Excel pour validation professionnelle, suivi de la production d’un fichier CSV pouvant être importé dans Data Innovations pour sa transmission au SIL (10). Dans l’implémentation d’un tel flot de travail, il devient primordial de respecter les lignes directrices de l’International Federation of Clinical Chemistry and Laboratory Medicine (IFCC) sur les commentaires interprétatifs (13).

 

7. Analyser le temps-réponse

Grâce à une extraction de la base de données du SIL via l’application SQLite, sa lecture via {RSQLite} et son traitement automatisé, le calcul du temps-réponse et sa présentation sous forme de rapport peuvent être automatisés. Ceci permet d’identifier rapidement des anomalies dans le processus et maximiser l’efficacité des actions correctives. De plus, la lourde gestion du format des données est grandement réduite. La collection de modules {Tidyverse} unifie la conception, la grammaire et la structure des données et ainsi en facilite l’analyse, la modélisation et la visualisation (14). Par exemple, les formats de dates sont traités par le module {Lubridate}, qui facilite leur interprétation et leur utilisation dans des opérations mathématiques. Les tableaux sont ensuite produits avec {gtsummary}, les graphiques avec {ggplot} et le rapport final par {RMarkdown}.

 

8. Maximiser la participation lors d’une étude multicentrique

La motivation des participants est un enjeu dans le succès d’une étude multicentrique. Celle-ci est affectée par le décalage entre l’effort investi et la récolte du bénéfice. À cet effet, le Dr. Harrison et son groupe de collaborateurs du NIHR Global Health Research Unit on Global Surgery (15) utilisent une plateforme web basée sur {Shiny} dans laquelle les centres participants peuvent analyser et comparer leurs données à celles des pairs directement suivant le téléversement (16). La plateforme publie le rang des centres participants en nombre de patients recrutés et en pourcentage de données validées afin d’encourager la contribution. Les données peuvent ensuite être présentées sous forme de diagrammes CONSORT avec {diagrammeR} ou {ggconsort} (17). Les tableaux des caractéristiques et de régression, les modèles boostrap et la gestion des données manquantes sont générés avec {Finalfit}.  Étant donné l’étendue de l’étude, soit plus de 2000 collaborateurs, une application web créée avec {Shinyfit} a été préparée pour accélérer l’accès aux données (16). La formation des futurs utilisateurs et contributeurs est supportée par une plateforme web (18). Cette approche multicentrique pourrait être adaptée au contexte des laboratoires cliniques pour la comparaison avec les pairs, par exemple sur les contrôles de qualité et les indicateurs qualité.

 

9. Contrôler les versions logicielles et le format des données

La gestion des formats et des versions logicielles est un enjeu dans la longévité et la capacité de partager des outils de gestion de données. Pensons par exemple à la mauvaise réputation des tables et graphiques Pivot dans Access 2013 qui a mis à mal cet outil polyvalent permettant de résumer des données. Cette situation est évitable dans R : le contrôle de la version des modules de chaque projet/application est possible avec {Renv}. Ce module permet de charger un projet et ses modules dans une librairie privée associée à ce projet, évitant ainsi d’interférer avec les versions de vos modules associés à d’autres projets. Ensuite, une option de sauvegarde d’images et de rechargement de ces images est disponible. On peut ainsi sauvegarder un flot de travail incluant ses versions de modules sous un fichier «renv.lock». Celui-ci peut être partagé avec des collaborateurs sur des systèmes d’exploitation différents et rechargé si une modification indésirable est suspectée (19).

 

10. Incorporer des modèles statistiques d’apprentissage machine

La popularité grandissante de Tidyverse a mené à la création de modules d’analyse statistique n’ayant rien à envier à des applications statistiques traditionnelles telles GraphPad Prism, SAS et SPSS. L’apprentissage machine est une approche statistique permettant d’effectuer des prédictions ou des décisions sans être explicitement programmée. Son implémentation dans un flot de travail requiert traditionnellement l’utilisation du langage de programmation Python, qui est relativement difficile à aborder pour les non-programmeurs. Les modules R {tidymodels} et {keras} permettent d’implémenter des modèles neuronaux. La philosophie du module {tidymodels} est de réduire les erreurs de production de modèles en incluant des mécanismes conduisant naturellement l’utilisateur à éviter les écueils. Il ne vise pas des utilisateurs avec une connaissance approfondie des bases théoriques des modèles d’apprentissage machine, ce qui en fait une belle porte d’entrée.

 

Ressources recommandées pour débuter

Ces exemples vous ont-ils mis l’eau à la bouche? Il faut tout d’abord considérer que l’apprentissage de R, bien qu’étant accessible (presque l’espéranto de la programmation!), est un investissement de temps sur plusieurs mois. Dans un premier temps, pour maximiser votre ratio d’habiletés acquises sur temps investi, la plateforme en ligne Datacamp (20) est l’outil recommandé. Des options d’apprentissage autonome sont aussi disponibles (21). En novembre 2020, une série de webinaires d’introduction à R diffusés lors de la conférence R/Medicine 2020 ont été rendus publics (22). Aussi, la conférence de l’American Association for Clinical Chemistry (AACC) du 14 au 16 décembre 2020 incluait un cours d’introduction à R et un second sur la production de rapports automatisés et tableaux de bord. Des tables-rondes et présentations portant sur les implémentations R sont aussi disponibles. Nul doute que l’engouement sur R démontré par l’AACC apportera des opportunités inédites d’échanges. Suite à cette familiarisation, vos habiletés de programmation R vous permettront d’intégrer l’utilisation de modules plus avancés. Vous pourrez alors débuter le développement d’une application précise répondant à vos besoins. Plusieurs réussites R démarrent par un projet dans un contexte précis et limité. Une fois ancré, ce projet peut être successivement bonifié pour répondre à des besoins émergents. D’ailleurs, la venue imminente du SIL commun au Québec sera un atout majeur pour un déploiement de collaborations multicentriques. Qui sait, une fois bien ferrés, vous pourriez contribuer à une initiative panquébécoise!

 

Références :

  1. RStudio. [www.rstudio.org] (site consulté le 27 septembre 2020).
  2. Daroczi G. Number of R packages submitted to CRAN, [https://gist.github.com/daroczig/3cf06d6db4be2bbe3368] (site consulté le 29 septembre 2020).
  3. R-bloggers. Deming and Passing Bablok Regression in R, [https://www.r-bloggers.com/2015/09/deming-and-passing-bablok-regression-in-r/] (site consulté le 25 septembre 2020).
  4. Holmes DT. « cp-R, an interface the R programming language for clinical laboratory method comparisons », Clinical Biochemistry, 2015/02/01/; 3:192-195
  5. Mathias PC. Increasing access to COVID-19 testing with open source tools, [https://events.linuxfoundation.org/r-medicine/] (site consulté le 29 août 2020).
  6. Seattle. COVID-19: How to register for free testing, [http://www.seattle.gov/mayor/covid-19/covid-19-testing] (site consulté le 28 septembre 2020).
  7. University of Washington Medicine COVID-19 SecureLink results portal, [https://securelink.labmed.uw.edu] (site consulté le 28 septembre 2020).
  8. Masters SR. Reproducible data, reproducible analysis : a model for clinical laboratory data use, [https://youtu.be/Om_dqfEZSnk] (site consulté le 25 septembre 2020).
  9. Sepulveda JL and Young DS. « The Ideal Laboratory Information System », Archives of Pathology & Laboratory Medicine, 8:1129-1140
  10. Holmes DT. Using R to produce clinical reports in the patient record, [https://youtu.be/dfZ54QbppjM] (site consulté le 29 août 2020).
  11. Oosterhuis W. « Adding clinical utility to the laboratory reports: automation of interpretative comments », Clinical Chemistry and Laboratory Medicine (CCLM), 01 Mar. 2019; 3:365
  12. Zhi M, Ding EL, Theisen-Toupal J, Whelan J and Arnaout R. « The landscape of inappropriate laboratory testing: a 15-year meta-analysis », PloS one, 11:e78962-e78962
  13. Vasikaran S, Sikaris K, Kilpatrick E, French J, Badrick T, Osypiw J, et al. « Assuring the quality of interpretative comments in clinical chemistry », Clin Chem Lab Med, Dec 1; 12:1901-1911
  14. Wickham H, Averick M, Bryan J, Chang W, D’Agostino McGowan L, Francois R, et al. « Welcome to the tidyverse », Journal of Open Source Software, 4(43):1-6
  15. GlobalSurg. GlobalSurg and NIHR Global Health Research Unit on Global Surgery, [https://globalsurg.org] (site consulté le 23 septembre 2020).
  16. Harrison E. From cancer to COVID: scale and agility in global health research using R, [https://youtu.be/D0rWe8bW5ss] (site consulté le 29 août 2020).
  17. Higgins PD. ggconsort – Toward building programmatic CONSORT diagrams in ggplot2, [https://youtu.be/bkxiDUXyQAk] (site consulté le 27 septembre 2020).
  18. HealthyR. R for healthcare data analysis, [healthyr.surgicalinformatics.org] (site consulté le 27 septembre 2020).
  19. Major V. Reproducible RStudio Projects with Docker, Packages, Snapshots and Packrat, [https://youtu.be/Z0Tm-Y7vzNQ] (site consulté le 24 septembre 2020).
  20. Datacamp. Introduction to R, [https://www.datacamp.com/courses/free-introduction-to-r?] (site consulté le 24 septembre 2020).
  21. RStudio. Finding your way to R, [https://education.rstudio.com/learn/] (site consulté le 24 septembre 2020).
  22. RMedecine. R/Medicine 2020, [https://www.youtube.com/playlist?list=PL4IzsxWztPdljYo7uE5G_R2PtYw3fUReo] (site consulté le 29 septembre 2020).