Autorizarea datelor de sănătate în dezvoltarea mobilă: esența, funcționarea și accesul la HealthKit

Autor: IT Sectr Publicat: 2026-05-22 Timp de citire: 8 min

Autorizarea datelor de sănătate este procesul de obținere a consimțământului explicit al utilizatorului pentru citirea și scrierea datelor medicale și de fitness prin intermediul API-urilor de sistem ale platformelor mobile. Pe iOS, autorizarea este implementată prin HealthKit cu clasele HKHealthStore și HKObjectType, iar pe Android — prin Google Fit API cu OAuth 2.0 și FitnessOptions. Potrivit Apple HealthKit Documentation, 2025, datele de sănătate sunt clasificate ca o categorie deosebit de confidențială. Precizia medicală și conformitatea cu reglementările sunt cerințe cheie atunci când se lucrează cu astfel de date.

Principalele puncte

  • Health Data Authorization — proces obligatoriu de obținere a consimțământului pentru accesul la datele medicale ale utilizatorului.
  • HealthKit — framework-ul Apple pentru lucrul cu datele de sănătate, inclusiv HKHealthStore și HKObjectType.
  • Google Fit API — platforma Android pentru accesul la datele de fitness prin OAuth 2.0 și FitnessOptions.
  • HKHealthStore — clasa centrală iOS pentru solicitarea autorizării și efectuarea operațiunilor cu datele de sănătate.
  • Consimțământul utilizatorului — pas obligatoriu în care utilizatorul selectează tipurile specifice de date pentru acordarea accesului.

Ce este autorizarea datelor de sănătate?

Autorizarea datelor de sănătate este un mecanism care necesită consimțământul explicit și documentat al utilizatorului înainte de accesarea indicatorilor săi medicali și de fitness. Spre deosebire de permisiunile standard (contacte, calendar), datele de sănătate sunt reglementate de norme juridice suplimentare: HIPAA în SUA, GDPR în Europa și 152-FZ în Rusia.

Pe iOS, autorizarea sănătății este implementată prin HealthKit: utilizatorul vede un ecran cu lista tuturor tipurilor de date solicitate de aplicație și poate selecta categorii specifice pentru acordarea accesului. Pe Android, se utilizează Google Fit API cu autorizare prin OAuth 2.0, unde pentru fiecare tip de date se solicită un domeniu separat.

Potrivit App Annie (2025), aplicațiile pentru sănătate și fitness reprezintă unul dintre cele mai rapid crescânde segmente ale pieței mobile, cu o creștere anuală de 28%. În același timp, 71% dintre utilizatori refuză accesul la datele de sănătate dacă aplicația nu oferă o explicație clară a scopului colectării.

Diferența cheie a autorizării sănătății față de alte permisiuni — posibilitatea de a acorda acces parțial. Utilizatorul poate permite citirea pașilor, dar poate interzice accesul la datele privind ritmul cardiac sau înregistrările medicale.

Cum funcționează HealthKit pe iOS

HealthKit este un framework Apple introdus în iOS 8 care oferă un depozit centralizat unic pentru datele de sănătate. Aplicațiile nu au acces direct la HealthKit — ele solicită autorizarea prin HKHealthStore, iar utilizatorul decide ce tipuri de date să furnizeze. Toate datele sunt criptate pe dispozitiv și sincronizate prin iCloud cu criptare end-to-end.

Solicitarea accesului la HealthKit

Procesul de autorizare începe cu crearea unei instanțe HKHealthStore și apelarea metodei requestAuthorization(toShare:read:). Aplicația transmite două seturi de tipuri: pentru citire (HKObjectType pe care aplicația dorește să le citească) și pentru scriere (HKSampleType pe care aplicația dorește să le salveze). Sistemul afișează un ecran de consimțământ în care utilizatorul activează sau dezactivează fiecare tip individual.

O caracteristică importantă: HealthKit nu arată dezvoltatorului ce tipuri exacte a permis utilizatorul pe ecranul de consimțământ. După apelarea requestAuthorization, trebuie verificat individual accesul la fiecare tip prin HKHealthStore.authorizationStatus(for:). Potrivit WWDC Session 11108 (2024), Apple recomandă verificarea stării de autorizare înainte de fiecare operațiune de citire sau scriere.

Tipurile de date HKObjectType

HealthKit acceptă sute de tipuri de date împărțite pe categorii: cantitative (pași, puls, calorii), caracteristici (înălțime, greutate, data nașterii), înregistrări clinice (alergii, vaccinări, rezultate ale analizelor), simptome și ciclu menstrual. Fiecare tip este reprezentat de o subclasă a HKObjectType: HKQuantityType pentru indicatori numerici și HKCategoryType pentru date categorice.

Începând cu iOS 18, Apple a extins HealthKit cu suport pentru date din instituțiile medicale prin FHIR (Fast Healthcare Interoperability Resources). Aplicațiile pot solicita acces la înregistrări medicale structurate dacă utilizatorul și-a conectat spitalul sau clinica la aplicația Sănătate.

Cum funcționează Google Fit API pe Android

Google Fit este o platformă pentru lucrul cu datele de fitness pe Android care utilizează autorizarea prin OAuth 2.0. Spre deosebire de HealthKit, Google Fit nu este încorporat în sistemul de operare la nivel de sistem — este un serviciu separat Google Play Services care necesită conectare prin Google Play Console și crearea de credențiale OAuth 2.0.

Google Fit și OAuth 2.0

Pentru accesul la Google Fit, aplicația trebuie să înregistreze un ID de client OAuth 2.0 în Google Cloud Console. Autorizarea este solicitată prin GoogleSignInAccount și GoogleSignIn.requestPermissions(). Utilizatorul vede ecranul standard de consimțământ Google cu enumerarea domeniilor solicitate: fitness.activity.read, fitness.body.read, fitness.nutrition.write și altele.

Google Fit separă permisiunile pentru citire și scriere pentru fiecare tip de date. Aplicația poate solicita acces la citirea numărului de pași fără a solicita drepturi de scriere. Începând cu Google Fit API v2, toate solicitările de autorizare trebuie să includă o descriere a scopului utilizării datelor — fără aceasta, solicitarea este respinsă de moderarea Google.

FitnessOptions și Domenii

Clasa FitnessOptions permite specificarea declarativă a tipurilor de date la care este necesar accesul. Pentru fiecare tip se poate stabili nivelul de acces: ACCESS_READ, ACCESS_WRITE sau ambele. Setul de permisiuni este transmis către GoogleSignin.requestPermissions() împreună cu contul utilizatorului.

Lista tipurilor disponibile include: pași (DataType.TYPE_STEP_COUNT_DELTA), calorii (TYPE_CALORIES_EXPENDED), puls (TYPE_HEART_RATE_BPM), distanță (TYPE_DISTANCE_DELTA), activitate (TYPE_ACTIVITY_SEGMENT) și somn (TYPE_SLEEP_SEGMENT). Fiecare tip are propria frecvență de actualizare și cerințe de permisiuni.

Exemple de cod pentru accesul la datele de sănătate

Implementarea solicitării de autorizare a datelor de sănătate diferă semnificativ pe iOS și Android. Mai jos sunt exemple funcționale pentru HealthKit și Google Fit API.

HealthKit în Swift

În Swift, solicitarea de autorizare HealthKit se efectuează prin HKHealthStore cu specificarea tipurilor pentru citire și scriere. Exemplul demonstrează solicitarea accesului la datele de pași și puls.

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 nu este disponibil pe acest dispozitiv")
}

healthStore.requestAuthorization(toShare: writeTypes, read: readTypes) { success, error in
    if success {
        // Verificăm starea fiecărui tip separat
        let status = healthStore.authorizationStatus(for: readTypes.first!)
        print("Autorizarea HealthKit: \(status.rawValue)")
    } else {
        print("Eroare de autorizare HealthKit: \(error?.localizedDescription ?? "necunoscută")")
    }
}

Google Fit în Kotlin

Pe Android, autorizarea Google Fit se efectuează prin GoogleSignIn și FitnessOptions. Exemplul demonstrează solicitarea accesului la datele de pași și calorii.

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 {
    // Permisiunile au fost deja acordate — citim datele
    readGoogleFitData(account)
}

// Procesarea rezultatului solicitării de permisiuni
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) }
    }
}

Securitatea și conformitatea cu reglementările

Datele de sănătate aparțin unei categorii deosebit de sensibile de date personale. Dezvoltatorii de aplicații care lucrează cu HealthKit sau Google Fit sunt obligați să respecte cerințele de reglementare aplicabile în regiunea utilizatorilor.

HIPAA și GDPR pentru datele de sănătate

În SUA, datele de sănătate sunt reglementate de HIPAA (Health Insurance Portability and Accountability Act), care stabilește cerințe stricte pentru stocarea, transmiterea și procesarea informațiilor medicale. Aplicațiile care lucrează cu HealthKit pot fi conforme cu HIPAA dacă datele sunt transmise către server în formă criptată și accesul la ele este limitat.

În Uniunea Europeană, datele de sănătate sunt considerate o categorie specială de date personale conform GDPR (articolul 9). Procesarea unor astfel de date necesită consimțământul explicit al utilizatorului și, în majoritatea cazurilor, efectuarea unei evaluări a impactului asupra protecției datelor. Încălcarea cerințelor GDPR poate atrage amenzi de până la 20 de milioane de euro sau 4% din cifra de afaceri anuală a companiei.

În Rusia, colectarea datelor de sănătate este reglementată de 152-FZ „Cu privire la datele personale”. Din 2025, toate aplicațiile care procesează date medicale ale cetățenilor Federației Ruse sunt obligate să utilizeze instrumente de criptare certificate și să stocheze datele pe servere situate pe teritoriul Federației Ruse, în conformitate cu cerințele Roskomnadzor.

Recomandare: înainte de publicarea unei aplicații care lucrează cu date de sănătate, consultați departamentul juridic pentru verificarea conformității cu reglementările locale. Apple și Google își rezervă dreptul de a respinge aplicația dacă politica sa de confidențialitate nu respectă cerințele.

Întrebări frecvente

Care este diferența dintre HealthKit și Google Fit?

HealthKit — un framework iOS încorporat cu un depozit local criptat de date de sănătate. Google Fit — un serviciu cloud bazat pe Google Play Services care utilizează OAuth 2.0 pentru autorizare. HealthKit funcționează offline, Google Fit necesită conexiune la internet pentru sincronizare.

Poate utilizatorul să acorde acces parțial la datele de sănătate?

Da, pe ambele platforme. Pe iOS, utilizatorul selectează tipuri specifice de date (pași, puls, somn) pe ecranul de consimțământ HealthKit. Pe Android, utilizatorul vede lista domeniilor Google Fit și poate revoca permisiunile individuale prin setările contului Google.

Ce este HKHealthStore și la ce servește?

HKHealthStore — clasa centrală a framework-ului HealthKit pe iOS. Gestionează autorizarea, citirea și scrierea tuturor datelor de sănătate. Aplicația nu poate accesa direct depozitul HealthKit — toate operațiunile trec prin HKHealthStore, ceea ce garantează o interfață unică de acces și respectarea drepturilor de acces ale utilizatorului.

Cum se revocă accesul Google Fit pentru o aplicație?

Utilizatorul poate revoca accesul prin Setările Google — Gestionarea contului — Securitate — Aplicații terțe cu acces. Selectați aplicația și faceți clic pe „Ștergeți accesul”. De asemenea, se poate revoca accesul prin Google Play Console: Servicii conectate — Google Fit — Gestionarea aplicațiilor.

Este obligatorie conformitatea HIPAA pentru aplicațiile cu HealthKit?

Dacă aplicația procesează date de sănătate ale utilizatorilor din SUA și le transmite către un server, conformitatea cu HIPAA este obligatorie. Dacă toate datele rămân local pe dispozitiv și nu sunt transmise terților, aplicația poate să nu necesite conformitate HIPAA, dar Apple recomandă respectarea celor mai bune practici de securitate indiferent de jurisdicție.

Rezumat

  • Health Data Authorization — proces obligatoriu de obținere a consimțământului explicit al utilizatorului pentru accesul la datele medicale.
  • HealthKit — framework-ul Apple pentru lucrul cu datele de sănătate prin HKHealthStore pe iOS.
  • Google Fit API — platforma Android pentru accesul la datele de fitness prin OAuth 2.0 și FitnessOptions.
  • Tipuri de date — HealthKit acceptă date cantitative, categorice și clinice; Google Fit — pași, calorii, puls, activitate și somn.
  • Acces parțial — utilizatorul poate acorda acces la unele tipuri de date, refuzând altele, pe ambele platforme.
  • HIPAA și GDPR — cerințe de reglementare obligatorii la procesarea datelor de sănătate pe teritoriul SUA și al Uniunii Europene.
  • Reglementarea rusă — 152-FZ necesită criptare certificată și stocarea datelor pe servere din Federația Rusă la lucrul cu datele medicale ale cetățenilor Rusiei.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și