AnpherosAnpheros PlatformDevelopers

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

Health Connect zu FHIR

Android Health Connect Daten von Fitbit, Garmin, Oura, Withings und Wear OS in Flutter lesen und in einen FHIR R4 Datensatz schreiben: Berechtigungen, Historie, Play Store Überprüfung.

Health Connect ist der geräteinterne Gesundheitsspeicher von Android: Samsung Health, Fitbit, Garmin Connect, Oura, Withings und Wear OS Apps schreiben hinein, und deine App liest daraus mit der Erlaubnis der Person. Um diese Daten in einen FHIR Datensatz zu übertragen, lies tägliche Summen und Durchschnittswerte auf dem Telefon, sende sie an dein Backend und schreibe jede Metrik als Observation mit einem LOINC-Code und einer UCUM-Einheit. Diese Seite behandelt die von Android benötigten Berechtigungen, ein Flutter-Beispiel (geprüft mit flutter analyze), das Health Connect unter Android und Apple Health unter iOS mit demselben Code liest, sowie die Regeln für die Veröffentlichung im Google Play Store.

Was Health Connect erreicht

Health Connect ist in Android 14 und neuer integriert und auf älteren Versionen als App verfügbar. Es speichert Datensätze wie HeartRateRecord, RestingHeartRateRecord, HeartRateVariabilityRmssdRecord, OxygenSaturationRecord, RespiratoryRateRecord, StepsRecord, DistanceRecord, ActiveCaloriesBurnedRecord, SleepSessionRecord, WeightRecord, BloodPressureRecord, BloodGlucoseRecord, BodyTemperatureRecord und ExerciseSessionRecord.

Wer dort schreibt, gemäß der Dokumentation jedes Anbieters:

Quelle Was zu erwarten ist
Fitbit und Pixel Watch Die Fitbit-App synchronisiert sich mit Health Connect, sobald die Person dies eingerichtet hat (Google Hilfe)
Garmin Garmin Connect unterstützt Health Connect auf Android 14 und neuer: Aktivitäts- und Wellnessdaten wie Herzfrequenz und Kalorien (Android Developers, August 2025)
Oura Herzfrequenz, HRV, Schlaf mit Phasen, Schritte, Distanz, Kalorien und Workouts (Oura)
Withings Health Mate tauscht Aktivitäts-, Gewichts-, Schlaf- und andere Daten über Health Connect aus (Android Developers Blog)
Samsung Health, Galaxy Watch Eine Teilmenge, im eigenen Tempo von Samsung Health – siehe Samsung Health zu FHIR

Jede Anbieter-App muss die Berechtigung haben, in Health Connect zu schreiben, die die Person in dieser App oder in den Einstellungen von Health Connect erteilt. Wenn eine Quelle fehlt, ist dies das Erste, was zu überprüfen ist.

Berechtigungen, die Android benötigt

Tägliche Werte in Flutter lesen

Das health Paket liest Health Connect unter Android und Apple Health unter iOS über eine einzige API. Das Beispiel verwendet Version 13.2.1, mit der Anpheros Daily ausgeliefert wird:

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 fragt Health Connect nach dessen aggregiertem Gesamtwert, der bereits überlappende Quellen (ein Telefon und eine Uhr, die denselben Spaziergang zählen) gemäß der vom Benutzer in Health Connect festgelegten Datenquellenpriorität auflöst. Das Summieren roher Schrittdatensätze selbst führt zu Doppelzählungen.

Hinweise aus der Auslieferung in Anpheros Daily:

Von Flutter-Werten zu FHIR-Observations

Senden Sie die Werte an Ihr Backend und schreiben Sie eine Observation pro Person, Metrik und Tag mit einer stabilen Kennung. Aktualisieren Sie diese, wenn derselbe Tag erneut gesendet wird. Die vollständige Mapping-Tabelle (Health Connect-Datensatz → LOINC → UCUM), ein validiertes FHIR-Beispiel und der TypeScript-Upsert-Lauf gegen die Plattform finden Sie unter Wearable data in FHIR.

Veröffentlichung auf Google Play

Apps, die Health Connect lesen, müssen die Erklärung der Health Connect-Berechtigungen in der Play Console abschließen, jeden Datentyp begründen und eine übereinstimmende Datenschutzrichtlinie haben. Anfragen für Datentypen, die die App nicht sichtbar verwendet, werden abgelehnt. Planen Sie die Überprüfung: Listen Sie jeden Typ neben dem Bildschirm auf, der ihn verwendet.

Wear OS

Auf einer Wear OS-Uhr kann eine App Live-Sensordaten über Health Services lesen (z. B. Herzfrequenz während eines Trainings). Daten, die die eigene Gesundheits-App der Uhr aufzeichnet, gelangen über die Telefon-App des Herstellers zu Health Connect auf dem Telefon. Für eine medizinische Akte ist das Lesen von Health Connect auf dem Telefon in der Regel ausreichend; eine Uhr-App ist für Live-Funktionen gedacht.

Wo Anpheros passt

Die Anpheros Platform speichert das Ergebnis: den FHIR R4 Datensatz der Person mit jedem Wearable-Wert als Observation, markiert als Gerätedaten, hinter Zustimmung, Herkunft und einem Zugriffslog. Sie liest Health Connect nicht selbst; Ihre Android-App tut dies. Anpheros' eigene App, Anpheros Daily, liest Health Connect unter Android (Plus- und Max-Pläne) und schreibt tägliche Zusammenfassungen in den Datensatz.

Häufig gestellte Fragen

Bietet Health Connect eine Cloud-API?

Nein. Health Connect speichert Daten auf dem Telefon, und nur Apps auf diesem Telefon können sie mit der Erlaubnis der Person lesen. Um die Daten an einen Server zu übertragen, liest Ihre App sie aus und sendet sie.

Gibt es eine Health Connect REST-API oder Web-API?

Nein. Health Connect ist eine On-Device-Android-API ohne REST- oder Web-Endpunkt. Ein Server empfängt die Daten nur, wenn eine App auf dem Telefon sie liest und sendet, z. B. als FHIR Observations an Anpheros.

Kann ich die Health Connect API von Python oder React Native aus verwenden?

Nicht von Python aus, da es auf dem Telefon und nicht auf einem Server läuft. Von React Native oder Flutter aus ja, über Community- oder offizielle Plugins, die die Android-API innerhalb der App aufrufen.

Warum kann meine App nur 30 Tage an Health Connect-Daten lesen?

Ohne die READ_HEALTH_DATA_HISTORY Berechtigung beschränkt Health Connect die Lesevorgänge auf 30 Tage vor Erteilung der ersten Berechtigung. Fordern Sie die Berechtigung für den Verlauf an, wenn Sie ältere Daten benötigen.

Synchronisiert sich Garmin mit Health Connect?

Ja. Google hat im August 2025 angekündigt, dass Garmin Connect Health Connect auf Android 14 und neuer für Aktivitäts- und Wellnessdaten wie Herzfrequenz und Kalorien unterstützt. Garmins eigene Werte, wie z. B. Body Battery, werden nicht geteilt.

Kann ich Fitbit-Daten ohne die Fitbit Web API lesen?

Auf Android ja: Sobald die Person Health Connect in der Fitbit-App aktiviert hat, sind Fitbit-Daten in Health Connect für von ihr autorisierte Apps verfügbar.

Warum unterscheidet sich die Schrittzählung von Health Connect von meiner Anbieter-App?

Die Anbieter-App hat möglicherweise ihre neuesten Daten noch nicht exportiert, exportiert möglicherweise nur einige Typen, oder Health Connect bevorzugt eine andere Quelle für denselben Zeitraum. Überprüfen Sie die Datenquellen und deren Priorität in den Einstellungen von Health Connect.

Verwandte Themen

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