واجهة برمجة تطبيقات Health Platform

‫Health Platform API هي واجهة برمجة تطبيقات لنظام Android توفّر للمطوّرين واجهة واحدة لقراءة بيانات الصحة والعافية واللياقة البدنية السابقة للمستخدم وكتابتها ومشاركتها. من خلال "منصة الصحة"، يمكن للمستخدمين التحكّم في بياناتهم. يتحكّم المستخدمون في التطبيقات التي يمكنها قراءة أنواع مختلفة من البيانات أو تعديلها. تشمل أنواع بيانات Health Platform API الطول ومعدّل نبضات القلب وغير ذلك.

توفّر واجهة برمجة التطبيقات Health Platform API للمستخدمين آلية تخزين ومشاركة تتيح لهم اختيار التطبيقات التي يمكنها الوصول إلى بياناتهم الشخصية المتعلقة بالصحة واللياقة البدنية والعافية وعرضها. ويتيح ذلك لمطوّري التطبيقات عرض معلومات أكثر شمولاً للمستخدمين حول صحتهم، كما يتيح للمستخدمين مراقبة بياناتهم بفعالية أكبر.

توفّر حزمة تطوير البرامج Health Platform API لمطوّري تطبيقات Android كل ما يحتاجون إليه لمنح المستخدمين إذن الوصول إلى بيانات الصحة والعافية على أجهزة Samsung محدّدة، كما تتيح للتطبيقات تنفيذ عمليات مجمّعة، مثل إدراج البيانات وحذفها وقراءتها.

البدء

عند استخدام "منصة الصحة"، يجب مراعاة ما يلي:

  • يجب أن تحصل تطبيقات العميل على أذونات دقيقة للوصول إلى البيانات للقراءة أو الكتابة من المستخدم.
  • يمكن للمستخدم رفض الأذونات أو إلغاؤها في أي وقت بعد ذلك.
  • تتوافق واجهة برمجة التطبيقات Health Platform API مع أجهزة Samsung محدّدة فقط.
  • HealthDataClient هو تطبيق العميل لمنصة Health Platform ونقطة دخول إليها.

تعرض الصورة التالية خطوات الدمج اللازمة التي يجب أن يتّبعها المطوّرون:

خطوات الدمج، بما في ذلك إعداد حزمة تطوير البرامج (SDK) والوصول والأذونات وعمليات الإنشاء والقراءة والتعديل والحذف
الشكل 1. خطوات دمج "منصة الصحة"

ملفات الإصدار

يتضمّن الإصدار الأول من "منصة الصحة" ما يلي:

  • حزمة تطوير البرامج (SDK) للعميل: يجب تضمين حزمة تطوير البرامج هذه في تطبيقك لاستخدام Health Platform API. حزمة SDK هي مستودع Maven يمكنك تضمينه مباشرةً في ملفات الإصدار Gradle الخاصة بتطبيقك.

تثبيت "منصة الصحة"

ثبِّت Health Platform باتّباع الخطوات التالية:

في ملف build.gradle الجذر الخاص بالتطبيق، أضِف المستودع كما هو موضّح في المثال التالي:

allprojects {
    . . .
    repositories {
        . . .
        google()
    }
}

أضِف اعتمادية على حزمة تطوير البرامج (SDK) لمنصة Health Platform في ملف build.gradle الخاص بالوحدة، كما هو موضّح في المثال التالي:

Kotlin

dependencies { . . . implementation("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }

Groovy

dependencies { . . . implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01' }

البيانات

تخزّن "منصة الصحة" بيانات الصحة واللياقة البدنية وتنظّمها. ويأخذ في الاعتبار أيضًا الاختلافات الأساسية بين كيفية قياس البيانات من أنواع مختلفة. على سبيل المثال، يتم قياس معدّل نبضات القلب على الفور، ولكن يتم احتساب عدد الخطوات على مدار فترة زمنية.

في ما يلي نظرة على العناصر الأساسية في "منصة الصحة" وأوجه الاختلاف بينها:

  • RawData: قياس وسجلّ بيانات
  • DataType: هو أداة تحديد لأنواع البيانات الشائعة المتعلقة بالصحة واللياقة البدنية، مثل معدّل نبضات القلب أو نسبة الدهون في الجسم أو درجة حرارة الجسم، وتنسيقاتها، مثل الحقول أو القراءة فقط أو البيانات الاختيارية.
  • استبدِل SampleData: بكائن RawData يمثّل قياسًا فوريًا، مثل معدّل نبضات القلب أو ضغط الدم أو سرعة الجري.
  • IntervalData: هو عنصر RawData يمثّل قياسًا تراكميًا تمّ تسجيله على مدار فترة زمنية، مثل عدد الخطوات التي تمّ اتّخاذها أو المسافة المقطوعة أو السعرات الحرارية المحروقة.
  • SeriesData: عنصر RawData يضم سلسلة من القياسات على مدار فترة زمنية. SeriesData مناسبة بشكل خاص لبيانات أجهزة الاستشعار العالية التردد، مثل عيّنات معدّل نبضات القلب المستمرة أثناء جلسة نشاط.

يتوافق كل من فئات RawData الثلاث مع فئة فرعية محددة من DataType: تتوافق SampleData وIntervalData وSeriesData مع SampleDataType وIntervalDataType وSeriesDataType على التوالي.

يتم تخصيص معرّف فريد (UID) لكل عنصر RawData من خلال Health Platform عند إدراجه. يمكنك استخدام معرّف UID هذا للإشارة إلى RawData كائن معيّن في طلبات القراءة أو التعديل أو الحذف.

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

تتضمّن "منصة الصحة" مجموعة كبيرة من أنواع البيانات الشائعة الاستخدام في تطبيقات الصحة واللياقة البدنية. توفّر البيانات المخزّنة مع أنواع البيانات المتاحة للمستخدمين عرضًا شاملاً لبياناتهم التاريخية المتعلقة بالصحة واللياقة البدنية والعافية، ما يتيح لهم الاطّلاع على أنشطتهم اليومية.

يتم تحديد كل نوع بيانات من خلال تنسيق البيانات الخاص به، والذي يتضمّن ما يلي:

  • الحقول: حقول محدّدة أو عامة مرتبطة بنوع البيانات. على سبيل المثال، يحتوي نوع بيانات تشبّع الدم بالأكسجين (SpO2) على حقول مثل "العنوان" و"الملاحظات" و"النسبة المئوية".
  • النوع: long أو double أو string أو enum
  • السمة: للقراءة فقط أو مطلوبة أو اختيارية أو نطاق التحقّق من الصحة

قائمة بأنواع البيانات

يمكنك الاستفادة إلى أقصى حد من "منصة الصحة" من خلال فهم أنواع البيانات المتاحة. تتيح "منصة الصحة" أنواع البيانات الموضّحة في الجدول التالي. يتم تنظيم أنواع البيانات وفقًا لتنسيقها: عينة أو فاصل زمني أو سلسلة.

SampleData الأنواع:

الجدول 1: أنواع SampleData لمنصة Health Platform
DataType.BasalMetabolicRateDataType BASAL_METABOLIC_RATE مطلوب
DataType.BloodGlucoseDataType BLOOD_GLUCOSE مطلوبة واختيارية
DataType.BloodPressureDataType BLOOD_PRESSURE مطلوبة واختيارية
DataType.BodyFatDataType BODY_FAT مطلوب
DataType.BodyTemperatureDataType BODY_TEMPERATURE مطلوبة واختيارية
DataType.BoneMassDataType BONE_MASS مطلوب
DataType.CervicalMucusDataType CERVICAL_MUCUS اختياري
DataType.CervicalPositionDataType CERVICAL_POSITION اختياري
DataType.CyclingPedalingCadenceDataType CYCLING_PEDALING_CADENCE مطلوب
DataType.DateOfBirthDataType DATE_OF_BIRTH قراءة فقط
DataType.GenderDataType GENDER قراءة فقط
DataType.HeartRateDataType HEART_RATE مطلوب
DataType.HeightDataType HEIGHT مطلوب
DataType.HipCircumferenceDataType HIP_CIRCUMFERENCE مطلوب
DataType.HrvDifferentialIndexDataType HRV_DIFFERENTIAL_INDEX مطلوب
DataType.HrvRmssdDataType HRV_RMSSD مطلوب
DataType.HrvSDataType HRV_S مطلوب
DataType.HrvSd2DataType HRV_SD2 مطلوب
DataType.HrvSdannDataType HRV_SDANN مطلوب
DataType.HrvSdnnDataType HRV_SDNN مطلوب
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX مطلوب
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX مطلوب
DataType.HrvSdsdDataType HRV_SDSD مطلوب
DataType.HrvTinnDataType HRV_TINN مطلوب
DataType.LeanBodyMassDataType LEAN_BODY_MASS مطلوب
DataType.LocationDataType LOCATION مطلوب
DataType.MenstruationDataType MENSTRUATION اختياري
DataType.OvulationTestDataType OVULATION_TEST مطلوب
DataType.OxygenSaturationDataType OXYGEN_SATURATION مطلوب
DataType.PaceDataType PACE مطلوب
DataType.PowerDataType POWER مطلوب
DataType.RespiratoryRateDataType RESPIRATORY_RATE مطلوب
DataType.RestingHeartRateDataType RESTING_HEART_RATE مطلوب
DataType.SexualActivityDataType SEXUAL_ACTIVITY مطلوب
DataType.SpeedDataType SPEED مطلوب
DataType.StepsCadenceDataType STEPS_CADENCE مطلوب
DataType.Vo2MaxDataType VO2_MAX مطلوبة واختيارية
DataType.WaistCircumferenceDataType WAIST_CIRCUMFERENCE مطلوب
DataType.WeightDataType WEIGHT مطلوب

IntervalData الأنواع:

DataType.ActiveEnergyDataType ACTIVE_ENERGY_BURNED مطلوب
DataType.ActiveTimeDataType ACTIVE_TIME قراءة فقط
DataType.ActivityEventDataType ACTIVITY_EVENT مطلوب
DataType.ActivityLapDataType ACTIVITY_LAP اختياري
DataType.ActivitySessionDataType ACTIVITY_SESSION مطلوب
DataType.BasalEnergyDataType BASAL_ENERGY_BURNED قراءة فقط
DataType.DistanceDataType DISTANCE مطلوب
DataType.ElevationGainedDataType ELEVATION_GAINED مطلوب
DataType.FloorsClimbedDataType FLOORS_CLIMBED مطلوب
DataType.HydrationDataType HYDRATION مطلوب
DataType.NutritionDataType NUTRITION اختياري
DataType.RepetitionsDataType REPETITIONS مطلوب
DataType.SleepSessionDataType SLEEP_SESSION اختياري
DataType.SleepStageDataType SLEEP_STAGE مطلوب
DataType.StepsDataType STEPS مطلوب
DataType.SwimmingStrokesDataType SWIMMING_STROKES مطلوبة واختيارية
DataType.TotalEnergyDataType TOTAL_ENERGY_BURNED قراءة فقط

SeriesData الأنواع:

الجدول 3: أنواع SeriesData في "منصة الصحة"
DataType.CyclingPedalingCadenceSeriesDataType CYCLING_PEDALING_CADENCE مطلوب
DataType.HeartRateSeriesDataType HEART_RATE مطلوب
DataType.LocationSeriesDataType LOCATION مطلوب
DataType.PaceSeriesDataType PACE مطلوب
DataType.PowerSeriesDataType POWER مطلوب
DataType.SpeedSeriesDataType SPEED مطلوب
DataType.StepsCadenceSeriesDataType STEPS_CADENCE مطلوب

وظائف المطوّرين

يوضّح ما يلي مجموعة دوال البيانات العادية المتوفّرة في Health Platform. توفّر المنصة وظائف الإدراج والتعديل والحذف العادية للبيانات الأولية.

Read AggregatedData

تتيح المنصة للعملاء تطبيق دالة تجميع على الأنواع التالية من AggregatedData:

  • استبدِل StatisticalData بمتوسط القيم أو الحد الأدنى أو الحد الأقصى في مجموعة من SampleData أو SeriesData، مثل الحد الأدنى والحد الأقصى لمعدل نبضات القلب خلال جلسة نشاط.
  • استبدِل CumulativeData CumulativeData بمجموع قيم IntervalData، مثل إجمالي عدد الخطوات خلال فترة يومية.
  • CountData: هو عدد بسيط لعناصر RawData الأساسية، مثل عدد جلسات النشاط في أسبوع معيّن. يمكن احتساب بيانات العدد لأنواع بيانات العيّنات والفواصل الزمنية والسلاسل.

الربط بواجهة برمجة التطبيقات Health Platform API

HealthDataClient هي نقطة الدخول إلى Health Platform API.

توضّح الخطوات التالية كيفية الاتصال بمنصّة Health Platform:

  1. استخدِم HealthDataService.getClient لإنشاء مثيلات جديدة من HealthDataClient.
  2. بعد ذلك، يجب أن يطلب تطبيق العميل إذنًا من المستخدم باستخدام طريقة requestPermissions (Set).

تتولّى HealthDataClient تلقائيًا إدارة اتصالها بطبقة التخزين الأساسية، كما تتعامل مع جميع عمليات الاتصال بين العمليات (IPC) وتسلسل الطلبات الصادرة والردود الواردة.