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

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

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

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

البدء

عند استخدام Health Platform، يجب مراعاة ما يلي:

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

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

خطوات الدمج

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

يحتوي إصدار الإصدار 1 من Health Platform على ما يلي:

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

تثبيت Health Platform

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

في ملف جذر التطبيق build.gradle، أضِف الريبو على النحو الموضّح في المثال التالي:

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

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

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

البيانات

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

في ما يلي نظرة على العناصر المركزية في Health Platform ومدى اختلافها:

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

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

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

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

تتضمن Health Platform مجموعة واسعة من أنواع البيانات التي يشيع استخدامها في تطبيقات الصحة واللياقة البدنية. تزوِّد البيانات المخزَّنة في أنواع البيانات المتاحة المستخدِمين بنظرة شاملة على بياناتهم السابقة للصحة واللياقة البدنية والعافية، مما يمنحهم نظرة ثاقبة على أنشطتهم اليومية.

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

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

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

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

SampleData أنواع:

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 أنواع:

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. توفر المنصة دوال قياسية لإدراج وتحديث وحذف للبيانات الأولية.

قراءة البيانات المجمّعة

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

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

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

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

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

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

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