# Hasta Onayı ile Sağlık API'si

> Bir kayda erişimin hasta tarafından OAuth 2.1 kapsamları ve süreleri aracılığıyla nasıl verildiği, kaydedildiği ve geri alınabildiği, bir uygulamada neleri değiştirdiği ve ikili kimliklerin uygulamaları nasıl birbirinden ayırdığı.

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

**Hasta onayı ile sağlık API'si, veriyi tutan kuruluş tarafından bir kez kararlaştırılan bir erişim yerine, bir kayda erişimin hasta tarafından, bir amaç için, belirli bir süre için verildiği ve hasta tarafından görülebilip geri alınabildiği bir API'dir.** Anpheros'ta onay (consent) ayarlayacağınız bir alan değildir; bir uygulamanın bir kayda erişebilmesinin temel mekanizmasıdır. Bu kılavuz, bunun bir geliştirici için nasıl çalıştığını ve bir uygulamanın tasarımında neleri değiştirdiğini açıklamaktadır.

## Bir kayda ulaşmanın iki yolu

| | Kurumsal erişim | Hasta tarafından verilen erişim |
|---|---|---|
| Kim yetkilendirir | kuruluşunuz, bir API anahtarı aracılığıyla | hasta, bir OAuth 2.1 onay ekranı aracılığıyla |
| Tipik kullanım | sonuçları yazan bir klinik veya laboratuvar, kullanıcıları adına yazan kendi uygulamanız | üçüncü taraf bir uygulama, bir yapay zeka asistanı, bir doktorun aracı, bir aile üyesi |
| Kapsam | kuruluşunuzun oluşturduğu veya kendisine paylaşılan hastalar | hastanın kabul ettiği kapsamlar (`patient/Observation.read`, …) |
| Süre | anahtar geçerli olduğu sürece | hastanın seçtiği süre; yenilenebilir, geri alınabilir |
| Hastanın görebilmesi | evet, erişim günlüğünde | evet, geri çekme yeteneği ile |

Her iki yol da aynı API ve aynı FHIR kaydından geçer. Fark, kapının anahtarını kimin elinde tuttuğudur.

## Rıza akışı, adım adım

1. Uygulamanız, ihtiyaç duyduğu kapsamları (scopes) ve açık dilde bir nedeni belirterek hastayı Anpheros yetkilendirme uç noktasına gönderir.
2. Hasta, ne istediğinizi görür, bir süre seçer ve kabul eder veya reddeder. Ekran hastanın dilindedir.
3. Belirtilen kapsamlar ve hasta ile sınırlı bir erişim belirteci (access token) alırsınız. Belirteçler kısa ömürlüdür; yenileme belirteçleri (refresh tokens) rıza süresi boyunca geçerlidir.
4. O belirteç ile yapılan her okuma ve yazma işlemi, uygulamanızın adıyla günlüğe kaydedilir. Hasta günlüğü kendi uygulamasında görür.
5. Hasta rızayı geri çekerse, bir sonraki istek net bir hata ile başarısız olur. Temizleme yapabilmeniz için bir webhook alırsınız.

Akış, PKCE ve SMART on FHIR kapsamları ile standart OAuth 2.1'dir, bu nedenle mevcut kütüphaneler çalışır. [Kimlik Doğrulama ve OAuth](https://developers.anpheros.com/tr/guides/authentication) kılavuzu tam parametreleri ve [Rıza ve erişim modeli](https://developers.anpheros.com/tr/guides/consent) ise arkasındaki kuralları içerir.

## Uygulamanızda Neler Değişir

- **Daha az talep edersiniz.** Kapsamlar, kaynak türüne ve yönüne göre belirlenir. Kilo takibi yapan bir uygulama, tüm kaydı değil, `Observation.read`'yi talep eder.
- **Geri çekilme için tasarım yaparsınız.** Erişimin herhangi bir zamanda sona erebileceğini unutmayın. Az önbelleğe alın, gerektiğinde yeniden okuyun ve iptal edilen hatayı normal bir durum olarak ele alın.
- **Ücretsiz olarak güven kazanırsınız.** Hastalar uygulamanızın adını, neye erişebileceğini ve en son ne zaman bir şey okuduğunu görürler. İyi davranan uygulamaların kabul edilmesi daha kolaydır.
- **Köken bilgisiyle yazarsınız.** Yazdığınız her şey, yazar olarak uygulamanızı ve ilgili durumlarda kimin adına yazıldığını taşır. Hasta ve diğer uygulamalar verilerinizi kendilerininkinden ayırt edebilir.

## Sızdırmayan Tanımlayıcılar

Her uygulama, bir hastayı ikili bir tanımlayıcı altında görür: aynı kişi sizin uygulamanızda farklı bir kimliğe, başka bir uygulamada ise farklı bir kimliğe sahiptir. İki uygulama, her ikisi de Anpheros üzerine kurulu olsa bile, hastanın izni olmadan bir kişi hakkındaki verilerini birleştiremez. Kodunuz için bu görünmezdir; hasta için bu, onay ile bir formalite arasındaki farktır.

## Aileler ve Bakım Verenler

Rıza, başkaları adına kayıtları yöneten kişileri de kapsar: bir çocuğun ebeveyni, yaşlı bir ebeveynin yetişkin çocuğu. Kayıt, onu oluşturan hesapla birlikte kalır; diğer hesaplar erişim alır ve bu erişim geri çekilebilir. Uygulamanız, bakım verenin kabul eden kişi olduğu aynı rıza mekanizmasını görür.

## İlgili Konular

- [Onay ve erişim modeli](https://developers.anpheros.com/tr/guides/consent)
- [Kimlik doğrulama ve OAuth](https://developers.anpheros.com/tr/guides/authentication)
- [SMART on FHIR arka ucu](https://developers.anpheros.com/tr/guides/smart-on-fhir-backend)
- [Sağlık Hizmetleri API'si](https://developers.anpheros.com/tr/guides/healthcare-api)
- [Güvenlik, gizlilik ve veri ikametgahı](https://developers.anpheros.com/tr/guides/security)
