0% ont trouvé ce document utile (0 vote)
146 vues42 pages

Introduction à FHIR et API REST Santé

Ce document décrit FHIR (Fast Healthcare Interoperability Resources), une spécification pour l'échange de données de santé basée sur des standards ouverts et modernes comme REST et JSON. FHIR définit un modèle de données et une API pour interagir avec des ressources représentant des entités médicales telles que les patients, rendez-vous, résultats d'examens.

Transféré par

FB
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
146 vues42 pages

Introduction à FHIR et API REST Santé

Ce document décrit FHIR (Fast Healthcare Interoperability Resources), une spécification pour l'échange de données de santé basée sur des standards ouverts et modernes comme REST et JSON. FHIR définit un modèle de données et une API pour interagir avec des ressources représentant des entités médicales telles que les patients, rendez-vous, résultats d'examens.

Transféré par

FB
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

FHIR

Fast Healthcare Interoperability Resources


VOTRE AVIS SUR HL7 ?
➡ EXHAUSTIF

➡ COMPLEXE

➡ INNACCESSIBLE

➡ DIFFICILE À ADOPTER

➡ ET POURTANT INDISPENSABLE …
ARCHITECTURE ORIENTÉE
RESSOURCES
๏ 4 CONCEPTS

๏ UNE RESSOURCE = OBJET PHYSIQUE OU


ABSTRAIT

๏ UNE URI = UN NOM

๏ UNE REPRÉSENTATION = UN FORMAT (JSON,


XML)

๏ DES LIENS ENTRE LES RESSOURCES


REST
REPRESENTATIONAL STATE TRANSFER

๏ SANS ÉTATS

๏ BASÉ SUR HTTP

๏ URLS

๏ METHODES : GET, PUT, POST, DELETE, HEAD, OPTIONS


ET POURQUOI PAS UNE ARCHITECTURE
ORIENTÉE SERVICES POUR LA SANTÉ ?

FHIR = REST SANTÉ


OBJECTIFS

๏ SIMPLIFICATION DE HL7

๏ CONSERVATION DES CONCEPTS

๏ AMÉLIORATION DE L’ADOPTION
QU’EST CE QUE FHIR ?
๏ API OUVERTE POUR LA SANTÉ BASÉ SUR DES
STANDARDS MODERNES ET SIMPLES

๏ UN MODÈLE DE DONNÉES POUR DÉCRIRE DONNÉES DE


SANTÉ ET ADMINISTRATIVES

๏ API RESTFUL UTILISANT JSON OU XML

๏ DES SERVEURS FHIR ACCESSIBLES

๏ DES OUTILS POUR IMPLÉMENTER ET TESTER FHIR


MODÈLE DE DONNÉES
๏ FHIR C’EST UNE 100aines DE RESSOURCES - BRIQUES DE BASES DE LA
SPÉCIFICATION

๏ EXEMPLES

๏ Patient (la personne qui reçoit les soins)

๏ Encounter (rendez-vous, séjour à l’hôpital)

๏ Observation (résultats de laboratoire ou d’imagerie)

๏ DiagnosticReport (compte rendu d’hospitalisation)

๏ MedicationOrder (prescription médicale)

๏ ….
MODÈLE DE DONNÉES
CHAQUE RESSOURCE EST DÉCRITE SUR LE SITE WEB
DE MANIÈRE SIMPLE ET LISIBLE

http://hl7-fhir.github.io/patient.html
MODÈLE DE DONNÉES
TYPES

ÉLÉMENTS

OPTION

DESCRIPTIONS ET LIENS
MODÈLE DE DONNÉES
TYPES DE DONNÉES
INTUITIF ET SIMPLE

string Help I’m a Bug!


decimal 1.4836
dateTime 2012-02-11T11:22:94Z
uri http://example.com/foo
boolean true

http://hl7-fhir.github.io/datatypes.html
MODÈLE DE DONNÉES
TYPES DE DONNÉES COMPOSÉES AVEC PLUSIEURS CHAMPS
(SIMILAIRES À HL7)

http://hl7-fhir.github.io/datatypes.html

MODÈLE DE DONNÉES
IDENTIFIANTS
๏ LES RESSOURCES ONT LA PLUPART DU TEMPS DES
IDENTIFIANTS

๏ Patient : n° de Sécurité Sociale, IPP, NIP

๏ Observation : n° d’examen de biologie ou d’imagerie

๏ LES IDENTIFIANTS UTILISENT UN TYPE DE DONNÉES

๏ system : http://hl7.org/fhir/sid/us-ssn (US social number)

๏ value : 2234567890
MODÈLE DE DONNÉES
TYPES PRÉDÉFINIS

๏ CERTAINS CHAMPS SONT LIMITÉS À UN ENSEMBLE DE


VALEURS POTENTIELLES

๏ CES CHAMPS UTILISENT LE TYPE « CODE » AVEC UNE


LISTE DE VALEURS ASSOCIÉES

๏ ex : Patient.gender > Male | Female | Other


MODÈLE DE DONNÉES
TYPES OUVERTS
๏ CERTAINS CHAMPS UTILISENT UNE VALEUR CODÉE SANS QUE LE CODAGE
SOIT IMPOSÉE PAR FHIR

๏ CODE D’UN RÉSULTAT DE BIOLOGIE

๏ CODE D’UN TYPE DE PRESCRIPTION

๏ CES CHAMPS UTILISENT UNE SÉMANTIQUE ASSOCIÉE À UNE NORME

๏ system : http://loinc.org

๏ code : 21176-3

๏ text : leukocytes
MODÈLE DE DONNÉES
REPRÉSENTATION VISUELLE

๏ CHAQUE RESSOURCES PEUT AVOIR UNE


REPRÉSENTATION VISUELLE

๏ C’EST UNE REPRÉSENTATION HTML QUI PERMET


D’AFFICHER LA RESSOURCE ET LA RENDRE LISIBLE
MODÈLE DE DONNÉES
EXTENSIONS
๏ FHIR EST CONCU SUR LA BASE DU 80/20

๏ LES ÉLÉMENTS DE LA SPEC COUVRENT 80% DES BESOINS

๏ LES IMPLÉMENTEURS DOIVENT COMPLÉTER POUR LES SPÉCIFICITÉS À 20%

๏ LES EXTENSIONS SONT LES BIENVENUS DONC FHIR ESSAYE DE LES RENDRE
FACILES À METTRE EN OEUVRE

๏ CHAQUE EXTENSION EST COMPOSÉE D’UNE CLÉ / VALEUR

๏ CLÉ : UNE URL VERS LA DÉFINITION DE L’EXTENSION

๏ VALEUR : UN TYPE DE DONNÉE OU UNE LISTE DE SOUS-EXTENSIONS


MODÈLE DE DONNÉES
RÉFÉRENCES ENTRE RESSOURCES
(SIMILAIRE À HTML)
meta données

représentation visuelle

données de la ressource
MODÈLE DE DONNÉES
DOCUMENTATION
MODÈLE DE DONNÉES
DOCUMENTATION
API REST
๏ FHIR À UNE API EFFICACE POUR INTÉRAGIR AVEC LES
RESSOURCES

๏ L’API EST ENTIÈREMENT BASÉE SUR REST

๏ LES INTERACTIONS FHIR SONT DÉCRITES SELON 2


ANGLES : CLIENT ET SERVEUR
API REST

๏ CRÉATION D’UNE RESSOURCE

๏ UTILISATION D’UNE REQUÊTE POST DU CLIENT VERS LE


SERVEUR
API REST

๏ RÉCUPÉRATION DE LA RÉFÉRENCE DE LA RESSOURCE


CRÉÉE DANS LE HEADER DE LA RÉPONSE

๏ content-location: http://server/Patient/1234/_history/1
API REST
๏ RÉCUPÉRATION D’UNE RESSOURCE

๏ UTILISATION D’UNE REQUÊTE GET DU CLIENT VERS LE


SERVEUR EN UTILISANT L’ID

๏ http://server/Patient/1234
API REST
๏ MISE À JOUR D’UNE RESSOURCE

๏ UTILISATION D’UNE REQUÊTE PUT DU CLIENT VERS LE SERVEUR EN


UTILISANT L’ID

๏ RÉCUPÉRATION DE LA NOUVELLE RÉFÉRENCE DE LA RESSOURCE DANS


LE HEADER

๏ CRÉATION D’UNE NOUVELLE VERSION

๏ content-location: http://server/Patient/1234/_history/2
API REST
๏ RECHERCHER UNE RESSOURCE

๏ BEAUCOUP DE POSSIBILITÉS DE RECHERCHE

๏ PRINCIPE SIMPLE :

๏ LE CLIENT ENVOI UN REQUETE AVEC DES PARAMÈTRES

๏ LE SERVEUR RENVOI UNE RESOURCE DE TYPE BUNDLE


API REST
๏ URL DE RECHERCHE :

GET http://fhirtest.uhn.ca/baseDstu2/Patient?birthdate=<1950-01-01
URL serveur type de paramètres de
ressource recherche
API REST
๏ LA RÉPONSE EST UN BUNDLE

๏ UN BUNDLE EST UNE RESSOURCE SPÉCIALE QUI CONTIENT :

๏ LE NOMBRE DE RESSOURCES TROUVÉES

๏ LA LISTE DES RESSOURCES TROUVÉES

๏ DES LIENS DE PAGINATION


API REST
๏ PARAMÈTRES DE RECHERCHE

Date Patient ‘birthdate’ <2011-02-03


Token DiagRept ‘code’ urn:mycodes|123
Quantity Observation ‘value’ >10

String Patient ‘name’ SMITH


Reference DiagRept ‘patient’ Patient/123
API REST

TESTEZ LA !

http://fhirtest.uhn.ca
API REST
๏ HISTORIQUE D’UNE RESSOURCE

๏ A PARTIR D’UN ID, TOUT L’HISTORIQUE PEUT ÊTRE


RÉCUPÉRÉ

๏ LA RÉPONSE EST UNE RESSOURCE DE TYPE BUNDLE


CONTENANT CHAQUE VERSION
API REST
๏ POSSIBLE DE S’ABONNER À LA CRÉATION OU
MODIFICATION D’UNE RESSOURCE

๏ POSSIBLE DE S’ABONNER À L’HISTORIQUE

๏ MÉTHODE DE NOTIFICATION : REST-HOOK, WEBSOCKET,


EMAIL/SMS, MESSAGE
SERVEURS
๏ PLUSIEURS SERVEURS DE TEST PUBLICS SONT
DISPONIBLES

๏ CES SERVEURS UTILISENT DES DONNÉES DE TEST !

๏ http://fhir-dev.healthintersections.com.au/open
(HealthIntersections)

๏ http://fhirtest.uhn.ca/baseDstu2 (UHN)

๏ http://spark.furore.com/fhir (Furore)
SERVEURS
๏ PLUSIEURS ÉDITEURS DE LOGICIELS HOSPITALIERS ONT
ANNONCÉ L’IMPLÉMENTATION DE FHIR
๏ EPIC
๏ CERNER
๏ ORION
๏ GE HEALTHCARE
๏ MCKESSON
๏ ….

๏ AUCUN FRANÇAIS POUR L’INSTANT :(


OUTILS
๏ IMPLÉMENTATION JAVA

๏ http://jamesagnew.github.io/hapi-fhir/

๏ IMPLÉMENTATION : C#, SWIFT, JavaScripts, Pascal, XML

๏ http://hl7-fhir.github.io/

๏ https://github.com/FHIR/fhir.js

๏ Ruby, GO
VERSIONS
๏ DSTU Draft Standard for Trial Use

๏ DSTU 2

๏ version 1.0.2

๏ https://www.hl7.org/fhir/history.html

๏ latest http://hl7-fhir.github.io/history.html (1.3.0)


LIENS AVEC LES AUTRES
STANDARDS
๏ LOINC

๏ LISTE DES ANALYSE DE BIOLOGIE

๏ SNOMED CT

๏ LISTE DES CONCEPTS EN SANTÉ

๏ UCUM

๏ UNITÉ DE MESURE

๏ UCD

๏ CODIFICATION DES MÉDICAMENTS


EXERCICES
๏ CREER UNE RESSOURCE Patient

๏ CRÉER UNE RESSOURCE Organization

๏ MODIFIER Patient : AJOUTER Organization

๏ CRÉER UNE RESSOURCE MedicationOrder AVEC LA RÉFÉRENCE AU


Patient

๏ RECHERCHER MedicationOrder AVEC LE CRITÈRE DU PATIENT

๏ SUPPRIMER MedicationOrder, Organization, Patient

๏ git clone https://github.com/sebmade/fhir-requests.git


EXERCICES

๏ CREER VOTRE SERVEUR AVEC HAPI

๏ git clone https://github.com/sebmade/restful-server-


example.git

๏ mvn install

๏ mvn jetty:run

Vous aimerez peut-être aussi