تفويض البيانات الصحية في التطوير المحمول: ما هو، كيف يعمل والوصول إلى HealthKit

المؤلف: IT Sectr نُشر: 2026-05-22 وقت القراءة: 8 دق

تفويض البيانات الصحية هو عملية الحصول على موافقة صريحة من المستخدم لقراءة وكتابة البيانات الطبية واللياقة البدنية من خلال واجهات برمجة التطبيقات النظامية للمنصات المحمولة. على iOS، يتم تنفيذ التفويض عبر HealthKit باستخدام فئتي HKHealthStore وHKObjectType، بينما على Android يتم ذلك عبر Google Fit API باستخدام OAuth 2.0 وFitnessOptions. وفقاً لوثائق Apple HealthKit، 2025، تصنف البيانات الصحية كفئة شديدة الحساسية. الدقة الطبية والامتثال للوائح هما متطلبان أساسيان عند العمل مع هذه البيانات.

النقاط الرئيسية

  • تفويض البيانات الصحية هو عملية إلزامية للحصول على الموافقة للوصول إلى البيانات الطبية للمستخدم.
  • 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، حيث يُطلب نطاق منفصل لكل نوع بيانات.

وفقاً لـ App Annie (2025)، تطبيقات الصحة واللياقة البدنية هي واحدة من أسرع القطاعات نمواً في السوق المحمول بمعدل نمو سنوي 28%. في الوقت نفسه، يرفض 71% من المستخدمين الوصول إلى بياناتهم الصحية إذا لم يقدم التطبيق شرحاً واضحاً لغرض التجميع.

الفرق الرئيسي لتفويض الصحة عن الأذونات الأخرى هو القدرة على منح الوصول الجزئي. يمكن للمستخدم السماح بقراءة الخطوات ولكن منع الوصول إلى بيانات معدل ضربات القلب أو السجلات الطبية.

كيف يعمل HealthKit على iOS

HealthKit هو إطار Apple، الذي تم تقديمه في iOS 8، والذي يوفر مستودعاً موحداً مركزياً للبيانات الصحية. لا تتمكن التطبيقات من الوصول المباشر إلى HealthKit — فهي تطلب التفويض عبر HKHealthStore، ويقرر المستخدم أنواع البيانات التي سيقدمها. يتم تشفير جميع البيانات على الجهاز ومزامنتها عبر iCloud بتشفير من طرف إلى طرف.

طلب الوصول إلى HealthKit

تبدأ عملية التفويض بإنشاء مثيل HKHealthStore واستدعاء طريقة requestAuthorization(toShare:read:). يمرر التطبيق مجموعتين من الأنواع: أنواع للقراءة (HKObjectType التي يريد التطبيق قراءتها) وأنواع للكتابة (HKSampleType التي يريد التطبيق حفظها). يعرض النظام شاشة موافقة حيث يقوم المستخدم بتمكين أو تعطيل كل نوع على حدة.

ميزة مهمة: لا يُظهر HealthKit للمطور الأنواع المحددة التي سمح بها المستخدم على شاشة الموافقة. بعد استدعاء requestAuthorization، من الضروري التحقق بشكل فردي من الوصول إلى كل نوع عبر HKHealthStore.authorizationStatus(for:). وفقاً لجلسة WWDC 11108 (2024)، توصي Apple بالتحقق من حالة التفويض قبل كل عملية قراءة أو كتابة.

أنواع بيانات HKObjectType

يدعم HealthKit مئات الأنواع من البيانات المقسمة إلى فئات: الكمية (الخطوات، معدل ضربات القلب، السعرات الحرارية)، الخصائص (الطول، الوزن، تاريخ الميلاد)، السجلات السريرية (الحساسية، التطعيمات، نتائج التحاليل)، الأعراض والدورة الشهرية. يتم تمثيل كل نوع بفئة فرعية من HKObjectType: HKQuantityType للقياسات الرقمية وHKCategoryType للبيانات الفئوية.

مع iOS 18، وسعت Apple HealthKit لدعم البيانات من المؤسسات الطبية عبر FHIR (Fast Healthcare Interoperability Resources). يمكن للتطبيقات طلب الوصول إلى السجلات الطبية المنظمة إذا قام المستخدم بتوصيل مستشفاه أو عيادته بتطبيق الصحة.

كيف يعمل 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 في 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("خطأ في تفويض 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 (قانون قابلية نقل التأمين الصحي والمساءلة)، الذي يضع متطلبات صارمة لتخزين ونقل ومعالجة المعلومات الطبية. يمكن للتطبيقات التي تعمل مع 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، يرى المستخدم قائمة نطاقات Google Fit ويمكنه إلغاء الأذونات الفردية عبر إعدادات حساب Google.

ما هو HKHealthStore وما الغرض منه؟

HKHealthStore هو الفئة المركزية لإطار HealthKit على iOS. يدير التفويض والقراءة والكتابة لجميع البيانات الصحية. لا يمكن للتطبيق الوصول مباشرة إلى مستودع HealthKit — جميع العمليات تتم عبر HKHealthStore، مما يضمن واجهة وصول موحدة والامتثال لحقوق وصول المستخدم.

كيفية إلغاء وصول Google Fit لتطبيق؟

يمكن للمستخدم إلغاء الوصول عبر إعدادات Google — إدارة الحساب — الأمان — التطبيقات الخارجية ذات الوصول. اختر التطبيق وانقر على «إزالة الوصول». يمكن أيضاً إلغاء الوصول عبر Google Play Console: الخدمات المتصلة — Google Fit — إدارة التطبيقات.

هل الامتثال لـ HIPAA إلزامي للتطبيقات التي تستخدم HealthKit؟

إذا كان التطبيق يعالج البيانات الصحية للمستخدمين في الولايات المتحدة وينقلها إلى خادم، فإن الامتثال لـ HIPAA إلزامي. إذا بقيت جميع البيانات محلياً على الجهاز ولم يتم نقلها إلى أطراف ثالثة، فقد لا يحتاج التطبيق إلى الامتثال لـ HIPAA، لكن Apple توصي باتباع أفضل ممارسات الأمان بغض النظر عن الاختصاص القضائي.

الخلاصة

  • تفويض البيانات الصحية هو عملية إلزامية للحصول على موافقة صريحة من المستخدم للوصول إلى البيانات الطبية.
  • HealthKit هو إطار Apple للعمل مع البيانات الصحية عبر HKHealthStore على iOS.
  • Google Fit API هو منصة Android للوصول إلى بيانات اللياقة البدنية عبر OAuth 2.0 وFitnessOptions.
  • أنواع البيانات — HealthKit يدعم البيانات الكمية والفئوية والسريرية؛ Google Fit يدعم الخطوات والسعرات الحرارية ومعدل ضربات القلب والنشاط والنوم.
  • الوصول الجزئي — يمكن للمستخدم منح الوصول لبعض أنواع البيانات مع رفض البعض الآخر، على كلا المنصتين.
  • HIPAA وGDPR — متطلبات تنظيمية إلزامية عند معالجة البيانات الصحية في الولايات المتحدة والاتحاد الأوروبي.
  • التنظيم الروسي — 152-FZ يتطلب تشفيراً معتمداً وتخزين البيانات على خوادم في الاتحاد الروسي عند معالجة البيانات الطبية للمواطنين الروس.

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا