# Platformă de consimțământ al pacientului pentru aplicații de sănătate

> Consimțământ integrat în stratul de date: OAuth 2.1 și SMART scopes, scop și expirare alese de persoană, un jurnal de acces pe care îl poate vedea, revocare la următoarea cerere și ce deține în continuare aplicația dvs.

Source: https://developers.anpheros.com/ro/guides/patient-consent-platform

**O platformă de consimțământ al pacientului permite unei persoane să decidă ce aplicații pot citi sau modifica dosarul său medical, în ce scop și pentru cât timp, și îi permite să vadă și să revoce acel acces în orice moment.** Anpheros integrează consimțământul în stratul de date: o aplicație accesează dosarul FHIR R4 al unui pacient numai printr-o autorizație aprobată de persoană pe pagina de consimțământ Anpheros, fiecare citire și scriere sub acea autorizație este înregistrată unde persoana o poate vedea, iar revocarea intră în vigoare la următoarea cerere. Această pagină arată cum funcționează, ce trebuie să facă aplicația dvs. și ce nu trebuie să construiască.

<!-- visual:consent-flow -->

## De ce consimțământul aparține stratului de date

Majoritatea aplicațiilor de sănătate înregistrează consimțământul ca o căsuță de bifat în propria bază de date și apoi îl impun în codul aplicației. Acest lucru funcționează până când o a doua aplicație, o integrare clinică sau o funcție AI necesită aceleași date: fiecare trebuie să reimplementeze regulile, iar persoana nu are un singur loc pentru a vedea cine are acces. Când platforma care stochează înregistrarea impune și consimțământul, fiecare client primește aceleași reguli, iar persoana primește o listă de aplicații pentru a le revizui.

| | Consimțământ ca un indicator în aplicația dvs. | Consimțământ în stratul de date (Anpheros) |
|---|---|---|
| Unde este impus | În codul fiecărei aplicații | La fiecare cerere API, de către platformă |
| Domeniul de acces | Orice decide aplicația să citească | Doar tipurile și categoriile de resurse acordate |
| Expirare | Rar implementat | Ales de către persoană: 30, 90, 180 sau 365 de zile |
| Ce vede persoana | Depinde de aplicație | Fiecare aplicație, domeniile și expirarea acesteia, și un jurnal de acces |
| Revocare | Trebuie propagată manual | Următoarea cerere eșuează; token-ul de reîmprospătare nu mai funcționează |

## Ce controlează pacientul

<!-- visual:consent-controls -->

## Cum solicită aplicația dvs. consimțământul

Anpheros utilizează OAuth 2.1 cu PKCE și SMART on FHIR v2 scopes. Aplicația dvs. trimite persoana la pagina de consimțământ cu scope-urile de care are nevoie și un scop opțional; după aprobare, primește un token de acces (30 de minute) și un token de reîmprospătare rotativ (30 de zile) pentru exact un pacient.

```ts
import { OAuthFlow, generatePkce } from '@anpheros/sdk';

const flow = new OAuthFlow({
  baseUrl: 'https://platform.anpheros.com',
  clientId: process.env.ANPHEROS_CLIENT_ID!,
  redirectUri: 'https://your.app/callback',
});
const pkce = await generatePkce();
const url = flow.authorizeUrl({
  scopes: ['patient/Observation.rs?category=laboratory', 'patient/Condition.rs', 'offline_access'],
  purpose: 'treatment',
  state: crypto.randomUUID(),
  pkce,
  lang: 'en',
});
// redirect the person to `url`; on the callback exchange the code (see the authentication guide)
```

Un scope precum `patient/Observation.rs?category=laboratory` limitează citirea la rezultatele de laborator; filtrul de categorie este aplicat de server. Un tip de resursă în afara grantului returnează `403`; un pacient în afara grantului returnează `404`, deci ID-urile nu pot fi interogate.

## Reacția la revocare

Când persoana încheie o autorizație, următoarea cerere cu acel token eșuează, iar tokenul de reîmprospătare nu poate readuce accesul. Pentru a curăța imediat, abonați-vă la webhook-ul `consent.revoked`, care transportă `grant_id`, ID-ul pacientului pe care îl vedeți, scopurile și `revoked_at`.

```ts
await anpheros.webhooks.create('https://your.app/anpheros/hook', { events: ['consent.granted', 'consent.revoked'] });
```

## Ce nu face Anpheros

- Nu colectează consimțământul pentru scopuri din afara accesului la date, cum ar fi marketingul sau participarea la cercetare.
- Nu decide baza dumneavoastră legală. Consimțământul pentru acces este un control; notificarea dumneavoastră de confidențialitate, contractele și înregistrările de procesare rămân ale dumneavoastră.
- Cheia API proprie a unui proiect vede pacienții creați de acel proiect, fără o autorizare. Consimțământul guvernează accesul de către alte aplicații.

## Întrebări frecvente

### Ce este o platformă de consimțământ al pacientului?
Software care înregistrează ce aplicații o persoană permite să acceseze datele sale de sănătate, impune acele alegeri la fiecare solicitare, arată persoanei cine a accesat ce și îi permite să retragă accesul. În Anpheros, consimțământul face parte din înregistrarea FHIR R4 în sine, mai degrabă decât un serviciu separat.

### Ce standarde folosește Anpheros pentru consimțământul pacientului?
OAuth 2.1 cu PKCE pentru fluxul de autorizare și SMART on FHIR v2 patient scopes (`patient/<Type>.<cruds>` cu un filtru opțional `?category=`) pentru ceea ce o aplicație poate citi sau scrie. OpenID Connect adaugă un ID token atunci când solicitați `openid fhirUser`.

### Poate un pacient să limiteze accesul doar la o parte din datele sale?
Da. Accesul este limitat la tipurile de resurse și categoriile din scope-urile acordate, de exemplu, doar Observations de laborator. Orice altceva returnează o eroare.

### Cât durează consimțământul?
Persoana alege 30, 90, 180 sau 365 de zile pe pagina de consimțământ. După aceea, grantul expiră și aplicația trebuie să solicite din nou.

### Poate pacientul să vadă ce a făcut o aplicație cu accesul?
Da. Persoana vede fiecare aplicație cu acces, scope-urile și expirarea acesteia, precum și un jurnal de acces care listează ce a citit sau scris fiecare aplicație.

### Ce se întâmplă când consimțământul este revocat?
Următoarea solicitare cu acel access token eșuează, refresh token-ul nu poate fi folosit pentru a obține unul nou, iar serverul dvs. primește un webhook `consent.revoked` dacă s-a abonat.

<!-- visual:cta-consent -->

## Conexe

- [Modelul de consimțământ și acces](https://developers.anpheros.com/ro/guides/consent): regulile în detaliu
- [Autentificare și OAuth](https://developers.anpheros.com/ro/guides/authentication): token-uri, scopuri și schimbul de coduri
- [Cum se implementează consimțământul pacientului cu SMART on FHIR](https://developers.anpheros.com/ro/guides/smart-on-fhir-backend)
- [Webhooks](https://developers.anpheros.com/ro/guides/webhooks): `consent.granted` și `consent.revoked`
- [Proveniența datelor medicale explicată](https://developers.anpheros.com/ro/guides/medical-data-provenance)
- [API pentru date longitudinale ale pacienților](https://developers.anpheros.com/ro/guides/longitudinal-patient-data-api)
