# 健康追踪器 API

> 以 LOINC 编码的 FHIR Observation 形式存储来自任何可穿戴设备的步数、心率、HRV、睡眠和 SpO₂：哪些设备到达了哪些健康存储，为什么没有 Web API，以及工作请求。

Source: https://developers.anpheros.com/zh/guides/health-tracker-api

**健康追踪器 API 允许应用程序在服务器上以结构化数据的形式发送和读取手表、戒指、腕带和秤收集的数据——步数、心率、心率变异性、睡眠、血氧饱和度、体重。** 大多数设备不提供一个共享的 API：它们的数据会到达手机的健康存储（Apple HealthKit 或 Android Health Connect），然后您的应用程序从那里读取。Anpheros 是服务器端：您的应用程序将读数写入为 LOINC 编码的 FHIR R4 Observation，并且其他所有获得用户同意的应用程序、诊所或 AI 代理都可以通过一个 API 读取相同的数据。

<!-- visual:tracker-flow -->

## 哪些设备可以访问哪些健康数据存储

| 设备 | 访问 | 读取方式 |
|---|---|---|
| Apple Watch, iPhone, 许多 iOS 应用 | Apple HealthKit | iPhone 上的 Swift ([Apple Health to FHIR](https://developers.anpheros.com/zh/guides/apple-health-fhir)) |
| Galaxy Watch, Wear OS, Fitbit, Garmin, Oura, Withings (Android 应用) | Android Health Connect | 手机上的 Kotlin 或 Flutter ([Health Connect to FHIR](https://developers.anpheros.com/zh/guides/health-connect-fhir)) |
| Health Connect 中未包含的 Galaxy Watch 详情 | Samsung Health | Samsung Health Data SDK ([Samsung Health to FHIR](https://developers.anpheros.com/zh/guides/samsung-health-fhir)) |

HealthKit 和 Health Connect 都没有 Web 或 REST API：数据存储在手机上，只有用户安装并授权的应用才能读取。因此，服务器上的健康追踪器 API 总是从一个小型移动应用开始。

<!-- visual:tracker-codes -->

## 编写每日步骤

```bash
curl -X POST https://platform.anpheros.com/fhir/R4/Observation \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/fhir+json" \
  -H "Idempotency-Key: steps-$PID-2026-10-15" \
  -d '{
    "resourceType": "Observation",
    "status": "final",
    "category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "activity"}]}],
    "code": {"coding": [{"system": "http://loinc.org", "code": "41950-7", "display": "Number of steps in 24 hour Measured"}]},
    "subject": {"reference": "Patient/'"$PID"'"},
    "effectivePeriod": {"start": "2026-10-15T00:00:00+03:00", "end": "2026-10-16T00:00:00+03:00"},
    "valueQuantity": {"value": 8412, "unit": "steps", "system": "http://unitsofmeasure.org", "code": "{steps}"}
  }'
```

为每个指标、每个本地日期存储一个 Observation，并在 period 中包含该用户的时区。`Idempotency-Key` 使重发无害。[FHIR 中的可穿戴设备数据](https://developers.anpheros.com/zh/guides/wearable-data-fhir) 包含完整的 LOINC 表格和经过测试的每日 upsert。

## 再次读取

```bash
# the last 30 daily step counts
curl "https://platform.anpheros.com/fhir/R4/Observation?patient=$PID&code=http://loinc.org|41950-7&_sort=-date&_count=30" \
  -H "Authorization: Bearer $KEY"
```

另一个应用程序仅在获得本人同意的情况下读取相同数据（OAuth 2.1，SMART 范围，例如 `patient/Observation.rs?category=activity`），并且每次读取都会被记录，本人可以看到。

## 常见问题解答

### 有免费的健康追踪器 API 吗？
Anpheros 提供免费沙盒：以 FHIR Observations 的形式存储和读取追踪器数据，包含 30 位合成患者。设备制造商自己的 API（Fitbit、Garmin、Oura、Withings）有其自身的访问规则和条款。

### 有适用于 Apple Health 或 Health Connect 的 Web API 吗？
没有。HealthKit 和 Health Connect 将数据保存在手机上；已安装的应用程序在获得用户许可后读取数据，并可以将其发送到 Anpheros 等服务器。

### 健康追踪器 API 应使用哪些代码？
LOINC：41950-7 步数，8867-4 心率，40443-4 静息心率，80404-7 心率变异性 (RMSSD)，59408-5 氧饱和度，93832-4 睡眠时长，29463-7 体重。单位使用 UCUM。

### Anpheros 是否直接连接到 Fitbit 或 Garmin？
否。它们的数据通过手机的健康存储和您的应用程序到达 Anpheros；没有直接的云到云连接。

<!-- visual:cta-tracker -->

## 相关资源

- [可穿戴设备 API：Fitbit、Garmin、Oura 和 Withings](https://developers.anpheros.com/zh/guides/wearable-apis)
- [Fitbit Web API 停用（2026 年 10 月）](https://developers.anpheros.com/zh/guides/fitbit-web-api-shutdown)
- [FHIR 中的可穿戴设备数据（Apple Health、Health Connect）](https://developers.anpheros.com/zh/guides/wearable-data-fhir)
- [使用 FHIR 进行远程患者监控](https://developers.anpheros.com/zh/guides/remote-patient-monitoring-fhir)
- [使用 FHIR 的个人健康记录 (PHR) 应用](https://developers.anpheros.com/zh/guides/personal-health-record-app)
- [医疗数据 API](https://developers.anpheros.com/zh/guides/medical-data-api)
