HealthKit فریم ورک Apple ہیلتھ ایکو سسٹم کا ایک مرکزی جزو ہے جو iPhone، Apple Watch اور تیسرے فریق کے آلات سے ڈیٹا کو ایک محفوظ مقامی اسٹوریج میں جمع کرتا ہے۔ Apple Developer Documentation, 2025 کے مطابق، پلیٹ فارم 100 سے زیادہ ڈیٹا کی اقسام کو سپورٹ کرتا ہے — جسمانی سرگرمی اور نیند سے لے کر لیبارٹری ٹیسٹ اور قلبی اشارے تک۔ ایک واحد ذخیرہ طبی معلومات ہر ڈیٹا کی قسم کے لیے دانے دار رسائی کنٹرول کے ساتھ ایپلیکیشنز کے درمیان بلا تعطل ہم آہنگی کو یقینی بناتا ہے۔
اہم نکات
HealthKit Apple کا ایک فریم ورک ہے، جو 2014 میں iOS 8 کے ساتھ متعارف کرایا گیا، جو صارف کے صحت اور فٹنس ڈیٹا کے مرکزی انتظام کے لیے ڈیزائن کیا گیا ہے۔ پلیٹ فارم ایک متحد ذخیرہ کے طور پر کام کرتا ہے جہاں ایپلیکیشنز اور آلات طبی معلومات لکھ اور پڑھ سکتے ہیں۔
تیسرے فریق کے حل کے برعکس، HealthKit براہ راست iOS آپریٹنگ سسٹم میں بنایا گیا ہے، جو ہارڈویئر سطح پر اعلی کارکردگی اور سیکیورٹی کو یقینی بناتا ہے۔ ایپلیکیشنز ایک دوسرے تک براہ راست رسائی نہیں رکھتیں — تمام کارروائیاں مرکزی HKHealthStore کے ذریعے ہوتی ہیں۔
Apple WWDC 2024 کے مطابق، امریکہ میں 87% سے زیادہ iPhone صارفین نے کم از کم ایک بار بلٹ ان ہیلتھ ایپ استعمال کی ہے، جو HealthKit پر مبنی ہے۔ ایکو سسٹم میں ہزاروں تیسرے فریق کی ایپلیکیشنز شامل ہیں — فٹنس ٹریکرز سے لے کر ٹیلی میڈیسن خدمات تک۔
HealthKit آرکیٹیکچر ملٹی لیول اسٹوریج کے اصول پر بنایا گیا ہے جس میں ہر ڈیٹا ماخذ کے لیے الگ تھلگ کنٹینرز ہیں۔ نچلی سطح پر ہارڈویئر AES-256 کے ساتھ انکرپٹڈ SQLite ڈیٹابیس ہے۔ اوپری سطح پر HKHealthStore ہے — متحد تعامل انٹرفیس۔
ہر ریکارڈ میں میٹا ڈیٹا ہوتا ہے: HKSource ماخذ، HKDevice آلہ، تاریخ، وقت، اور iCloud ہم آہنگی کا جھنڈا۔ نظام ایک ہی ماخذ سے نقل شدہ ریکارڈز کو خود بخود ڈیڈپلیکیٹ کرتا ہے، ڈیٹا کی تحریف کو روکتا ہے۔
ڈیٹا کو اقسام کے مطابق گروپ کیا جاتا ہے — عددی اشارے کے لیے HKQuantityType (دل کی دھڑکن، قدم، کیلوریز) اور زمرہ جاتی واقعات کے لیے HKCategoryType (نیند، علامات، ماہواری)۔ یہ ساخت HKSampleQuery یا HKStatisticsQuery کے ذریعے کسی بھی پیرامیٹر کے امتزاج کی لچکدار استفسار کی اجازت دیتی ہے۔
HealthKit 100 سے زیادہ معیاری اقسام کے ڈیٹا کو سپورٹ کرتا ہے، جو زمروں میں تقسیم ہیں: جسمانی سرگرمی، غذائیت، نیند، قلبی نظام، تولیدی صحت، لیبارٹری کے نتائج اور اہم علامات۔ ہر قسم میں HKUnit پیمائش کی اکائی اور رسائی کی سطح ہوتی ہے۔
ڈویلپر HKCorrelation کے ذریعے کسٹم ارتباط بھی بنا سکتے ہیں — متعلقہ پیمائشوں کا ایک گروپ۔ مثال کے طور پر، کھانے کے ریکارڈ میں کیلوریز، پروٹین، چکنائی اور کاربوہائیڈریٹ ایک واحد آبجیکٹ کے طور پر شامل ہو سکتے ہیں۔ ترتیب وار پیمائشوں جیسے گلوکوز کی سطح کے لیے، HKSeriesSample استعمال کیا جاتا ہے۔
HealthKit کے ساتھ کام کرنا HKHealthStore — ایک سنگلٹن — کی تعریف سے شروع ہوتا ہے جو فریم ورک درآمد کرنے پر خود بخود بن جاتا ہے۔ اسٹور کے ذریعے، ایپلیکیشن چیک کرتی ہے کہ پلیٹ فارم آلہ پر دستیاب ہے یا نہیں، کیونکہ iPad اور iPod touch پر سپورٹ موجود نہیں ہو سکتی۔ یہ بھی اہم ہے کہ HealthKit Mac Catalyst پر دستیاب نہیں ہے — macOS کے لیے علیحدہ نفاذ کی ضرورت ہے۔
import HealthKit
let healthStore = HKHealthStore()
let stepType = HKQuantityType
.quantityType(forIdentifier: .stepCount)
let heartRateType = HKQuantityType
.quantityType(forIdentifier: .heartRate)
let typesToRead: Set = [stepType, heartRateType]
HealthKit ڈیٹا کے ذرائع اور ایپلیکیشنز کے درمیان ایک ثالث کے طور پر کام کرتا ہے، ایک غیر متزامن اشاعت-سبسکرائب ماڈل استعمال کرتا ہے۔ ماخذ ایپلیکیشن HKHealthStore کے ذریعے ڈیٹا لکھتی ہے، اور سبسکرائب کرنے والی ایپلیکیشنز HKObserverQuery کے ذریعے نئے ریکارڈز کی اطلاعات وصول کرتی ہیں، جو پس منظر میں چلتا ہے۔
فریم ورک iCloud کے ذریعے پس منظر میں ہم آہنگی کو سپورٹ کرتا ہے: اگر صارف سائن ان ہے، HealthKit خود بخود ریئل ٹائم میں تمام Apple آلات پر ڈیٹا تقسیم کرتا ہے۔ جب نیٹ ورک نہ ہو، تبدیلیاں مقامی طور پر بفر ہو جاتی ہیں اور کنکشن بحال ہونے پر ڈیٹا کے نقصان کے بغیر ہم آہنگ ہو جاتی ہیں۔
Apple کے مطابق، iPhone اور Apple Watch کے درمیان ہم آہنگی میں تاخیر سرگرمی کے ڈیٹا کے لیے 30 سیکنڈ سے کم ہے۔ دیگر اقسام — نیند، غذائیت، لیبارٹری کے نتائج — کے لیے، ہم آہنگی بیٹری بچانے کے لیے 15 منٹ تک کے وقفے سے شیڈول کے مطابق ہوتی ہے۔
HKHealthStore مرکزی سنگلٹن ہے جس کے ذریعے تمام کارروائیاں انجام دی جاتی ہیں: saveObject کے ذریعے محفوظ کرنا، execute کے ذریعے پڑھنا، اور deleteObject کے ذریعے حذف کرنا۔ ہر کارروائی غیر متزامن ہے اور closure کے ذریعے نتیجہ لوٹاتی ہے، جس کے لیے مناسب غلطی کا انتظام درکار ہے۔
استفسارات کئی اقسام میں تقسیم ہوتی ہیں: HKSampleQuery معیار کے مطابق ریکارڈ حاصل کرنے کے لیے، HKStatisticsQuery جمع شدہ ڈیٹا کے لیے — کل، اوسط، کم از کم، زیادہ سے زیادہ — اور HKObserverQuery ریئل ٹائم میں تبدیلیوں کو ٹریک کرنے کے لیے۔ متواتر پس منظر کی تازہ کاریوں کے لیے، HKHeartbeatSeriesQuery استعمال کیا جاتا ہے۔
let type = HKQuantityType
.quantityType(forIdentifier: .stepCount)
let now = Date()
let start = Calendar.current
.date(
byAdding: .day,
value: -7,
to: now
)
let predicate = HKQuery
.predicateForSamples(
withStart: start,
end: now,
options: .strictStartDate
)
let query = HKSampleQuery(
sampleType: type,
predicate: predicate,
limit: 100
) { _, samples, _ in
for sample in samples as [HKQuantitySample] {
print(sample.quantity)
}
}
healthStore.execute(query)
HealthKit انضمام Xcode میں HealthKit صلاحیت کو فعال کرنے اور پروجیکٹ میں entitlement شامل کرنے سے شروع ہوتا ہے۔ اس کے بعد، ایپلیکیشن requestAuthorization کال کے ذریعے مخصوص ڈیٹا کی اقسام تک رسائی کی اجازت مانگتی ہے۔ اہم: HealthKit سمیلیٹر پر دستیاب نہیں ہے اور اس کے لیے iOS والے فزیکل آلہ کی ضرورت ہے۔
انضمام کے عمل میں تین مراحل شامل ہیں: ڈیٹا کی اقسام کی تعریف، اجازت کی درخواست، اور پڑھنے اور لکھنے کی کارروائیوں کو انجام دینا۔ ہر مرحلہ غیر متزامن ہے اور اسے غلطیوں کو سنبھالنا چاہیے — صارف ٹوگل والے سسٹم ڈائیلاگ میں کسی بھی ڈیٹا کی قسم تک رسائی سے انکار کر سکتا ہے۔
Apple کی تحقیق کے مطابق، HealthKit انضمام والی ایپلیکیشنز 40% زیادہ صارف کی مصروفیت دکھاتی ہیں۔ کامیابی کا اہم عنصر اجازت کی درخواست کی تفصیل میں یہ بتانا ہے کہ ایپ کو مخصوص صحت کے ڈیٹا کی ضرورت کیوں ہے۔
اجازت کی درخواست پہلی بار لانچ کرنے پر ایک بار کی جاتی ہے۔ ایپلیکیشن دو سیٹ اقسام بتاتی ہے — پڑھنے اور لکھنے کے لیے۔ صارف ہر ڈیٹا کی قسم کے لیے ٹوگل والا سسٹم ڈائیلاگ دیکھتا ہے اور غیر ضروری زمروں سے انکار کرتے ہوئے انتخابی طور پر رسائی دے سکتا ہے۔
let typesToWrite: Set = [
HKQuantityType
.quantityType(
forIdentifier: .dietaryEnergyConsumed
)
]
let typesToRead: Set = [
HKQuantityType
.quantityType(
forIdentifier: .stepCount
)
]
healthStore.requestAuthorization(
toShare: typesToWrite,
read: typesToRead
) { success, error in
if success {
print("اجازت حاصل ہوگئی")
}
}
HealthKit ایک کثیر سطحی سیکیورٹی ماڈل نافذ کرتا ہے جس میں ہارڈویئر انکرپشن، ایپلیکیشن سینڈ باکسنگ اور دانے دار اجازتیں شامل ہیں۔ تمام صحت کا ڈیٹا آلہ پر انکرپٹڈ محفوظ ہوتا ہے اور صارف کی علیحدہ رضامندی کے بغیر iCloud کو منتقل نہیں کیا جاتا، جو ایک بار مانگی جاتی ہے۔
ایک اہم خصوصیت Intent میکانزم ہے: ایپلیکیشن کو ڈیٹا تک مسلسل پس منظر میں رسائی نہیں ہے۔ ہر پڑھنے یا لکھنے کی درخواست آپریٹنگ سسٹم کے ذریعے تصدیق شدہ ہوتی ہے، اور صارف ایپ کو دوبارہ انسٹال کیے بغیر ترتیبات — رازداری — صحت کے ذریعے کسی بھی وقت اجازت واپس لے سکتا ہے۔
Apple App Store ریویو گائیڈ لائنز میں HealthKit کے استعمال کو سختی سے منظم کرتا ہے۔ ایپلیکیشن واضح رضامندی کے بغیر HealthKit ڈیٹا تیسرے فریق کو منتقل نہیں کر سکتی، اسے اشتہار یا ہدف بندی کے لیے استعمال نہیں کر سکتی، اور اسے بتائے گئے فنکشنلٹی کے لیے ضرورت سے زیادہ دیر تک محفوظ نہیں کر سکتی۔
HealthKit کی کئی حدود ہیں: آلہ پر زیادہ سے زیادہ ڈیٹابیس کا سائز 1 GB ہے، ایک استفسار میں ریکارڈز کی حد 1000 ہے، اور ایک جیسی ڈیٹا اقسام کے درمیان کم از کم وقفہ 1 سیکنڈ ہے۔ فریم ورک پس منظر میں تازہ کاریوں کو بھی محدود کرتا ہے — فی دن 60 سے زیادہ HKObserverQuery ٹرگر نہیں۔
یہ حدود کارکردگی سے پوری ہوتی ہیں: 1000 ریکارڈ پڑھنے میں اوسطاً 50–100 ملی سیکنڈ لگتے ہیں، اور ایک ریکارڈ لکھنے میں 10 ملی سیکنڈ سے کم لگتا ہے۔ بڑے ڈیٹا والیوم کے لیے، انفرادی ریکارڈ لانے کے بجائے پہلے سے جمع شدہ HKStatisticsCollectionQuery استعمال کرنے کی سفارش کی جاتی ہے۔ HealthKit استفسارات کو غیر متزامن طور پر پروسیس کرتا ہے — ایپلیکیشن HKHealthStore سے ڈیٹا کے انتظار میں بلاک نہیں ہوتی۔
اکثر پوچھے گئے سوالات
HealthKit iOS 8 اور نئے والے تمام آلات پر سپورٹ کیا جاتا ہے، بشمول iPhone، iPad اور iPod touch۔ Apple Watch جوڑے والے iPhone کے ذریعے خود بخود ڈیٹا بھیجتی ہے۔ تیسرے فریق کے آلات — فٹنس بینڈ، ترازو، بلڈ پریشر مانیٹر — متعلقہ ایپلیکیشن ہونے پر HealthKit API کے ذریعے ڈیٹا لکھ سکتے ہیں۔
ہاں، ہیلتھ ایپ “ہیلتھ ڈیٹا ایکسپورٹ کریں” فنکشن کے ذریعے تمام ڈیٹا کو XML فارمیٹ میں ایکسپورٹ کرنے کی اجازت دیتی ہے۔ ڈویلپر HKSampleQuery کے ذریعے کسی بھی اجازت شدہ قسم کو پروگرامیٹک طور پر پڑھ سکتے ہیں اور اپنے فارمیٹ میں ایکسپورٹ کر سکتے ہیں۔ واضح صارف کی رضامندی کے بغیر صحت کا ڈیٹا تیسرے فریق کے سرورز پر منتقل نہیں کیا جا سکتا۔
صارف ہیلتھ ایپ یا سورس ایپلیکیشن کے ذریعے ڈیٹا حذف کر سکتا ہے جس نے اسے ریکارڈ کیا تھا۔ حذف کرنے کے بعد، ڈیٹا بحال نہیں کیا جا سکتا — HealthKit میں کوئی ردی کی ٹوکری نہیں ہے۔ حذف کرنے کی کارروائی ناقابل واپس ہے، لہٰذا ایپلیکیشنز کو deleteObject انجام دینے سے پہلے تصدیق مانگنے کی سفارش کی جاتی ہے۔
HealthKit صارف کے صحت کے ڈیٹا کو ذخیرہ کرنے اور شیئر کرنے کے لیے ڈیزائن کیا گیا ہے، جبکہ ResearchKit طبی تحقیق کرنے کے لیے ایک فریم ورک ہے۔ ResearchKit HealthKit کو اپنے ڈیٹا کے ذرائع میں سے ایک کے طور پر استعمال کرتا ہے، لیکن تحقیق کا ڈیٹا جمع کرنے کے لیے باخبر رضامندی، سوالنامے اور فعال کاموں کے ماڈیولز شامل کرتا ہے۔
ہاں، HealthKit استعمال کرنے والی ایپلیکیشنز کو App Store ریویو گائیڈ لائنز، سیکشن 5.1.1 — طبی اور صحت کا ڈیٹا کی تعمیل کرنی ہوگی۔ ایپلیکیشن میں ڈیٹا کے استعمال کی واضح وضاحت، رازداری کی پالیسی، ڈیٹا کے اشتہاری استعمال پر پابندی اور نیٹ ورک کی منتقلی کے دوران انکرپشن کی ضرورت ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں