ממשק API של פלטפורמת Health

‫Health Platform API הוא ממשק API ל-Android שמספק למפתחים ממשק יחיד לקריאה, לכתיבה ולשיתוף של נתוני בריאות, רווחה וכושר היסטוריים של משתמש. באמצעות פלטפורמת הבריאות, המשתמשים יכולים לשלוט בנתונים שלהם. המשתמשים יכולים להחליט לאילו אפליקציות תהיה גישת קריאה או כתיבה לסוגים שונים של נתונים. סוגי הנתונים ב-Health Platform API כוללים גובה, דופק ועוד.

ממשק Health Platform API מספק למשתמשים מנגנון אחסון ושיתוף שמאפשר להם לבחור אילו אפליקציות יוכלו לגשת לנתוני הבריאות, הכושר והרווחה האישיים שלהם ולהציג אותם. כך מפתחי אפליקציות יכולים להציג למשתמשים תמונה מלאה יותר של מצב הבריאות שלהם, והמשתמשים יכולים לעקוב אחרי הנתונים שלהם בצורה יעילה יותר.

ערכת הכלים לפיתוח תוכנה של Health Platform API מספקת למפתחי אפליקציות ל-Android את כל מה שהם צריכים כדי לספק גישה לנתוני הבריאות והרווחה של המשתמש במכשירי Samsung נבחרים, והיא מאפשרת לאפליקציות לבצע פעולות בכמויות גדולות, כמו הוספה, מחיקה וקריאה של נתונים.

שנתחיל?

כשמשתמשים ב-Health Platform, חשוב לזכור את הדברים הבאים:

  • אפליקציות לקוח צריכות לקבל מהמשתמש הרשאות מפורטות לגישת קריאה או כתיבה.
  • המשתמש יכול לדחות את ההרשאות או לבטל אותן בכל שלב לאחר מכן.
  • ‫Health Platform API תומך רק במכשירי סמסונג נבחרים.
  • HealthDataClient הוא הלקוח של פלטפורמת הבריאות ונקודת הכניסה לפלטפורמת הבריאות.

בתמונה הבאה מוצגים שלבי השילוב שבהם המפתחים צריכים לפעול:

שלבי השילוב, כולל הגדרת ה-SDK, גישה והרשאות ופעולות CRUD.
איור 1. שלבי השילוב של פלטפורמת הבריאות.

קבצים של גרסת הפצה

הגרסה הראשונה של פלטפורמת הבריאות כוללת את הרכיבים הבאים:

  • Client SDK: צריך לכלול את ה-SDK הזה באפליקציה כדי להשתמש ב-Health Platform API. ה-SDK הוא מאגר Maven שאפשר לכלול ישירות בקובצי ה-build של Gradle באפליקציה.

התקנת פלטפורמת הבריאות

כדי להתקין את פלטפורמת הבריאות:

בקובץ הבסיס build.gradle של האפליקציה, מוסיפים את המאגר, כמו בדוגמה הבאה:

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

מוסיפים תלות ב-Health Platform SDK בקובץ 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' }

נתונים

פלטפורמת הבריאות שומרת ומארגנת נתוני בריאות וכושר. בנוסף, המודל מתחשב בהבדלים המהותיים בין שיטות המדידה של סוגי נתונים שונים. לדוגמה, מדידת קצב הלב מתבצעת באופן מיידי, אבל מדידת מספר הצעדים מתבצעת לאורך תקופת זמן מסוימת.

ריכזנו כאן את האובייקטים המרכזיים ב-Health Platform וההבדלים ביניהם:

  • RawData: מדידה ורשומה של נתונים.
  • DataType: מזהה של סוגים נפוצים של נתוני בריאות וכושר, כמו קצב לב, שומן בגוף או טמפרטורת הגוף, והפורמטים שלהם, כמו שדות, קריאה בלבד או אופציונליים.
  • SampleData: אובייקט RawData שהוא מדידה מיידית, כמו קצב לב, לחץ דם או מהירות ריצה.
  • IntervalData: אובייקט RawData שהוא מדידה מצטברת שמתבצעת לאורך תקופה מסוימת, כמו מספר הצעדים, המרחק שעברתם או מספר הקלוריות שנשרפו.
  • SeriesData: אובייקט RawData שמכיל רצף של מדידות לאורך תקופה. ‫SeriesData מתאים במיוחד לנתוני חיישנים בתדירות גבוהה, כמו דגימות רציפות של קצב הלב במהלך פעילות.

כל אחת משלוש המחלקות RawData מתאימה למחלקת משנה ספציפית של DataType: המחלקות SampleData,‏ IntervalData ו-SeriesData מתאימות למחלקות SampleDataType,‏ IntervalDataType ו-SeriesDataType, בהתאמה.

לכל אובייקט RawData מוקצה מזהה ייחודי (UID) על ידי פלטפורמת Health כשהוא מוכנס. אפשר להשתמש במזהה הייחודי הזה כדי להפנות אל RawData אובייקט ספציפי בבקשות קריאה, עדכון או מחיקה.

סוגי הנתונים

פלטפורמת הבריאות כוללת מגוון רחב של סוגי נתונים שנפוצים באפליקציות בריאות וכושר. הנתונים שמאוחסנים בסוגי הנתונים הזמינים מספקים למשתמשים תמונה מקיפה של נתוני הבריאות, הכושר והרווחה שלהם לאורך זמן, ומאפשרים להם לקבל תובנות לגבי הפעילויות היומיומיות שלהם.

כל סוג נתונים מוגדר לפי פורמט הנתונים שלו, שכולל את הפרטים הבאים:

  • שדות: שדות ספציפיים או כלליים שמשויכים לסוג הנתונים. לדוגמה, לסוג הנתונים של סטורציית חמצן בדם (SpO2) יש שדות כמו Title (שם), Notes (הערות) ו-Percentage (אחוז).
  • סוג: long,‏ double,‏ string או enum.
  • מאפיין: לקריאה בלבד, חובה, אופציונלי או טווח אימות.

רשימה של סוגי נתונים

כדי להפיק את המקסימום מ-Health Platform, חשוב להבין את סוגי הנתונים שזמינים בה. פלטפורמת הבריאות תומכת בסוגי הנתונים שמוצגים בטבלה הבאה. סוגי הנתונים מסודרים לפי הפורמט שלהם: מדגם, מרווח או סדרה.

SampleData סוגים:

טבלה 1: סוגי פלטפורמות בריאות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 סוגים:

טבלה 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. הפלטפורמה מספקת פונקציות סטנדרטיות להוספה, לעדכון ולמחיקה של נתונים גולמיים.

קריאת נתונים מצטברים

הפלטפורמה מאפשרת ללקוחות להחיל פונקציית צבירה על הסוגים הבאים של AggregatedData:

  • StatisticalData: הערכים הממוצעים, המינימליים או המקסימליים בקבוצה של SampleData או SeriesData, כמו קצב הלב המינימלי והמקסימלי במהלך סשן פעילות.
  • CumulativeData: סכום הערכים של IntervalData, למשל מספר הצעדים הכולל במרווח יומי.
  • CountData: ספירה פשוטה של מספר האובייקטים הבסיסיים RawData, כמו מספר הסשנים של פעילות בשבוע נתון. אפשר לחשב נתוני ספירה עבור סוגי הנתונים sample,‏ interval ו-series.

קישור אל Health Platform API

HealthDataClient היא נקודת הכניסה ל-Health Platform API.

כדי להתחבר לפלטפורמת הבריאות, פועלים לפי השלבים הבאים:

  1. משתמשים ב-HealthDataService.getClient כדי ליצור מופעים חדשים של HealthDataClient.
  2. אחרי כן, אפליקציית הלקוח צריכה לבקש הרשאה מהמשתמש באמצעות השיטה requestPermissions (Set).

HealthDataClient מנהל באופן אוטומטי את החיבור שלו לשכבת האחסון הבסיסית, ומטפל בכל התקשורת בין תהליכים (IPC) והסדרות של בקשות יוצאות ותשובות נכנסות.