Brevet FR2837301A1 — publié le 20030919

eventuellement d' impression ou de transfert de fichier. L'invention se rattache au secteur des echanges electroniques de ..... donnees medcales securses. Malgre une presence de l'informatique de plus en plus importante dans le monde de la sante, la mise en place de dossiers medicaux informatiques n'a toujours pas ete realisee, ce qui n'a pas permis de creer de veritables echanges entre les prescripteurs (generalement les medecins), les etablissements hospitaliers et les prescrits, tels que les pharmaciens, les biologistes, les infirmiers, les kinesitherapeutes, Si les systemes de gestion de bases de donnees medicales ne vent actuellement pas developpes, c' est principalement a cause de contraintes legislatives. En effet, pour collecter des informations medicales provenant de sources distinctes et les regrouper dans des dossiers medicaux individuals, il est necessaire d'identifer, sans risque d'erreur, le patient auquel chaque donnee se rattache. Il faut pour cela que chaque professionnel de sante dispose, pour chaque patient, d'un identifiant commun permanent et unique, permettant de reconna^tre le patient au fur et a mesure des differentes etapes medicales auxquelles il est confronte. Seul le numero INSEE peut jouer ce role. Or, son utilisation comme identifiant dans un traitement informatique est interdite par la loi, sauf, par derogation pour les traitements lies aux feuilles de veins electroniques et aux consolidations de fichiers effectuees par le fisc. Il est done interdit d'utiliser ce numero comme identifiant du proprietaire des donnees dans un Systeme de Gestion de Base de Donnees (SGBD) ou dans un dossier medical informatise. Il n'est pas non plus possible de creer des traitements 2 2837301 consolidant, patient par patient, des donnees medicales ni de lier des prescriptions medicales a leur cout economique, pour mettre en place une analyse effective des depenses de sante. A partir de cet etat de la technique, le probleme que se propose de resoudre ['invention est la creation d'un identifiant patient permanent: (IPPV), qui puisse etre regalement utilise dans un traitement informatique. L' existence d'un tel (IPPV) permet notamment de constituer des dossiers medicaux individuals, incluant toutes les donnees economiques necessaires 0 a un suivi des couts et, plus generalement, de permettre le tracage de toutes les donnees medicales. L'utilisation de cet (IPPV) dans les traitements informatiques permet de constituer des (SGBD) medicaux parfaitement anonymes, puisqutils n'ont pas besoin de contenir dtinformation susceptible de permettre ['identification des proprietaires. Cet anonymat des donnees permet leur libre et securisee exploitation statistique; il permet de fournir aux laboratoires pharmaceutiques, ou aux compagnies d'assurances maladie, des donnees medico-economiques totalement inexistantes a ce jour. L'(IPPV) permet egalement de mettre en place un suivi individual des prescriptions securisees electroniques pour ['ensemble des professionnels de sante conduits a intervenir dans le traitement d'un patient. Le principe, a la base de ['invention, est de calculer, a partir des cartes VITALE, une cle electronique individuelle qui permet de tracer anonymement et individuellement les donnees medicales de chaque patient. 3 2837301 Avantageusement, le procede, selon ['invention, peut etre mis en aeuvre via INTERNET. I1 est 100 % compatible avec le systeme VITALE et ne necessite pas un fournisseur specifique d'acces internet. I1 peut fonctionner sur toutes les plates-formes materielles et tous les systemes d' exploitation sur lesquels le systeme VITALE est disponible. Selon le procede a la base de ['invention, on calcule, a partir d'une carte VITALE, l'identifiant (IPPV) pour le patient choisi parmi ceux qui figurent sur la carte, au moyen d'un algorithme irreversible et injectif applique a certaines donnees lues sur la carte. Cet (IPPV) est envoye a un serveur comme parametre d'une demande d'ouverture de connexion. Le serveur cherche si un dossier correspondent a cet (IPPV) existe. Si oui, le serveur ouvre une connexion et envoie au client un identifiant caracterisant cette connexion. Le client utilise ensuite cet > pour consulter et modifier le dossier correspondent a 1'(IPPV) initial. Sinon, la demande de connexion est rejetee. L'etablissement d'une connexion peut se faire en ou hors presence d'une carte professionnelle de sante (CPS). S'il n'y a pas de (CPS), il est impossible de modifier le contenu medical du dossier. L'acces est etabli en lecture senle. I1 n'est pas possible de supprimer une donnee du dossier. Une donnee peut uniquement etre remplacee par une > plus recense, mais l'ancienne n'est jamais effacee. 1 1 4 2837301 La presence d'une (CPS) est indispensable pour aj outer des donnees medicales dans un dossier. Chaque donnee medicale d'un dossier est stockee avec l'identifiant de la (CPS), la date et ltheure a laquelle ['operation a ete enregistree et une signature electronique qui garantit 1'integrite et l'authentification du trio >. Les donnees d'un dossier vent totalement anonymes et ne contiennent aucun element relatif a l'identite du patient ou a sa couverture sociale. I1 est possible d'utiliser plusieurs cartes (Vitale ou autre) pour 1 o acceder a un meme dossier. L'invention est exposee ci-apres plus en detail a ['aide des figures des dessins annexes dans lesquels: - la figure 1 est une vue, a caractere purement schematique, montrant un exemple de mise en ocuvre du procede selon ['invention; - la figure 2 est un procede de calcul des differents identifiants et des algorithmes correspondents. Pour une meilleure comprehension de la suite de la description, on designe par: À (cnv): table de correspondence entre identifiants de dossiers et identifiants patients; À (cnx): table des connexions; À (CPS) : Carte a puce d'identification d'un professionnel de sante; À (dse): table servant a stocker le noyau de chaque dossier; l 2837301 À (etats), (aller), (vacci), (medica), (ekg) et (hpr): tables secondaires servant a stocker le contenu medical du dossier. Chaque enregistrement de ces tables comporte une signature electronique qui garantit integrite et authentification; À (Vitale): Carte a puce qui equipe la quasi-totalite des assures sociaux francais; À (data!): identifiant patient calcule a partir de (IPPV); À (idcnx): identifiant d'une connexion, figurant dans chaque enregistrement de la table (cnx); lo À (iddossier), (data), (id3) et (md3): identifiants d'un dossier; À (idps): le numero d'identification du professionnel de sante lu sur la (CPS) presente lors de l'ouverture d'une connexion; À (IPPV): Identifiant Patient Permanent Virtuel calcule a partir des donnees de la carte Vitale; À (md3): l'identifiant de la table (dse); À (mda): l'identifiant de la table (aller); À (mde): l'identifiant de la table (etats); À (mdh): l'identifiant de la table (hpr); À (mdk): l'identifiant de la table (ekg); À (mdm): l'identifiant de la table (medica); À (mdv): l'identifiant de la table (vacci); À (nba) : alea utilise pour le controle de la continuite des echanges d'une connexion; À (PS): professionnel de sante. Selon ['invention, on calcule, a partir de la carte VITALE, un identifiant pour chaque ayant-droit figurant sur cette carte, au moyen d'un J c 6 2837301 algorithme de signature electronique du type (MD5) parfaitement connu pour un homme du metier. On envole ensuite l'identifiant calcule a un servour apte a creer des dossiers medicaux individuals et a associer a chaque identifiant un dossier medical, d'une maniere securisee. Ce principe est illustre schematiquement a la figure 1. On designe par (1) la carte VITALE du patient, par (2) le lecteur d'un professionnel de la sante dans lequel vent inserees sa carte professionnelle et la carte VITALE, par (3) la liaison INTERNET, par (4) un servour d'authentification, par (5) un serveur d'autorisation d'acces au service, par (6) le systeme de gestion de base de donnees (SGDB). On decrit ci-apres les structures d'acces et de stockage des (dse). Un dossier se compose d'un enregistrement dans la table (dse) et de six series d'enregistrement dans les tables (etats), (aller), (vacci), (medica), (ekg) et (hpr). L'enregistrement dans la table (dse) est identifie par un numero unique, (iddossier), numero auto-incremente unique calcule par le SGBD lors de la creation de l'enregistrement. Cette caracteristique permet d' en garantir l'unicite. (iddossier) est utilise comme base afin de calculer au moyen d'une serie d'algorithmes irreversibles et injectifs, une serie d'identifiants uniques et irreversibles utilises dans les tables (cnv), (cnx), (etats), (aller), (vacci), (medica), (ekg) et (hpr). Il est ainsi possible d' identifier tous les elements d'un dossier a partir de la table (dse) qui contient l'identifiant md3. Cette identification et/ou cet acces s'effectue de la maniere suivante: - (md3) identifiant du dossier lui-meme est stocke dans la table (dse); 7 2837301 (mda), (mde), (mdm), (mdv), (mdk) et (mdh), identifiants utilises pour identifier les enregistrements qui constituent le dossier dans les tables (etats), (aller), (vacci), (medica), (ekg) et (hpr). Pour une plus grande securite, nenf identifiants vent utilises pour chaque dossier: (md3), (id3), (data), (mda), (mde), (mdm), (mdv), (mdk) et (mdh), tous calcules a partir de l'identifiant de base (iddossier) hierarchiquement et selon un ordre determine. Les algorithmes utilises vent mathematiquement irreversibles et injectifs. Puisque chaque table du dossier 0 possede son propre identifiant, il n'est pas possible, si un seul identifiant est connu, de reconstituer le dossier. Une requete effectuee avec un identifiant donne ne peut avoir de reponse que sur la table a laquelle il est associe. Les differentes tables vent disjointes et n'utilisent que des identifiants differents. On renvoie a la figure 2 qui montre le principe de calcul des differents identifiants. Sur ce synoptique, (IPPV) correspond a l'identifiant patient et (iddossier) correspond a l'identifiant (dse). A partir de (IPPV), un algorithme (AO) permet de calculer (data!), tandis que 2 algorithmes (BO) et (CO) permettent, a partir de (data!), de calculer (mp3). A partir de (iddossier), un algorithme (A) permet de calculer (data). A partir de (data), un autre algorithme (B) permet de calculer (id3), puis a partir d'un algorithme (C), de calculer (md3). A partir de (md3), et d'algorithmes (D), (E), (F), (G), (H) et (I), on calcule (mda), (mde), (mdm), (mdv), (mdk) et (mdh). Pour la creation d'un dossier dans le serveur, selon ['invention, on procede comme suit: 8 2837301 - on utilise un (SGBD) pour le stockage des donnees; - on repartit les dossiers dans un nombre illimite de servours differents; - on calcule pour chaque dossier, a partir de (iddossier) deux identifiants primaires uniques lies appeles (md3) et (data), (md3) est stocke dans un enregistrement de la table (dse), enregistrement qui constitue le noyau du dossier, (data) est stocke dans la table (cnv) utilisee pour acceder au dossier; - cinq enregistrements vent crees dans les tables (etats), (aller), (vacci), lo (medica) et (ekg): chacun de ces enregistrements sert a stocker les donnees >, >, >, > et > du dossier. Ces tables vent liees au dossier par les identifiants (mda), (mde), (mdm), (mdv) et (mdk) calcules a partir de (md3); - la table (hpr) sert a stocker les evenements rattaches au dossier: les enregistrements de cette table vent lies au dossier par l'identifiant (mdh) calcule a partir de (md3). Le champ (idhpr) auto- incremente de la table (hpr) permet de numeroter et done de distinguer les differents enregistrements de (hpr) qui contiennent chacun un evenement d'un meme dossier: tous les enregistrements (hpr) d'un meme dossier ont done le meme identifiant (mdh). Pour resoudre le probleme pose de calculer (IPPV), d'une maniere unique et irreversible, on utilise le contenu d'une carte a puce, notamment de la carte VITALE qui contient des series d'informations uniques, enregistrees par l'organisme emetteur de ladite carte. Ces donnees 9 2837301 garantissent l'unicite de la personne physique a laquelle correspond chaque serie d'informations. On choisit la serie d'informations correspondent au patient (personne physique) voulu. Ces donnees comportent notamment le n INSEE de ['assure titulaire de la carte, la date de naissance et le rang de naissance (ou rang gemellaire) de la personne choisie. On calcule, a partir de cette serie d'informations, la valeur (IPPV) au moyen d'un algorithme irreversible et injectif. La valeur (IPPV) est transmise au serveur lors de la demande de consultation du dossier. Le serveur applique a la valeur (IPPV) l'algorithme (A0) pour calculer la valeur (datal) necessaire au processus d'identifcation du dossier associe a cet (IPPV). Pour resoudre le probleme pose d'associer un dossier avec un (IPPV), lors de la creation du dossier, et apres calcul de (md3) et (data), le servour cree un enregistrement dans la table (cnv). Cet enregistrement permet de faire le lien entre l'(IPPV) et le dossier qui vient d'etre cree de la facon suivante: - le champ (datal) contient la valeur de l'identifiant (datal) calcule a partir de (IPPV). - le champ (data) contient la valeur de l'identifant (data). On peut stocker des dossiers dans differents serveurs (chaque dossier dans chaque serveur possede un identifant (data) distinct) pour obtenir plusieurs dossiers associes a un meme identifiant (data!), ce qui permet de constituer plusieurs dossiers pour le meme patient. Ce cas correspond a 2837301 plusieurs enregistrements dans (cnv) contenant la meme valeur (datal) mais des valeurs (data) differentes. On peut egalement associer plusieurs (IPPV) a un meme dossier. Ce cas correspond a plusieurs enregistrements dans (cnv) contenant la meme valeur (data) mais des valeurs (datal) differentes. Pour resoudre le probleme pose de la creation detaillee d'une connexion pour la consultation et/ou la modification d'un dossier a partir d'une carte Vitale, deux tables vent utilisees: l0 - la table (cnv) qui contient les correspondences entre les identifiants patients et les identifiants des dossiers - la table (cnx) qui contient les parametres de la connexion utilisee pour consulter ou mettre a jour le dossier. l 5 On procede comme suit: - on lit les series d'informations presentes dans la carte Vitale; on choisit la personne physique (done une serie d'informations) dont on vout consulter le dossier; - on applique l' algorithme idoine a la serie d' informations choisie, afin de calculer (IPPV); - on envoie au serveur une requete d'ouverture de connexion contenant la valeur (IPPV); - le servour applique l'algorithme (A0) a la valeur (IPPV) re,cue pour calculer l'identifiant (datal) et cherche dans la table (cnv) un enregistrement contenant la valeur (data!); 1 1 2837301 Si la recherche est negative, la demande de connexion est rejetee, puisqu'il n'existe pas de dossier pour cette valeur d'(IPPV). Si la recherche est positive, le servour lit la valeur (data) contenue dans l'enregistrement de (cnv) et lui applique l'algorithme (B) pour obtenir la valeur (id3); un enregistrement correspondent a la connexion (qui est done acceptee) est cree dans la table (cnx). Cet enregistrement comporte les champs suivants: - (idcnx): auto-incremente par le (SGBD). Il sert d'identifiant pour cette connexion; - (idps): numero ADELI (facultatif) de la (CPS) presente lors de la demande d'ouverture, transmise avec la requete d'ouverture de connexlon; - (nba): valeur numerique aleatoire calculee au moment de la creation de l'enregistrement dans (cnx) incrementee a chaque requete re,cue pour cette connexion; - (hcreation): date et heure de la creation de l'enregistrement. - (hacces): date et heure de la derriere requete re,cue pour cette connexlon. - (version): ce champ contient une valeur par defaut qui contient le numero de version du logiciel serveur et du logiciel servour telechargeable sur le site WEB. Ces donnees permettent au logiciel client de verifer que sa version est compatible avec le serveur et de declencher eventuellement une mise a jour. Si la version du client est differente de celle du serveur, celui-ci refuse de se connecter. - (id3): identiSant qui sera utilise pour acceder au dossier. Il est calcule a partir de la valeur du champ (data) lue dans (cnv); 12 2837301 - (email): contient la valeur du champ (email) de la table (dse) (adresse electronique du patient); - (alerte): zone calculee a partie du champ alerte de la table (dse) et du n ADELI du (PS) qui ouvre la connexion. Cette valeur permet, lors des requetes suivantes traitees par le serveur, de determiner rapidement s'il faut envoyer un mail d'alerte au patient ou non; - (nomps): zone qui contient l'adresse complete du (PS), utilisee dans les mails d'alerte envoyes au patient. Cette zone est calculee depuis la table (annuaire), uniquement lorsqu'il faut envoyer des messages au patient Le servour identifie le dossier et ouvre la connexion. Il renvoie (idcnx) et (nba). Pour consulter un dossier en utilisant une connexion prealablement ouverte, le client adresse une requete de consultation ou modification comportant la valeur (idcnx). Cette requete ne comporte pas (IPPV) qui n'est jamais utilise pour la consultation ni la modification du dossier; le servour cherche dans la table (cnx) un enregistrement contenant la valeur (idcnx) re,cue dans la requete. Il lit la valeur (id3) contenue dans cet enregistrement; - il applique l'algorithme (C) a la valeur (id3) pour calculer (md3); - cette valeur( md3) permet d' identifier le dossier dans la table (dse). Si lton veut acceder a un dossier a partir d'une autre carte que celle avec laquelle il a ete cree, deux cas se presentent: a)- Les donnees utilisees pour calculer l'(IPPV) vent identiques. L'(IPPV) calcule sera le meme, l'acces se fera done automatiquement. Ce cas correspond par exemple a celui d'un assure qui perd sa carte et la fait 13 2837301 renouveler. Les trots donnees de base ne changent pas d'une carte a l'autre: l'(IPPV) calcule est le meme. b)- Dans le cas du dossier d'un enfant, les donnees utilisees pour le calcul de l'(IPPV) vent differentes selon que l'on utilise la carte de la mere ou du pere: le n INSEE n'est pas le meme. Le principe consiste done a creer dans la table (cnv) deux enregistrements correspondent aux deux (IPPV) (calcules avec chaque carte) et de les faire pointer sur le meme dossier (c'est-a-dire deux enregistrements possedant la meme valeur (datal)). Concretement, afin de ne pas faire transiter d'identifiant de dossier lO sur le reseau, la procedure consiste: - A ouvrir une connexion sur le dossier a ['aide de la premiere carte (celle qui a permis de creer le dossier et possede un enregistrement dans (cnv). - A introduire la deuxieme carte, la fire, indiquer quel ayant droit de la deuxieme carte doit pointer sur le dossier correspondent a la connexion 1 5 active. - Le serveur recoit la requete de creation de lien sur le dossier de la connexion en cours comportant le nouvel (IPPV). Il cree dans (cnv) un enregistrement avec le nouvel (IPPV) et l'actuel identifant du dossier: (data!). Cette technique permet d'associer n'importe queue carte a puce a un dossier: il suffit de savoir calculer un identifiant unique lie a la carte et de faire creer par le serveur un lien entre ce nouvel identifiant et le dossier voulu. 14 2837301 On decrit ci-apres le principe d'utilisation du dossier medical pour le " traitement " d'une prescription pharmacoutique entre un patient, un medecin et un pharmacien: - Le patient se rend chez son medecin. Au cours de la consultation, le medecin redige une ordonnance dans son ordinateur; - Le patient lui confie sa carte Vitale. Le medecin l'introduit dans son lecteur Sesam Vitale dans lequel se trouve deja sa (CPS). Il choisit le patient sur la liste des ayants-droit fgurant sur la carte. - Le logiciel du medecin se connecte a la plate-forma et transmet l0 l'ordonnance. La (CPS) sert a identifer le medecin et la carte Vitale du patient selectionne le (DES) dans lequel stocker la prescription. - Si le medecin le demande, le serveur propose une version de l'ordonnance " optimisee " en (DCI) ou produits generiques. Le medecin peut choisir de modifer sa prescription en fonction des propositions faites par le serveur. - En cas d'anomalie detectee par le serveur: contra-indications ou interactions medicamenteuses avec les precedentes prescriptions connues du serveur, prescription multiple pour ce meme patient, un message d'alerte est adresse au medecin afn d'attirer son attention sur l'anomalie. C'est le medecin qui decide de la conduite a tenir face a cette alerte. - Lorsque l'ordonnance est definitivement validee par le medecin, elle est transmise au serveur pour enregistrement definitif avec la signature du medecin calculee a partir de sa (CPS). Le cout de la consultation est egalement enregistre (a partir des donnees de la (FSE)). - Le patient se rend ensuite dans la pharmacie de son choix et presente sa carte Vitale. Le pharmacien l'introduit dans son lecteur Sesam Vitale 2837301 dans lequel se trouve deja sa (CPS). Il accede a l'ordonnance enregistree dans le serveur par le medecin et la telecharge en toute securite. La signature electronique qui accompagne la prescription permet de garantir au pharmacien l'exactitude des donnees rues. - Le pharmacien delivre l'ordonnance sans risque d'erreur puis enregistre la delivrance exacte accompagnee d'une signature electronique etablie a partir de sa (CPS). La (FSE) etablie par le pharmacien permet d'enregistrer egalement les donnees economiques induites par cette delivrance. 0 - Les renouvellements eventuels vent traites et controles egalement par le serveur. Les avantages ressortent bien de la description notamment on souligne la securite du procede de traitement: - Chacune des tables utilisees dans le (SGBD) possede un identifiant specifique, ce qui garantit une totale etancheite entre les tables et l'impossibilite, dans l'hypothese ou l'anonymat d'un identifiant serait leve, d'acceder aux elements du dossier autres que les informations contenues dans la table qui correspond a l'identifiant concerne. - Chaque reponse emise par le serveur comporte un alea qui est encrypte par le client et envoye a l'interieur de la requete suivante emise par le client dans le cadre de la connexion ouverte. Si cet alea n'est pas correctement encrypte et renvoye au serveur, celui-ci met fin, irrevocablement, a la connexion/consultation. - Pour pouvoir consulter un dossier, un professionnel de sante doit presenter une (CPS). Cette (CPS) est utilisee pour assurer un tracage 16 2837301 integral des operations effectuees dans chaque dossier consulte ou modifie. - Le serveur integre un dispositif d'alertes par messagerie electronique qui permet au proprietaire d'un dossier d'etre systematiquement prevenu si quelqu'un consulte ou modifie son dossier. Le serveur transmet l'identite complete du professionnel de sante provenant de la (CPS) obligatoirement presente lors de la consultation. - Les informations consultables par un professionnel de sante dependent de la (CPS) presentee. Le serveur filtre les informations affichees selon o l'identite exacte et la categoric de professionnel de sante figurant sur la (CPS). - Lors d'une consultation en mode patient seul (c'est-a-dire en ['absence de (CPS)), le patient doit: À saisir un code PIN a 4 chiffres si une carte a puce l'identifiant est presente; À saisir un identifiant, un mot de passe et un code PIN pour un acces sans carte a puce. 17 2837301 REVENDICATIONS -1- Procede de creation dans un servour de dossiers pour le stockage de donnees medicales individuelles, dossiers possedant un identifiant unique (data), caracterise en ce que: - on utilise un servour de gestion de base de donnees (SGBD) pour le stockage des donnees; - on repartit les dossiers dans un nombre illimite de serveurs differents; 0 - on calcule pour chaque dossier deux identifiants primaires uniques lies appeles (md3) et (data), (md3) est stocke dans un enregistrement de la table (dse), enregistrement qui constitue le noyau de chaque dossier, (data) est stocke dans une table utilisee pour acceder au dossier; - on stocke dans des tables " secondaires " du (SGBD) les donnees constituent le dossier: (etats), (aller), (vacci), (medica), (ekg) et (hpr); chacune de ces tables possede un identifiant specifique calcule a partir de (md3) au moyen d'algorithmes irreversibles et injectifs, ce qui permet la lecture d'un dossier a partir de l'enregistrement de la table (dse) qui contient (md3), mais interdit de reconstituer le contenu d'un dossier a partir d'une donnee contenue dans une table secondaire, le calcul des identifiants secondaires etant irreversible, ce qui fait que la connaissance d'un identifiant secondaire ne permet pas de calculer l'identifiant (md3) indispensable pour acceder a la totalite du dossier. -2- Procede selon la revendication 1, caracterise en ce que, pour ['identification des differents elements d'un dossier,: i 2337301 - le serveur cree un enregistrement dans la table (dse) comportant un identifiant unique (iddossier) genere par le serveur de (SGBD); - le servour applique un algorithme (A) a (iddosier) pour calculer la valeur (data), puis l'algorithme (B) a (data) pour calculer (id3), puis l'algorithme (C) a (id3) pour calculer (md3); - cette valeur (md3) est stockee dans l'enregistrement de la table (dse); un enregistrement pour permettre l'acces au dossier cree est cree dans la table (cnv). Dans cet enregistrement vent stockees les valeurs (data) et (datal) qui identifient respectivement le dossier et le porteur; 1 o - des algorithmes (D), (E), (F), (G), (H) et (I) appliques a (md3) permettent de calculer les identifiants secondaires (mda), (mde), (mdm), (mdv), (mdk) et (mdh) utilises dans les tables (etats), (aller), (vacci), (medica), (ekg) et (hpr). -3- Procede selon la revendication l, caracterise en ce que, pour le calcul d'un identifiant patient unique et irreversible (data!): - on utilise une carte a puce VITALE qui contient des series d'informations uniques, enregistrees par l'organisme emetteur de ladite carte, donnees qui garantissent l'unicite de la personne physique a laquelle correspond chaque serie d'informations; - on choisit la serie d'informations correspondent au patient (personne physique) voulu; ces donnees comportent notamment le n INSEE de ['assure titulaire de la carte, la date de naissance et le rang de naissance (ou rang gemellaire) de la personne choisie; - on calcule a partir de cette serie d'informations la valeur (IPPV) au moyen d'un algorithme irreversible et injectif; 19 2837301 - la valeur (IPPV) est transmise au serveur lors de la demande de consultation du dossier; - le servour applique a la valeur (IPPV) un algorithme (AO) pour calculer la valeur (datal) necessaire au processus d'identification du dossier appartenant a ce porteur. -4- Procede selon la revendication 3, caracterise en ce que, pour associer l'identifiant d'un dossier (data) avec l'identifiant d'un patient (data!): - lors de la creation du dossier, une fois calcules (md3) et (data), le serveur cree un enregistrement dans la table (cnv), enregistrement qui contient (data) (identifiant du dossier) et (datal) (identifiant du patient calcule a partir de l'(IPPV) figurant dans la requete de creation de dossier emise par le client); cet enregistrement permet d'etablir la correlation entre l'identifiant du dossier data et l'identifiant du porteur (data!); - on stocke des dossiers dans differents servours (chaque dossier dans chaque serveur possede un identifiant (data) distinct) pour obtenir plusieurs dossiers associes a un meme identifiant (data!), ce qui permet de constituer plusieurs dossiers pour le meme patient. -5- Procede selon la revendication 3, caracterise en ce que, pour ['identification du dossier appartenant a un porteur donne: - on lit les series d'informations presentes dans la carte Vitale; on choisit la personne physique (done une serie d'informations) dont on veut consulter le dossier; - on applique l'algorithme idoine a la serie d'informations choisie, afin de calculer (IPPV); 2837301 - on envoie au serveur une requete contenant la valeur (IPPV); - le serveur applique l'algorithme (AO) a la valeur (IPPV) recue pour calculer l'identifiant (datal) et cherche dans la table (cnv) un enregistrement contenant la valeur (data!); si cet enregistrement existe: - le servour lit la valeur (data) contenue dans cet enregistrement et lui applique l'algorithme (B) pour obtenir la valeur (id3); - le serveur cree un enregistrement dans la table (cnx), cet enregistrement possedant un identifiant (idcnx) et sert a stocker la valeur (id3); 0 - la connexion est etablie et permet ensuite au client d'acceder au dossier voulu; sinon: - la demande de connexion est rejetee, puisqu'il n'existe pas de dossier pour cette valeur d'(IPPV). -6- Procede selon la revendication 3, caracterise en ce que, pour ['identification des differents elements d'un dossier a partir de la valeur (idcnx): - le serveur cherche dans la table (cnx) un enregistrement contenant la valeur (idcnx) recue dans la requete et lit la valeur (id3) contenue dans cet enregistrement; - le serveur applique l'algorithme (C) a la valeur (id3) pour calculer (md3), cette valeur (md3) permet de trouver l'enregistrement de la table (dse); - les algorithmes (D), (E), (F), (G), (H) et (I) appliques a (md3) permettent de calculer les identifiants (mda), (mde), (mdm), (mdv), 21 2837301 (mdk) et (mdh) utilises pour acceder aux tables (etats), (aller), (vacci), (medica), (ekg) et (hpr), qui contiennent le dossier lui-meme. -7- Procede selon la revendication 3, caracterise en ce que, pour la securisation des echanges entre le client et le serveur: - le servour, apres avoir accepte une connexion, envoie au client l 'i denti fi ant (idcnx) et la valeur (nba), nombre al eatoire genere par le serveur lors de l'ouverture de la connexion; - lors de la requete suivante, le client calcule un message qui contient la lo valeur recue de l'alea et certaines des variables envoyees en parametre avec sa requete, et calcule une signature electronique a ['aide de l'algorithme (MD5) et envoie cette signature au serveur; - lorsqutil recoit la requete, le serveur calcule un message identique a celui que le client a calcule, puis calcule la signature (MDS); - le servour compare les deux signatures et interrompt la connexion en cas dtinegalite, sinon il traite la requete et envoie au client une nouvelle valeur de (nba) qui devra etre utilisee par le client dans sa prochaine