# Žádosti o přístup ke klinice se schválením pacienta (CIBA)

> Tok OpenID CIBA za žádostmi o přístup ke klinice: recepce zadá e-mail pacienta, pacient schválí v aplikaci nebo e-mailem na 30, 90 nebo 365 dní a aplikace kliniky obdrží tokeny.

Source: https://developers.anpheros.com/cs/guides/clinic-access-request

**Klinika získá přístup k záznamu pacienta v Anpheros pouze tehdy, když jej pacient schválí.** Aplikace kliniky odešle požadavek s uvedením e-mailové adresy pacienta a požadovaného přístupu. Pacient jej obdrží v aplikaci Anpheros a e-mailem, vidí, kdo a o co žádá, zvolí dobu platnosti a schválí nebo zamítne. Pokud schválí, aplikace kliniky obdrží tokeny a může číst záznam, dokud přístup nevyprší nebo jej pacient neodvolá.

Tento tok je standardní tok OpenID Connect Client-Initiated Backchannel Authentication (CIBA) v režimu poll. Existuje proto, aby si recepční nemusela předávat telefon nebo odkaz pacientovi: požadavek jde k pacientovi, nikoli přes obrazovku kliniky.

## Postup krok za krokem

1. **Recepce zadá e-mail pacienta.** Aplikace kliniky zavolá `POST /oauth/bc-authorize` se svými klientskými přihlašovacími údaji, e-mailem pacienta jako `login_hint`, `scope`, které potřebuje, a krátkou `binding_message`, kterou pacient uvidí.
2. **Platforma odpovídá stejně pro každou adresu.** Odpověď obsahuje `auth_req_id`, datum vypršení platnosti a interval dotazování, zda má daný e-mail účet Anpheros. Neodhaluje, kdo má záznam. Žádost o osobu bez účtu jednoduše vyprší.
3. **Pacient se rozhodne.** Obdrží oznámení v aplikaci Anpheros a e-mail. Žádost zobrazuje organizaci, rozsah a zprávu. Zvolí období 30, 90 nebo 365 dnů a stiskne "povolit" nebo "odmítnout". Odkaz v e-mailu nic neschvaluje, když je otevřen, protože skenery e-mailů otevírají odkazy; pacient musí stisknout tlačítko.
4. **Klinika se dotazuje.** Aplikace zavolá `POST /oauth/token` s typem udělení `urn:openid:params:grant-type:ciba` a `auth_req_id`. Dokud se pacient nerozhodl, odpověď je `authorization_pending`. Po schválení jsou tokeny vráceny jednou. Odmítnutí vrátí `access_denied` a neodpovězená žádost vrátí `expired_token`.
5. **Klinika čte a zapisuje v rámci uděleného rozsahu.** Každé čtení je zaznamenáno a viditelné pro pacienta. Klinika může měnit nebo mazat pouze to, co sama zapsala.

## Co chrání pacienta

- **Pouze ověřený e-mail.** Požadavek odpovídá pouze účtu s ověřeným e-mailem, takže nikdo nemůže přijímat požadavky jiné osoby vytvořením účtu s její adresou.
- **Omezený rozsah a časově omezený.** Přístup je na typ zdroje a akci, po stanovenou dobu. Požadavek, na který nikdo neodpoví, vyprší ve výchozím nastavení do jednoho dne a maximálně do sedmi dnů.
- **Kdykoli odvolatelný.** Odvolání nabývá účinnosti při dalším požadavku. Klinika se nemůže znovu dostat zpět.
- **Viditelný.** Pacient vidí každé připojení a každý přístup v aplikaci. Viz [model souhlasu a přístupu](https://developers.anpheros.com/cs/guides/consent).

## Co klinika potřebuje k implementaci

- Důvěrný OAuth klient zaregistrovaný na platformě, jehož tajný klíč je uchováván na serveru.
- Slučka pro dotazování (polling loop), která respektuje interval a zpracovává čtyři možné výsledky.
- Způsob, jak zobrazit rozhodnutí pacienta recepci ("čeká na pacienta", "schváleno do …", "zamítnuto").
- Zpracování vrácených tokenů jako krátkodobých pověření: přístupové tokeny platí 30 minut a obnovovací tokeny se při každém použití obměňují. Viz [ověřování a OAuth](https://developers.anpheros.com/cs/guides/authentication).

Pro kliniku, která preferuje otevřít stránku souhlasu před pacientem, například u přepážky, je podporován také standardní tok autorizačního kódu s PKCE a SMART on FHIR standalone launch.

## Často kladené dotazy

### Musí být pacient v ordinaci?

Ne. Může schválit ze svého telefonu nebo z odkazu v e-mailu, ať je kdekoli. Požadavek tedy lze odeslat před schůzkou a pacient, který je v zahraničí, jej může stále schválit.

### Co když pacient nemá účet Anpheros?

Žádost je přijata a poté vyprší bez rozhodnutí a klinika nemůže zjistit, zda účet existuje. Pacient si může vytvořit účet a klinika může odeslat novou žádost.

### Jak dlouho přístup trvá?

Pacient si při schvalování vybere 30, 90 nebo 365 dní. Může jej však kdykoli předčasně odvolat.

### Může klinika vidět vše v záznamu?

Pouze rozsah, který pacient schválil. Rozsahy jsou nastaveny pro každý typ zdroje a akci a lze je filtrovat podle kategorie.

### Je tok žádosti standardní?

Ano. Jedná se o OpenID Connect CIBA, takže lze použít existující knihovny OAuth. Další informace o širším modelu naleznete v příručce [API pro zdravotnictví s pacientovým souhlasem](https://developers.anpheros.com/cs/guides/healthcare-api-patient-consent).

### Je to živé?

Ano, na platformě v soukromé beta verzi. Přístup do produkčního prostředí vyžaduje ověřenou organizaci a podepsanou dohodu o zpracování dat.

## Související

- [Platforma pro data pacientů pro kliniky a nemocnice](https://developers.anpheros.com/cs/guides/clinics-and-hospitals)
- [Platforma pro souhlas pacienta pro zdravotní aplikace](https://developers.anpheros.com/cs/guides/patient-consent-platform)
- [Jak implementovat souhlas pacienta pomocí SMART on FHIR](https://developers.anpheros.com/cs/guides/smart-on-fhir-backend)
- [Zabezpečení, ochrana soukromí a rezidence dat](https://developers.anpheros.com/cs/guides/security)
