# API de santé : qu'est-ce que c'est et comment ça marche

> Qu'est-ce qu'une API de santé, comment fonctionne un appel, que rechercher, et une API de santé FHIR R4 gratuite avec consentement du patient, provenance et hébergement UE — avec exemples et FAQ.

Source: https://developers.anpheros.com/fr/guides/healthcare-api

**Une API de santé est une interface programmatique par laquelle un logiciel lit et écrit des données de santé — dossiers patients, observations, diagnostics, médicaments, documents — et par laquelle l'accès à ces données est autorisé.** L'API de la plateforme Anpheros est une API de santé sur un dossier HL7 FHIR R4 contrôlé par le patient : les applications l'utilisent pour stocker et récupérer des données médicales, pour obtenir le consentement d'un patient et pour être notifiées des changements.

<!-- visual: hapi-hero -->

## Comment fonctionne un appel d'API de santé

Quel que soit le fournisseur, un appel d'API de santé passe par les mêmes points de contrôle : qui appelle, quel patient et quelles données il peut consulter, où les données sont stockées, qui les a écrites et qui a besoin de savoir qu'elles ont changé.

<!-- visual:hapi-request -->

## Types d'API de santé

| Type | Ce qu'il échange | Utilisation typique |
|---|---|---|
| API REST FHIR | Ressources FHIR sur HTTP (`GET /Observation?patient=…`) | la norme moderne pour l'échange de données cliniques |
| SMART on FHIR / OAuth | autorisation pour les API FHIR | permettre aux applications tierces d'accéder à un dossier avec la permission de l'utilisateur |
| Messagerie HL7 v2 | messages délimités par des pipes (`ORU^R01` pour les résultats, `ADT` pour les admissions) | systèmes de laboratoire et d'hôpitaux, souvent via des interfaces plutôt que HTTP |
| Échange de documents | documents cliniques (PDF, CDA, bundles de documents FHIR) | résumés, lettres de sortie, référencements |
| API REST propriétaires | JSON spécifique au fournisseur | l'application mobile ou les intégrations d'un produit unique |

Anpheros combine les deux premiers comme son cœur, accepte les résultats de laboratoire HL7 v2 en entrée, stocke les documents avec leurs originaux et produit des bundles de documents FHIR (le Résumé International du Patient). Il offre également une API REST plus simple sur les mêmes données pour les développeurs qui ne souhaitent pas travailler directement avec FHIR.

## Ce qu'il faut rechercher dans une API de santé

<!-- visual:hapi-checklist:replace -->

- **Un modèle de données standard**, pour que les données puissent circuler entre les systèmes sans mappage personnalisé.
- **Une autorisation contrôlée par le patient**, et pas seulement des identifiants contrôlés par l'application.
- **La provenance** : qui a écrit chaque valeur, pour le compte de qui, à partir de quel système.
- **L'historique** : des versions au lieu d'écrasements silencieux.
- **L'auditabilité** des lectures, pas seulement des écritures.
- **Des tentatives de nouvelle tentative sûres** (idempotence) et des **erreurs prévisibles**, car les données de santé ne doivent pas être dupliquées ou perdues.
- **L'isolation** entre les applications qui partagent la même infrastructure.
- **La résidence des données** qui correspond à l'emplacement des patients.

Le reste de cette page montre comment chacun de ces éléments apparaît dans l'API Anpheros.

## L'API Anpheros en un coup d'œil

| Surface | Chemin de base | Objectif |
|---|---|---|
| FHIR R4 | `/fhir/R4` | 26 types de ressources ; lecture, recherche, création, mise à jour, suppression, historique, transactions, `$everything`, `$summary`, `$validate` |
| REST v1 | `/v1` | patients, observations, conditions, médicaments, documents, chronologie, provenance, contexte IA, importation de laboratoire, terminologie, webhooks |
| OAuth 2.1 | `/oauth` | page de consentement, jetons (PKCE), révocation, clés OpenID Connect |
| Côté patient | `/me` | les propres enregistrements d'une personne, qui a accès, journal d'accès, révoquer |
| Découverte | `/fhir/R4/metadata`, `/fhir/R4/.well-known/smart-configuration`, `/openapi.json` | descriptions de l'API lisibles par machine |

URL de base : `https://platform.anpheros.com`. Le sandbox et la production partagent la même URL ; la clé décide du plan de données.

### Authentification

- **Clés API** (`sk_test_…`, `sk_live_…`) pour vos serveurs ; elles voient les patients créés par votre projet.
- **Jetons d'accès OAuth** (`at_…`) pour une application agissant pour un patient sous un consentement.

```bash
curl https://platform.anpheros.com/v1/patients -H "Authorization: Bearer $KEY"
```

### Écriture sécurisée

Les requêtes `POST` acceptent un `Idempotency-Key` : une requête retentée avec la même clé renvoie la réponse originale et ne crée rien. Chaque écriture reçoit un `Provenance` ; le type d'auteur est envoyé dans le corps (`author_type`) ou dans des en-têtes tels que `X-Anpheros-Author-Type`, `X-Anpheros-Source-System`, `X-Anpheros-Origin-Id` et `X-Anpheros-On-Behalf-Of`.

```bash
curl -X POST https://platform.anpheros.com/v1/patients/$PID/observations \
     -H "Authorization: Bearer $KEY" -H 'content-type: application/json' -H "Idempotency-Key: $(uuidgen)" \
     -d '{"code": "29463-7", "display": "Body weight", "category": "vital-signs",
          "value": 71.4, "unit": "kg", "effective_at": "2026-09-28T07:30:00Z", "author_type": "patient"}'
```

### Erreurs et limites

Les points d'accès FHIR répondent avec `OperationOutcome` ; les autres avec `{"error": {"type", "message", "field"}}`. Chaque réponse contient `Anpheros-Request-Id`. La limite par défaut est de 600 requêtes par minute par clé et par IP. [Erreurs](https://developers.anpheros.com/fr/guides/errors) · [Limites](https://developers.anpheros.com/fr/guides/limits)

### Événements

Webhooks signés pour `resource.created`, `resource.updated`, `resource.deleted`, `consent.granted`, `consent.revoked`, `document.finalized` et `ping`. [Webhooks](https://developers.anpheros.com/fr/guides/webhooks)

## Choisir entre FHIR et REST v1

Utilisez **FHIR** si vous travaillez déjà avec FHIR, si vous avez besoin de types de ressources que `/v1` ne couvre pas (par exemple `Immunization`, `Procedure` ou `CarePlan`), ou si vous échangez des données avec d'autres systèmes FHIR. Utilisez **REST v1** pour le code d'application qui souhaite un JSON plat pour les cas courants. Les deux lisent et écrivent les mêmes ressources avec les mêmes identifiants, donc un projet peut les mélanger. [Medical data API](https://developers.anpheros.com/fr/guides/medical-data-api) décrit les opérations de données en détail.

## Foire aux questions

### Qu'est-ce qu'une API de santé ?
Une interface programmatique par laquelle les logiciels lisent et écrivent des données de santé — dossiers patients, observations, diagnostics, médicaments et documents — et par laquelle l'accès à ces données est autorisé. Les API de santé modernes utilisent HL7 FHIR R4 pour les données et OAuth 2.0 ou 2.1 avec SMART on FHIR pour l'autorisation.

### Quelle est la différence entre une API de santé et une API FHIR ?
FHIR est une norme qu'une API de santé peut suivre. Une API FHIR échange des ressources FHIR sur REST ; une API de santé peut également accepter des messages HL7 v2, des documents ou du JSON propriétaire. Anpheros propose une API FHIR R4 et une API REST plus simple sur les mêmes données.

### Existe-t-il une API de santé gratuite pour les développeurs ?
Oui. Le sandbox Anpheros est gratuit et en libre-service : connectez-vous avec Google, obtenez une clé API et travaillez avec 30 patients synthétiques via FHIR R4 ou REST. La production commence à 99 € par mois, avec le premier mois gratuit.

### Comment les patients donnent-ils leur consentement à une API de santé ?
Via OAuth 2.1 avec PKCE : l'application redirige la personne vers une page de consentement avec des scopes SMART on FHIR ; la personne choisit ce qu'elle souhaite partager et pour combien de temps, peut consulter un journal d'accès et peut révoquer l'accès à tout moment.

### Où sont stockées les données ?
Dans l'Union européenne : le service et ses bases de données s'exécutent sur Google Cloud `europe-west4` (Pays-Bas).

### Quelle API de santé devrais-je choisir ?
Comparez la norme de données, qui autorise l'accès, la provenance et l'audit, la résidence des données, le comportement des nouvelles tentatives et des erreurs, et si vous pouvez tester avec des données réalistes gratuitement. [Plateforme d'API de santé : ce qu'elle inclut et comment choisir](https://developers.anpheros.com/fr/guides/healthcare-api-platform) transforme ces éléments en questions à poser à tout fournisseur.

<!-- visual:cta-hapi -->

## Liens connexes

- [API EHR et API de dossiers médicaux](https://developers.anpheros.com/fr/guides/ehr-api)
- [Plateforme d'API de santé : ce qu'elle inclut et comment choisir](https://developers.anpheros.com/fr/guides/healthcare-api-platform)
- [Comment créer une API de santé avec TypeScript](https://developers.anpheros.com/fr/guides/healthcare-api-typescript) : tutoriel étape par étape avec Express
- [Comment stocker des dossiers médicaux en utilisant FHIR R4](https://developers.anpheros.com/fr/guides/store-medical-records-fhir) : tutoriel étape par étape avec curl
- [API de santé avec consentement du patient](https://developers.anpheros.com/fr/guides/healthcare-api-patient-consent)
- [Backend SMART on FHIR](https://developers.anpheros.com/fr/guides/smart-on-fhir-backend)
- [API de données médicales](https://developers.anpheros.com/fr/guides/medical-data-api)
- [Plateforme FHIR](https://developers.anpheros.com/fr/guides/fhir)
- [Interopérabilité des données de santé](https://developers.anpheros.com/fr/guides/interoperability)
- [Intégrations de santé](https://developers.anpheros.com/fr/guides/healthcare-integrations)
- [Référence API (OpenAPI)](https://developers.anpheros.com/docs) · [Authentification et OAuth](https://developers.anpheros.com/fr/guides/authentication)
