跳转到主要内容

什么是 provider

一个 provider(代码中的 vendor::Vendor)是针对某个健康数据源、已编译进程序的 C++ 客户端。每个 provider 都实现同一套 authorize / fetch / webhook 契约,并在运行时按 id 解析。关于其架构 —— 契约、诚实的桩、注册表 —— 参见 Vendor 系统 本页列出 src/health/vendor/ 中实际发布的数据源,分为四大类别。

聚合平台(platform/

15 家 B2B 健康数据聚合器,以同一套契约中转可穿戴、检验和/或临床数据。每家都携带真实的 VendorInfo 元数据(市场定位、地区、合规、数据域),无需凭据即可查询;传输层针对各平台的公开 API 实现,无文档的操作保留为显式的桩。
Vendor (id)地区备注
Terra (terra)Global连接组件 + HMAC webhook;广泛的可穿戴覆盖
Validic (validic)US企业级 PGHD;EHR 写回受门控
Human API (human_api)US临床 + 可穿戴聚合
Junction (junction)US可穿戴 + 美国检验网络
Metriport (metriport)US开源;整合的 FHIR + 设备
Rook (rook)Global可穿戴 API;按源撤销
Spike (spike)Global可穿戴 + Nutrition-AI
Thryve (thryve)EU欧盟托管的医疗级可穿戴 API
WeFitter (wefitter)EU游戏化;按 profile 连接
Vitalera (vitalera)Global支持 FHIR;HMAC webhook
Open Wearables (open_wearables)Self-hosted开源;base_url 必填
Redox (redox)USEHR 互操作;FHIR R4
Particle Health (particle_health)US经 FHIR $everything 获取临床记录
HealthConnect (healthconnect)USEHR + 可穿戴;FHIR Observation
LexisNexis (lexisnexis)US人寿保险核保;需销售授权
实现深度因操作而异 —— 某些 vendor 实现了 fetch + authorize_url + handle_webhook + revoke,另一些只实现了 fetch。逐 vendor 的状态表位于 src/health/vendor/README.md

设备品牌(device/

针对消费级可穿戴品牌的直连客户端,供希望直接对话品牌、而不经聚合器的部署使用:

Fitbit

fitbit —— Fitbit Web API,OAuth 2.0。fetch(按域的时间序列)、authorize_urlrevoke 以及带签名的 handle_webhookX-Fitbit-Signature)均已实现。

Withings

withings —— Health Mate API,OAuth 2.0。已实现 fetch(表单 action 服务)与 authorize_url;webhook / revoke 为桩。

Garmin

garmin —— Garmin Health API。需合作方授权且为推送式;仅 revoke 已接通。参见 Garmin 示例
Fitbit、Garmin 与 Withings 是仅有的、拥有第一方客户端的设备品牌。 其他品牌 —— Oura、Polar、Whoop、Dexcom 等 —— 需通过聚合器接入(Terra、Validic、Thryve、Rook、Spike);除非专门添加一个客户端以刻意绕过聚合器,否则它们没有专属客户端。

临床 EHR(ehr/)—— SMART on FHIR

由于美国 ONC Cures Act 强制每个认证 EHR 采用 SMART App Launch + FHIR R4 标准,一个单一的通用客户端ehr)便覆盖了所有 EHR —— Epic、Oracle Health / Cerner、athenahealth、MEDITECH、Veradigm 等 —— 以各租户的 FHIR base URL 参数化。
  • base_url 必填且按租户而定(每家医院有各自的 FHIR 服务 base URL);客户端拒绝猜测它。
  • 认证采用 SMART-on-FHIR OAuth 2.0 bearer token;fetch 发起标准的 FHIR R4 Observation 搜索(patient + category + date 区间)并返回 FHIR JSON。
  • 租户的 base URL 通过 EhrDirectoryehr/directory.hpp)从公开的 Service Base URL 目录发现:ONC Lantern(全国聚合目录)与 Oracle Health / Cerner 发布的清单。
浏览器驱动的连接流程位于 /health/ehr/* —— 参见使用 Provider

手机健康存储(phone/

Vendor (id)备注
Huawei (huawei)华为 Health Kit Cloud REST API(Account Kit OAuth)。经 sampleSet:polymerize 实现 fetch;同意 OAuth 与订阅 webhook 为桩。
Apple Health、Samsung Health、Google Health Connect 以及小米 / Mi Fitness 仅设备本地可用 —— 它们不暴露服务端 API,因此不是 vendor 客户端。宿主 App 在设备本地读取它们,并把 FHIR Observation POST 到内嵌的 FHIR 端点。参见数据流

数据域

每个 vendor 都声明它中转哪些归一化的 DataDomainfetch 接收其中之一: Activity · Sleep · HeartRate · Glucose · Nutrition · BodyMetrics(体重、BMI、血压、SpO2 等) · Labs · Clinical

下一步

使用 Provider

配置凭据并关联账号

Vendor 系统

深入了解 vendor::Vendor 契约

Garmin 示例

一个对照契约的设备品牌客户端

Provider 集成

添加一个新数据源