=Paper= {{Paper |id=Vol-1379/paper-12 |storemode=property |title=Moteur de recherche sémantique au sein du dossier du patient informatisé : langage de requêtes spécifique |pdfUrl=https://ceur-ws.org/Vol-1379/paper-12.pdf |volume=Vol-1379 |dblpUrl=https://dblp.org/rec/conf/jfim/LelongMGJGDCPGT14 }} ==Moteur de recherche sémantique au sein du dossier du patient informatisé : langage de requêtes spécifique== https://ceur-ws.org/Vol-1379/paper-12.pdf
   Moteur de recherche sémantique au sein du dossier du patient
           informatisé : langage de requêtes spécifique
Romain Lelong1 Tayeb Merabti1 Julien Grosjean1 Mher B. Joulakian1 Nicolas
   Griffon1,2 Badisse Dahamna1 Marc Cuggia3 Suzanne Pereira4 Natalia
    Grabar5 Frantz Thiessard6 Philippe Massari1 Stefan J. Darmoni1,2
  1
   Service d’Informatique Biomédicale, CHU de ROUEN, Haute-Normandie & TIBS, LITIS EA
                                            4108, France
                             2
                               LIMICS, INSERM, U1142, Paris, France.
                         3
                           Inserm U936 – Université de Rennes 1, France
                          4
                            Société Vidal, 92 Issy les Moulineaux, France
                      5
                        STL UMR8163 CNRS, Université Lille 1&3, France
                    6
                     LESIM Université Bordeaux II (Victor Segalen), France

Résumé
La recherche d’information (RI) au sein du Dossier du Patient Informatisé (DPI) doit fournir aux
professionnels de santé la bonne information à la bonne personne, au bon moment, et au bon
endroit, et de réduire les tâches lourdes de recherche d’information manuelle dans des dossiers
papiers voire informatiques. Dans ce contexte, l’objectif de ce travail a été de décrire les
fonctionnalités d’un moteur de recherche sémantique au sein d’un DPI. Dans ce papier, nous
décrivons un langage de requête orienté objet, conçu pour la consultation de données, flexible et
évolutif permettant de prendre en charge n’importe quelle modèle de données. Ce moteur permet
des requêtes sur des données structurées et non structurées, sur un patient unique à visée soin ou N
patients à visée épidémiologique. Nous avons testé différents types de requêtes sur une base de test
de 2 000 patients anonymisés, contenant environ 200 000 comptes rendus.

Abstract
Information Retrieval (IR) in the Electronic Health Record (EHR) should provide healthcare
professionals with the right information to the right person at the right time and place and should
reduce the hard tasks of manual information retrieval from papers or from computer. In this
context, the objective of this study was to describe the features of a semantic search engine
implemented in an EHR. In this paper, we describe a flexible and scalable object-oriented query
language designed for retrieving and viewing data which support any data model. This search
engine deals with structured and unstructured data, on a unique patient in the context of care, and
on N patients in the context of epidemiology. In this study, we tested several types of queries on a
test databases containing 2,000 anonymized patients and about 200,000 records.
Mots-clés : Dossier du patient informatisé ; recherche d’information ; indexation automatique
Keywords: Electronic Health Record;information retrieval; automatic indexing


      Articles longs des 15es Journées francophones d’informatique médicale, JFIM 2014, pages 139–151
                                          Fès, Maroc, 12–13 juin 2014
1        Introduction
Le Dossier du Patient Informatisé (DPI) est une « version informatisée du dossier du patient
papier » [1]. Hebda and Czar [2] décrivent le DPI comme une ressource d’informations
informatisées utilisées en santé pour capturer des données du patient. L’International Organization
for Standardization (ISO) a défini le DPI comme « un outil de dépôt d’informations de santé dans
une forme informatisable, archivée, et transmissible à des utilisateurs authentifiés ». Son objectif
principal est de garantie un soin de qualité, efficace et intégré ; le DPI contient des informations à
la fois rétrospectives, actuelles et prospectives [3], utiles à tous les professionnels de santé, avec
des prescriptions, de la planification et des évaluations [4]. Ces informations permettent par
exemple l’aide à la décision et ou la création de cohortes.
Dans ce contexte, l’objectif de la recherche d’information (RI) au sein du DPI est de fournir aux
professionnels de santé la bonne information à la bonne personne, au bon moment et au bon
endroit [5]. Dans la pratique, utiliser un outil de recherche dans le DPI doit permettre de réduire les
tâches lourdes de recherche d’information manuelle dans des dossiers papiers voire informatiques,
et par ce biais, réutiliser ce temps de professionnel de santé pour améliorer la qualité des soins.
Pour González-González et al. [6], les professionnels de santé ont besoin de différentes
informations et de connaissances pour réaliser leurs tâches :
     - Information sur le patient (information sur l’œil du patient s’il est diabétique) ;
     - Connaissances (par exemple, sur les recommandations sur une pathologie donnée).
Terry et al. [7] ont décrit cinq options de recherche d’information dans le DPI :
1. Requêtes prédéfinies : l’utilisateur choisit une requête dans un menu ;
2. Requêtes simples personnalisables : l’utilisateur peut écrire une requête simple pour obtenir
     des résultats souvent hétérogènes, mais pas nécessairement tous pertinents ;
3. Requêtes avancées personnalisables : l’utilisateur peut saisir une grande variété
     d’informations dans sa requête, le plus souvent séparés par des opérateurs Booléens (ET, OU,
     SAUF) ;
4. Interface de langage de requêtes structuré : utilisant une interface spécifique pour saisir les
     requêtes ;
5. Analyse et extraction d’information avec des outils de bases de données : ces outils de bases
     de données fournissent le plus haut niveau de possibilité pour réaliser des requêtes complexes.
Ces cinq niveaux sont différents en termes d’usage et de complexité. Les trois premiers niveaux
apparaissent comme des solutions assez pauvres pour l’utilisation de recherche d’information dans
le DPI, car les questions de recherche des professionnels de santé sont de plus en plus complexes.
Dans ce contexte, l’objectif de ce travail a été de décrire les fonctionnalités d’un moteur de
recherche sémantique au sein d’un DPI. Le langage de requêtes est plus complexe que le mode
d’interrogation classique de recherche d’information documentaire, du fait de l’existence de
plusieurs niveaux hiérarchiques (patient, établissement, séjour), puis le niveau plus classique
(actes, procédures, codage PSMI, examens biologiques, métadonnées d’un compte-rendu). Le
modèle de données utilisé a permis de définir un langage proche de la représentation médicale de
la prise en charge d'un patient. Toutes les informations contenues dans le DPI peuvent ainsi
pouvoir être affichées à ces différents niveaux. Ce moteur de recherche est en cours de
développement dans le cadre du projet RAVEL [8], financé par le programme TecSan de l’Agence
Nationale de la Recherche (ANR).




                                                 140
2        État de l'art
Plusieurs outils et plateformes pour la recherche dans le DPI ont été proposés. Nous intégrons ici
les systèmes orientés population fondés sur un entrepôt de données, et les systèmes de recherche
d’information dans le dossier (mono)patient. Ces outils sont souvent différents suivant le type de
données à rechercher : structurées ou non structurées [9].
Dans les systèmes de recherche d'information (SRI) dans le dossier (mono)patient, plusieurs outils
ont été décrits dans la littérature : CISearch [10] est l’outil développé et implémenté au sein du
DPI de l’hôpital universitaire de Columbia, aux Etats-Unis. Il permet à l’utilisateur d’effectuer des
recherches dans l’ensemble des notes en texte libre (comptes-rendus de radiologie, d’anatomo-
pathologie, résumés de sortie, notes de soins…) du dossier médical qu’il consulte. Il exploite
quelques fonctionnalités de Lucene. MIRS (Medical Information Retrieval System) [11] est
également fondé sur Lucene. Citons également le projet LERUDI [12] (dont l’équipe Rouennaise
était partenaire sur les terminologies de santé) qui avait comme objectif la RI au sein du DMP
(Dossier Médical Partagé) dans un contexte d’urgence, avec une approche sémantique et la
création d’une ontologie de domaine.
Dans les entrepôts de données permettant la recherche d’information (multi)patients, I2B2
(Informatics for Integrating Biology and the Bedside) [13] est une plateforme open source
développée aux Etats-Unis et dédiée à la recherche translationnelle. I2B2 est implémenté dans
plusieurs pays, dans environ 70 CHU, et peut déjà être considéré comme un standard de facto.
I2B2 stocke les données dans un entrepôt de données centré sur l’exploitation de données
structurées. Un des composants les plus visibles d’I2B2 est un outil open source de sélection des
patients appelé « i2b2 workbench », qui est un outil modulaire, facile à utiliser, et qui permet
l’interrogation et la visualisation graphique des données cliniques [14]. La plateforme utilise des
données biologiques et d’autres données génomiques (surcouche Transmart).
La fonctionnalité de recherche d'information est aussi proposée par le système de requêtes
d’OpenEHR [15], qui repose sur un langage dédié, dépendant de sa structure orientée
"archétypes". Spécialement conçu pour interroger ce type de modèle sur le Dossier Patient
Informatisé, l’AQL (Archetype Query Language) 1 se veut un langage sémantique et indépendant
du système. Stanford Translational Research Integrated Database Environment (STRIDE) propose
un outil de requêtes nommé « Anonymous Patient Cohort Tool » dédié à la création de cohortes de
patients [16]. Le moteur de recherche EMERSE [17] permet de rechercher des termes en plein
texte avec des options avancées, adaptées au DPI (exemple : recherches avec troncatures,
synonymie, etc.). XOntoRank [18] est un moteur de recherche permettant de faire une RI
sémantique dans des documents médicaux structurés conformes au standard HL7 CDA. Ces
documents ont la particularité de contenir à la fois des données codées, structurées et des données
textuelles. L’outil utilisé comprend deux phases :
         Une indexation sémantique à l’aide de la nomenclature SNOMED
          Une phase de requête dans laquelle les concepts SNOMED des termes extraits de la
          requête utilisateur sont mappés avec la base de documents XML indexés.
Contrairement aux premiers outils de recherches appliquées sur des données structurées, ces types
d’outils exploitent le contenu textuel des DPI. La recherche en utilisant ces outils peut se faire de
différentes manières: une recherche plein texte [19] ou une recherche fondée sur les métadonnées
décrivant la sémantique du contenu textuel [20], après utilisation d’outils de traitement
automatique de langues (TAL).


1
         http://www.openehr.org/wiki/display/spec/Archetype+Query+Language+Description
                                                141
Roogle [21] est une plateforme française du CHU de Rennes dédiée à la recherche d’information
au sein de DPI. Cet outil a été à l’origine du projet RAVEL [8]. Cette plateforme est constituée
d’un entrepôt de données stockant les données du DPI (données biologiques [LOINC], données
d’actes [CCAM], des comptes-rendus médicaux de radiologie, d’anatomopathologie et des
courriers de sortie) et d’un ensemble d’outils de RI combinant des méthodes de RI sémantique
basées sur l’exploitation des métadonnées spécifiques aux documents (métadonnées issues du
systèmes d’information clinique, métadonnées sur la structure logique du document), et des
méthodes de RI plein texte exploitant le contenu textuel. A ce jour, Roogle permet une RI à la fois
sur données non structurées et données structurées.
D’autres outils linguistiques permettent la recherche sur des données textuelles, par exemple :
Currie et al. [22] proposent une approche linguistique (variation lexicale des termes, prise en
compte du contexte) pour analyser les documents médicaux afin d’identifier les patients qui ont
des problèmes de cœur et qui fument. Jain et al. [23] proposent une méthode d’expansion d’une
requête en utilisant plusieurs sources de connaissances, incluant les relations sémantiques fondées
sur des ontologies, des méthodes d’apprentissage supervisé des co-occurences d’un terme. Plaza
and Díaz [24] utilisent l’outil MetaMap pour exploiter les relations sémantiques d’UMLS afin de
rechercher des cas similaires de DPI [25] pour bénéficier de la puissance du métathésaurus de
l’Unified Medical Language System (UMLS) [26].


3        Matériel

3.1      Le modèle de données
L’utilisation d’un DPI est devenue une pratique courante dans tous les hôpitaux. Les modèles de
ces DPI varient d’un hôpital à l’autre, mais ils sont le plus souvent complexes : à titre d’exemple,
le DPI du CHU de Rouen contient plus de 100 tables. Le modèle de données de notre moteur de
recherche décrit dans [9] est volontairement compact (onze tables) pour minimiser les temps de
réponse de la RI (voir Figure 1).




             Figure 1 : Schéma du modèle de données du moteur de recherche

                                                142
4        Méthode

4.1      Le langage de requête

4.1.1    Description :
L’intérêt de proposer un nouveau langage de requêtes est de faciliter la consultation et la recherche
d’information dans le DPI et ainsi proposer une alternative aux langages de type SQL utilisés dans
de nombreuses structures. Le principe est de rendre invisible la couche SQL afin de proposer une
syntaxe la plus simple et intuitive et assez riche pour construire des requêtes complexes sans avoir
besoin d'autres connaissances que la connaissance des « entités existantes » dans la base de
données : patient, séjour…
Le langage de requêtes proposé dans ce travail à trois caractéristiques importantes :
     Il s'agit d'un langage de requêtes orienté objet avec un motif de syntaxe sur un modèle
     conceptuel de données. En revanche, il est conçu uniquement pour la consultation de données.
     Ce langage de requêtes est flexible et évolutif : il détecte automatiquement les entités
     conceptuelles de la base de données et donc il permet de prendre en compte automatiquement
     de nouvelles « entités », « attribut d'entités » ou « relations à d'autres entités » sans
     modification préalable du langage de la requête. Cette fonctionnalité importante nous a permis
     une extension aisée vers les données omiques (génomiques, métabolomiques, protéomiques,
     méthylation…) [27].
     Ce langage de requêtes a des capacités d’interrogation complète, c’est-à-dire que toutes les
     données incluses dans la base de données sont interrogeables. Il permet l’interrogation de
     données : symboliques (présence ou absence d’un diagnostic), numériques (comme les
     examens biologiques), impliquant de nouveaux opérateurs (>, <, =) par rapport aux opérateurs
     booléens plus classiques (ET, OU, SAUF) dans la recherche d’informations documentaires, et
     chronologiques (dernier examen échographique par exemple).
Ce langage permet l’affichage de toutes les informations contenues dans le DPI aux différents
niveaux de celui-ci : patient, séjour ou le niveau le plus bas (actes, diagnostics, examens
biologiques, dates, etc… qui est le niveau classique d’une RI documentaire).

4.1.2    Syntaxe :
Les principaux composants du langage sont les unités imbriquées de type :
                 ENTITE (CLAUSE de CONTRAINTES)
         ENTITE peut correspondre à n’importe quel type d’entité du modèle conceptuel de
         données (par exemple : patient, séjour, unité médicale…).
           CLAUSE de CONTRAINTES est une expression booléenne qui utilise des opérateurs
           booléens en combinaison avec des parenthèses pour lier logiquement les contraintes entre
           elles.
Par exemple, l’expression : patient(dateNaissancePatient=’01/01/1937’ ET sexe=’M’), montre
l’utilisation des attributs « dateNaissancePatient » et « sexe » de l’entité « patient », où les
expressions symboliques comme sexe=’M’ et expressions temporelles dateNaissancePatient
=’01/01/1937’ représentent les contraintes reliées entre elles avec l’opérateur booléen « ET ».
L’avantage d’une telle représentation est que les opérateurs booléens, les parenthèses, les
comparateurs logiques sont les seules variables définies dans la grammaire du langage
contrairement aux entités qui sont générées dans la grammaire suivant la base de données utilisée.

                                                143
4.1.3      Les contraintes :
D’une manière plus simple, les contraintes unitaires sont l’expression d’une restriction d’un
attribut direct de l’objet. Ainsi, dans le langage proposé, trois types de données sont traitées :
symboliques ou textuelles, numériques, et temporelles, permettant une gestion chronologique (voir
Tableau 1).

        Tableau 1 : Exemples des types de données traitées dans les contraintes simples
Type de données                Exemple                               Description
Symbolique                     patient(sexe="M")                     Patient de sexe masculin
Numérique                      analyse(valeurNumericAnalyse   >6     Test biologique dont la
                               ET valeurNumericAnalyse <=6.25)       valeur est comprise entre 6
                                                                     et 6.25
Date                           sejour(dateEntreeSejour=2010-03-      Le séjour du 10/03/2010
                               10)

D’un autre côté la puissance de ce langage de requêtes vient du fait que nous pouvons combiner
plusieurs contraintes imbriquées à l’intérieur d’une même contrainte (voir Tableau 2). Pour les
valeurs numériques, il est également possible d’exprimer un examen biologique en fonction d’une
référence aux bornes inférieures et supérieures à la normale, présentes pour chaque analyse
biologique : par exemple, rechercher pour un patient donné toutes les glycémies supérieures à 1,5
fois la normale (sous-entendu supérieur à 1,5 la borne supérieure). Notons ici que cette notion de
valeur de la borne supérieure (ou inférieure) peut évoluer au cours du temps. Elle sera prise en
compte par notre modèle de données et notre outil de recherche.

            Tableau 2 : Exemples avancés sur l’utilisation des contraintes simples
          Exemple                                         Description

          Patient(analyse(codeEXEResultatBiologique       Les patients qui ont une analyse
          (label="Phosphore")                    ET       indexée par le terme EXE
          0,81