Ауторизација здравствених података у мобилном развоју: суштина, начин рада и приступ HealthKit-у

Аутор: IT Sectr Објављено: 2026-05-22 Време читања: 8 мин

Ауторизација здравствених података је процес добијања изричите сагласности корисника за читање и писање медицинских и фитнес података путем системских API-ја мобилних платформи. На iOS-у ауторизација је реализована кроз HealthKit са класама HKHealthStore и HKObjectType, а на Android-у — кроз Google Fit API са OAuth 2.0 и FitnessOptions. Према Apple HealthKit Documentation, 2025, здравствени подаци се класификују као категорија посебно поверљивих. Медицинска прецизност и усклађеност са прописима су кључни захтеви при раду са таквим подацима.

Главно

  • Health Data Authorization — обавезан процес добијања сагласности за приступ медицинским подацима корисника.
  • HealthKit — Apple-ов framework за рад са здравственим подацима, укључујући HKHealthStore и HKObjectType.
  • Google Fit API — Android платформа за приступ фитнес подацима путем OAuth 2.0 и FitnessOptions.
  • HKHealthStore — централна iOS класа за захтевање ауторизације и извођење операција са здравственим подацима.
  • Сагласност корисника — обавезан корак у којем корисник бира одређене врсте података за одобравање приступа.

Шта је ауторизација здравствених података?

Ауторизација здравствених података је механизам који захтева изричиту и документовану сагласност корисника пре приступа његовим медицинским и фитнес показатељима. За разлику од стандардних дозвола (контакти, календар), здравствени подаци су регулисани додатним правним нормама: HIPAA у САД, GDPR у Европи и 152-ФЗ у Русији.

На iOS-у ауторизација здравља је реализована кроз HealthKit: корисник види екран са списком свих врста података које апликација захтева и може да изабере одређене категорије за одобравање приступа. На Android-у користи се Google Fit API са ауторизацијом путем OAuth 2.0, где се за сваку врсту података захтева посебан опсег.

Према подацима App Annie (2025), апликације за здравље и фитнес су један од најбрже растућих сегмената мобилног тржишта са годишњим растом од 28%. Истовремено, 71% корисника одбија приступ здравственим подацима ако апликација не пружа јасно објашњење сврхе прикупљања.

Кључна разлика ауторизације здравља у односу на друге дозволе — могућност одобравања делимичног приступа. Корисник може дозволити читање корака, али забранити приступ подацима о откуцајима срца или медицинским записима.

Како функционише HealthKit на iOS-у

HealthKit је Apple-ов framework представљен у iOS 8 који пружа јединствено централизовано складиште здравствених података. Апликације немају директан приступ HealthKit-у — оне захтевају ауторизацију путем HKHealthStore-а, а корисник одлучује које врсте података да обезбеди. Сви подаци су шифровани на уређају и синхронизовани путем iCloud-а са енд-то-енд шифровањем.

Захтевање приступа HealthKit-у

Процес ауторизације почиње креирањем инстанце HKHealthStore и позивањем метода requestAuthorization(toShare:read:). Апликација прослеђује два сета врста: за читање (HKObjectType које апликација жели да чита) и за писање (HKSampleType које апликација жели да чува). Систем приказује екран сагласности на којем корисник укључује или искључује сваку врсту појединачно.

Важна карактеристика: HealthKit не показује програмеру које тачно врсте је корисник дозволио на екрану сагласности. Након позива requestAuthorization потребно је појединачно проверити приступ свакој врсти путем HKHealthStore.authorizationStatus(for:). Према WWDC Session 11108 (2024), Apple препоручује проверу статуса ауторизације пре сваке операције читања или писања.

Врсте података HKObjectType

HealthKit подржава стотине врста података подељених у категорије: квантитативне (кораци, пулс, калорије), карактеристике (висина, тежина, датум рођења), клинички записи (алергије, вакцинације, резултати анализа), симптоми и менструални циклус. Свака врста је представљена подкласом HKObjectType: HKQuantityType за нумеричке показатеље и HKCategoryType за категоричке податке.

Од iOS 18, Apple је проширио HealthKit подршком за податке из медицинских установа путем FHIR (Fast Healthcare Interoperability Resources). Апликације могу захтевати приступ структурираним медицинским записима ако је корисник повезао своју болницу или клинику са Health апликацијом.

Како функционише Google Fit API на Android-у

Google Fit је платформа за рад са фитнес подацима на Android-у која користи ауторизацију путем OAuth 2.0. За разлику од HealthKit-а, Google Fit није уграђен у оперативни систем на системском нивоу — то је засебна услуга Google Play Services која захтева повезивање путем Google Play Console и креирање OAuth 2.0 акредитива.

Google Fit и OAuth 2.0

За приступ Google Fit-у, апликација мора да региструје OAuth 2.0 клијент ID у Google Cloud Console. Ауторизација се захтева путем GoogleSignInAccount и GoogleSignIn.requestPermissions(). Корисник види стандардни екран сагласности Google-а са навођењем захтеваних опсега: fitness.activity.read, fitness.body.read, fitness.nutrition.write и друге.

Google Fit раздваја дозволе за читање и писање за сваку врсту података. Апликација може захтевати приступ читању броја корака без захтевања права за писање. Од Google Fit API v2, сви захтеви за ауторизацију морају укључивати опис сврхе коришћења података — без тога захтев се одбија од стране Google модерације.

FitnessOptions и Опсези

Класа FitnessOptions омогућава декларативно навођење којим врстама података је потребан приступ. За сваку врсту се може поставити ниво приступа: ACCESS_READ, ACCESS_WRITE или оба. Скуп дозвола се прослеђује GoogleSignin.requestPermissions() заједно са налогом корисника.

Листа доступних врста укључује: кораке (DataType.TYPE_STEP_COUNT_DELTA), калорије (TYPE_CALORIES_EXPENDED), пулс (TYPE_HEART_RATE_BPM), раздаљину (TYPE_DISTANCE_DELTA), активност (TYPE_ACTIVITY_SEGMENT) и сан (TYPE_SLEEP_SEGMENT). Свака врста има сопствену учесталост ажурирања и захтеве за дозволама.

Примери кода за приступ здравственим подацима

Имплементација захтева за ауторизацију здравствених података значајно се разликује на iOS-у и Android-у. Испод су радни примери за HealthKit и Google Fit API.

HealthKit у Swift-у

У Swift-у, захтев за ауторизацију HealthKit-а се извршава путем HKHealthStore-а са навођењем врста за читање и писање. Пример демонстрира захтев за приступ подацима о корацима и пулсу.

swift
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 није доступан на овом уређају")
}

healthStore.requestAuthorization(toShare: writeTypes, read: readTypes) { success, error in
    if success {
        // Проверавамо статус сваке врсте посебно
        let status = healthStore.authorizationStatus(for: readTypes.first!)
        print("Ауторизација HealthKit-а: \(status.rawValue)")
    } else {
        print("Greшка ауторизације HealthKit-а: \(error?.localizedDescription ?? "неизвестная")")
    }
}

Google Fit у Kotlin-у

На Android-у, ауторизација Google Fit-а се извршава путем GoogleSignIn и FitnessOptions. Пример демонстрира захтев за приступ подацима о корацима и калоријама.

kotlin
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 {
    // Дозволе су већ одобрене — читамо податке
    readGoogleFitData(account)
}

// Обрада резултата захтева за дозволе
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) }
    }
}

Безбедност и усклађеност са прописима

Здравствени подаци спадају у посебно осетљиву категорију личних података. Програмери апликација које раде са HealthKit-ом или Google Fit-ом дужни су да се придржавају регулаторних захтева који важе у региону корисника.

HIPAA и GDPR за здравствене податке

У САД, здравствени подаци су регулисани законом HIPAA (Health Insurance Portability and Accountability Act), који поставља строге захтеве за чување, пренос и обраду медицинских информација. Апликације које раде са HealthKit-ом могу бити у складу са HIPAA-ом ако се подаци преносе на сервер у шифрованом облику и приступ им је ограничен.

У Европској унији, здравствени подаци се сматрају посебном категоријом личних података према GDPR-у (члан 9). Обрада таквих података захтева изричиту сагласност корисника и, у већини случајева, спровођење процене утицаја на заштиту података. Кршење захтева GDPR-а може резултирати казнама до 20 милиона евра или 4% годишњег промета компаније.

У Русији прикупљање здравствених података регулисано је 152-ФЗ „О личним подацима“. Од 2025. године, све апликације које обрађују медицинске податке грађана Руске Федерације морају користити сертификована средства за шифровање и чувати податке на серверима који се налазе на територији Руске Федерације, у складу са захтевима Роскомнадзора.

Препорука: пре објављивања апликације која ради са здравственим подацима, консултујте се са правним одељењем ради провере усклађености са локалним прописима. Apple и Google задржавају право да одбију апликацију ако њена политика приватности не испуњава захтеве.

Често постављана питања

Која је разлика између HealthKit-а и Google Fit-а?

HealthKit — уграђени iOS framework са локалним шифрованим складиштем здравствених података. Google Fit — облачна услуга заснована на Google Play Services, која користи OAuth 2.0 за ауторизацију. HealthKit ради офлајн, Google Fit захтева интернет везу за синхронизацију.

Може ли корисник одобрити делимичан приступ здравственим подацима?

Да, на обе платформе. На iOS-у корисник бира одређене врсте података (кораци, пулс, сан) на екрану сагласности HealthKit-а. На Android-у корисник види листу опсега Google Fit-а и може опозвати појединачне дозволе путем подешавања Google налога.

Шта је HKHealthStore и чему служи?

HKHealthStore — централна класа HealthKit framework-а на iOS-у. Управља ауторизацијом, читањем и писањем свих здравствених података. Апликација не може директно приступити складишту HealthKit-а — све операције пролазе кроз HKHealthStore, што гарантује јединствени интерфејс приступа и поштовање права приступа корисника.

Како опозвати приступ Google Fit-а за апликацију?

Корисник може опозвати приступ путем Google Подешавања — Управљање налогом — Безбедност — Апликације трећих страна са приступом. Изаберите апликацију и кликните „Уклони приступ“. Такође се може опозвати приступ путем Google Play Console: Повезане услуге — Google Fit — Управљање апликацијама.

Да ли је усклађеност са HIPAA-ом обавезна за апликације са HealthKit-ом?

Ако апликација обрађује здравствене податке корисника у САД и прослеђује их на сервер, усклађеност са HIPAA је обавезна. Ако сви подаци остају локално на уређају и не преносе се трећим странама, апликација можда не захтева усклађеност са HIPAA-ом, али Apple препоручује праћење најбољих безбедносних пракси без обзира на јурисдикцију.

Закључак

  • Health Data Authorization — обавезан процес добијања изричите сагласности корисника за приступ медицинским подацима.
  • HealthKit — Apple-ов framework за рад са здравственим подацима путем HKHealthStore-а на iOS-у.
  • Google Fit API — Android платформа за приступ фитнес подацима путем OAuth 2.0 и FitnessOptions.
  • Врсте података — HealthKit подржава квантитативне, категоричке и клиничке податке; Google Fit — кораке, калорије, пулс, активност и сан.
  • Делимичан приступ — корисник може одобрити приступ неким врстама података, одбијајући друге, на обе платформе.
  • HIPAA и GDPR — регулаторни захтеви обавезни при обради здравствених података на територији САД и Европске уније.
  • Руско регулисање — 152-ФЗ захтева сертификовано шифровање и чување података на серверима у РФ при раду са медицинским подацима грађана Русије.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође