Otorisasi Data Kesehatan dalam Pengembangan Aplikasi Mobile: Esensi, Cara Kerja, dan Akses ke HealthKit

Penulis: IT Sectr Diterbitkan: 2026-05-22 Waktu membaca: 8 mnt

Otorisasi data kesehatan adalah proses mendapatkan persetujuan eksplisit pengguna untuk membaca dan menulis data medis dan kebugaran melalui API sistem platform mobile. Di iOS, otorisasi diimplementasikan melalui HealthKit dengan kelas HKHealthStore dan HKObjectType, sedangkan di Android melalui Google Fit API dengan OAuth 2.0 dan FitnessOptions. Menurut Apple HealthKit Documentation, 2025, data kesehatan diklasifikasikan sebagai kategori yang sangat rahasia. Ketepatan medis dan kepatuhan terhadap regulasi adalah persyaratan utama saat bekerja dengan data tersebut.

Poin Utama

  • Health Data Authorization — proses wajib mendapatkan persetujuan untuk akses ke data medis pengguna.
  • HealthKit — framework Apple untuk bekerja dengan data kesehatan, termasuk HKHealthStore dan HKObjectType.
  • Google Fit API — platform Android untuk akses ke data kebugaran melalui OAuth 2.0 dan FitnessOptions.
  • HKHealthStore — kelas sentral iOS untuk meminta otorisasi dan melakukan operasi dengan data kesehatan.
  • Persetujuan pengguna — langkah wajib di mana pengguna memilih jenis data tertentu untuk memberikan akses.

Apa itu otorisasi data kesehatan?

Otorisasi data kesehatan adalah mekanisme yang memerlukan persetujuan eksplisit dan terdokumentasi dari pengguna sebelum mengakses indikator medis dan kebugarannya. Berbeda dengan izin standar (kontak, kalender), data kesehatan diatur oleh norma hukum tambahan: HIPAA di AS, GDPR di Eropa, dan 152-FZ di Rusia.

Di iOS, otorisasi kesehatan diimplementasikan melalui HealthKit: pengguna melihat layar dengan daftar semua jenis data yang diminta aplikasi dan dapat memilih kategori tertentu untuk memberikan akses. Di Android, digunakan Google Fit API dengan otorisasi melalui OAuth 2.0, di mana untuk setiap jenis data diminta cakupan terpisah.

Menurut data App Annie (2025), aplikasi kesehatan dan kebugaran adalah salah satu segmen pasar mobile dengan pertumbuhan tercepat dengan kenaikan tahunan 28%. Pada saat yang sama, 71% pengguna menolak akses ke data kesehatan jika aplikasi tidak memberikan penjelasan yang jelas tentang tujuan pengumpulan.

Perbedaan utama otorisasi kesehatan dari izin lainnya — kemungkinan memberikan akses parsial. Pengguna dapat mengizinkan pembacaan langkah, tetapi melarang akses ke data detak jantung atau catatan medis.

Bagaimana HealthKit bekerja di iOS

HealthKit adalah framework Apple yang diperkenalkan di iOS 8 yang menyediakan penyimpanan data kesehatan terpusat. Aplikasi tidak memiliki akses langsung ke HealthKit — mereka meminta otorisasi melalui HKHealthStore, dan pengguna memutuskan jenis data apa yang akan diberikan. Semua data dienkripsi di perangkat dan disinkronkan melalui iCloud dengan enkripsi end-to-end.

Meminta akses ke HealthKit

Proses otorisasi dimulai dengan membuat instance HKHealthStore dan memanggil metode requestAuthorization(toShare:read:). Aplikasi mengirimkan dua set jenis: untuk dibaca (HKObjectType yang ingin dibaca aplikasi) dan untuk ditulis (HKSampleType yang ingin disimpan aplikasi). Sistem menampilkan layar persetujuan di mana pengguna mengaktifkan atau menonaktifkan setiap jenis secara individual.

Fitur penting: HealthKit tidak menunjukkan kepada pengembang jenis apa yang telah diizinkan pengguna di layar persetujuan. Setelah memanggil requestAuthorization, perlu memeriksa akses ke setiap jenis secara individual melalui HKHealthStore.authorizationStatus(for:). Menurut WWDC Session 11108 (2024), Apple merekomendasikan untuk memeriksa status otorisasi sebelum setiap operasi baca atau tulis.

Jenis data HKObjectType

HealthKit mendukung ratusan jenis data yang dibagi ke dalam kategori: kuantitatif (langkah, denyut nadi, kalori), karakteristik (tinggi, berat, tanggal lahir), catatan klinis (alergi, vaksinasi, hasil tes), gejala, dan siklus menstruasi. Setiap jenis diwakili oleh subkelas HKObjectType: HKQuantityType untuk indikator numerik dan HKCategoryType untuk data kategoris.

Sejak iOS 18, Apple memperluas HealthKit dengan dukungan data dari institusi medis melalui FHIR (Fast Healthcare Interoperability Resources). Aplikasi dapat meminta akses ke catatan medis terstruktur jika pengguna telah menghubungkan rumah sakit atau kliniknya ke aplikasi Kesehatan.

Bagaimana Google Fit API bekerja di Android

Google Fit adalah platform untuk bekerja dengan data kebugaran di Android yang menggunakan otorisasi melalui OAuth 2.0. Berbeda dengan HealthKit, Google Fit tidak tertanam di sistem operasi pada level sistem — ini adalah layanan Google Play Services terpisah yang memerlukan koneksi melalui Google Play Console dan pembuatan kredensial OAuth 2.0.

Google Fit dan OAuth 2.0

Untuk mengakses Google Fit, aplikasi harus mendaftarkan ID klien OAuth 2.0 di Google Cloud Console. Otorisasi diminta melalui GoogleSignInAccount dan GoogleSignIn.requestPermissions(). Pengguna melihat layar persetujuan standar Google dengan daftar cakupan yang diminta: fitness.activity.read, fitness.body.read, fitness.nutrition.write dan lainnya.

Google Fit memisahkan izin untuk membaca dan menulis untuk setiap jenis data. Aplikasi dapat meminta akses untuk membaca jumlah langkah tanpa meminta hak menulis. Mulai Google Fit API v2, semua permintaan otorisasi harus menyertakan deskripsi tujuan penggunaan data — tanpa ini, permintaan akan ditolak oleh moderasi Google.

FitnessOptions dan Cakupan

Kelas FitnessOptions memungkinkan untuk secara deklaratif menentukan jenis data apa yang perlu diakses. Untuk setiap jenis, tingkat akses dapat diatur: ACCESS_READ, ACCESS_WRITE, atau keduanya. Kumpulan izin diteruskan ke GoogleSignin.requestPermissions() bersama dengan akun pengguna.

Daftar jenis yang tersedia meliputi: langkah (DataType.TYPE_STEP_COUNT_DELTA), kalori (TYPE_CALORIES_EXPENDED), denyut nadi (TYPE_HEART_RATE_BPM), jarak (TYPE_DISTANCE_DELTA), aktivitas (TYPE_ACTIVITY_SEGMENT), dan tidur (TYPE_SLEEP_SEGMENT). Setiap jenis memiliki frekuensi pembaruan dan persyaratan izin sendiri.

Contoh kode untuk akses data kesehatan

Implementasi permintaan otorisasi data kesehatan berbeda secara signifikan di iOS dan Android. Berikut adalah contoh kerja untuk HealthKit dan Google Fit API.

HealthKit di Swift

Di Swift, permintaan otorisasi HealthKit dilakukan melalui HKHealthStore dengan menentukan jenis untuk dibaca dan ditulis. Contoh menunjukkan permintaan akses ke data langkah dan denyut nadi.

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 tidak tersedia di perangkat ini")
}

healthStore.requestAuthorization(toShare: writeTypes, read: readTypes) { success, error in
    if success {
        // Memeriksa status setiap jenis secara terpisah
        let status = healthStore.authorizationStatus(for: readTypes.first!)
        print("Otorisasi HealthKit: \(status.rawValue)")
    } else {
        print("Kesalahan otorisasi HealthKit: \(error?.localizedDescription ?? "tidak diketahui")")
    }
}

Google Fit di Kotlin

Di Android, otorisasi Google Fit dilakukan melalui GoogleSignIn dan FitnessOptions. Contoh menunjukkan permintaan akses ke data langkah dan kalori.

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 {
    // Izin sudah diberikan — membaca data
    readGoogleFitData(account)
}

// Memproses hasil permintaan izin
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) }
    }
}

Keamanan dan kepatuhan terhadap regulasi

Data kesehatan termasuk dalam kategori data pribadi yang sangat sensitif. Pengembang aplikasi yang bekerja dengan HealthKit atau Google Fit wajib mematuhi persyaratan regulasi yang berlaku di wilayah pengguna.

HIPAA dan GDPR untuk data kesehatan

Di AS, data kesehatan diatur oleh HIPAA (Health Insurance Portability and Accountability Act) yang menetapkan persyaratan ketat untuk penyimpanan, transmisi, dan pemrosesan informasi medis. Aplikasi yang bekerja dengan HealthKit dapat mematuhi HIPAA jika data dikirim ke server dalam bentuk terenkripsi dan aksesnya dibatasi.

Di Uni Eropa, data kesehatan dianggap sebagai kategori khusus data pribadi menurut GDPR (Pasal 9). Pemrosesan data tersebut memerlukan persetujuan eksplisit pengguna dan, dalam banyak kasus, melakukan penilaian dampak perlindungan data. Pelanggaran persyaratan GDPR dapat mengakibatkan denda hingga 20 juta euro atau 4% dari omset tahunan perusahaan.

Di Rusia, pengumpulan data kesehatan diatur oleh 152-FZ “Tentang Data Pribadi”. Sejak 2025, semua aplikasi yang memproses data medis warga negara Federasi Rusia wajib menggunakan alat enkripsi bersertifikat dan menyimpan data di server yang berlokasi di wilayah Federasi Rusia, sesuai dengan persyaratan Roskomnadzor.

Rekomendasi: sebelum menerbitkan aplikasi yang bekerja dengan data kesehatan, konsultasikan dengan departemen hukum untuk memeriksa kepatuhan terhadap regulasi lokal. Apple dan Google berhak menolak aplikasi jika kebijakan privasinya tidak memenuhi persyaratan.

Pertanyaan yang Sering Diajukan

Apa perbedaan antara HealthKit dan Google Fit?

HealthKit — framework iOS bawaan dengan penyimpanan data kesehatan terenkripsi lokal. Google Fit — layanan cloud berbasis Google Play Services yang menggunakan OAuth 2.0 untuk otorisasi. HealthKit bekerja offline, Google Fit memerlukan koneksi internet untuk sinkronisasi.

Dapatkah pengguna memberikan akses parsial ke data kesehatan?

Ya, di kedua platform. Di iOS, pengguna memilih jenis data tertentu (langkah, denyut nadi, tidur) di layar persetujuan HealthKit. Di Android, pengguna melihat daftar cakupan Google Fit dan dapat mencabut izin individual melalui pengaturan akun Google.

Apa itu HKHealthStore dan untuk apa?

HKHealthStore — kelas sentral dari framework HealthKit di iOS. Ini mengelola otorisasi, pembacaan, dan penulisan semua data kesehatan. Aplikasi tidak dapat mengakses penyimpanan HealthKit secara langsung — semua operasi melalui HKHealthStore, yang menjamin antarmuka akses terpadu dan kepatuhan terhadap hak akses pengguna.

Bagaimana cara mencabut akses Google Fit untuk aplikasi?

Pengguna dapat mencabut akses melalui Pengaturan Google — Kelola Akun — Keamanan — Aplikasi pihak ketiga dengan akses. Pilih aplikasi dan klik “Hapus akses”. Juga dapat mencabut akses melalui Google Play Console: Layanan Terkait — Google Fit — Kelola Aplikasi.

Apakah kepatuhan HIPAA wajib untuk aplikasi dengan HealthKit?

Jika aplikasi memproses data kesehatan pengguna di AS dan mengirimkannya ke server, kepatuhan HIPAA adalah wajib. Jika semua data tetap lokal di perangkat dan tidak dikirimkan ke pihak ketiga, aplikasi mungkin tidak memerlukan kepatuhan HIPAA, tetapi Apple merekomendasikan untuk mengikuti praktik keamanan terbaik terlepas dari yurisdiksi.

Ringkasan

  • Health Data Authorization — proses wajib mendapatkan persetujuan eksplisit pengguna untuk akses ke data medis.
  • HealthKit — framework Apple untuk bekerja dengan data kesehatan melalui HKHealthStore di iOS.
  • Google Fit API — platform Android untuk akses ke data kebugaran melalui OAuth 2.0 dan FitnessOptions.
  • Jenis data — HealthKit mendukung data kuantitatif, kategoris, dan klinis; Google Fit — langkah, kalori, denyut nadi, aktivitas, dan tidur.
  • Akses parsial — pengguna dapat memberikan akses ke beberapa jenis data sambil menolak yang lain, di kedua platform.
  • HIPAA dan GDPR — persyaratan regulasi wajib saat memproses data kesehatan di wilayah AS dan Uni Eropa.
  • Regulasi Rusia — 152-FZ memerlukan enkripsi bersertifikat dan penyimpanan data di server di Federasi Rusia saat bekerja dengan data medis warga negara Rusia.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga