# Platforma na správu súhlasu pacienta pre zdravotnícke aplikácie

> Súhlas zabudovaný do dátovej vrstvy: OAuth 2.1 a rozsahy SMART, účel a platnosť vybrané osobou, denník prístupu, ktorý môže vidieť, odvolanie pri ďalšej žiadosti a to, čo vaša aplikácia stále vlastní.

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

**Platforma na správu súhlasu pacienta umožňuje osobe rozhodnúť, ktoré aplikácie môžu čítať alebo meniť jej zdravotný záznam, na aký účel a na ako dlho, a umožňuje jej kedykoľvek vidieť a odvolať tento prístup.** Anpheros zabudováva súhlas do dátovej vrstvy: aplikácia sa k záznamu FHIR R4 pacienta dostane iba prostredníctvom povolenia, ktoré osoba schválila na stránke súhlasu Anpheros, každé čítanie a zápis v rámci tohto povolenia je zaznamenané tam, kde si ho osoba môže pozrieť, a odvolanie nadobúda účinnosť pri ďalšej žiadosti. Táto stránka ukazuje, ako to funguje, čo musí vaša aplikácia urobiť a čo nemusí budovať.

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

## Prečo súhlas patrí do dátovej vrstvy

Väčšina zdravotníckych aplikácií zaznamenáva súhlas ako začiarkavacie políčko vo svojej vlastnej databáze a potom ho vynucuje v aplikačnom kóde. To funguje, kým druhá aplikácia, klinická integrácia alebo funkcia AI nepotrebuje rovnaké údaje: každá z nich musí znovu implementovať pravidlá a osoba nemá jedno miesto, kde by videla, kto má prístup. Keď platforma, ktorá uchováva záznam, tiež vynucuje súhlas, každý klient dostane rovnaké pravidlá a osoba získa jeden zoznam aplikácií na kontrolu.

| | Súhlas ako príznak vo vašej aplikácii | Súhlas v dátovej vrstve (Anpheros) |
|---|---|---|
| Kde je vynucovaný | V kóde každej aplikácie | Pri každej API požiadavke, platformou |
| Rozsah prístupu | Čokoľvek sa aplikácia rozhodne prečítať | Iba udelené typy zdrojov a kategórie |
| Vypršanie platnosti | Zriedka implementované | Vybrané osobou: 30, 90, 180 alebo 365 dní |
| Čo osoba vidí | Závisí od aplikácie | Každá aplikácia, jej rozsahy a vypršanie platnosti, a denník prístupu |
| Odvolanie | Musí byť propagované ručne | Ďalšia požiadavka zlyhá; obnovovací token prestane fungovať |

## Čo pacient ovláda

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

## Ako vaša aplikácia žiada o súhlas

Anpheros používa OAuth 2.1 s PKCE a SMART on FHIR v2 scopes. Vaša aplikácia pošle osobu na stránku súhlasu s požadovanými scopes a voliteľným účelom; po schválení dostane prístupový token (30 minút) a rotujúci obnovovací token (30 dní) pre presne jedného pacienta.

```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)
```

Scope ako `patient/Observation.rs?category=laboratory` obmedzuje čítanie na laboratórne výsledky; filter kategórií je vynucovaný serverom. Typ zdroja mimo povolenia vráti `403`; pacient mimo povolenia vráti `404`, takže ID nie je možné skúmať.

## Reagovanie na odvolanie

Keď osoba ukončí povolenie, nasledujúci požiadavka s týmto tokenom zlyhá a refresh token nemôže obnoviť prístup. Na okamžité vyčistenie sa prihláste na odber webhooku `consent.revoked`, ktorý nesie `grant_id`, ID pacienta, ktoré vidíte, scopes a `revoked_at`.

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

## Čo Anpheros nerobí

- Nezískava súhlas na účely mimo prístupu k údajom, ako je marketing alebo účasť na výskume.
- Nerozhoduje o vašom právnom základe. Súhlas s prístupom je jednou z kontrol; vaše oznámenie o ochrane osobných údajov, zmluvy a záznamy o spracovaní zostávajú vaše.
- API kľúč projektu vidí pacientov, ktorých projekt vytvoril, bez povolenia. Súhlas riadi prístup inými aplikáciami.

## Často kladené otázky

### Čo je platforma na správu súhlasu pacienta?
Softvér, ktorý zaznamenáva, ktoré aplikácie osoba povoľuje na prístup k svojim zdravotným údajom, vynucuje tieto voľby pri každej žiadosti, ukazuje osobe, kto k čomu pristupoval, a umožňuje jej prístup odvolať. V Anpheros je súhlas súčasťou samotného záznamu FHIR R4, namiesto samostatnej služby.

### Aké štandardy Anpheros používa pre súhlas pacienta?
OAuth 2.1 s PKCE pre autorizačný tok a SMART on FHIR v2 pacientske rozsahy (`patient/<Type>.<cruds>` s voliteľným filtrom `?category=`) pre to, čo môže aplikácia čítať alebo zapisovať. OpenID Connect pridáva ID token, keď požiadate o `openid fhirUser`.

### Môže pacient obmedziť prístup iba k niektorým svojim údajom?
Áno. Prístup je obmedzený na typy zdrojov a kategórie v udelených rozsahu, napríklad iba na laboratórne pozorovania (Observations). Všetko ostatné vráti chybu.

### Ako dlho súhlas trvá?
Osoba si na stránke súhlasu vyberie 30, 90, 180 alebo 365 dní. Potom platnosť povolenia vyprší a aplikácia musí požiadať znova.

### Môže pacient vidieť, čo aplikácia s prístupom urobila?
Áno. Osoba vidí každú aplikáciu s prístupom, jej rozsahy a dátum vypršania platnosti, ako aj denník prístupov uvádzajúci, čo každá aplikácia čítala alebo zapisovala.

### Čo sa stane, keď je súhlas odvolaný?
Ďalšia žiadosť s týmto prístupovým tokenom zlyhá, obnovovací token sa nedá použiť na získanie nového a váš server prijme webhook `consent.revoked`, ak sa k nemu prihlásil.

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

## Súvisiace

- [Model súhlasu a prístupu](https://developers.anpheros.com/sk/guides/consent): pravidlá v plnom znení
- [Autentifikácia a OAuth](https://developers.anpheros.com/sk/guides/authentication): tokeny, rozsahy (scopes) a výmena kódu
- [Ako implementovať súhlas pacienta pomocou SMART on FHIR](https://developers.anpheros.com/sk/guides/smart-on-fhir-backend)
- [Webhooks](https://developers.anpheros.com/sk/guides/webhooks): `consent.granted` a `consent.revoked`
- [Vysvetlenie pôvodu lekárskych údajov](https://developers.anpheros.com/sk/guides/medical-data-provenance)
- [API pre longitudinálne údaje pacienta](https://developers.anpheros.com/sk/guides/longitudinal-patient-data-api)
