Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
API de santé avec consentement du patient
Comment l'accès à un dossier est accordé par le patient via les scopes et durées OAuth 2.1, comment il est enregistré et révocable, ce que cela change dans la conception d'une application, et comment les identifiants par paires maintiennent les applications séparées.
Une API de santé avec consentement du patient est une API où l'accès à un dossier est accordé par le patient, dans un but précis, pour une durée déterminée, et peut être consulté et retiré par le patient, plutôt que décidé une fois pour toutes par l'organisation qui détient les données. Dans Anpheros, le consentement n'est pas un champ que vous définissez ; c'est le mécanisme par lequel une application accède à un dossier. Ce guide explique comment cela fonctionne pour un développeur et ce que cela change dans la conception d'une application.
Deux façons d'accéder à un enregistrement
| Accès par l'organisation | Accès accordé par le patient | |
|---|---|---|
| Qui autorise | votre organisation, via une clé d'API | le patient, via un écran de consentement OAuth 2.1 |
| Usage typique | une clinique ou un laboratoire écrivant des résultats, votre propre application écrivant au nom de ses utilisateurs | une application tierce, un assistant IA, un outil de médecin, un membre de la famille |
| Portée | les patients créés par votre organisation ou qui lui ont été partagés | les scopes que le patient a acceptés (patient/Observation.read, …) |
| Durée | tant que la clé est valide | la durée choisie par le patient ; renouvelable, révocable |
| Visible par le patient | oui, dans le journal d'accès | oui, avec la possibilité de retirer |
Les deux chemins passent par la même API et le même enregistrement FHIR. La différence réside dans qui détient la clé de la porte.
Le flux de consentement, étape par étape
- Votre application envoie le patient au point de terminaison d'autorisation Anpheros avec les scopes dont elle a besoin et une raison en langage clair.
- Le patient voit ce que vous demandez, choisit une durée et accepte ou refuse. L'écran est dans la langue du patient.
- Vous recevez un jeton d'accès limité à ces scopes et à ce patient. Les jetons ont une courte durée de vie ; les jetons de rafraîchissement durent aussi longtemps que le consentement.
- Chaque lecture et écriture avec ce jeton est enregistrée avec le nom de votre application. Le patient voit le journal dans son application.
- Si le patient retire son consentement, la prochaine requête échoue avec une erreur claire. Vous recevez un webhook afin de pouvoir effectuer un nettoyage.
Le flux est conforme aux normes OAuth 2.1 avec PKCE et aux scopes SMART on FHIR, donc les bibliothèques existantes fonctionnent. Le guide Authentication and OAuth contient les paramètres exacts et le Consent and access model les règles sous-jacentes.
Ce que cela change dans votre application
- Vous demandez moins. Les scopes sont par type de ressource et par direction. Une application qui enregistre le poids demande
Observation.read, pas l'intégralité de l'enregistrement. - Vous concevez pour le retrait. L'accès peut se terminer à tout moment. Mettez peu de données en cache, relisez lorsque nécessaire et gérez l'erreur de révocation comme un état normal.
- Vous obtenez la confiance gratuitement. Les patients voient le nom de votre application, ce à quoi elle peut accéder et quand elle a lu quelque chose pour la dernière fois. Les applications qui se comportent bien sont plus faciles à accepter.
- Vous écrivez avec provenance. Tout ce que vous écrivez porte le nom de votre application en tant qu'auteur et, le cas échéant, la personne au nom de laquelle l'action a été effectuée. Le patient et les autres applications peuvent distinguer vos données des leurs.
Identifiants qui ne divulguent pas
Chaque application voit un patient sous un identifiant par paire : la même personne a un identifiant différent dans votre application et dans une autre. Deux applications ne peuvent pas joindre leurs données concernant une personne sans le consentement du patient, même si les deux sont basées sur Anpheros. Pour votre code, cela est invisible ; pour le patient, c'est la différence entre le consentement et une formalité.
Familles et aidants
Le consentement s'étend aux personnes qui gèrent des dossiers pour d'autres : un parent pour un enfant, un enfant adulte pour un parent âgé. Le dossier reste associé au compte qui l'a créé ; d'autres comptes reçoivent un accès, qui peut être retiré. Votre application voit le même mécanisme de consentement, avec l'aidant comme personne qui accepte.
Liens connexes
- Modèle de consentement et d'accès
- Authentification et OAuth
- Backend SMART on FHIR
- API de santé
- Sécurité, confidentialité et résidence des données
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card