การอนุญาตข้อมูลสุขภาพในการพัฒนาแอปมือถือ: สาระสำคัญ วิธีการทำงาน และการเข้าถึง 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 สำหรับข้อมูลสุขภาพ รวมถึง HKHealthStore และ HKObjectType
  • Google Fit API — แพลตฟอร์ม Android สำหรับเข้าถึงข้อมูลฟิตเนสผ่าน OAuth 2.0 และ FitnessOptions
  • HKHealthStore — คลาสหลักของ iOS สำหรับขออนุญาตและดำเนินการกับข้อมูลสุขภาพ
  • ความยินยอมของผู้ใช้ — ขั้นตอนบังคับที่ผู้ใช้เลือกประเภทข้อมูลเฉพาะเพื่อให้สิทธิ์การเข้าถึง

การอนุญาตข้อมูลสุขภาพคืออะไร?

การอนุญาตข้อมูลสุขภาพเป็นกลไกที่ต้องการความยินยอมอย่างชัดแจ้งและมีการบันทึกจากผู้ใช้ก่อนเข้าถึงค่าทางการแพทย์และฟิตเนสของเขา แตกต่างจากการอนุญาตมาตรฐาน (รายชื่อผู้ติดต่อ ปฏิทิน) ข้อมูลสุขภาพอยู่ภายใต้บรรทัดฐานทางกฎหมายเพิ่มเติม: HIPAA ในสหรัฐอเมริกา GDPR ในยุโรป และ 152-FZ ใน รัสเซีย

บน iOS การอนุญาตข้อมูลสุขภาพดำเนินการผ่าน HealthKit: ผู้ใช้จะเห็นหน้าจอพร้อมรายการประเภทข้อมูลทั้งหมดที่แอปร้องขอ และสามารถเลือกหมวดหมู่เฉพาะเพื่อให้สิทธิ์การเข้าถึงได้ บน Android ใช้ Google Fit API ด้วยการอนุญาตผ่าน OAuth 2.0 ซึ่งแต่ละประเภทข้อมูลจะขอ scope แยกต่างหาก

ตามข้อมูลของ App Annie (2025) แอปสุขภาพและฟิตเนสเป็นหนึ่งในกลุ่มที่เติบโตเร็วที่สุดในตลาดมือถือ โดยมีอัตราการเติบโตต่อปี 28% ขณะที่ 71% ของผู้ใช้ปฏิเสธการเข้าถึงข้อมูลสุขภาพหากแอปไม่ได้ให้คำอธิบายที่ชัดเจนเกี่ยวกับวัตถุประสงค์ในการเก็บรวบรวม

ความแตกต่างหลักของการอนุญาตข้อมูลสุขภาพจากการอนุญาตอื่นคือความสามารถในการให้สิทธิ์เข้าถึงบางส่วน ผู้ใช้สามารถอนุญาตให้อ่านจำนวนก้าว แต่ปฏิเสธการเข้าถึงข้อมูลอัตราการเต้นของหัวใจหรือบันทึกทางการแพทย์

HealthKit บน iOS ทำงานอย่างไร

HealthKit คือเฟรมเวิร์กของ Apple ที่เปิดตัวใน iOS 8 ซึ่งให้พื้นที่จัดเก็บข้อมูลสุขภาพแบบรวมศูนย์ แอปไม่สามารถเข้าถึง HealthKit โดยตรง — พวกเขาขออนุญาตผ่าน HKHealthStore และผู้ใช้เป็นผู้ตัดสินใจว่าจะให้ข้อมูลประเภทใด ข้อมูลทั้งหมดถูกเข้ารหัสบนอุปกรณ์และซิงค์ผ่าน iCloud ด้วยการเข้ารหัสแบบ end-to-end

การขอเข้าถึง 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 client ID ใน Google Cloud Console การอนุญาตจะถูกร้องขอผ่าน GoogleSignInAccount และ GoogleSignIn.requestPermissions() ผู้ใช้จะเห็นหน้าจอขอความยินยอมมาตรฐานของ Google พร้อมรายการ scope ที่ร้องขอ: fitness.activity.read, fitness.body.read, fitness.nutrition.write และอื่น ๆ

Google Fit แยกสิทธิ์การอ่านและการเขียนสำหรับแต่ละประเภทข้อมูล แอปสามารถขอสิทธิ์อ่านจำนวนก้าวโดยไม่ต้องขอสิทธิ์เขียน ตั้งแต่ Google Fit API v2 เป็นต้นไป คำขออนุญาตทั้งหมดต้องมีคำอธิบายวัตถุประสงค์การใช้ข้อมูล มิฉะนั้นคำขอจะถูกปฏิเสธโดยการตรวจสอบของ Google

FitnessOptions และ Scope

คลาส FitnessOptions ช่วยให้ระบุเชิงประกาศว่าต้องการเข้าถึงประเภทข้อมูลใดบ้าง สำหรับแต่ละประเภทสามารถกำหนดระดับการเข้าถึง: ACCESS_READ, ACCESS_WRITE หรือทั้งสองอย่าง ชุดสิทธิ์จะถูกส่งไปยัง GoogleSignin.requestPermissions() พร้อมกับบัญชีผู้ใช้

รายการประเภทที่Available ได้แก่ จำนวนก้าว (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("ข้อผิดพลาดการอนุญาต 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-FZ «เกี่ยวกับข้อมูลส่วนบุคคล» ตั้งแต่ปี 2025 แอปทั้งหมดที่ประมวลผลข้อมูลทางการแพทย์ของพลเมืองรัสเซียต้องใช้เครื่องมือเข้ารหัสที่ได้รับการรับรองและจัดเก็บข้อมูลบนเซิร์ฟเวอร์ที่ตั้งอยู่ในดินแดนของสหพันธรัฐรัสเซีย ตามข้อกำหนดของ Roskomnadzor

คำแนะนำ: ก่อนเผยแพร่แอปที่ทำงานกับข้อมูลสุขภาพ โปรดปรึกษาฝ่ายกฎหมายเพื่อตรวจสอบการปฏิบัติตามกฎระเบียบท้องถิ่น Apple และ Google ขอสงวนสิทธิ์ในการปฏิเสธแอปหากนโยบายความเป็นส่วนตัวไม่เป็นไปตามข้อกำหนด

คำถามที่พบบ่อย

HealthKit แตกต่างจาก Google Fit อย่างไร?

HealthKit คือเฟรมเวิร์กในตัวของ iOS พร้อมพื้นที่จัดเก็บข้อมูลสุขภาพแบบเข้ารหัสในเครื่อง Google Fit คือบริการคลาวด์บนพื้นฐานของ Google Play Services ที่ใช้ OAuth 2.0 สำหรับการอนุญาต HealthKit ทำงานแบบออฟไลน์ Google Fit ต้องการการเชื่อมต่ออินเทอร์เน็ตสำหรับการซิงค์

ผู้ใช้สามารถให้สิทธิ์เข้าถึงข้อมูลสุขภาพบางส่วนได้หรือไม่?

ได้ บนทั้งสองแพลตฟอร์ม บน iOS ผู้ใช้เลือกประเภทข้อมูลเฉพาะ (จำนวนก้าว อัตราการเต้นของหัวใจ การนอนหลับ) บนหน้าจอขอความยินยอมของ HealthKit บน Android ผู้ใช้เห็นรายการ scope ของ Google Fit และสามารถเพิกถอน สิทธิ์ แต่ละรายการผ่านการตั้งค่าบัญชี Google

HKHealthStore คืออะไรและจำเป็นอย่างไร?

HKHealthStore คือคลาสหลักของเฟรมเวิร์ก HealthKit บน iOS มันจัดการการอนุญาต การอ่าน และการเขียนข้อมูลสุขภาพทั้งหมด แอปไม่สามารถเข้าถึงพื้นที่เก็บข้อมูล HealthKit โดยตรง — การดำเนินการทั้งหมดผ่าน HKHealthStore ซึ่งรับประกันอินเทอร์เฟซการเข้าถึงที่เป็นหนึ่งเดียวและการปฏิบัติตามสิทธิ์การเข้าถึงของผู้ใช้

จะเพิกถอนการเข้าถึง Google Fit สำหรับแอปได้อย่างไร?

ผู้ใช้สามารถเพิกถอนการเข้าถึงผ่าน การตั้งค่า Google — จัดการบัญชี — ความปลอดภัย — แอปของบริษัทอื่นที่เข้าถึงได้ เลือกแอปแล้วคลิก «ลบการเข้าถึง» นอกจากนี้ยังสามารถเพิกถอนการเข้าถึงผ่าน Google Play Console: บริการที่เชื่อมต่อ — Google Fit — การจัดการแอป

จำเป็นต้องปฏิบัติตาม HIPAA สำหรับแอปที่ใช้ HealthKit หรือไม่?

หากแอปประมวลผลข้อมูลสุขภาพของผู้ใช้ในสหรัฐอเมริกาและส่งไปยังเซิร์ฟเวอร์ การปฏิบัติตาม HIPAA เป็นสิ่งจำเป็น หากข้อมูลทั้งหมดยังคงอยู่ในเครื่องและไม่ได้ส่งให้บุคคลที่สาม แอปอาจไม่จำเป็นต้องปฏิบัติตาม HIPAA แต่ Apple แนะนำให้ปฏิบัติตามแนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุดโดยไม่คำนึงถึงเขตอำนาจศาล

สรุป

  • Health Data Authorization — กระบวนการบังคับในการขอความยินยอมอย่างชัดแจ้งจากผู้ใช้เพื่อเข้าถึงข้อมูลทางการแพทย์
  • HealthKit — เฟรมเวิร์กของ Apple สำหรับข้อมูลสุขภาพผ่าน HKHealthStore บน iOS
  • Google Fit API — แพลตฟอร์ม Android สำหรับเข้าถึงข้อมูลฟิตเนสผ่าน OAuth 2.0 และ FitnessOptions
  • ประเภทข้อมูล — HealthKit รองรับข้อมูลเชิงปริมาณ เชิงหมวดหมู่ และทางคลินิก Google Fit รองรับจำนวนก้าว แคลอรี่ อัตราการเต้นของหัวใจ กิจกรรมและการนอนหลับ
  • การเข้าถึงบางส่วน — ผู้ใช้สามารถให้สิทธิ์เข้าถึงข้อมูลบางประเภทและปฏิเสธประเภทอื่นได้บนทั้งสองแพลตฟอร์ม
  • HIPAA และ GDPR — ข้อกำหนดด้านกฎระเบียบที่บังคับใช้เมื่อประมวลผลข้อมูลสุขภาพในสหรัฐอเมริกาและสหภาพยุโรป
  • กฎระเบียบของรัสเซีย — 152-FZ ต้องการการเข้ารหัสที่ได้รับการรับรองและการจัดเก็บข้อมูลบนเซิร์ฟเวอร์ในรัสเซียเมื่อทำงานกับข้อมูลทางการแพทย์ของพลเมืองรัสเซีย

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม