Volet Synchrone pour Client Lourd

Documents pareils
Volet Synchrone pour Client Lourd

Classification : public 1/59

ASIP Santé DST des interfaces MSSanté des Clients de messagerie v /02/ / 95

Le Dossier Médical Personnel et la sécurité

Le cadre d'interopérabilité du DMP. Juillet 2007

CONVENTION INDIVIDUELLE D HABILITATION. «société d assurance indépendante» (Convention complète)

Définition des Webservices Ordre de paiement par . Version 1.0

CONVENTION INDIVIDUELLE D HABILITATION. «Expert en automobile indépendant» (convention complète)

Application des Spécifications détaillées pour la Retraite, architecture portail à portail

Responsable du cours : Héla Hachicha. Année Universitaire :

Plateforme PAYZEN. Définition de Web-services

BPEL Orchestration de Web Services

4. SERVICES WEB REST 46

Présentation du cadre technique de mise en œuvre d un Service d Archivage Electronique

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

DESCRIPTION DU COMPOSANT

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

L impact du programme de relance sur le projet régional 19/05/2009 COPIL AMOA 1

L3 informatique TP n o 2 : Les applications réseau

UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS

WebSSO, synchronisation et contrôle des accès via LDAP

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

Introduction aux «Services Web»

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

La Révolution Numérique Au Service De l'hôpital de demain JUIN 2013 Strasbourg, FRANCE

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole :

Note Technique Sécurité. Système d'authentification. Authentification hors APN LuxGSM Authentification 3G/APN. Système de notification

SOAP Concepts Application à Glassfish

Messagerie asynchrone et Services Web

18 TCP Les protocoles de domaines d applications

Cours CCNA 1. Exercices

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

(structure des entêtes)

Windows Server Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

Manuel d intégration API SOAP SMS ALLMYSMS.COM

25 septembre Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

Tessi Documents Services ASPONE. Démo Webservices UpValue.

Créer et partager des fichiers

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

Solutions d accès sécurisées pour opérer une Market Place Saas multitenante

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

Les Architectures Orientées Services (SOA)

Les tests d'interopérabilité pour la e-santé en France

Appui SIE :Développement de services web ADES/SIE

Projet de Conception N 1 Automatisation d'un processus de paiement. Livrable: Spécification du système de compensation

Dématérialisation des factures du Secteur Public

Plateforme Systempay. Correspondance entre SP PLUS et SYSTEMPAY Paiement Simple et en plusieurs fois

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Référentiel d authentification des acteurs de santé

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

Instructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1

EXPOSE. La SuisseID, qu est ce que c est? Secrétariat d Etat à l Economie SECO Pierre Hemmer, Chef du développement egovernment

Application Web et J2EE

Déploiement, administration et configuration

PLUS ON EN SAIT MIEUX ON SE PORTE. Utiliser le Dossier Médical Personnel en EHPAD

ENVOLE 1.5. Calendrier Envole

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Serveurs de noms Protocoles HTTP et FTP

Date : 16 novembre 2011 Version : 1. 2 Nombre de pages : 13

arcopole Studio Annexe 7 Architectures Site du programme arcopole :

Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants

Intégration à la plateforme

Tour d horizon des différents SSO disponibles

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

Sécurisation des architectures traditionnelles et des SOA

API FTP SMSENVOI V1.1


SAML et services hors web

La sécurité informatique d'un centre d imagerie médicale Les conseils de la CNIL. Dr Hervé LECLET. Santopta

Public Key Infrastructure (PKI)

Compte Rendu d intégration d application

Mobyt Intégration par Webservice TABLE DES MATIERES

PROCEDURE D'APPEL DU WEBSERVICE PERMETTANT DE CONTROLER LES FICHIERS XML-SANDRE Version 4

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

Oauth : un protocole d'autorisation qui authentifie?

Les infrastructures de clés publiques (PKI, IGC, ICP)

Sécurité. Objectifs Gestion de PKI Signature Cryptage Web Service Security

Innovation technologique dans les établissements scolaires : l ENT, les impacts sur l organisation du travail et les risques associés

AIDE MEMOIRE. Forprev. De l habilitation à la gestion de sessions. Page 1 sur 55

Couche application. La couche application est la plus élevée du modèle de référence.

PHP 5.4 Développez un site web dynamique et interactif

Cours 14. Crypto. 2004, Marc-André Léger

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

IPFIX (Internet Protocol Information export)

Le service FTP. M.BOUABID, Page 1 sur 5

EDESS. 1 Démarche générale principes 2

Sécurité des réseaux IPSec

GUIDE PRATIQUE DU PROJET DMP EN ÉTABLISSEMENT DE SANTÉ

État Réalisé En cours Planifié

BES WEBDEVELOPER ACTIVITÉ RÔLE

TheGreenBow IPsec VPN Client. Guide de Déploiement Options PKI. Site web: Contact:

SPF FIN. Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale. Version 1.1

Transcription:

Cadre d interopérabilité des SIS Couche Transport Volet Synchrone pour Client Lourd Identification du document Référence CI- SIS_couche_Transport_Volet_Synchrone_Client_Lourd_v0.1.1.docx Date de création 06/03/09 Date de dernière mise à jour 24/02/10 Rédaction (R) PRAS Version V 0.1.0 Nombre de pages 39 Documents de référence 1. IHE : Cadre Technique IT Infrastructure, volumes 1 et 2 Classification : public 1 / 39

Historique du document Version Date Action V 0.0.1 25/06/09 Publication pour première phase de concertation V 0.0.2 08/09/09 Prise en compte des commentaires reçus au 31/08. Publication en entrée de la session de validation des 14 & 15 sept. V 0.0.3 17/09/09 Post session d experts des 14 & 15 sept. Ajout du jeton VIHF exemple, et compléments sur les champs SAML V0.1.0 02/10/2009 Publication post approbation par représentants des industriels V0.1.1 24/02/10 Publication sans changement dans la version 0.1.1 du CI-SIS Classification : Public 2 / 39

Sommaire 1 Positionnement dans le cadre d interopérabilité... 4 2 Pré-requis... 4 3 Spécifications... 5 3.1 Références... 5 3.2 Messages SOAP... 6 3.2.1 Structure d un message SOAP avec WS-Addressing... 6 3.2.2 Style et encodage du message SOAP... 10 3.2.3 Styles d échanges des messages SOAP... 11 3.2.4 Liaison avec le protocole de transport ou binding (HTTP 1.1 dans TLS 1.0)... 11 3.2.5 Transport de documents avec MTOM et XOP... 13 3.2.6 Description d un service Web (WSDL)... 16 4 Dispositions de sécurité... 19 4.1 Confidentialité... 19 4.2 Intégrité... 19 4.3 Identification et authentification... 19 4.3.1 Le VIHF... 20 4.3.2 Exigences techniques pour les systèmes initiateurs... 37 4.4 Contrôle d accès... 38 5 Annexe 1 : Evolutions futures... 39 Classification : Public 3 / 39

1 Positionnement dans le cadre d interopérabilité Ce volet spécifie la couche Transport pour : un système cible offrant un service auquel il est possible de se connecter de façon synchrone ; un système initiateur bénéficiant d un «client lourd» (c.à.d. un logiciel spécialisé intégrant les interfaces décrites dans ce volet) se connectant au service de façon synchrone. Figure 1 : rôles des systèmes Ce volet est utilisé par le volet partage de documents médicaux. Nota : Les spécificités d implémentation des standards utilisés présentées dans ce volet seront validées et approfondies dans le cadre de la réalisation de systèmes de santé majeurs tels que le DMP V1. Certaines solutions restant à valider feront l objet d implémentations de test. Cet aspect est particulièrement sensible pour la configuration «Libérale», pour laquelle la mise en œuvre de la carte CPS présente des limitations techniques qui nécessitent de faire des choix présentant un compromis acceptable entre sécurité et performance. 2 Pré-requis Pour être conforme au présent volet, les systèmes initiateurs et cibles doivent pouvoir s appuyer sur les certificats de racine de l'igc-cps que celui-ci soit associé à une personne physique (ex. CPS personnelle et nominative) ou à une personne morale (ex. certificat serveur). Classification : Public 4 / 39

3 Spécifications 3.1 Références Le choix de la pile protocole pour ce volet est présenté ci-dessous. Il est basé sur l annexe V du tome 2x du cadre technique ITI d IHE et le profil d implémentation XUA : Les échanges se font sur le protocole http 1.1 encapsulé dans une connexion sécurisée TLS 1.0. SOAP 1.2 est utilisé et permet de spécifier le format du message ainsi que les informations sur le message lui-même permettant son acheminement à travers un réseau (de type Internet) et son traitement. Les flux transportant des documents utilisent en plus les mécanismes d optimisation du codage et de la transmission des messages SOAP définis dans MTOM et XOP. Les services offerts par les systèmes de santé doivent être décrits dans un langage commun exploitable par tout autre système, le standard WSDL 1.1. Enfin, les flux doivent comporter une assertion SAML 2.0 intégrant des informations d authentification de l utilisateur définies en fonction du certificat X509 utilisé par le système. L utilisation de l assertion SAML doit respecter la standardisation WS-I Basic Security Profile 1.1, notamment les recommandations WS- Security SAML Token Profile 1.1 pour ce qui concerne le contenu de l assertion et son utilisation avec WS- Security. http 1.1 : http://www.w3.org/protocols/rfc2616/rfc2616.html TLS 1.0 : http://www.ietf.org/rfc/rfc2246.txt SOAP 1.2 : http://www.w3.org/tr/2007/rec-soap12-part0-20070427/ http://www.w3.org/tr/2007/rec-soap12-part1-20070427/ http://www.w3.org/tr/2007/rec-soap12-part2-20070427/ http://www.w3.org/tr/2007/rec-soap12-testcollection-20070427/ MTOM : http://www.w3.org/tr/soap12-mtom/ XOP : http://www.w3.org/tr/2005/rec-xop10-20050125/ Classification : Public 5 / 39

WSDL 1.1 : http://www.w3.org/tr/wsdl SAML 2.0 : http://saml.xml.org/saml-specifications Certificat X509 : http://tools.ietf.org/html/rfc5280 WS-I Basic Security Profile 1.1 : http://www.ws-i.org/profiles/basicsecurityprofile-1.1.html WS-Security SAML Token Profile 1.1 : http://www.oasis-open.org/committees/download.php/16768/wss-v1.1-spec-os-samltokenprofile.pdf 3.2 Messages SOAP 3.2.1 Structure d un message SOAP avec WS-Addressing Le protocole SOAP définit une grammaire XML pour décrire le format et la structure du message échangé. Ce paragraphe détaille les principaux éléments d un message SOAP. Le message SOAP est obligatoirement composé d une Envelope (Enveloppe) qui contient éventuellement un élément Header (entête) et obligatoirement un élément Body (corps). Exemple de la structure d une enveloppe SOAP : <env:envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" > <env:header>.. </env:header> -<env:body>. - </env:body > <env:envelope> Le mot clé Enveloppe est obligatoirement suivi d un espace de nom qui indique la version du protocole SOAP utilisée et éventuellement d un attribut encodingstyle permettant de préciser les règles d encodage du message. Dans la version SOAP1.2, l attribut xmlns:env représente le mot clé namespaces associé au préfixe env qui définit l enveloppe. Classification : Public 6 / 39

La chaîne de caractères "http://www.w3.org/2003/05/soap-envelope" désigne la version du protocole SOAP utilisée (ici SOAP1.2). L élément Header (entête) du message est facultatif et contient les éléments techniques (appelés entrées) du message destinés à être traités par des nœuds intermédiaires et le nœud final. L entête permet d étendre les spécifications du message SOAP à d autres spécifications qui gèrent des fonctionnalités techniques telles la gestion de l adressage, la gestion de la sécurité, le caractère obligatoire ou pas du traitement du message par le nœud récepteur, etc. L entête contient donc un ou plusieurs éléments composés chacun d un espace de nom et de 2 attributs réservés à la spécification SOAP1.2 : L attribut role qui désigne le destinataire de l élément de l entête. Lorsqu il est omis, le destinataire correspond au point final, c'est-à-dire un web-service endpoint du système cible. L attribut mustunderstand qui permet d indiquer le caractère obligatoire ou non du traitement de l élément d entête par le destinataire. Ce traitement est obligatoire dans le cas où mustunderstand = "true". Dans le cas des SIS français : l élément Header (entête) du message SOAP est obligatoire ; aucun nœud intermédiaire n est prévu entre système initiateur et système cible, l attribut role est absent de la structure du message SOAP ; l attribut mustunderstand est égal à "true" ce qui signifie que le message est adressé au nœud final (services définis dans les volets de la couche Service du cadre d interopérabilité) et qu il doit être traité par ce nœud. Il est possible d étendre le protocole SOAP en ajoutant des éléments techniques à l entête du message. Il est notamment possible d ajouter une entrée WS-Addressing permettant d indiquer le destinataire du message (élément <To>), l identifiant du message (élément <MessageID>), l action à réaliser (élément <Action>) et l adresse à laquelle le message de réponse doit être envoyé (élément <ReplyTo>). Classification : Public 7 / 39

Exemple de Header SOAP avec une entrée WS-Addressing pour une transaction d un service de type partage de documents médicaux : <env:envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"> - <env:header> <a:action env:mustunderstand="true">urn:ihe:iti:2007:provideandregisterdocumentset-b</a:action> <a:messageid>urn:uuid:6d296e90-e5dc-43d0-b455-7c1f3eb35d83</a:messageid> - <a:replyto env :mustunderstand="true"> <a:address>http://www.w3.org/2005/08/addressing/anonymous</a:address> </a:replyto> <a:to>http://localhost:2647/xdsservice/ihexdsrepository.svc</a:to> </env:header> -<env:body>. - </env:body> <env:envelope> Dans le cas des SIS français, le protocole SOAP1.2 est étendu avec la spécification WS-Addressing avec les caractéristiques suivantes : les éléments <Action>, <To>, <MessageID> et <ReplyTo> doivent être présents ; l élément <action> doit comporter l attribut mustunderstand à la valeur "true" ; dans le cas d un message initial, l élément <ReplyTo> doit comporter l attribut mustunderstand à la valeur "true". L élément Body est obligatoire et suit immédiatement l élément entête. Il est produit par l émetteur et doit être consommé obligatoirement par le destinataire final. Il contient un ensemble d éléments composés chacun par un espace de noms et des attributs portant les données spécifiques à l application. Le corps du message peut aussi contenir un élément Fault qui permet éventuellement de renvoyer vers l émetteur le type d erreur intervenu lors du traitement du message par le destinataire. Le schéma suivant représente un message SOAP pour le cadre d interopérabilité des SIS français. Les éléments optionnels sont représentés en pointillés. Classification : Public 8 / 39

Figure 2 : Structure d un message SOAP pour le cadre d interopérabilité des SIS français La spécification SOAP autorise l utilisation de plusieurs vocabulaires XML (namespaces ou espaces de nom). Elle définit un espace de nom pour coder les éléments et les attributs propres aux messages SOAP1.2 et autorise l utilisation d espaces de noms applicatifs spécifiques. Tous les espaces de noms doivent être déclarés dans l enveloppe SOAP. Classification : Public 9 / 39

Le tableau suivant liste les namespaces qui doivent être utilisés pour les SIS français: soap12 wsaw xsd xsi ihe rs lcm query http://schemas.xmlsoap.org/wsdl/soap12/ http://www.w3.org/2006/05/addressing/wsdl http://www.w3.org/2001/xmlschema http://www.w3.org/2001/xmlschema-instance urn:ihe:iti:xds-b:2007 urn:oasis:names:tc:ebxml-regrep:xds:rs:3.0 urn:oasis:names:tc:ebxml-regrep:xds:lcm:3.0 urn:oasis:names:tc:ebxml-regrep:xds:query:3.0 3.2.2 Style et encodage du message SOAP SOAP permet de définir le codage des données manipulées par les messages et les règles d encodage/décodage (sérialisation/désérialisation) de ces données par les applications émettrices/réceptrices. Ce codage et les règles d encodage/décodage associées sont appelés «styles de codage» (encoding style). Ce style de codage est porté par l attribut encodingstyle qui peut apparaître : Au niveau d un bloc d entête du message, Au niveau d un élément fils du corps du message. La portée du style d encodage est limitée à l élément ou à ses descendants auquel il est rattaché. Outre le codage des données constituant le message SOAP, il faut aussi considérer le codage des documents véhiculés par le message. SOAP propose deux styles d encodage : Codage littéral : aucun codage de données particulier n est appliqué au message. Le contenu du message véhiculé est un document XML. Il est manipulé tel que par les applications qui s échangent le message SOAP. On parle de style de codage «document». Codage explicite : le style de codage est indiqué explicitement par l élément encodingstyle et définit la correspondance entre la représentation des données gérées par l application et celle gérée par le message SOAP. On parle de style de codage RPC (Remote Procedure Call). Dans le cas où le contenu a été codé selon les règles d encodage SOAP, l attribut encodingstyle prend la valeur : «http://www/w3.org/2003/05/soap-encoding». L absence de valeur pour l élément encodingstyle indique qu il n y a pas de codage particulier. Classification : Public 10 / 39

Pour les SIS français, pour l échange de document, le codage littéral doit être utilisé. L élément encodingstyle n est pas présent dans le message SOAP. 3.2.3 Styles d échanges des messages SOAP SOAP définit deux types d échanges entre un émetteur SOAP et un récepteur SOAP : transmission unidirectionnelle du message, transmission de type requête/réponse. Dans le premier cas, le message SOAP est transmis de l émetteur vers le récepteur et l émetteur n attend pas de réponse de la part du récepteur. Dans le deuxième cas, le message de requête est suivi d une réponse. Ce style d échange requête/réponse s applique à la fois aux messages qui utilisent le style de codage explicite (style d échange RPC) et ceux qui utilisent le style de codage littéral (style d échange Document). Pour les SIS français, pour l échange de documents, le style d échange requête/réponse doit être utilisé. 3.2.4 Liaison avec le protocole de transport ou binding (HTTP 1.1 dans TLS 1.0) Les messages SOAP peuvent être échangés en s appuyant sur différents protocoles. La description de la façon de transférer un message d un nœud à un autre en utilisant un protocole particulier est appelée «liaison avec le protocole» ou «protocol binding». Pour les SIS français, le protocole HTTP1.1 encapsulé dans une connexion sécurisée TLS 1.0 doit être utilisé. Un message HTTP correspond soit à une requête d un client, soit à une réponse du serveur. Le message de requête HTTP 1.1 est constitué de : Une ligne de requête qui contient la méthode utilisée (POST) ainsi que l URL destinatrice, Des champs d entête optionnels du type «champ:valeur», Une ligne vide, Un corps de message MIME optionnel qui dépend du type de l encodage utilisé décrit dans les champs Content-Type et Content-Encoding. Classification : Public 11 / 39

Exemple d un message HTTP de requête pour une transaction d un service de type partage de documents médicaux: POST <! Volontairement non spécifié--> HTTP/1.1 Content-Type: multipart/related; boundary=mimeboundaryurn_uuid_806d8fd2d542edcc2c1199332890718; type="application/xop+xml"; start="0.urn:uuid:806d8fd2d542edcc2c1199332890719@example.org"; start-info="application/soap+xml"; action="urn:ihe:iti:2007:provideandregisterdocumentset-b" User-Agent: <! Volontairement non spécifié--> Host: localhost:9085 --MIMEBoundaryurn_uuid_806D8FD2D542EDCC2C1199332890718 Content-Type: application/xop+xml; charset=utf-8; type="application/soap+xml" Content-Transfer-Encoding: binary Content-ID: <0.urn:uuid:806D8FD2D542EDCC2C1199332890719@example.org> <?xml version='1.0' encoding='utf-8'?> <env:envelope xmlns:env=http://www.w3.org/2003/05/soap-envelope xmlns:wsa="http://www.w3.org/2005/08/addressing"> <env:header> </env:header> <env:body> </env:body> </env:envelope> --MIMEBoundaryurn_uuid_806D8FD2D542EDCC2C1199332890718 Content-Type: text/plain Content-Transfer-Encoding: binary Content-ID: <1.urn:uuid:806D8FD2D542EDCC2C1199332890776@example.org> <! Emplacement du document codé en binaire-->.. --MIMEBoundaryurn_uuid_806D8FD2D542EDCC2C1199332890718-- Le message de réponse HTTP 1.1 est constitué de : Une ligne de statut qui contient la version HTTP utilisée, un code de réponse numérique ainsi que la description textuelle du statut, Des champs d entête optionnels du type «champ:valeur», Une ligne vide, Un corps de message MIME optionnel qui dépend du type de l encodage utilisé décrit dans les champs Content-Type et Content-Encoding. Classification : Public 12 / 39

Exemple d un message HTTP de réponse pour une transaction d un service de type partage de documents médicaux: HTTP/1.1 200 OK Server: <! Volontairement non spécifié-->/1.1 Content-Type: application/soap+xml; action="urn:ihe:iti:2007:provideandregisterdocumentsetbresponse";charset=utf-8 Date: Thu, 03 Jan 2008 04:01:37 GMT <?xml version='1.0' encoding='utf-8'?> <env:envelope xmlns:env=http://www.w3.org/2003/05/soap-envelope xmlns:wsa="http://www.w3.org/2005/08/addressing"> <env:header>.. </env:header> <env:body> <rs:registryresponse xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" status="urn:oasis:names:tc:ebxml-regrep:responsestatustype:success"/> </env:body> </env:envelope> Pour les SIS français, pour le transport de documents, la méthode HTTP1.1 POST doit être utilisée. 3.2.5 Transport de documents avec MTOM et XOP La spécification MTOM (SOAP Message Transmission Optimization Mechanism) décrit un mécanisme abstrait d optimisation du codage et de la transmission des messages SOAP, permettant d encoder d une façon optimisée les portions du message SOAP codées en base64. Le protocole XOP (XML-binary Optimized Packaging) implémente concrètement MTOM pour encoder l enveloppe SOAP d une façon optimisée, utilisant le format XOP et un packaging de type MIME Multipart/Related. Les éléments de type base64 sont extraits de l infoset XML, ré-encodés en binaire et placés dans un package de type MIME Multipart/Related. L exemple ci-dessous décrit la structure de l enveloppe SOAP sans optimisation du codage et du transfert du document : Classification : Public 13 / 39

Exemple de l utilisation de MTOM pour une transaction d un service de type partage de documents médicaux: MIME-Version: 1.0 Content-Type: type=text/xml Content-Description: exemple XDS.b utilisant MTOM <?xml version='1.0'?> <env:envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:body> <! Description des métadonnées -->... <ExtrinsicObject id="mondocument" />... <Document id="mondocument">contenu du document encodé en base64</document>... </env:body> </env:envelope> L enveloppe SOAP contient un élément <Document> qui contient le document codé en base64. Ce mode de codage est adapté aux documents peu volumineux. L exemple suivant décrit la structure de l enveloppe SOAP sérialisée en utilisant un package XOP : Exemple de l utilisation de MTOM/XOP pour une transaction d un service de type partage de documents médicaux: MIME-Version: 1.0 Content-Type: Multipart/Related; boundary=mime_boundary; type="application/xop+xml"; start="<monmessage.xml@example.org>" start-info="application/soap+xml;action="urn:ihe:iti:2007:provideand RegisterDocumentSet-b" Content-Description: exemple MTOM/XOP --MIME_boundary Content-Type: application/xop+xml; charset=utf-8; type="application/soap+xml;action="urn:ihe:iti:2007:provideandregisterdocumentset-b" Content-Transfer-Encoding: 8bit Content-ID: monmessage.xml@example.org <?xml version='1.0'?> <env:envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> Classification : Public 14 / 39

xmlns :xmlmime="http://www.w3.org/2004/11/xmlmime"> <env:body> <! Description des métadonnées -->... <ExtrinsicObject id="mondocument" />... <Document xmlmime:content"type=text/xml" id="mondocument"> <xop:include xmlns:xop=http://www.w3.org/2004/08/xop/include href="cid:1.urn:uuid:bc47538ed684e0a2d41194546709563@example.org"/> </Document>... </env:body> </env:envelope> --MIME_boundary Content-Type: text/xml Content-Transfer-Encoding: binary Content-ID: cid:1.urn:uuid:bc47538ed684e0a2d41194546709563@example.org //ici, Encodage binaire des contenus de documents --MIME_boundary Les éléments <ExtrinsicObject> et <Document> placés dans les métadonnées ont tous les deux la même valeur d attribut id. L élément <Document> a un élément fils <Include> qui référence l identifiant de la partie MIME qui contient le document codé en binaire. Ce mode de codage est adapté aux documents volumineux. Pour les SIS français, le codage et le transfert des documents doit être optimisé en utilisant le protocole MTOM/XOP. La transaction métier (constitution du document et de ses attributs définis selon le service utilisé) est réalisée au niveau applicatif. Elle est transmise à la couche d infrastructure de message qui construit le message SOAP en accord avec les règles définies dans le fichier de description du web service (cf description d un service web (WSDL) ci-dessous). Classification : Public 15 / 39

3.2.6 Description d un service Web (WSDL) WSDL1.1 est une spécification qui permet de décrire, sous la forme d un fichier XML, les interfaces et les modalités d interaction avec un web service. WSDL permet de spécifier non seulement l interface abstraite, mais aussi les types de données utilisés, le format de message, les conventions de codage et les protocoles de transport utilisés. La spécification WSDL décrit un service comme un ensemble de points finaux de communication (ports) qui s échangent des messages (messages). Figure 3 : Structure d un fichier WSDL Un document WSDL peut être présenté schématiquement de la manière suivante : 1. Le premier bloc permet de définir les types de données qui seront utilisés dans les messages. En général, la spécification XML Schéma est utilisée pour définir ces types. 2. Le second bloc permet de définir de manière abstraite les messages qui seront échangés entre les nœuds de communication. Un message est un acte de communication unique entre le client et le prestataire (requête) ou le prestataire et le client (réponse). On associe à ces messages des parties logiques (balise part) qui correspondent aux informations véhiculées par le message. 3. Le troisième bloc permet de définir des types de port et des opérations associées. Un type de port est un ensemble d opérations abstraites. Pour chaque opération abstraite, on précise les messages impliqués dans l opération, souvent un message de requête et un message de réponse associés éventuellement à plusieurs messages d erreur. Classification : Public 16 / 39

4. Le quatrième bloc permet de définir les liaisons entre les opérations définies dans un type de port et les protocoles de transport et formats de messages qui prendront en charge les échanges. 5. Le dernier bloc permet de définir le service. Un service contient un ou plusieurs ports. Un port est un point de terminaison identifié de manière unique par la combinaison d'une adresse Internet et d'une liaison. Chaque port permet d associer à une liaison (ou un binding) la localisation du service. Un document WSDL peut donc être découpé en 3 parties : Une partie de définition des types de données utilisés (bloc 1) ; Une partie de définition abstraite des opérations qui contient les parties <message> </message> et <porttype> </porttype> (blocs 2 et 3) ; Une partie décrivant l implémentation concrète du service, constituée des parties <binding> </binding> et <service> </service> (blocs 4 et 5). Les deux premières parties définissent ce qu on appelle l interface abstraite. Celle-ci définit de manière abstraite et indépendante du langage, l'ensemble des opérations et des messages qui peuvent être transmis vers et depuis un service web donné. La troisième partie définit l implémentation concrète de messages. Ce découpage permet entre autres d avoir une même définition abstraite pour plusieurs implémentations concrètes. Chaque interface de service est associée à un type de port abstrait WSDL : Un porttype regroupe un ensemble d opérations abstraites Exemple pour une transaction d un service de type partage de documents médicaux : <porttype name="documentrepository_porttype"> <operation name="documentrepository_provideandregisterdocumentset-b">. </operation> <operation name="documentrepository_retrievedocumentset">. </operation> </porttype> Pour chaque opération, le message de requête et de réponse est défini en entrée et en sortie de l opération Exemple pour une transaction d un service de type partage de documents médicaux : <porttype name="documentrepository_porttype"> <operation name="documentrepository_provideandregisterdocumentset-b"> <input message="ihe:provideandregisterdocumentset-b_message" Classification : Public 17 / 39

wsaw:action="urn:ihe:iti:2007:provideandregisterdocumentset-b"/> <output message="ihe:provideandregisterdocumentset-bresponse_message" wsaw:action="urn:ihe:iti:2007:provideandregisterdocumentset-bresponse"/> </operation> </porttype> Pour chaque message utilisé dans une opération, un élément <message> est défini. Cet élément référence un message du protocole de requête ou de réponse, conformément au schéma XML de l interface de service utilisée par le système cible. Exemple pour une transaction d un service de type partage de documents médicaux : <message name="provideandregisterdocumentset-b_message"> <documentation>provide and Register Document Set</documentation> <part name="body" element="ihe:provideandregisterdocumentsetrequest"/> </message> <message name="provideandregisterdocumentset-bresponse_message"> <documentation>provide And Register Document Set Response</documentation> <part name="body" element="rs:registryresponse"/> </message> Chaque PortType fait l objet d une implémentation concrète sur un protocole de message et un protocole de transport. Le style d encodage littéral est précisé pour les paramètres d entrée et de sortie de chaque opération. Pour le transport de document, le style d encodage «document» indique que les requêtes/réponses au format SOAP sont traitées comme un document XML et non pas comme un appel RPC. Exemple pour une transaction d un service de type partage de documents médicaux avec transport de document : <binding name="documentrepository_binding_soap12" type="ihe:documentrepository_porttype"> <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="documentrepository_provideandregisterdocumentset-b"> <soap12:operation soapaction="urn:ihe:iti:2007:provideandregisterdocumentset-b"/> <input> <soap12:body use="literal"/> </input> <output> <soap12:body use="literal"/> </output> </operation> </binding> Classification : Public 18 / 39

Définition du service et de ses points d accès Exemple pour une transaction d un service de type partage de documents médicaux : <service name="documentrepository_service"> <port name="documentrepository_port_soap11" binding="ihe:documentrepository_binding_soap11"> <soap:address location="http://servicelocation/documentrepository_service"/> </port> <port name="documentrepository_port_soap12" binding="ihe:documentrepository_binding_soap12"> <soap12:address location="http://servicelocation/documentrepository_service"/> </port> </service> Dans le cas des SIS français, chaque système cible offrant des services doit publier les WSDL correspondant aux services offerts en suivant le standard WSDL 1.1. Pour des exemples détaillés adaptés aux services mis en œuvre, se reporter à l annexe WSDL des volets correspondants de la couche service. 4 Dispositions de sécurité 4.1 Confidentialité La confidentialité des échanges au niveau transport est gérée par l encapsulation du flux dans une connexion sécurisée TLS 1.0. 4.2 Intégrité L intégrité des échanges au niveau transport est gérée par l encapsulation du flux dans une connexion sécurisée TLS 1.0. 4.3 Identification et authentification Les échanges se font directement entre - le système initiateur, qui fournit les informations d identification et d authentification des utilisateurs nécessaires au contrôle d accès - le système cible, qui met en œuvre le contrôle d accès (ex. détermination des autorisations d accès en fonction de droits accordés à l utilisateur localement) en fonction des informations transmises par le système initiateur. Classification : Public 19 / 39

La transmission de l identification et de l authentification se fait par l utilisation d une assertion formalisée nommée VIHF 1 décrite ci-dessous 4.3.1 Le VIHF Le VIHF (Vecteur d Identification et d Habilitation Formelles) présente un modèle organisationnel et technique définissant les standards, formats et protocoles applicables pour la sécurisation des échanges de données avec les SIS. Ce document présente la première version du VIHF : le VIHF 1.0. Celui-ci a pour objectif de présenter une standardisation des moyens techniques pour accéder aux données, tout en prenant en compte la diversité des politiques de sécurité applicables et des environnements techniques des utilisateurs. Dans le modèle du VIHF 1.0, le système cible effectue les contrôles d accès en fonction de règles et de droits définis localement. Les versions suivantes du VIHF répondront à d autres besoins comme par exemple la centralisation des droits des utilisateurs des SISP. 4.3.1.1 Les configurations possibles pour les systèmes initiateurs utilisant le VIHF Deux configurations sont possibles pour le système initiateur : une configuration «authentification indirecte» : le système initiateur est hébergé au sein d'un établissement de santé, et c'est ce système initiateur qui s'authentifie auprès du système cible. L'utilisateur final s'authentifie localement au sein de la structure, qui porte la responsabilité des échanges avec le système cible. Une configuration «authentification directe» : la carte CPS est utilisée pour authentifier directement le professionnel de santé auprès du système cible, quel que soit l endroit effectif où se trouve le PS. Remarque : On parle de configuration et non de situation d'exercice, car ces configurations dépendent des technologies employées pour les mécanismes d'authentification, et non d'une situation d'exercice pour un professionnel de santé. Ainsi, par exemple un utilisateur exerçant au sein d un établissement de santé peut être en configuration «authentification directe» s il utilise sa CPS pour se connecter à un SIS ou être en configuration «authentification indirecte» s il s authentifie localement et que la connexion au système cible est réalisée à partir d un certificat serveur de l établissement. 1 Vecteur d Identification et d Habilitation Formelles Classification : Public 20 / 39

4.3.1.2 Fonctionnement général des échanges intégrant le VIHF Le principe de fonctionnement est le suivant : - Les connexions entre le système initiateur et le système cible sont sécurisées par des connexions TLS 1.0 pour assurer la confidentialité des échanges SOAP. - Chaque requête SOAP émise par le système initiateur est accompagnée d un VIHF sous la forme d une assertion SAML (en utilisant WS-Security selon le profil WS-I Security Profile 1.1), qui contient l identité de l utilisateur et les éléments nécessaires à la détermination des habilitations par le système cible pour chacune des requêtes applicatives. - Les mécanismes d authentification sont différenciés selon la configuration : o o en configuration «authentification indirecte», l authentification est effectuée par le système cible à partir de l utilisation de certificats serveurs liés à la structure dans laquelle il exerce, en configuration «authentification directe», l authentification est effectuée par le système cible à partir de certificats contenus dans la carte CPS du professionnel de santé. 4.3.1.3 Fonctionnement pour la configuration «authentification indirecte» Dans cette configuration, l'utilisateur final s'authentifie au sein du système d'information de l'établissement dans lequel il exerce. Les échanges réalisés avec le système cible sont réalisés par des applications hébergées au sein de l'établissement auquel l utilisateur a délégué la responsabilité des échanges. Cette responsabilité est matérialisée par l'utilisation de certificats serveurs assignés à l'établissement, pour assurer l'authentification et la sécurisation des échanges. La sécurisation des échanges avec le système cible se fait sur deux plans : 1) sur les connexions entre l'établissement et le système cible Les connexions sont établies entre l'établissement et le service cible en TLS avec authentification mutuelle par certificats serveurs. Ces connexions sécurisées permettent d'assurer à la fois la confidentialité et l'origine des échanges applicatifs. Ces connexions sont utilisées pour tous les échanges applicatifs entre l'établissement et le système cible. Elles peuvent être ré-utilisées pour les échanges applicatifs de plusieurs utilisateurs, voire de plusieurs applications. 2) Sur les échanges applicatifs Les échanges entre le système initiateur et le système cible s'effectuent sur SOAP avec le profil WS- Security. Classification : Public 21 / 39

Tous les échanges sont imputés à un utilisateur final, qui est identifié dans un jeton VIHF contenant son identifiant (local ou RPPS), sa profession, sa spécialité, le secteur d activité dans lequel il exerce ainsi que l'identifiant de l'établissement. Il est considéré que la profession, la spécialité et le secteur d activité renseignés dans le VIHF correspondent à sa situation au sein de l'établissement émetteur. Le contenu du jeton VIHF est signé par un certificat serveur de racine CPS attribué à l'établissement, qui ainsi devient garant de l'authenticité des informations qu'elle contient. La mise en œuvre du contrôle d accès est effectuée par la cible en fonction : des informations du jeton VIHF, du service appelé et de la politique d accès associée. Le schéma ci-dessous résume la cinématique présentée. Établissement Poste de travail Poste de travail Poste de travail 2.1 : interaction d un utilisateur authentifié 2.8 :réponse à l utilisateur fournit Certificat serveur appli Système initiateur du SIH 2.2 :création de la requête et signature avec certificat applicatif Autorité de certification du système intitateur fournit fournit fournit Certificat serveur connexion CRL certificats connexions 1 : établissement de la connexion SSL/TLS 1.1 : vérification validité du certificat serveur Module de gestion des connexions TLS 2 : échanges applicatifs 2.3 :transmission requête applicative Module de gestion des connexions TLS 1.2 : vérification validité du certificat serveur CRL certificats serveurs Certificat serveur connexion fournit fournit Autorité de certification des services du système cible Module Authentification et détermination des habilitations 2.4 : vérification de la signature et de la validité du certificat serveur CRL certificats applicatifs 2.6 : transmission requête applicative 2.5 : vérification des droits utilisateur 2.7 :envoi réponse applicative Base des droits et du recueil du consentement Module traitement applicatif Service applicatif du système cible Figure 4 : Cinématique d échange à partir d une configuration établissement 4.3.1.4 Fonctionnement pour la configuration «authentification directe» Les choix concernant le processus d authentification pour la configuration «authentification directe» ne sont pas encore fixés définitivement. Plusieurs solutions sont envisageables ; elles peuvent se combiner et mettre en œuvre : Classification : Public 22 / 39

- l utilisation du certificat de la carte CPS pour une authentification réciproque lors de l'établissement d'une connexion TLS/SSL, - l utilisation du certificat de la carte CPS pour la signature d éléments tels que le jeton SAML ou le service web SOAP. Les choix définitifs seront précisés après retours d expérience notamment de grand projet de SIS tels que le DMP. Dans tous les cas : - la confidentialité des échanges sera assurée par l encapsulation des échanges dans des connexions TLS, - les informations d identification seront transmises via un jeton VIHF. 4.3.1.5 Contenu du jeton VIHF Un jeton VIHF (assertion de sécurité sous la forme d'un jeton SAML 2.0) est émis à chaque requête du système initiateur vers le système cible pour transmettre des informations qui pourront servir à l'authentification de l utilisateur et à la détermination de ses droits d'accès. Le contenu du jeton VIHF est dépendant de la configuration utilisée : - en configuration «authentification indirecte», le certificat X509 du serveur ayant signé le jeton VIHF est transmis avec les informations d identification et d habilitation, - en configuration «authentification directe», cela dépendra des choix effectués pour l authentification des professionnels de santé. En plus des champs SAML standards, un profil applicatif VIHF spécifique est défini pour véhiculer les informations nécessaires à la mise en œuvre du contrôle d accès. Ces informations sont issues, selon le contexte : soit de la carte CPS si celle-ci est utilisée, soit du SI de l'établissement qui émet l'assertion, soit de l'utilisateur directement (le mode d accès en particulier). 4.3.1.5.1 Champs standards Les champs SAML standards suivant doivent être renseignés dans l objet Assertion par le système initiateur : /Assertion/Subject/NameID : La valeur doit contenir l identifiant envoyé par le système initiateur et utilisé pour l authentification. Cela correspond donc : - soit à l identifiant du PS tel que contenu dans le certificat X509 de sa carte CPS, - soit à l identifiant du certificat X509 serveur émis par le GIP CPS. /Assertion/AuthnStatement/AuthnContext/AuthnContextClassRef : le champ doit référencer la méthode d authentification retenue (selon les nomenclatures définies pour SAML 2.0). Classification : Public 23 / 39

/Assertion/Conditions/AudienceRestriction doit contenir un ou plusieurs champs Audience qui contient chacun une URI qui référence, pour la cible de l assertion, la PSSI applicable pour traiter cette assertion. Si le jeton est multi-cibles, il y a autant de champs Audience que de cibles. 4.3.1.5.2 Champs complémentaire Les champs complémentaires sont des champs <saml:attribute> situés dans la balise <saml:attributestatement> du jeton SAML. Les champs sont les suivants : Classification : Public 24 / 39

Champ Obligatoire/F acultatif Description VIHF_Version O Version du VIHF utilisée Profession O Profession ou future profession de l utilisateur Specialite_Qualification O Spécialité et qualification de l utilisateur. Ce champ n est utilisé que dans le cas des médecins et des pharmaciens, il doit être vide pour les autres PS. Secteur_Activite O Secteur d activité dans lequel exerce l utilisateur Ressource_URN O Ressource visée par l utilisateur. Mode_Acces F Indique le mode d accès demandé par l utilisateur (normal, bris de glace ou centre 15). Valeur par défaut = normal Identifiant_Utilisateur O Identifiant de l utilisateur effectuant la requête. Identite_Utilisateur F Identité de l utilisateur (ex. nom, prénom et/ou service au sein d un établissement) Identifiant_Structure F Identifiant de l établissement de santé ou du cabinet depuis lequel la requête est émise. LPS_Type F Nom et version du logiciel utilisé LPS_ID F Numéro de série ou identifiant de l installation du logiciel Medecin_Traitant F Indication de la qualité de médecin traitant pour le patient ciblé. Recueil_Consentement F Indication d un recueil de consentement auprès du patient préalablement à l échange entre système initiateur et système cible. Classification : Public 25 / 39

4.3.1.5.3 Formats et valeurs des champs complémentaires du jeton VIHF Note : Afin de s inscrire dans la trajectoire de migration vers le RPPS, certaines valeurs issues de la carte CPS feront l objet d un transcodage en nomenclature RPPS avant utilisation dans le processus d élaboration du jeton VIHF. Les champs du jeton VIHF concernés sont les champs «Spécialité et Nature de Qualification» et «Secteur_Activite». 4.3.1.5.3.1 VIHF_Version Format : Numérique Valeur : 1.0 Source : Configuration du système initiateur. 4.3.1.5.3.2 Profession Format : Code^OID Valeur : Code de la profession de l utilisateur suivi de l OID de la table utilisée pour le codage. Pour les utilisateurs PS : la table CPS utilisée est la table G15 (OID de la table 1.2.250.1.71.2.7). Pour les utilisateurs PF : la table CPS utilisée est la table G16 (OID de la table 1.2.250.1.71.2.8). Source : Pour la configuration «authentification directe» : Code : OID : o valeur de l objet gipprofessioncode du certificat pour les CPS ; o valeur de l objet gipfutureprofessioncode du certificat pour les CPF. o 1.2.250.1.71.2.7 (OID de la table G15) pour les CPS ; o 1.2.250.1.71.2.8 (OID de la table G16) pour les CPF. Pour la configuration «authentification indirecte» : fourni par l applicatif du système initiateur. Classification : Public 26 / 39

4.3.1.5.3.3 Specialite_Qualification Format : Code^OID Valeur : Code de la spécialité et qualification de l utilisateur suivi de l OID de la table utilisée pour le codage. Ce champs n est renseigné que pour les professionnels de santé médecins et les professionnels de santé pharmaciens. Pour les professionnels de santé non médecins et non pharmaciens, ce champ est vide. Pour les médecins : Spécialité Ordinale, la table RPPS utilisée est la table R01 Pour les pharmaciens : Tableau de Pharmaciens, la table CPS utilisée est la table G05 Source : Pour les médecins en configuration «authentification directe» : Code : transcodage du couple d'objets Spec_Qual et Nature_Qual (codés en ADELI) correspondant à la spécialité exercée par le médecin lors de sa connexion au système cible OID : o 1.2.250.1.71.4.2.5 (OID de la table R01 du RPPS) Pour les pharmaciens en configuration «authentification directe» : Code : valeur de l objet Tabl_Pharm dans le template E8 de la carte CPS correspondant au contexte (chaque template correspond à une situation d'exercice) OID : o 1.2.250.1.71.4.2.6 (OID de la table G05 2 ) Pour la configuration «authentification indirecte» : fourni par l applicatif du système initiateur. 4.3.1.5.3.4 Secteur_Activite Format : 2 L OID de la table G05 à confirmer. Classification : Public 27 / 39

Code^OID Valeur : Code du secteur d activité dans lequel exerce l utilisateur suivi de l OID de la table utilisée pour le codage. Pour tous les PS : la table RPPS utilisée est la table R02. Source : Pour la configuration «authentification directe» : Code : transcodage en valeur RPPS de la valeur du premier octet de l objet Struct_Carac dans le template E8 de la carte CPS correspondant au contexte (chaque template correspond à une situation d'exercice) OID : 1.2.250.1.71.4.2.5, OID de la table R01 «Spécialités» du RPPS Pour la configuration «authentification indirecte» : fourni par l applicatif du système initiateur. 4.3.1.5.3.5 Ressource_URN Format : URN 3 Valeur : Pour les services ne concernant pas un patient : urn:{cible} où {cible} identifie la ressource cible (le service utilisé). Pour les services concernant un patient : urn:{cible}:{identifiant patient} où {cible} identifie la ressource cible (le service utilisé) et {identifiant patient} l identifiant national de santé du patient. Par exemple pour un échange avec le service DMP pour le patient dont l INS est 123456789002, la valeur du champ Ressource_URN sera urn:dmp:123456789002 Source : 3 Tel que défini dans la RFC 2141 Classification : Public 28 / 39

Fourni par l applicatif du système initiateur en fonction du service utilisé et selon le cas du patient cible identifié par l utilisateur. 4.3.1.5.3.6 Mode_Acces Format : Chaine de caractères Valeur : Selon le mode d accès demandé par l utilisateur, ce champ peut prendre les valeurs suivantes : normal bris_de_glace centre_15 Si le champ est absent, le mode d accès est considéré par défaut comme étant «normal». Source : Fourni par l applicatif du système initiateur en fonction du mode d accès demandé par l utilisateur. Dans le cas d un utilisateur de type machine (ex. dispositif de télé-monitoring) le mode d accès est obligatoirement «normal». 4.3.1.5.3.7 Identifiant_Utilisateur Format : Chaîne alpha-numérique Valeur : Pour la configuration «authentification directe» : Lecture de l'identifiant national de PS dans la CPS. Pour la configuration «authentification indirecte» : Construction de l'identification nationale selon le tableau ci-dessous : o Si identifiant d'un PS ou PF : le N de registre RPPS, ADELI, DRASS ou Etudiant o Si identifiant d un employé d'une structure (non PS/PF) : Identifiant de la structure + identifiant interne de l utilisateur (humain ou machine telle que dispositif de télémonitoring) dans cette structure séparés par un /. Classification : Public 29 / 39

Construction des Identifiants des personnes dans le secteur de la Santé 0 + n ADELI 1 + Identifiant cabinet ADELI/identifiant interne 2 + n DRASS 3 + FINESS/identifiant interne 4 + SIREN/identifiant interne 5 + SIRET/identifiant interne 6 + Identifiant cabinet RPPS/identifiant interne 8 + n RPPS 9 + n d étudiant Note 1 : Dans le tableau, les noms en majuscule désignent la source d information (annuaires, bases ) de laquelle est tiré l identifiant Note 2 : Dans le tableau, le signe + indique une concaténation du type d'identifiant et de l identifiant sans séparation Note 3 : Dans le tableau, le signe / indique une concaténation des identifiants séparés par le signe / Note 4 : Quel que soit l identifiant interne utilisé, celui-ci doit être unique au sein de l'organisation et permettre une relation univoque entre le PS et son identifiant ou une machine et son identifiant. Note 5 : Ce composant doit être traité comme un ensemble. Il ne doit pas être interprété par les applications (pour obtenir le n SIRET par exemple) ni être éclaté en plusieurs champs. Note 6 : Dans le cas d une machine, bien que l éditeur du système ait la responsabilité d instancier l identification de ses systèmes sur chacun des sites, pour des raisons opérationnelles, un identifiant interne attribué par l institution sera requis. Source : Pour la configuration «authentification directe» : valeur provenant du champ CN du certificat d authentification de la CPS. Pour la configuration «authentification indirecte» : Identifiant de l organisation : transcodage de la valeur provenant du champ OU du certificat de l organisation. La valeur provenant du champ OU du certificat de l organisation utilise un préfixe de caractérisation différent de la construction des identifiants des personnes dans le secteur de la Santé. Il convient donc de changer le préfixe selon le tableau suivant avant d utiliser cette valeur : Classification : Public 30 / 39

Type d identifiant de structure Champ OU Identifiant des personnes Exemple pour l identifiant interne 1234 Identifiant de cabinet ADELI 0 + Identifiant cabinet ADELI 1 + Identifiant cabinet ADELI / identifiant interne Champ OU : 0997104233400 Champ Identifiant_Utilisateur : 1997104233400/1234 FINESS 1 + FINESS 3 + FINESS / Identifiant interne Champ OU : 1750100125 Champ Identifiant_Utilisateur : 3750100125/1234 SIREN 2 + SIREN 4 + SIREN / Identifiant interne Champ OU : 2123456789 Champ Identifiant_Utilisateur : 4123456789/1234 SIRET 3 + SIRET 5 + SIRET / Identifiant interne Champ OU : 312345678912345 Champ Identifiant_Utilisateur : 512345678912345/1234 Identifiant de cabinet RPPS 4 + Identifiant cabinet RPPS 6 + Identifiant cabinet RPPS / Identifiant interne Champ OU : 41122345678900 Champ Identifiant_Utilisateur : 61122345678900/1234 Identifiant interne de l utilisateur : fourni par l applicatif du système initiateur. 4.3.1.5.3.8 Identite_Utilisateur Format : Chaine de caractères Valeur : Pour un utilisateur humain : Identification explicite de l utilisateur (ex. nom, prénom, service au sein d un établissement ). Pour une machine (ex. dispositif de télé-monitoring) : Identification explicite de la machine (ex. nom du logiciel, nom du modèle, service au sein d un établissement ). Source : Fourni par l applicatif du système initiateur. 4.3.1.5.3.9 Identifiant_Structure Format : Chaîne alpha-numérique Valeur (cf. tableau ci-dessous) : Identifiant de la structure si disponible Classification : Public 31 / 39

Identifiant de la structure 0 + Identifiant cabinet ADELI 1 + FINESS 2 + SIREN 3 + SIRET 4 + Identifiant cabinet RPPS Note 1 : Dans le tableau, le signe + indique une concaténation du chiffre et de l identifiant sans séparation Note 2 : Ce composant doit être traité comme un ensemble. Il ne doit pas être interprété par les applications (pour obtenir le n SIRET par exemple) ni être éclaté en plusieurs champs. Source : Pour la configuration «authentification directe» : valeur «Identification de la structure» (octets 3 et suite du tag 81 - sans l'éventuel caractère de padding) provenant du template E8 de la carte CPS correspondant au contexte (chaque template correspond à une situation d'exercice) Pour la configuration «authentification indirecte» : valeur provenant du champ OU du certificat de l organisation. 4.3.1.5.3.10 LPS_Type Format : Chaine de caractères Valeur : Nom et version du logiciel utilisé Source : Fourni par l applicatif du système initiateur. 4.3.1.5.3.11 LPS_ID Format : Chaine de caractères Valeur : Numéro de série ou identifiant de l installation du logiciel Source : Classification : Public 32 / 39

Fourni par l applicatif du système initiateur. 4.3.1.5.3.12 Medecin_Traitant Format : Booléen Valeur : N est utilisé que dans le cas de service concernant des patients : 0 si l utilisateur n est pas le médecin traitant du patient cible 1 si l utilisateur est le médecin traitant du patient cible La valeur par défaut est 0 Source : Fourni par l applicatif du système initiateur. 4.3.1.5.3.13 Recueil_Consentement Format : Booléen Valeur : N est utilisé que dans le cas de service concernant des patients : 0 si l utilisateur n a pas recueilli le consentement 4 du patient préalablement à l échange entre système initiateur et système cible 1 si l utilisateur a recueilli le consentement 5 du patient préalablement à l échange entre système initiateur et système cible La valeur par défaut est 0 Source : Fourni par l applicatif du système initiateur. 4 Quel que soit le mode de recueil (oral ou écrit). 5 Quel que soit le mode de recueil (oral ou écrit). Classification : Public 33 / 39

4.3.1.5.4 Cas particuliers 4.3.1.5.4.1 Traitement des cartes Pharmaciens en remplacement exclusif En raison de contraintes liées à l'application SESAM-Vitale actuelle, les Pharmaciens en remplacement exclusif ainsi que les Pharmaciens étudiants, licenciés par leur Ordre à faire des remplacements en secteur libéral (PFL) ne disposent pas de cartes CPS et CPF. Ils disposent de cartes CPE avec des identifiants spécifiques qui permettent de déduire leur véritable qualification. Cela permet de renseigner les composants comme suit : Champ Obligatoire /Facultatif identifiant commençant par 3000000001/E (officine) identifiant commençant par 3000000018/E (biologiste) VIHF_version O Version du VIHF utilisée Profession O 21^1.2.250.1.71.2.7 Specialite_Qualification O A^1.2.250.1.71.4.2.5 G^1.2.250.1.71.4.2.5 Secteur_activite O SA33^OID SA29^OID Ressource_URN O Ressource visée par l utilisateur Mode_acces F Indique le mode d accès demandé par l utilisateur (normal, bris de glace ou centre 15). Valeur par défaut = normal Identifiant_utilisateur O Identifiant de l utilisateur effectuant la requête Identite_utilisateur F Identité de l utilisateur (ex. nom, prénom et/ou service au sein d un établissement) Identifiant_ES F Identifiant de l officine Identifiant du laboratoire LPS_type F Nom et version du logiciel utilisé LPS_ID F Numéro de série ou identifiant de l installation du logiciel Medecin_Traitant F (absent - non applicable) Recueil_Consentement F Indication d un recueil de consentement auprès du patient préalablement à l échange entre système initiateur et système cible. Classification : Public 34 / 39