# API opieki zdrowotnej z zgodą pacjenta

> Jak dostęp do rekordu jest udzielany przez pacjenta za pomocą zakresów i okresów OAuth 2.1, rejestrowany i możliwy do wycofania, co zmienia w projekcie aplikacji i jak identyfikatory parowe rozdzielają aplikacje.

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

**API opieki zdrowotnej z zgodą pacjenta to takie, w którym dostęp do rekordu jest udzielany przez pacjenta, w określonym celu, na określony czas, i może być przeglądany oraz wycofywany przez pacjenta, zamiast być jednorazowo decydowany przez organizację posiadającą dane.** W Anpheros zgoda nie jest polem, które ustawiasz; jest to mechanizm, dzięki któremu aplikacja w ogóle uzyskuje dostęp do rekordu. Ten przewodnik wyjaśnia, jak to działa dla dewelopera i co zmienia w projekcie aplikacji.

## Dwa sposoby dostępu do rekordu

| | Dostęp przez organizację | Dostęp udzielony przez pacjenta |
|---|---|---|
| Kto autoryzuje | Twoja organizacja, za pomocą klucza API | Pacjent, za pomocą ekranu zgody OAuth 2.1 |
| Typowe zastosowanie | przychodnia lub laboratorium zapisujące wyniki, Twoja własna aplikacja zapisująca w imieniu swoich użytkowników | aplikacja strony trzeciej, asystent AI, narzędzie lekarza, członek rodziny |
| Zakres | pacjenci utworzeni przez Twoją organizację lub udostępnieni jej | zakresy zaakceptowane przez pacjenta (`patient/Observation.read`, …) |
| Czas trwania | dopóki klucz jest ważny | czas wybrany przez pacjenta; odnawialny, odwoływalny |
| Widoczne dla pacjenta | tak, w logu dostępu | tak, z możliwością wycofania |

Obie ścieżki prowadzą przez to samo API i ten sam rekord FHIR. Różnica polega na tym, kto posiada klucz do drzwi.

## Przepływ zgody, krok po kroku

1. Twoja aplikacja wysyła pacjenta do punktu końcowego autoryzacji Anpheros z wymaganymi zakresami (scopes) i uzasadnieniem w języku naturalnym.
2. Pacjent widzi, o co prosisz, wybiera czas trwania i akceptuje lub odrzuca. Ekran jest w języku pacjenta.
3. Otrzymujesz token dostępu ograniczony do tych zakresów i tego pacjenta. Tokeny mają krótki okres ważności; tokeny odświeżające są ważne tak długo, jak zgoda.
4. Każde odczytanie i zapisanie za pomocą tego tokenu jest rejestrowane z nazwą Twojej aplikacji. Pacjent widzi log w swojej aplikacji.
5. Jeśli pacjent wycofa zgodę, następne żądanie zakończy się niepowodzeniem z jasnym komunikatem błędu. Otrzymujesz webhook, abyś mógł przeprowadzić czyszczenie.

Przepływ jest standardowy dla OAuth 2.1 z PKCE i zakresami SMART on FHIR, więc istniejące biblioteki działają. Przewodnik [Uwierzytelnianie i OAuth](https://developers.anpheros.com/pl/guides/authentication) zawiera dokładne parametry, a [Model zgody i dostępu](https://developers.anpheros.com/pl/guides/consent) zasady, które się za nim kryją.

## Co to zmienia w Twojej aplikacji

- **Wymagasz mniej.** Zakresy są per typ zasobu i per kierunek. Aplikacja, która tworzy wykres wagi, wymaga `Observation.read`, a nie całego rekordu.
- **Projektujesz z myślą o wycofaniu.** Dostęp może zakończyć się w dowolnym momencie. Buforuj niewiele, odczytuj ponownie w razie potrzeby i traktuj błąd cofnięcia dostępu jako normalny stan.
- **Otrzymujesz zaufanie za darmo.** Pacjenci widzą nazwę Twojej aplikacji, do czego ma dostęp i kiedy ostatnio coś odczytała. Aplikacje, które działają poprawnie, są łatwiejsze do zaakceptowania.
- **Piszesz z pochodzeniem.** Wszystko, co zapisujesz, zawiera Twoją aplikację jako autora, a gdy jest to istotne, osobę, w imieniu której działa. Pacjent i inne aplikacje mogą odróżnić Twoje dane od swoich.

## Identyfikatory, które nie ujawniają informacji

Każda aplikacja widzi pacjenta pod identyfikatorem parzystym: ta sama osoba ma inny identyfikator w Twojej aplikacji i w innej. Dwie aplikacje nie mogą połączyć swoich danych o osobie bez zgody pacjenta, nawet jeśli obie są zbudowane na Anpheros. Dla Twojego kodu jest to niewidoczne; dla pacjenta jest to różnica między zgodą a formalnością.

## Rodziny i opiekunowie

Zgoda rozciąga się na osoby zarządzające danymi innych osób: rodzica dla dziecka, dorosłego dziecka dla starszego rodzica. Rekord pozostaje na koncie, które go utworzyło; inne konta otrzymują dostęp, który może zostać wycofany. Twoja aplikacja widzi ten sam mechanizm zgody, z opiekunem jako osobą akceptującą.

## Powiązane

- [Model zgody i dostępu](https://developers.anpheros.com/pl/guides/consent)
- [Uwierzytelnianie i OAuth](https://developers.anpheros.com/pl/guides/authentication)
- [Backend SMART on FHIR](https://developers.anpheros.com/pl/guides/smart-on-fhir-backend)
- [API opieki zdrowotnej](https://developers.anpheros.com/pl/guides/healthcare-api)
- [Bezpieczeństwo, prywatność i rezydencja danych](https://developers.anpheros.com/pl/guides/security)
