télécharger cette publication
Transcription
télécharger cette publication
Le projet CoMeDIAS : accès à des bases de données médicales hétérogènes au moyen de services Internet Michel Joubert1, Jean-Charles Dufour1, Sylvain Aymard1, Laurent Falco1, Pascal Staccini2, Marius Fieschi1 1 LERTIM, Faculté de Médecine, Université de la Méditerranée, Marseille, France 2 Département STIC, Faculté de Médecine, Université de Nice – Sophia Antipolis, France Abstract The aim of the project CoMeDIAS is to provide health care professionals with a homogeneous access to different heterogeneous sources of medical data inside an information system. Since the evolution of health information systems cannot be synchronous because partners cannot evolve at the same time, it is difficult to respect coherency and wholeness when building patient-centered information systems. This research work proposes a software architecture able to establish a mediation layer between users and databases. This solution is based on Web services and standard communication protocols. The general idea is to reach a sufficient level of abstraction in communication processes to be independent of technical choices. Keywords Medical informatics; Information system; Information retrieval; Knowledge; Internet. 1 Introduction Ces vingt dernières années les concepteurs en informatique médicale ont expérimenté et implémenté un nombre important de systèmes d’information hospitaliers dans le monde entier. Il apparaît que beaucoup de questions qui se posaient dans les années 80 n’ont pas encore de réponses aujourd’hui [1]. Les systèmes d’information ont eu des difficultés à évoluer. Leur devenir dépend de leur capacité à faire évoluer leur architecture [2], ou d’intégrer de nouvelles fonctionnalités comme l’accès à la connaissance, l’aide à la décision ou les guides de bonne pratique clinique [3]. Des expériences encourageantes ont été menées par les IAIMS ( integrated advanced information management system ) [4-7]. Aujourd’hui l’accent est mis sur la sécurité du patient, l’aide à la décision et la médecine basée sur les niveaux de preuve. De nouveaux outils et de nouvelles approches devraient améliorer la qualité des soins. Dans cette voie, la notion de système d’information en santé devrait étendre la notion plus retreinte de système d’information hospitalier [8]. De nouveaux concepts et de nouvelles techniques devraient coopérer pour faire progresser des systèmes d’information centrés sur le patient et orientés sur les processus de prise en charge [9]. Des efforts ont été faits pour réaliser des systèmes de gestion de données cliniques, de laboratoires et d’imagerie. Toutefois, l’hétérogénéité des données est un réel problème du fait de leur éparpillement. D’un point de vue technique, l’hétérogénéité est due aux [10] : • technologies des réseaux, des appareillages et des systèmes d’exploitation ; • moyens de communication et aux solutions adoptées ; • technologies utilisées pour les interfaces ; • langages de programmation ; • architectures des systèmes ; • formats des données et des documents. D’un point de vue informationnel, quand des applications échangent des données, des problèmes apparaissent dus à des différences de codage. Les règles de codification et les possibilités de transcodage sont donc d’une grande importance. En outre, les évolutions de différents systèmes d’information dans une même zone géographique, une région par exemple, ne peuvent pas être synchrones. Certains systèmes hospitaliers évoluent plus rapidement que d’autres, c’est aussi le cas des systèmes informatiques des médecins de ville. La question qui se pose est alors de savoir comment construire un système d’information de santé centré sur le patient qui puisse évoluer de manière cohérente. L’hétérogénéité actuelle est inévitable. L’objectif du projet CoMeDIAS ( Computerized Medical Data through Internet Access Services ) est de proposer une plate-forme capable de fournir aux professionnels de la santé un moyen d’accès homogène aux sources de données hétérogènes par nature. Les technologies utilisées sont issues de l’Internet, connues sous le nom de Web services1, qui facilitent l’intégration de différents services. L ‘emploi de nomenclatures standards facilite les échanges de données. 2 Le contexte L’information utile aux soins n’est pas seulement stockée dans des bases de données, elle est aussi enregistrée dans des systèmes documentaires sur les pratiques et les protocoles, des banques de données sur les médicaments, etc. Des informations concernant les patients sont aussi présentes dans des documents textuels, comme des rapports des lettres d'admission, des lettres de sortie. A la suite des travaux de la Dublin Core Initiative [11], un ensemble de champs ont été identifiés pour caractériser des documents dans le domaine biomédical [12] et permettre ainsi de les identifier et de les retrouver. Parallèlement, les logiciels de bureautique offrent aujourd’hui la possibilité d’indexer les documents au moyen d’un sous-ensemble de ces champs : nom d’auteur, date de création, sujet, motsclés, etc. Des documents bureautiques peuvent ainsi être retrouvés dans des répertoires appropriés et n’ont pas besoin d’être stockés dans des bases de données structurées. De cette façon, les informations relatives à un patient peuvent être diffusées sur un réseau hospitalier et accessibles au moyen des fonctionnalités offertes par les logiciels de bureautique standard sous différents systèmes d’exploitation. D’autres informations utiles sont diffusées hors du lieu d’exercice des praticiens. C’est le cas des sites Internet. Ce sont, par exemple, des guides de bonne pratique, des informations sur les médicaments, de la bibliographie pertinente. Les moteurs de recherche des sites 1 “A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by internet protocols” ( W3C, Web Services Architecture Group, Nov. 2002 ). Internet permettent de retrouver l’information souhaitée. Cependant, le succès de la recherche n’est pas garanti du à leur manque de spécificité. C’est pourquoi différentes institutions servent de portails en indexant les documents publiés sur l’Internet à l’aide de termes MeSH [13-15]. Les procédures de stockage et de recherche d’information nécessitent l’emploi de nomenclatures et de thesauri standard qui constituent le référentiel grâce auquel des applications peuvent coopérer efficacement. Les développements que nous effectuons actuellement dans le cadre du projet européen WRAPIN2 en sont une illustration. 3 Les objectifs du projet CoMeDIAS Des bases de données existent dans les hôpitaux depuis de nombreuses années. L’accès à celles-ci est administré par la technologie utilisée quand elles furent implémentées. Les contraintes sont dues aux protocoles de communication, comme IBM-SNA et d’autres. De plus, les bases de données ne sont pas toutes relationnelles, mais peuvent être implémentées avec des logiciels propriétaires. L’objectif principal du projet CoMeDIAS est de fournir une plate-forme qui s’affranchisse de ces problèmes et facilite l’intégration de nouvelles bases de données. L’idée de base pour intégrer des bases de données hétérogènes est de construire un middleware utilisant les protocoles de communication de l’Internet, comme HTTP, et des Web services pour afficher les données. Les données peuvent être celles d’un patient : données cliniques, données de laboratoire, imagerie médicale, etc. Elles peuvent aussi être liées à un problème clinique rencontré : guides de bonne pratique, protocoles opératoires ou de soins, prescriptions médicamenteuses, etc. Dans ce sens, CoMeDIAS n’est pas une application, mais un ensemble de services à partir desquels il est possible de construire des interfaces permettant à des utilisateurs de naviguer « intelligemment » au sein des bases de données et de collecter de l’information utile facilement dans des bases de données externes à leur institution. Cette navigation est rendue possible par l’emploi de nomenclatures standards aussi bien pour le codage de l’information que lors des processus de recherche. 3.1 Un scénario Imaginons le scénario suivant illustré par la Figure 1. Un médecin identifie un de ses patients dans le champs approprié d’une page affichée par son navigateur Internet. Après validation, cet identificateur est inclus dans un fichier XML ( extensible markup language ) [16] envoyé au service Web qui gère les accès aux patients. Ce service renvoie un fichier XML, traité au moyen d’un fichier XSL, qui permet d’afficher des données dans une nouvelle fenêtre du navigateur. Des informations comme les codes diagnostiques et les noms de médicaments ont été automatiquement traitées. Elles sont affichées à l’écran sous forme d’hyperliens, des scripts leurs sont attachés et activés par un clic. Par exemple, un clic sur le nom d’un médicament provoque l’ouverture d’une nouvelle fenêtre présentant des recommandations : indications, contre-indications, posologie, etc. Ces connaissances sont automatiquement extraites d’une base de données sur les médicaments par le service Web approprié. De la même manière un clic sur un code diagnostique peut invoquer un service dédié à la gestion d’une nomenclature. Des données de laboratoire peuvent aussi être produites par 2 WRAPIN ( worldwide online reliable advice to patients and individuals ). EU programme IST-2001-33260, 2001, http://www.wrapin.org. un service Web dédié à l’accès aux serveurs des laboratoires. Dans chaque cas, les résultats fournis par les serveurs concernés sont dans des fichiers XML dont le traitement est opéré au moyen de fichiers XSL avant d’être affichés. Figure 1. Navigation d’un dossier patient vers un browser de la CIM-10 et une base de données sur les médicaments. 3.2 Implémentation La programmation en composants ( component-based ) fournit un mécanisme de communication entre les utilisateurs et les bases de données. Suivant cette approche, un service Web est un système dont l’interface publique est publiée dans un fichier XML. La définition d’un tel service peut ainsi être découverte par d’autres logiciels. Ceux-ci peuvent ainsi interagir avec le service Web au moyen de fichiers XML échangés au moyen des protocoles Internet. Cette vue générale de l’usage des services Web est schématisée par la Figure 2, où ils apparaissent comme des médiateurs entre les utilisateurs et les sources de données. Données Base de Données SQL Données au format HTML ou XML à afficher SQL-XML Interface utilisateur Services Web XML-XML Données accessibles en XML Tex-te-XML Documents bureautiques Client Médiation XML Requête soumise dans un fichier au format XML Nomenclatures Standard Figure 2. Les trois niveaux (client, médiation et données) impliqués dans l’architecture logicielle de CoMeDIAS. Les services Web échangent des fichiers XML qui contiennent du texte balisé incluant les requêtes véhiculées. Une requête est une chaîne de caractères envoyée à un serveur de bases de données, un moteur de recherche, ou une API ( application programmatic interface ) d’un serveur Internet. Une requête est construite par des composants qui opèrent des transformations successives sur une requête initiale pour la formuler dans le langage d’interrogation de la source d’information sélectionnée. Par exemple, un composant peut remplacer un code diagnostique par le vocable généralement utilisé pour désigner la pathologie concernée dans cette base de données. Un autre composant exploite la description de la syntaxe utilisée pour interroger la source concernée et l’exprime conformément à celle-ci. Inversement, quand des résultats sont envoyés par une source interrogée, des séquences de transformations sont effectuées sur ces résultats. La Figure 3 illustre ces processus. L’enchaînement de ces transformations constitue le cœur d’un service Web. L’ensemble de ces services Web constitue le middleware CoMeDIAS. Service Web CoMeDIAS Requête soumise dans un fichier XML Requête traduite dans le langage d’interrogation de la base de données Transformations Interface utilisateur Nomenclatures standard Base de Données Transformations Données à afficher Résultats au format XML ou HTML Figure 3. Un service Web de CoMeDIAS fait de transformations basées sur des nomenclatures standards. La Figure 4 montre une copie d’écran réalisée lors de l’organisation de telles transformations au moyen d’un logiciel diffusé sur le marché3. La partie gauche de l’écran montre le schéma commun à toute requête quelle que soit la base interrogée. La partie droite de l’écran est le schéma général d’une requête envoyée à une base de données : une chaîne de caractères englobée dans des balises. La partie centrale présente un enchaînement de composants, activés de la gauche vers la droite, utilisés pour réaliser les transformations. Les résultats produits par un ou des composants sont exploités par les suivants, et ainsi de suite. Ces composants ont été préalablement conçus et stockés dans une bibliothèque de composants, de telle sorte qu’un concepteur de service Web puisse les réutiliser à volonté. La Figure 5 illustre le processus inverse de mise en forme des résultats obtenus d’une base de données ( Medline dans cet exemple) grâce à un schéma standard de 3 Microsoft BizTalk présentation. Cet exemple montre en particulier comment des éléments organisés en ensembles ( auteurs, mot-clés, … ) sont transformés en listes pour être affichés. Figure 4. Enchaînement de composants pour effectuer des transformations sur les requêtes. Figure 5. Transformation des éléments de résultat produits par PubMed ( schéma en partie gauche ) dans le format standard dont le schéma est en partie droite. 4 Discussion Intégration et interopérabilité de services dans un système d’information sont une affaire d’architecture [10]. Partant de ce principe, la solution que nous proposons est un middleware bâti sur un ensemble de services Web qui coopèrent avec des applications existantes. Les avantages de cette approche sont nombreux. Parmi ceux-ci, nous retiendrons que : • les services Web sont construits à l’aide de composants dont les fonctionnalités sont d’un niveau de granularité suffisant pour pouvoir être réutilisés dans la construction d’autres services ; • quand des documents et des données sont échangés entre applications hétérogènes, des transformations sont opérés pour adapter des entités propriétaires des sources dans les formats attendus par les récepteurs ; • au niveau des couches de communication, les services Web facilitent l’intégration d’applications dans des réseaux dont la technologie est celle de l’Internet. Suivant cette méthode, les objectifs du projet CoMeDIAS favorisent l’emploi de nomenclatures standards. En effet, les services Web sont conçus pour échanger des données et des documents. Le fait d’avoir des règles de codage partagées est une nécessité. L’expérience que nous avons acquise pour construire des services Web avec un outil logiciel du marché nous amène à conclure que cette approche est très prometteuse. La principale difficulté que nous avons rencontrée a été de définir le niveau de granularité suffisant des composants pour qu’ils puissent être réutilisés efficacement dans la réalisation de nouveaux services. Jusqu’à présent, nos expérimentations ont porté sur des bases de données interrogeables par le protocole HTTP. Ces sources de données sont entre autres CISMeF [14], Medline [17], Drug Information ( Medline plus ) [18] et ClinicalTrials.gov [19]. Ceci fait que nous avons développé un nombre restreint de composants. Dans un futur proche, nous allons expérimenter cette méthode avec des bases de données accessibles par d’autres protocoles de communication. Notre estimation est que le nombre total de composants nécessaires ne devrait pas être important au vu des sources d’information envisagées : annuaires, bases de données cliniques, données de laboratoires, etc. Puisque de telles bases de données existantes sont implémentées depuis longtemps, elles ne communiquent pas via HTTP et ne fournissent pas des résultats formatés en HTML, et encore moins en XML. Leur intégration se fera au moyen de « connecteurs » chargés d’établir les connexions, de formater les requêtes à ces bases, et en retour, de formater les résultats obtenus en fichiers XML. Références [1] Ball MJ. Hospital Information Systems: perspectives on problems and prospects, 1979 and 2002. Int J Med Inf 2003; 69(2-3): 83-9. [2] Borst F, Appel R, Baud R, Ligier Y, Scherrer JR. Happy birthday DIOGENE: a hospital information system born 20 years ago. Int J Med Inf 1999; 54 (3): 157-67. [3] Pryor TA, Gardner RM, Clayton PD, Warner HR. The HELP system. J Med Syst 1983; 7(2): 87-102. [4] Clayton PD. Integrated Advanced Medical Information Systems (IAIMS): payoffs and problems. Methods Inf Med 1994; 33(4): 351-7. [5] Hripcsak G. IAIMS architecture. J Am Med Inform Assoc 1997; 4(2): 20-30. [6] Stead WW, Olsen AJ, Benner SA, Blackwelder M et al.. The IAIMS - an essential infrastructure for increasing the competitiveness of health care practices. J Am Med Inform Assoc 1997; 4(2): 73-6. [7] Cimino JJ. The Columbia Medical Informatics Story: from clinical system to major department. MD Comput. 1999; 16(2): 31-4. [8] Khun KA, Giuse DA. From Hospital Information Systems to Health Information Systems. Methods Inf Med. 2001; 40: 275-87. [9] Staccini P, Joubert M, Quaranta JF, Fieschi M. Towards elicitation of users requirements for hospital information system: from a care process modelling technique to a web based collaborative tool. Proc AMIA Symp. 2002: 732-6. [10] Stal M. Web Services: beyond component-based computing. Comm ACM 2002; 45(10): 71-6. [11] Dublin Core Metadata Initiative. The Dublin Core Metadata Element Set. http://dublincore.org/documents/dces/. [12] Malet G, Munoz F, Appleyard R, Hersh WR. A Model for Enhancing Internet Medical Document Retrieval with « Medical Core Metadata ». J Am Med Inform Assoc 1999; 6: 163-72. [13] Health On the Net. http://www.hon.ch. [14] Centre Hospitalier Universitaire de Rouen. CISMeF. http://www.chu-rouen.fr/cismef. [15] Hersh WR, Brown KE, Donohoe LC, Campbell EM, Horacek AE. Cliniweb : managing clinical information on the world wide web. J Am Med Inform Assoc 1996; 3: 273-80. [16] World Wide Web Consortium. Extensible Markup Language. http://www.w3.org/XML/. [17] National Library of Medicine. PubMed. http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed [18] National Library of Medicine and National Institutes of Health. Medline Plus, Drug Information. http://www.nlm.nih.gov/medlineplus/druginformation.html [19] National Institutes of Health. Clinical Trials. http://clinicaltrials.gov/ct/gui Adresse de correspondance Michel JOUBERT LERTIM - Faculté de Médecine 27, boulevard Jean Moulin 13385 Marseille Cedex 5 France E-mail : [email protected] Web : http://cybertim.timone.univ-mrs.fr