# API охорони здоров'я з дозволом пацієнта

> Як доступ до запису надається пацієнтом через OAuth 2.1 scopes та тривалість, реєструється та може бути відкликаний, що це змінює в дизайні програми, і як парні ідентифікатори розрізняють програми.

Source: https://developers.anpheros.com/uk/guides/healthcare-api-patient-consent

**API охорони здоров'я з дозволом пацієнта — це API, де доступ до запису надається пацієнтом, для певної мети, на певний час, і може бути переглянутий та відкликаний пацієнтом, а не вирішується один раз організацією, яка володіє даними.** В Anpheros дозвіл не є полем, яке ви встановлюєте; це механізм, через який програма взагалі отримує доступ до запису. Цей посібник пояснює, як це працює для розробника, і що це змінює в дизайні програми.

## Два способи доступу до запису

| | Доступ через організацію | Доступ, наданий пацієнтом |
|---|---|---|
| Хто надає дозвіл | ваша організація, через API ключ | пацієнт, через екран згоди OAuth 2.1 |
| Типове використання | клініка або лабораторія, що записує результати, ваш власний додаток, що записує від імені своїх користувачів | сторонній додаток, ШІ-асистент, інструмент лікаря, член сім'ї |
| Обсяг | пацієнти, створені вашою організацією, або ті, що були надані їй | обсяги, які пацієнт прийняв (`patient/Observation.read`, …) |
| Тривалість | поки ключ дійсний | тривалість, обрана пацієнтом; поновлювана, відкликана |
| Видимість для пацієнта | так, у журналі доступу | так, з можливістю відкликання |

Обидва шляхи проходять через той самий API та той самий FHIR запис. Різниця полягає в тому, хто тримає ключ до дверей.

## Потік згоди, крок за кроком

1. Ваш застосунок надсилає пацієнта до кінцевої точки авторизації Anpheros із необхідними областями дії (scopes) та причиною простими словами.
2. Пацієнт бачить, що ви запитуєте, обирає тривалість та приймає або відхиляє. Екран відображається мовою пацієнта.
3. Ви отримуєте токен доступу, обмежений цими областями дії та цим пацієнтом. Токени мають короткий термін дії; токени оновлення діють так само довго, як і згода.
4. Кожне читання та запис за допомогою цього токена реєструється з назвою вашого застосунку. Пацієнт бачить журнал у своєму застосунку.
5. Якщо пацієнт відкликає згоду, наступний запит завершується з чіткою помилкою. Ви отримуєте webhook, щоб мати можливість очистити дані.

Цей потік є стандартним OAuth 2.1 з PKCE та областями дії SMART on FHIR, тому існуючі бібліотеки працюватимуть. Посібник [Автентифікація та OAuth](https://developers.anpheros.com/uk/guides/authentication) містить точні параметри, а [Модель згоди та доступу](https://developers.anpheros.com/uk/guides/consent) — правила, що стоять за цим.

## Що це змінює у вашому додатку

- **Ви запитуєте менше.** Області дії (scopes) визначаються для кожного типу ресурсу та напрямку. Додаток, який відображає вагу, запитує `Observation.read`, а не весь запис.
- **Ви проектуєте для відкликання.** Доступ може бути припинено в будь-який час. Кешуйте мінімально, перечитуйте за потреби та обробляйте помилку відкликання як нормальний стан.
- **Ви отримуєте довіру безкоштовно.** Пацієнти бачать назву вашого додатку, до чого він має доступ і коли він востаннє читав дані. Додатки, які поводяться належним чином, легше прийняти.
- **Ви пишете з походженням (provenance).** Усе, що ви записуєте, містить ваш додаток як автора, а коли це доречно, і особу, від імені якої це зроблено. Пацієнт та інші додатки можуть відрізнити ваші дані від своїх.

## Ідентифікатори, що не розкривають інформацію

Кожен додаток бачить пацієнта під парним ідентифікатором: одна й та сама особа матиме різний ID у вашому додатку та в іншому. Два додатки не можуть об'єднувати свої дані про особу без згоди пацієнта, навіть якщо обидва побудовані на Anpheros. Для вашого коду це непомітно; для пацієнта це різниця між згодою та формальністю.

## Сім'ї та опікуни

Згода поширюється на осіб, які керують записами для інших: батько для дитини, доросла дитина для літнього батька. Запис залишається з обліковим записом, який його створив; інші облікові записи отримують доступ, який може бути відкликаний. Ваш додаток бачить той самий механізм згоди, де опікун є особою, яка приймає.

## Пов'язане

- [Модель згоди та доступу](https://developers.anpheros.com/uk/guides/consent)
- [Автентифікація та OAuth](https://developers.anpheros.com/uk/guides/authentication)
- [Бекенд SMART on FHIR](https://developers.anpheros.com/uk/guides/smart-on-fhir-backend)
- [API для охорони здоров'я](https://developers.anpheros.com/uk/guides/healthcare-api)
- [Безпека, конфіденційність та місцезнаходження даних](https://developers.anpheros.com/uk/guides/security)
