Démarrage rapide
Bases de l'API
URL d’accès (base url)
Tous les accès se font via HTTPS.
Environnement Production
Variables | Valeurs |
---|---|
api-url | https://gateway.api.esante.gouv.fr/fhir/v1 |
ihm-url | https://portail.openfhir.annuaire.sante.fr |
gravitee-url | https://portal.api.esante.gouv.fr (pour obtenir une API KEY) |
NOTE | Il n’existe pas d’environement bac à sable de l’API avec des données fictives. La seule API qui existe est celle de l’environnement de production avec les données publiques. Si vous créez votre propre environnement beta, merci de supprimer les données qui ont une durée de conservation supérieure à 30 jours. |
Points de terminaison (endpoints)
Variables | Valeurs |
---|---|
[api-url]/metadata | Pour le capability statement |
[api-url]/Practitioner | Pour les professionnels intervenant dans le système de santé |
[api-url]/PractitionerRole | Pour les exercices professionnels et les situations d’exercice |
[api-url]/Organization | Pour les structures |
[api-url]/HealthcareService | Pour les activités de soins et les équipements sociaux |
[api-url]/Device | Pour les équipements matériels lourds (EML) |
[api-url]/health | Pour le heathcare du service, accessible sans authentification |
Codes d’état HTTP (HTTP status codes)
Toutes les réponses utilisent les codes HTTP Standard. Les codes HTTP standard sont des codes de statut envoyés par un serveur en réponse à une demande HTTP. Voici une liste des codes HTTP les plus courants et leur signification
Status code | Type | Definition |
---|---|---|
200 | OK | Requête réussie |
400 | Bad Request | La requête est mal formatée. Vérifiez les paramètres ou la syntaxe |
401 Unauthorized | Impossible d’authentifier la requête | |
403 | Forbidden | La requêtes n’est pas autorisée |
404 | Not found | La ressource n’est pas trouvée |
500 | Internal Server Error | Une erreur inattendue est survenue |
501 | Not Implemented | Le serveur ne prend pas en charge les fonctionnalités nécessaires pour réaliser la requête |
503 | Service Unavailable | Le service est non disponible |
Méthodes HTTP (HTTP VERBS)
L’API est conforme à la norme REST. Vous pouvez utiliser les ressources avec les méthodes HTTP suivantes :
- GET : lecture de données simple (Regex Posix : \/fhir\/(v[0-9]{0,2}\/)?[a-zA-Z]{0,30} )
- POST : lecture de données au format POST (Regex Posix : \/fhir\/(v[0-9]{0,2}\/)?[a-zA-Z]{0,30}\/_search )
En-têtes (headers)
- ESANTE-API-KEY
Réponse de base – Succès
Lien vers la spécification FHIR : https://www.hl7.org/fhir/R4/bundle.html
Si la recherche est un succès, le serveur répond :
- Un header avec un code 200 OK HTTP
- Un body contenant une ressource Bundle dont le type = searchset.
Le bundle encapsule 0 à n ressources Location corespondant aux critères de recherche plus les ressources incluses correspondant aux critères de recherche.
Le service développé renvoie les 200 premiers résultats et indique le total trouvé dans une balise
total
. Dans le cas où il n’y a pas de résultat le service renvoietotal
: 0. - La recherche est un succès à partir du moment où la requête peut être exécutée. Il peut il y avoir 0 à n correspondances.
Plus d’informations sur la [spécification FHIR HTTP] (https://www.hl7.org/fhir/R4/http.html)
Réponse de base – Echec
Si la recherche échoue, le serveur doit répondre :
- Un header avec un un code erreur (HTTP 4XX ou 5XX)
- Un body contenant une ressource OperationOutcome qui donne les détails sur la raison de l’échec
- L’échec d’une recherche est la non-possibilité d’exécuter la requête, ce qui est différent d’aucune correspondance à la recherche.
{
{
"resourceType": "OperationOutcome",
"issue": [ {
"severity": "error",
"code": "processing",
"diagnostics": "HAPI-0302: Unknown resource type 'Practitixner' - Server knows how to handle: [Practitioner, PractitionerRole, Device, Organization, HealthcareService]"
} ]
}