Cas d'utilisation
Fiche du professionel de santé
Dans ce cas d’utilisation, nous allons aborder la récupération d’éléments à la demande. Nous allons faire une application annuaire qui permet de trouver des professionnels de santé.
Qui est concerné ?
- Vous avez une application existante et vous souhaitez sur certains composants ajouter des données provenant de notre API
- Vous avez un système d’information et vous souhaitez enrichir certaines données bien précises
- Vous souhaitez construire une application sans stocker la donnée dans votre système
Ce dont vous aurez besoin
- Une API Key d’accès à l’API que vous pouvez récupérer en ligne à cette adresse
- Java 11+
- Un IDE (IntelliJ, Eclipse…)
- Maven 3+
Initialisation du projet
Voir la section Démarrage/Java
Trouver un professionnel intervenant dans le système de santé avec son numéro RPPS
Prenons l’exemple d’un professionnel disposant d’un numéro RPPS : 10000001111
Effectuer une recherche FHIR sur la ressource Practitioner avec le paramètre identifier. Cela va retourner un Bundle qui contiendra le résultat de recherche. Comme nous cherchons par numéro RPPS, s’il y a un résultat, il sera unique.
Le Practitioner retourné contiendra différentes informations comme la civilité, tout autres identifiant connu, les diplômes, …
Professionnel 10000001111:
Id technique (champs id): 003-131111
Identifier:
Numéro urn:oid:1.2.250.1.71.4.2.1 : 810000001111
Numéro http://rpps.fr : 10000001111
Name:
Civilité : [M]
...
Récupérer les PractitionerRole du Practitioner précédemment trouvé
Pour aller plus loin, nous allons chercher les exercices professionnels de ce practitioner pour obtenir plus d’informations.
Nous faisons donc une requête sur la ressource PractitionerRole en précisant de trouver les PractitionerRole qui sont liés à ce Practitioner :
Le point important ici est de mettre la clause where sur le paramètre practitioner en spécifiant l’id du Practitioner précédemment trouvé.
Cela va retourner un résultat de recherche avec tous les PractitionerRole liés à ce Practitioner :
Exercices:
Exercice 005-71111:
Noms/Prénoms d'exercice :[JEAN] MARTIN
Spécialités : SM26 S
...
Lier les practitionerRole avec Organization
Dans cette étape, nous allons récupérer les Organization rattachées aux PractitionerRole.
Pour ce faire, nous modifions la requête de l’étape précédente pour demander de récupérer les PractitionerRole ainsi que leurs Organization rattachées dans une même requête. Cela se fait par le biais du paramètre _include :
Cette requête va vous retourner un Bundle contenant à la fois les PractitionerRole et les Organization. Votre programme devra lui-même lier les PractitionerRole aux Organization grâce aux champs PractitionerRole.organization et Organization.id.
Dans l’exemple ci-dessous, nous voyons que le PractitionerRole est lié à la ressource Organization ayant l’id "organization": {"reference": "Organization/org-6922"}
et cette Organization est une autre entrée dans le Bundle
qui a pour champs ‘id’ org-6922.
{
"resourceType": "Bundle",
"total": 1,
"entry": [
{
"fullUrl": "https://gateway.api.esante.gouv.fr/fhir/v1/PractitionerRole/prarole-6922",
"resource": {
"resourceType": "PractitionerRole",
"id": "prarole-6922",
"organization": {
"reference": "Organization/org-6922"
},
...
}
},
{
"fullUrl": "https://gateway.api.esante.gouv.fr/fhir/v1/Organization/org-6922",
"resource": {
"resourceType": "Organization",
"id": "org-6922",
...
}
}
...
}
Aller plus loin
Récupération par lots
Vous pouvez tout à fait imaginer récupérer des Practitioner complets par lot. Cela nécessitera cependant à minima 2 requêtes.
La première requête va vous premettre de trouver les Practitioner, la seconde vous permettra de chercher des informations complémentaires dans des PractitionerRole ou Organization.
Imaginons que vous cherchiez les fiches de 2 professionnels avec pour identifiants RPPS : 10000001111 et 10000001112.
Dans ce cas la première requête sera :
curl -H "ESANTE-API-KEY: XXXX-XXXX-XXXX-XXXXX" "https://gateway.api.esante.gouv.fr/fhir/v1/Practitioner?identifier=10000001111,10000001112&_pretty=true&_format=json"
Cette requête permet de demander tous les Practitioner ayant un identifier à 10000001111 ou 10000001112.
La liste retournée contiendra plusieurs Practitioner si les identifiants RPPS existent.
Ensuite, vous pourrez là encore effectuer une unique requête pour aller chercher les ressources associées:
curl -H "ESANTE-API-KEY: XXXX-XXXX-XXXX-XXXXX" "https://gateway.api.esante.gouv.fr/fhir/v1/PractitionerRole?practitioner=003-131111,003-131112&_pretty=true&_format=json"
Trouver le nom, le prénom, la civilité (ou le genre), l’adresse postale et les adresses MSS d’un Practitioner en partant de son identifiant ADELI/RPPS
Cliquez ici pour accéder à l’exemple.
Trouver l’identifiant ADELI/RPPS, les BAL MSS, les activités ainsi que les structures d’exercice d’un Practitien en partant de son nom et son prénom d’exercice
Cliquez ici pour accéder à l’exemple.