פיתוח חוויות של סימנים חיוניים ומדדי הבריאות באמצעות Google Health API

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

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

סוגי נתונים נתמכים

ה-API תומך בסוגי הנתונים הבאים למעקב אחרי מדדים חיוניים ומדדי בריאות:

טבלה: סוגי נתונים של מדדים חיוניים ב-Google Health API
סוג הנתונים
  dataType הפרמטר
  filter
פעולות
זמינות
היקף
סוכר בדם
blood-glucose
blood_glucose
סוג הרשומה: Sample
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
טמפרטורת ליבה
core-body-temperature
core_body_temperature
סוג הרשומה: Sample
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Daily Heart Rate Variability
daily-heart-rate-variability
daily_heart_rate_variability
סוג הרשומה: יומי

מכשירים תואמים

רשימה, התאמה .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Daily Heart Rate Zones
daily-heart-rate-zones
daily_heart_rate_zones
סוג הרשומה: יומי
רשימה, התאמה .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Daily Oxygen Saturation
daily-oxygen-saturation
daily_oxygen_saturation
סוג הרשומה: יומי

מכשירים תואמים

רשימה, התאמה .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
קצב נשימה יומי
daily-respiratory-rate
daily_respiratory_rate
סוג הרשומה: יומי

מכשירים תואמים

רשימה, התאמה .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
הדופק היומי במנוחה
daily-resting-heart-rate
daily_resting_heart_rate
סוג הרשומה: יומי

מכשירים תואמים

רשימה, התאמה .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Daily Sleep Temperature Derivations
daily-sleep-temperature-derivations
daily_sleep_temperature_derivations
סוג הרשומה: יומי

מכשירים תואמים

רשימה, התאמה .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Electrocardiogram (ECG)
electrocardiogram
electrocardiogram
סוג הרשומה: סשן

מכשירים תואמים

list .ecg.readonly
דופק
heart-rate
heart_rate
סוג הרשומה: Sample

מכשירים תואמים

list, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
שונות קצב הלב
heart-rate-variability
heart_rate_variability
סוג הרשומה: Sample

מכשירים תואמים

רשימה, התאמה .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
התראה על הפרעת קצב (IRN)
irregular-rhythm-notification
irregular_rhythm_notification
סוג הרשומה: סשן
list .irn.readonly
רמת החמצן בדם
oxygen-saturation
oxygen_saturation
סוג הרשומה: Sample

מכשירים תואמים

רשימה, התאמה .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
סיכום השינה של קצב הנשימה
respiratory-rate-sleep-summary
respiratory_rate_sleep_summary
סוג הרשומה: Sample

מכשירים תואמים

רשימה, התאמה .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

דרישות לקריאה בלבד

נתונים פיזיולוגיים של סימנים חיוניים מאוכלסים על ידי סנכרון מכשירים או רשומות יומן ידניות באפליקציית Fitbit לנייד או באפליקציית אינטרנט, והם לקריאה בלבד דרך API בארכיטקטורת REST (אי אפשר לכתוב או לשנות אותם ישירות דרך נקודות קצה ל-API של Google Health).

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

דופק ובריאות הלב

ה-API מספק מדידות מפורטות במהלך היום וסיכומים יומיים של מדדי קצב הלב:

  • דופק (heart-rate): מדידות של הדופק בנקודת זמן מסוימת, כולל ספירה של beatsPerMinute, וגם motionContext של המשתמש (למשל SEDENTARY או ACTIVE) וsensorLocation (למשל WRIST או CHEST).
  • הדופק היומי במנוחה (daily-resting-heart-rate): ערך בסיסי יומי של הדופק במנוחה.
  • שונות קצב הלב (HRV) (heart-rate-variability ו-daily-heart-rate-variability): נתון שמתעד את השורש הממוצע הריבועי של ההפרשים העוקבים (rmssd) באלפיות השנייה כדי לייצג את שונות קצב הלב.

דוגמה לייצוג REST

כדי לשלוח שאילתה לגבי מדידות של הדופק, שולחים בקשת GET לנקודת הקצה list.

בדוגמה הבאה מוצגת נקודה על הגרף אחת של heart-rate מתוך הרשימה שמוחזרת:

בקשה

GET https://health.googleapis.com/v4/users/me/dataTypes/heart-rate/dataPoints?startTime=2026-04-20T08:00:00Z&endTime=2026-04-20T08:05:00Z
Authorization: Bearer access-token
Accept: application/json

תשובה

{
  "dataPoints": [
    {
      "name": "users/me/dataTypes/heart-rate/dataPoints/hr-123456789",
      "dataSource": {
        "recordingMethod": "ACTIVELY_MEASURED"
      },
      "heartRate": {
        "sampleTime": {
          "physicalTime": "2026-04-20T08:00:00Z",
          "utcOffset": "0s"
        },
        "beatsPerMinute": "72",
        "metadata": {
          "motionContext": "SEDENTARY",
          "sensorLocation": "WRIST"
        }
      }
    }
  ]
}

סוכר בדם

סוג הנתונים blood-glucose מייצג את רמות הסוכר בדם של המשתמש. נקודות של גלוקוז בדם כוללות את הריכוז במיליגרם לדציליטר (mg/dL), את ההקשר של הארוחה או התזמון ומידע על הדגימה.

דוגמה לייצוג REST

כדי לשלוח שאילתה לגבי מדידות של רמת הסוכר בדם, שולחים בקשת GET לנקודת הקצה list. בדוגמה הבאה מוצגת נקודה על הגרף אחת של blood-glucose מתוך הרשימה שמוחזרת:

בקשה

GET https://health.googleapis.com/v4/users/me/dataTypes/blood-glucose/dataPoints?startTime=2026-04-20T08:00:00Z&endTime=2026-04-20T09:00:00Z
Authorization: Bearer access-token
Accept: application/json

תשובה

{
  "dataPoints": [
    {
      "name": "users/me/dataTypes/blood-glucose/dataPoints/bg-987654321",
      "dataSource": {
        "recordingMethod": "MANUALLY_ENTERED"
      },
      "bloodGlucose": {
        "sampleTime": {
          "physicalTime": "2026-04-20T08:30:00Z",
          "utcOffset": "-25200s"
        },
        "bloodGlucoseMilligramsPerDeciliter": 95.0,
        "measurementSource": "SELF_MONITORING_BLOOD_GLUCOSE",
        "mealType": "BREAKFAST",
        "measurementTiming": "AFTER_MEAL",
        "specimen": "CAPILLARY_BLOOD",
        "notes": "Post-breakfast fingerstick reading"
      }
    }
  ]
}

רמת החמצן בדם (סטורציה)

ממשק ה-API עוקב אחרי רמות החמצן באמצעות oxygen-saturation (ערכי דגימה במהלך היום) ו-daily-oxygen-saturation (סיכום נתונים סטטיסטיים יומיים). ריכוז האחוזים מבוטא כמספר מ-0 עד 100.

דוגמה לייצוג REST

כדי לשלוח שאילתה לגבי מדידות של רמת החמצן בדם, שולחים בקשת GET לנקודת הקצה list. בדוגמה הבאה מוצגת נקודה על הגרף אחת של oxygen-saturation מתוך הרשימה שמוחזרת:

בקשה

GET https://health.googleapis.com/v4/users/me/dataTypes/oxygen-saturation/dataPoints?startTime=2026-04-20T03:00:00Z&endTime=2026-04-20T03:05:00Z
Authorization: Bearer access-token
Accept: application/json

תשובה

{
  "dataPoints": [
    {
      "name": "users/me/dataTypes/oxygen-saturation/dataPoints/spo2-555555",
      "dataSource": {
        "recordingMethod": "ACTIVELY_MEASURED"
      },
      "oxygenSaturation": {
        "sampleTime": {
          "physicalTime": "2026-04-20T03:00:00Z",
          "utcOffset": "0s"
        },
        "percentage": 98.2
      }
    }
  ]
}

טמפרטורה

מעקב הטמפרטורה כולל מדדים של טמפרטורת הגוף ומגמות של טמפרטורת העור במהלך השינה:

  • טמפרטורת הגוף המרכזית (core-body-temperature): נתוני הטמפרטורה של האיברים הפנימיים במעלות צלזיוס, עם ציון של אתר המדידה הספציפי (למשל ARMPIT,‏ EAR או FOREHEAD).
  • Sleep Temperature Derivations (daily-sleep-temperature-derivations): High-frequency skin temperature variances recorded overnight.

דוגמה לייצוג REST

כדי לשלוח שאילתה לגבי מדידות של טמפרטורת הגוף, שולחים בקשת GET לנקודת הקצה list. בדוגמה הבאה מוצגת נקודת נתונים אחת של core-body-temperature מתוך הרשימה שמוחזרת:

בקשה

GET https://health.googleapis.com/v4/users/me/dataTypes/core-body-temperature/dataPoints?startTime=2026-04-20T22:00:00Z&endTime=2026-04-20T23:00:00Z
Authorization: Bearer access-token
Accept: application/json

תשובה

{
  "dataPoints": [
    {
      "name": "users/me/dataTypes/core-body-temperature/dataPoints/cbt-666666",
      "dataSource": {
        "recordingMethod": "ACTIVELY_MEASURED"
      },
      "coreBodyTemperature": {
        "sampleTime": {
          "physicalTime": "2026-04-20T22:30:00Z",
          "utcOffset": "-18000s"
        },
        "temperatureCelsius": 36.8,
        "measurementLocation": "FOREHEAD"
      }
    }
  ]
}

אק"ג והתראות

במכשירים עם חיישנים ברמה רפואית, ה-API חושף סוגים מתקדמים של נתונים על בריאות הלב:

  • אלקטרוקרדיוגרם (electrocardiogram): תוצאות של סשן אק"ג עם אלקטרודה אחת, כולל סיווג (SINUS_RHYTHM, ATRIAL_FIBRILLATION, INCONCLUSIVE), קצב לב ממוצע, תדירות הדגימה ודגימות מתח של צורת הגל הגולמית.
  • התראה על הפרעת קצב (irregular-rhythm-notification): אירועי התראה הקשריים שמציינים סימנים לפרפור פוטנציאלי שזוהו במהלך מעקב פסיבי.

דוגמה לייצוג REST

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

בקשה

GET https://health.googleapis.com/v4/users/me/dataTypes/electrocardiogram/dataPoints?startTime=2026-04-20T10:00:00Z&endTime=2026-04-20T10:05:00Z
Authorization: Bearer access-token
Accept: application/json

תשובה

{
  "dataPoints": [
    {
      "name": "users/me/dataTypes/electrocardiogram/dataPoints/ecg-777777",
      "dataSource": {
        "recordingMethod": "ACTIVELY_MEASURED"
      },
      "electrocardiogram": {
        "interval": {
          "startTime": "2026-04-20T10:00:00Z",
          "startUtcOffset": "0s",
          "endTime": "2026-04-20T10:00:30Z",
          "endUtcOffset": "0s"
        },
        "resultClassification": "SINUS_RHYTHM",
        "beatsPerMinuteAvg": "70",
        "samplingFrequencyHertz": 250,
        "millivoltsScalingFactor": 1000,
        "leadNumber": 1,
        "waveformSamples": [
          -12, -8, 4, 18, 30, 42, 50, 48, 32, 10
        ]
      }
    }
  ]
}

היקפים והרשאות

כדי להשתמש בתכונה נתונים חיוניים ונתוני בריאות הלב, האפליקציה צריכה לבקש את היקפי ההרשאות הבאים של OAuth:

  • קריאה: https://www.googleapis.com/auth/googlehealth.ecg.readonly
  • קריאה: https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
  • כתיבה: https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly
  • קריאה: https://www.googleapis.com/auth/googlehealth.irn.readonly

הנחיות

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

  • המרת יחידות: ערכי הטמפרטורה מסופקים בצלזיוס. ממירים לפרנהייט בקוד של קצה קדמי על סמך ההעדפות המקומיות של המשתמש.
  • ניהול התראות על תגובה לפעולה מאתר אחר (webhook): אפשר להירשם לקבלת התראות על תגובה לפעולה מאתר אחר (webhook) לגבי סימנים חיוניים כדי להפעיל ניתוח בקצה העורפי מיד אחרי שהמשתמש מסנכרן קריאות חדשות (כמו דופק או רמת סוכר בדם).
  • הקפדה על רגישות הנתונים: חשוב לוודא שבתיאור המוצר מוסבר למשתמשים בבירור ההקשר הקליני או הבריאותי לקריאת נתונים פיזיולוגיים חיוניים בתדירות גבוהה. הסבירו למה נדרשים היקפי הרשאות כמו health_metrics_and_measurements או ecg לפני שמוצגות בקשות לאישור הרשאות.