AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Health Connect FHIR'a Aktarma

Flutter ile Fitbit, Garmin, Oura, Withings ve Wear OS'ten Android Health Connect verilerini okuyun ve FHIR R4 kaydına yazın: izinler, geçmiş, Play incelemesi.

Health Connect, Android'in cihaz içi sağlık deposudur: Samsung Health, Fitbit, Garmin Connect, Oura, Withings ve Wear OS uygulamaları buraya yazar ve sizin uygulamanız kişinin izniyle buradan okur. Bu verileri bir FHIR kaydına koymak için, telefondaki günlük toplamları ve ortalamaları okuyun, bunları arka ucunuza gönderin ve her metriği bir LOINC kodu ve bir UCUM birimi ile bir Observation olarak yazın. Bu sayfa, Android'in gerektirdiği izinleri, aynı kodla Android'de Health Connect'i ve iOS'ta Apple Health'i okuyan bir Flutter örneğini (flutter analyze ile kontrol edildi) ve Google Play'de yayınlama kurallarını kapsar.

Health Connect'e Neler Ulaşır

Health Connect, Android 14 ve sonraki sürümlere entegre edilmiştir ve daha eski sürümlerde uygulama olarak mevcuttur. HeartRateRecord, RestingHeartRateRecord, HeartRateVariabilityRmssdRecord, OxygenSaturationRecord, RespiratoryRateRecord, StepsRecord, DistanceRecord, ActiveCaloriesBurnedRecord, SleepSessionRecord, WeightRecord, BloodPressureRecord, BloodGlucoseRecord, BodyTemperatureRecord ve ExerciseSessionRecord gibi kayıtları tutar.

Her satıcı belgesine göre kimin oraya yazdığı:

Kaynak Ne Beklemeli
Fitbit ve Pixel Watch Kişi kurulumu yaptıktan sonra Fitbit uygulaması Health Connect ile eşitlenir (Google yardımı)
Garmin Garmin Connect, Android 14 ve sonraki sürümlerde Health Connect'i destekler: kalp atış hızı ve kalori gibi aktivite ve sağlık verileri (Android Developers, Ağustos 2025)
Oura Kalp atış hızı, HRV, evrelerle uyku, adımlar, mesafe, kalori ve antrenmanlar (Oura)
Withings Health Mate, Health Connect aracılığıyla aktivite, ağırlık, uyku ve diğer verileri alışverişinde bulunur (Android Developers blogu)
Samsung Health, Galaxy Watch Samsung Health'in kendi hızında bir alt küme — Samsung Health'ten FHIR'e bakın

Her satıcı uygulamasının Health Connect'e yazma iznine sahip olması gerekir; bu izin kişi tarafından o uygulamada veya Health Connect ayarlarında verilir. Bir kaynak eksikse, kontrol edilecek ilk şey budur.

İzinler Android gerektirir

Flutter'da Günlük Değerleri Okuma

health paketi, Android'de Health Connect'i ve iOS'te Apple Health'i tek bir API'nin arkasında okur. Örnek, Anpheros Daily'nin birlikte gönderdiği 13.2.1 sürümünü kullanır:

import 'dart:math' as math;

import 'package:health/health.dart';

/// One day of data from Health Connect (Android) or Apple Health (iOS), ready for your backend.
class DailyValue {
  DailyValue(this.metric, this.day, this.value, {this.min, this.max});
  final String metric; // 'heart_rate', 'steps'
  final String day; // '2026-10-01', the user's local day
  final double value;
  final double? min, max;

  Map<String, Object?> toJson() => {'metric': metric, 'day': day, 'value': value, 'min': min, 'max': max};
}

final health = Health();

Future<List<DailyValue>> collectLastDays({int days = 30}) async {
  await health.configure();
  if (!await health.isHealthConnectAvailable()) {
    await health.installHealthConnect(); // opens the Play Store on Android; always available on iOS
    return [];
  }
  const types = [HealthDataType.HEART_RATE, HealthDataType.STEPS];
  final granted = await health.requestAuthorization(types, permissions: [HealthDataAccess.READ, HealthDataAccess.READ]);
  if (!granted) return [];

  final now = DateTime.now();
  final out = <DailyValue>[];
  for (var i = days - 1; i >= 0; i--) {
    final start = DateTime(now.year, now.month, now.day - i); // local midnight, safe across DST changes
    final end = DateTime(start.year, start.month, start.day + 1);
    final day = start.toIso8601String().substring(0, 10);

    final steps = await health.getTotalStepsInInterval(start, end);
    if (steps != null) out.add(DailyValue('steps', day, steps.toDouble()));

    final samples = await health.getHealthDataFromTypes(types: [HealthDataType.HEART_RATE], startTime: start, endTime: end);
    final bpm = [for (final p in samples) if (p.value is NumericHealthValue) (p.value as NumericHealthValue).numericValue.toDouble()];
    if (bpm.isNotEmpty) {
      out.add(DailyValue('heart_rate', day, bpm.reduce((a, b) => a + b) / bpm.length,
          min: bpm.reduce(math.min), max: bpm.reduce(math.max)));
    }
  }
  return out; // POST these to your backend, which writes them to the FHIR record
}

getTotalStepsInInterval, Health Connect'ten toplu toplamını ister; bu, zaten çakışan kaynakları (aynı yürüyüşü sayan bir telefon ve bir saat) kişinin Health Connect'te ayarladığı veri kaynağı önceliğine göre çözer. Ham adım kayıtlarını kendiniz toplamak çift saymaya neden olur.

Anpheros Daily'de bunu göndermeyle ilgili notlar:

Flutter Değerlerinden FHIR Gözlemlerine

Değerleri arka uç sisteminize gönderin ve her kişi, metrik ve gün için kararlı bir tanımlayıcı ile bir Gözlem yazın, aynı gün tekrar gönderildiğinde güncelleyin. Tam eşleme tablosu (Health Connect kaydı → LOINC → UCUM), doğrulanmış bir FHIR örneği ve platforma karşı çalıştırılan TypeScript upsert, FHIR'de Giyilebilir Veriler bölümünde bulunmaktadır.

Google Play'da Yayınlama

Health Connect'i okuyan uygulamalar, Play Console'da Health Connect izin beyannamesini tamamlamalı, her veri türünü gerekçelendirmeli ve buna uygun bir gizlilik politikasına sahip olmalıdır. Uygulamanın görünür şekilde kullanmadığı veri türleri için yapılan istekler reddedilir. İnceleme için plan yapın: her türü onu kullanan ekranın yanına listeleyin.

Wear OS

Bir Wear OS saatinde, bir uygulama Health Services aracılığıyla canlı sensör verilerini okuyabilir (örneğin, bir egzersiz sırasında kalp atış hızı). Saatin kendi sağlık uygulamasının kaydettiği veriler, satıcının telefon uygulaması aracılığıyla telefonun Health Connect'ine ulaşır. Tıbbi bir kayıt için, telefondaki Health Connect'i okumak genellikle yeterlidir; bir saat uygulaması canlı özellikler içindir.

Anpheros Nerede Yer Alıyor?

Anpheros Platformu, kişinin FHIR R4 kaydını, her giyilebilir cihaz değerini bir Observation olarak işaretlenmiş, onay, kaynak bilgisi ve erişim günlüğü arkasında saklar. Health Connect'i kendisi okumaz; bunu Android uygulamanız yapar. Anpheros'un kendi uygulaması olan Anpheros Daily, Android'de Health Connect'i okur (Plus ve Max planları) ve günlük özetleri kayda yazar.

Sıkça Sorulan Sorular

Health Connect'in bir bulut API'si var mı?

Hayır. Health Connect verileri telefonda depolar ve yalnızca o telefondaki uygulamalar, kişinin izniyle okuyabilir. Verileri bir sunucuya almak için uygulamanız verileri okur ve gönderir.

Health Connect REST API veya web API'si var mı?

Hayır. Health Connect, REST veya web uç noktası olmayan, cihaz üzerinde çalışan bir Android API'sidir. Bir sunucu, yalnızca telefondaki bir uygulama verileri okuyup gönderdiğinde, örneğin Anpheros'a FHIR Observations olarak, verileri alır.

Health Connect API'sini Python veya React Native'den kullanabilir miyim?

Python'dan hayır, çünkü Python telefonda çalışır, sunucuda değil. React Native veya Flutter'dan ise evet, uygulama içindeki Android API'sini çağıran topluluk veya resmi eklentiler aracılığıyla.

Uygulamam neden yalnızca 30 günlük Health Connect verisini okuyabiliyor?

READ_HEALTH_DATA_HISTORY izni olmadan, Health Connect ilk izin verilmeden önceki 30 güne okumaları sınırlar. Daha eski verilere ihtiyacınız varsa geçmiş iznini isteyin.

Garmin Health Connect ile senkronize oluyor mu?

Evet. Google, Ağustos 2025'te Garmin Connect'in Android 14 ve sonraki sürümlerde aktivite ve sağlık verileri (kalp atış hızı ve kalori gibi) için Health Connect'i desteklediğini duyurdu. Garmin'in kendi puanları (Body Battery gibi) paylaşılmaz.

Fitbit Web API'si olmadan Fitbit verilerini okuyabilir miyim?

Android'de evet: Kişi Fitbit uygulamasında Health Connect'i etkinleştirdikten sonra, Fitbit verileri, yetkilendirdikleri uygulamalar için Health Connect'te kullanılabilir hale gelir.

Health Connect adım sayısı neden satıcı uygulamamdan farklı?

Satıcı uygulaması en son verilerini henüz dışa aktarmamış olabilir, yalnızca bazı türleri dışa aktarıyor olabilir veya Health Connect aynı dönem için başka bir kaynağı tercih ediyor olabilir. Health Connect ayarlarındaki veri kaynaklarını ve önceliklerini kontrol edin.

İlgili Konular

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy