Google Health API ile Vitals ve Sağlık Metrikleri Deneyimleri Geliştirme

Google Health API, kullanıcıların kalp atış hızı, oksijen doygunluğu, kan şekeri, vücut sıcaklığı ve günlük uyku sıcaklığı türevleri gibi temel sağlık göstergelerini ve fizyolojik sağlık metriklerini izler.

Kullanıcılarınıza en iyi deneyimi sunmak için uygulamanızdaki önemli verilerle ilgili kullanıcı yetkilendirmesini nasıl okuyacağınızı ve isteyeceğinizi öğrenin.

Desteklenen veri türleri

API, hayati bulguları ve sağlık metriklerini izlemek için aşağıdaki veri türlerini destekler:

Tablo: Google Health API Vitals veri türleri
Veri türü
  dataType
  filter parametresi
Kullanılabilir
işlemler
Kapsam
Kan Şekeri
blood-glucose
blood_glucose
Kayıt türü: Örnek
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Vücut İç Sıcaklığı
core-body-temperature
core_body_temperature
Kayıt türü: Örnek
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Nabız Değişkenliği
daily-heart-rate-variability
daily_heart_rate_variability
Kayıt türü: Günlük

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Kalp Hızı Bölgeleri
daily-heart-rate-zones
daily_heart_rate_zones
Kayıt türü: Günlük
list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Oksijen Yoğunluğu
daily-oxygen-saturation
daily_oxygen_saturation
Kayıt türü: Günlük

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Solunum Hızı
daily-respiratory-rate
daily_respiratory_rate
Kayıt türü: Günlük

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Dinlenme Nabzı
daily-resting-heart-rate
daily_resting_heart_rate
Kayıt türü: Günlük

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Uyku Sıcaklığı Türevleri
daily-sleep-temperature-derivations
daily_sleep_temperature_derivations
Kayıt türü: Günlük

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Elektrokardiyogram (EKG)
electrocardiogram
electrocardiogram
Kayıt türü: Oturum

Uyumlu cihazlar

list .ecg.readonly
Kalp Atış Hızı
heart-rate
heart_rate
Kayıt türü: Örnek

Uyumlu cihazlar

list, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Nabız Değişkenliği
heart-rate-variability
heart_rate_variability
Kayıt türü: Örnek

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Düzensiz Kalp Ritmi Bildirimi
irregular-rhythm-notification
irregular_rhythm_notification
Kayıt türü: Oturum
list .irn.readonly
Oksijen Doygunluğu
oxygen-saturation
oxygen_saturation
Kayıt türü: Örnek

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Solunum Hızı Uyku Özeti
respiratory-rate-sleep-summary
respiratory_rate_sleep_summary
Kayıt türü: Örnek

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

Salt okuma gereksinimleri

Fizyolojik hayati bulgular verileri, cihaz senkronizasyonu veya Fitbit mobil ya da web uygulamasındaki manuel günlük girişleriyle doldurulur ve REST API üzerinden salt okunur (Google Health API uç noktaları üzerinden doğrudan yazılamaz veya değiştirilemez).

Aşağıdaki bölümlerde, yaşam belirtisi verileriyle ilgili teknik ayrıntılar ve REST gösterim biçimleri verilmektedir.

Nabız ve kalp sağlığı

API, kalp atış hızı metrikleri için gün içi ayrıntılı ölçümler ve günlük özet toplamalar sağlar:

  • Kalp Atış Hızı (heart-rate): beatsPerMinute sayısı içeren, kullanıcının motionContext (ör. SEDENTARY veya ACTIVE) ve sensorLocation (ör. WRIST veya CHEST) ile birlikte anlık kalp atış hızı ölçümleri.
  • Günlük dinlenme nabzı (daily-resting-heart-rate): Günlük bir temel dinlenme nabzı değeri.
  • Nabız değişkenliği (heart-rate-variability ve daily-heart-rate-variability): HRV'yi temsil etmek için milisaniye cinsinden ardışık farkların (rmssd) karekökünü kaydeder.

REST gösterimi örneği

Nabız ölçümlerini sorgulamak için list uç noktasına bir GET isteği gönderin.

kullanın.

Aşağıdaki örnekte, döndürülen listeden tek bir heart-rate veri noktası gösterilmektedir:

İstek

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

Yanıt

{
  "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"
        }
      }
    }
  ]
}

Kandaki glikoz

blood-glucose veri türü, kullanıcının kan şekeri seviyelerini temsil eder. Kan şekeri noktaları, miligram/desilitre cinsinden konsantrasyon (mg/dL), yemek veya zamanlama bağlamı ve numune bilgilerini içerir.

REST gösterimi örneği

Kan şekeri ölçümlerini sorgulamak için list uç noktasına bir GET isteği gönderin. Aşağıdaki örnekte, döndürülen listeden tek bir blood-glucose veri noktası gösterilmektedir:

İstek

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

Yanıt

{
  "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"
      }
    }
  ]
}

Oksijen doygunluğu (SpO2)

API, oksijen seviyelerini oxygen-saturation (gün içi örnek değerler) ve daily-oxygen-saturation (günlük özet istatistikleri) kullanarak izler. Yüzde yoğunluk, 0 ile 100 arasında bir sayı olarak ifade edilir.

REST gösterimi örneği

Oksijen doygunluğu ölçümleriyle ilgili sorgu göndermek için list uç noktasına GET isteği gönderin. Aşağıdaki örnekte, döndürülen listeden tek bir oxygen-saturation veri noktası gösterilmektedir:

İstek

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

Yanıt

{
  "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
      }
    }
  ]
}

Sıcaklık

Sıcaklık takibi, vücut sıcaklığı metriklerini ve gece uykusunda deri sıcaklığı trendlerini içerir:

  • Vücut İç Sıcaklığı (core-body-temperature): Belirli ölçüm yeriyle (ör. ARMPIT, EAR veya FOREHEAD) birlikte, iç organ sıcaklığını santigrat derece cinsinden kaydeder.
  • Uyku Sıcaklığı Türevleri (daily-sleep-temperature-derivations): Gece boyunca kaydedilen yüksek frekanslı deri sıcaklığı varyansları.

REST gösterimi örneği

Temel vücut sıcaklığı ölçümlerini sorgulamak için list uç noktasına bir GET isteği gönderin. Aşağıdaki örnekte, döndürülen listeden tek bir core-body-temperature veri noktası gösterilmektedir:

İstek

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

Yanıt

{
  "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"
      }
    }
  ]
}

Elektrokardiyogram (EKG) ve bildirimler

Tıbbi sınıf sensörlere sahip cihazlar için API, gelişmiş kalp sağlığı veri türlerini kullanıma sunar:

  • Elektrokardiyogram (electrocardiogram): Tek uçlu EKG oturumu sonuçları; sınıflandırma (SINUS_RHYTHM, ATRIAL_FIBRILLATION, INCONCLUSIVE), ortalama kalp atış hızı, örnekleme sıklığı ve ham dalga biçimi gerilim örneklerini içerir.
  • Düzensiz kalp ritmi bildirimi (irregular-rhythm-notification): Pasif izleme sırasında olası AF belirtilerinin tespit edildiğini gösteren bağlamsal uyarı etkinlikleri.

REST gösterimi örneği

Elektrokardiyogram oturumu verilerini sorgulamak için list uç noktasına GET isteği gönderin. Aşağıdaki örnekte, döndürülen listeden tek bir electrocardiogram veri noktası gösterilmektedir:

İstek

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

Yanıt

{
  "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
        ]
      }
    }
  ]
}

Kapsamlar ve yetkilendirme

Vitals ve kalp sağlığı verileri özelliğini kullanmak için uygulamanızın aşağıdaki OAuth kapsamlarını istemesi gerekir:

  • Okuma: https://www.googleapis.com/auth/googlehealth.ecg.readonly
  • Okuma: https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
  • Yazma: https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly
  • Okuma: https://www.googleapis.com/auth/googlehealth.irn.readonly

Yönergeler

Yaşam belirtileri ve sağlık metrikleri içeren özellikler tasarlarken aşağıdaki yönergeleri kullanın:

  • Birim dönüştürme işlemlerini gerçekleştirme: Sıcaklık değerleri Santigrat cinsinden sağlanır. Kullanıcının yerelleştirilmiş tercihlerine göre ön uç kodunuzda Fahrenheit'a dönüştürün.
  • Webhook bildirimlerini yönetme: Kullanıcı yeni ölçümleri (ör. nabız veya kan şekeri) senkronize ettikten hemen sonra arka uç analizini tetiklemek için hayati bulgularla ilgili webhook uyarılarına abone olun.
  • Veri hassasiyetine saygı gösterin: Ürününüzün, yüksek sıklıkta fizyolojik hayati bulguların okunmasıyla ilgili klinik veya sağlık bağlamlarını kullanıcılara net bir şekilde açıkladığından emin olun. Yetkilendirme istemleri çağrılmadan önce neden health_metrics_and_measurements veya ecg gibi kapsamların gerekli olduğunu açıklayın.