Les Web Services Schéma Directeur des Espaces numériques de Travail Groupe de Travail Interopérabilité Les Web Services Projet CHU de Grenoble Le 24 Novembre 2003 Thierry CAZENAVE www.cosmosbay-vectis.com
CHU GRENOBLE - Objectifs Objectifs du projet : Permettre aux Professionnels de Santé (médecins hospitaliers, médecins de ville, laboratoires d’analyses …) d’échanger de l’information médicale en toute sécurité Permettre de mettre rapidement en place des évaluations, des statistiques vis à vis de réseaux de soins Permettre de faciliter des échanges « structurés » inter systèmes d’information hospitaliers (S.I.H.) Mettre en place une plate-forme d’échange entre professionnels de santé (PEPS) accessible sur l’Internet
CHU GRENOBLE – Les fonctionnalités Une interface Web pour les Médecins Identification de l’utilisateur Gestion de la base des patients Gestion de formulaires médicaux Fonctions de collaboration Une interface Windows (mode déconnecté) Sous ensemble des fonctions Web Utilisable en mode déconnecté Envoi des messages par client de messagerie ou HTTP Une API intégrable par les éditeurs de logiciel médicaux Interface programmatique des fonctionnalités de signature, chiffrement et de publication Cette API s’appuie sur les Web Services pour les échanges avec PEPS Services applicatifs exposés sous la forme de Web Services Publication de données médicales Récupération d’informations
CHU GRENOBLE – Topologie des échanges Laboratoires Médecine de ville Hôpitaux/Cliniques Navigateur Internet Explorer « Utilisateurs » Application Client PEPS Logiciels Tiers Editeur 1 Editeur 2 Client de messagerie Publication Récupération HTTP/HTML Publication HTTP/SOAP SMTP/mime Hôpitaux/Cliniques PEPS SIH CHU Grenoble Services de présentation Connecteur SMTP SIH Publication Récupération Publication Récupération HTTP/SOAP Services applicatifs HTTP/SOAP Laboratoires Patients Fiches Documents
CHU GRENOBLE – Architecture GUI Windows Proxy Web Service Client de messagerie Message SOAP en pièce jointe SMTP HTTPS SOAP Connecteur SMTP Dossier Commun Patient Interface Web Service Service de traçabilité (MS Biztalk) Ajout données de contrôle Journalisation du message Web service (.NET Framework) Décryptage Vérification signature Mise à jour SGBD CryptoAPI Composants Métiers SGDB SGDB
CHU GRENOBLE – Web Services exposés par PEPS Récupération des types de fiche disponibles Formulaires pour la cancérologie, oncologie, obstétrique… Récupération de la description de la structure d’une fiche Grammaire XML propre à l’application PEPS Service de publication d’une fiche Prend en paramètre un document XML contenant une enveloppe et un corps avec les données métiers signées et cryptées Service de récupération des correspondants d’un utilisateur Praticiens avec qui il peut partager des fiches Règles de sécurité et d’organisation
CHU GRENOBLE – Web Services consommés par PEPS Objectif Réutiliser une application existante au CHU : le dossier commun patient (DCOMP) Pour stocker les documents associés au patient L’existant L’application DCOMP Une interface Web de consultation Un ensemble de fonctionnalités disponible sous forme de web services Vérification de la validité d’une demande de publication Publication d’un ensemble de documents pour un patient Développée initialement pour des besoins internes au CHU L’intégration Création d’un proxy en .Net Appel des web services depuis la plate-forme PEPS Bénéfices Capitalisation sur les fonctionnalités existantes dans le système d’information Non redondance des données Souplesse de déploiement, faible couplage
CHU GRENOBLE – Implémentation des Web Services VB.NET
CHU GRENOBLE – Structure requête POST /pepswebservice/users.asmx HTTP/1. 1Host: iru1Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: http://peps.chu-grenoble.fr/GetFileType <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetFileType xmlns="http://peps.chu-grenoble.fr/"> <userEntityId> string </userEntityId> Identifiant de l’utilisateur demandeur <entityCode> string</entityCode> Identifiant de l’Unité Fonctionnelle <fileType> string </fileType> Identifiant du type de la fiche </GetFileType> </soap:Body> </soap:Envelope>
CHU GRENOBLE – Structure réponse HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetFileTypeResponse xmlns="http://peps.chu-grenoble.fr/"> <GetFileTypeResult> <Fields> Récupération de la structure de la fiche dans la grammaire XML propre à PEPS <WSPEPSField> <Name> string </Name> <Desc> string</Desc> <Type>string</Type> <MaxLength>int</MaxLength> <Precision>int</Precision> <Scale>int</Scale> <Required>boolean</Required> <Values xsi:nil="true" /> <Nomenclature>string</Nomenclature> </WSPEPSField> </Fields> </GetFileTypeResult> </GetFileTypeResponse> </soap:Body> </soap:Envelope>
CHU GRENOBLE – Appel du Service Web 1 C# 2
CHU GRENOBLE – Principaux bénéfices Services applicatifs exposés par la plate-forme Consommables par tous types de client Utilisables en externe par des partenaires Utilisables en interne par le CHUG Échange de services entre la plate-forme et le SIH du CHU Services consommés par la plate-forme Permet l’interopérabilité avec les SIH d’autres établissement, d’autres applications du CHU (exemple du dossier commun patient) Souplesse de l’architecture Répartition physique des services applicatifs Peu de contrainte de déploiement (protocole HTTP)
CHU GRENOBLE – Évolutions envisagées Gestion de la sécurité Mise en oeuvre de WS-Security Chiffrement et signature depuis le certificat de la carte CPS (Carte Professionnels de Santé) Généralisation des Web Services Exposer sous forme de Web Service les services applicatifs existant au sein du SIH du CHU Améliorer la réutilisation entre applications en capitalisant sur l’existant
. . .