Sağlık verileri yetkilendirmesi, mobil platformların sistem API'leri aracılığıyla tıbbi ve fitness verilerini okumak ve yazmak için kullanıcının açık onayını alma sürecidir. iOS'ta yetkilendirme, HKHealthStore ve HKObjectType sınıflarıyla HealthKit üzerinden gerçekleştirilirken, Android'de OAuth 2.0 ve FitnessOptions ile Google Fit API üzerinden yapılır. Apple HealthKit Documentation, 2025'e göre sağlık verileri özellikle hassas bir kategori olarak sınıflandırılır. Tıbbi doğruluk ve düzenlemelere uygunluk, bu tür verilerle çalışırken temel gereksinimlerdir.
Ana Noktalar
Sağlık verileri yetkilendirmesi, kullanıcının tıbbi ve fitness parametrelerine erişmeden önce açık ve belgelenmiş onayını gerektiren bir mekanizmadır. Standart izinlerden (kişiler, takvim) farklı olarak sağlık verileri ek yasal düzenlemelere tabidir: ABD'de HIPAA, Avrupa'da GDPR ve Rusya'da 152-FZ.
iOS'ta sağlık yetkilendirmesi HealthKit ile gerçekleştirilir: kullanıcı, uygulamanın talep ettiği tüm veri türlerinin listesini içeren bir ekran görür ve erişim izni vereceği belirli kategorileri seçebilir. Android'de ise OAuth 2.0 ile yetkilendirme yapan Google Fit API kullanılır ve her veri türü için ayrı bir scope talep edilir.
App Annie (2025) verilerine göre sağlık ve fitness uygulamaları, yıllık %28 büyüme oranıyla mobil pazarın en hızlı büyüyen segmentlerinden biridir. Kullanıcıların %71'i, uygulama veri toplama amacına dair net bir açıklama sunmazsa sağlık verilerine erişimi reddeder.
Sağlık yetkilendirmesinin diğer izinlerden temel farkı, kısmi erişim sağlayabilme yeteneğidir. Kullanıcı adım sayısının okunmasına izin verebilir ancak kalp atış hızı verilerine veya tıbbi kayıtlara erişimi reddedebilir.
HealthKit, iOS 8 ile tanıtılan ve birleşik merkezi bir sağlık verisi deposu sağlayan bir Apple framework'üdür. Uygulamaların HealthKit'e doğrudan erişimi yoktur — HKHealthStore üzerinden yetkilendirme talep ederler ve kullanıcı hangi veri türlerinin sağlanacağına karar verir. Tüm veriler cihazda şifrelenir ve uçtan uca şifreleme ile iCloud üzerinden senkronize edilir.
Yetkilendirme süreci, bir HKHealthStore örneği oluşturmak ve requestAuthorization(toShare:read:) yöntemini çağırmakla başlar. Uygulama iki veri kümesi iletir: okuma için (uygulamanın okumak istediği HKObjectType) ve yazma için (uygulamanın kaydetmek istediği HKSampleType). Sistem, kullanıcının her türü ayrı ayrı etkinleştirip devre dışı bırakabildiği bir onay ekranı gösterir.
Önemli bir özellik: HealthKit, geliştiriciye kullanıcının onay ekranında hangi türlere izin verdiğini göstermez. RequestAuthorization çağrısından sonra, HKHealthStore.authorizationStatus(for:) aracılığıyla her türe erişim ayrı ayrı kontrol edilmelidir. WWDC Session 11108 (2024)'e göre Apple, her okuma veya yazma işleminden önce yetkilendirme durumunun kontrol edilmesini önerir.
HealthKit, kategorilere ayrılmış yüzlerce veri türünü destekler: miktar (adım, nabız, kalori), özellikler (boy, kilo, doğum tarihi), klinik kayıtlar (alerjiler, aşılar, test sonuçları), semptomlar ve adet döngüsü. Her tür, HKObjectType'ın bir alt sınıfıyla temsil edilir: sayısal veriler için HKQuantityType ve kategorik veriler için HKCategoryType.
iOS 18 ile Apple, FHIR (Fast Healthcare Interoperability Resources) aracılığıyla sağlık kurumlarından gelen verileri desteklemek için HealthKit'i genişletti. Kullanıcı hastanesini veya kliniğini Sağlık uygulamasına bağladıysa uygulamalar yapılandırılmış tıbbi kayıtlara erişim talep edebilir.
Google Fit, Android'de fitness verileri için OAuth 2.0 ile yetkilendirme kullanan bir platformdur. HealthKit'in aksine Google Fit, işletim sistemine sistem düzeyinde gömülü değildir — Google Play Console üzerinden kayıt ve OAuth 2.0 kimlik bilgileri oluşturulmasını gerektiren ayrı bir Google Play Services hizmetidir.
Google Fit'e erişmek için uygulamanın Google Cloud Console'da bir OAuth 2.0 istemci kimliği kaydetmesi gerekir. Yetkilendirme GoogleSignInAccount ve GoogleSignIn.requestPermissions() aracılığıyla talep edilir. Kullanıcı, talep edilen scope'ların listesini içeren standart Google onay ekranını görür: fitness.activity.read, fitness.body.read, fitness.nutrition.write ve diğerleri.
Google Fit, her veri türü için okuma ve yazma izinlerini ayırır. Uygulama, yazma izni talep etmeden adım sayısını okumak için erişim talep edebilir. Google Fit API v2'den itibaren tüm yetkilendirme talepleri, veri kullanım amacının bir açıklamasını içermelidir — aksi takdirde talep Google moderasyonu tarafından reddedilir.
FitnessOptions sınıfı, hangi veri türlerine erişilmesi gerektiğini bildirimsel olarak belirtmeyi sağlar. Her tür için erişim düzeyi ayarlanabilir: ACCESS_READ, ACCESS_WRITE veya her ikisi. İzin seti, kullanıcı hesabıyla birlikte GoogleSignin.requestPermissions()'a iletilir.
Mevcut türlerin listesi şunları içerir: adım (DataType.TYPE_STEP_COUNT_DELTA), kalori (TYPE_CALORIES_EXPENDED), nabız (TYPE_HEART_RATE_BPM), mesafe (TYPE_DISTANCE_DELTA), aktivite (TYPE_ACTIVITY_SEGMENT) ve uyku (TYPE_SLEEP_SEGMENT). Her türün kendi güncelleme sıklığı ve izin gereksinimleri vardır.
Sağlık verileri yetkilendirme talebinin uygulanması iOS ve Android'de önemli ölçüde farklılık gösterir. Aşağıda HealthKit ve Google Fit API için çalışan örnekler verilmiştir.
Swift'te HealthKit yetkilendirme talebi, okuma ve yazma türleri belirtilerek HKHealthStore aracılığıyla gerçekleştirilir. Örnek, adım ve nabız verilerine erişim talebini gösterir.
import HealthKit
let healthStore = HKHealthStore()
let readTypes: Set<HKObjectType> = [
HKObjectType.quantityType(forIdentifier: .stepCount)!,
HKObjectType.quantityType(forIdentifier: .heartRate)!
]
let writeTypes: Set<HKSampleType> = [
HKObjectType.quantityType(forIdentifier: .stepCount)!
]
guard HKHealthStore.isHealthDataAvailable() else {
fatalError("HealthKit bu cihazda kullanılamıyor")
}
healthStore.requestAuthorization(toShare: writeTypes, read: readTypes) { success, error in
if success {
// Her türün durumunu ayrı ayrı kontrol ediyoruz
let status = healthStore.authorizationStatus(for: readTypes.first!)
print("HealthKit yetkilendirmesi: \(status.rawValue)")
} else {
print("HealthKit yetkilendirme hatası: \(error?.localizedDescription ?? "bilinmeyen")")
}
}
Android'de Google Fit yetkilendirmesi, GoogleSignIn ve FitnessOptions aracılığıyla gerçekleştirilir. Örnek, adım ve kalori verilerine erişim talebini gösterir.
val fitnessOptions = FitnessOptions.builder()
.addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_CALORIES_EXPENDED, FitnessOptions.ACCESS_READ)
.build()
val account = GoogleSignIn.getAccountForExtension(this, fitnessOptions)
if (!GoogleSignIn.hasPermissions(account, fitnessOptions)) {
GoogleSignIn.requestPermissions(
this,
REQUEST_GOOGLE_FIT,
account,
fitnessOptions
)
} else {
// İzinler zaten verildi — veriler okunuyor
readGoogleFitData(account)
}
// İzin talebi sonucunun işlenmesi
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_GOOGLE_FIT && resultCode == RESULT_OK) {
val account = GoogleSignIn.getSignedInAccountFromIntent(data)
account?.let { readGoogleFitData(it) }
}
}
Sağlık verileri, kişisel verilerin özellikle hassas bir kategorisine aittir. HealthKit veya Google Fit ile çalışan uygulama geliştiricileri, kullanıcıların bulunduğu bölgede geçerli olan düzenleyici gereksinimlere uymak zorundadır.
ABD'de sağlık verileri, tıbbi bilgilerin saklanması, iletilmesi ve işlenmesi için katı gereksinimler belirleyen HIPAA (Health Insurance Portability and Accountability Act) yasasına tabidir. HealthKit ile çalışan uygulamalar, veriler şifrelenmiş biçimde sunucuya iletilirse ve erişim sınırlandırılırsa HIPAA uyumlu olabilir.
Avrupa Birliği'nde sağlık verileri, GDPR (madde 9) uyarınca özel bir kişisel veri kategorisi olarak kabul edilir. Bu tür verilerin işlenmesi, kullanıcının açık onayını ve çoğu durumda bir veri koruma etki değerlendirmesini gerektirir. GDPR gereksinimlerinin ihlali, 20 milyon avroya veya şirketin yıllık küresel cirosunun %4'üne kadar para cezasıyla sonuçlanabilir.
Rusya'da sağlık verilerinin toplanması, 152-FZ «Kişisel Veriler Hakkında» yasasıyla düzenlenir. 2025'ten itibaren Rusya vatandaşlarının tıbbi verilerini işleyen tüm uygulamalar, Roskomnadzor gereksinimlerine uygun olarak sertifikalı şifreleme araçları kullanmak ve verileri Rusya Federasyonu topraklarında bulunan sunucularda depolamak zorundadır.
Öneri: sağlık verileriyle çalışan bir uygulamayı yayınlamadan önce, yerel düzenlemelere uygunluğu kontrol etmek için hukuk departmanına danışın. Apple ve Google, gizlilik politikası gereksinimleri karşılamıyorsa uygulamayı reddetme hakkını saklı tutar.
Sıkça Sorulan Sorular
HealthKit, yerel şifrelenmiş sağlık verisi deposuna sahip entegre bir iOS framework'üdür. Google Fit, yetkilendirme için OAuth 2.0 kullanan Google Play Services tabanlı bir bulut hizmetidir. HealthKit çevrimdışı çalışır, Google Fit senkronizasyon için internet bağlantısı gerektirir.
Evet, her iki platformda da. iOS'ta kullanıcı, HealthKit onay ekranında belirli veri türlerini (adım, nabız, uyku) seçer. Android'de kullanıcı, Google Fit scope'larının listesini görür ve Google hesap ayarlarından tek tek izinleri iptal edebilir.
HKHealthStore, iOS'ta HealthKit framework'ünün merkezi sınıfıdır. Tüm sağlık verilerinin yetkilendirmesini, okunmasını ve yazılmasını yönetir. Uygulama HealthKit deposuna doğrudan erişemez — tüm işlemler HKHealthStore üzerinden gerçekleşir, bu da birleşik bir erişim arayüzü ve kullanıcı erişim haklarına uygunluğu garanti eder.
Kullanıcı, Google Ayarları — Hesap yönetimi — Güvenlik — Erişimi olan üçüncü taraf uygulamalar üzerinden erişimi iptal edebilir. Uygulamayı seçin ve «Erişimi kaldır»a tıklayın. Ayrıca Google Play Console üzerinden de erişim iptal edilebilir: Bağlı hizmetler — Google Fit — Uygulama yönetimi.
Uygulama, ABD'deki kullanıcıların sağlık verilerini işliyor ve sunucuya iletiyorsa, HIPAA uyumu zorunludur. Tüm veriler cihazda yerel olarak kalıyorsa ve üçüncü taraflara iletilmiyorsa, uygulamanın HIPAA uyumlu olması gerekmeyebilir, ancak Apple, yargı yetkisinden bağımsız olarak en iyi güvenlik uygulamalarının izlenmesini önerir.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun