什么是 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) | US | EHR 互操作;FHIR R4 |
Particle Health (particle_health) | US | 经 FHIR $everything 获取临床记录 |
HealthConnect (healthconnect) | US | EHR + 可穿戴;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_url、revoke 以及带签名的 handle_webhook(X-Fitbit-Signature)均已实现。Withings
withings —— Health Mate API,OAuth 2.0。已实现 fetch(表单 action 服务)与 authorize_url;webhook / revoke 为桩。Garmin
garmin —— Garmin Health API。需合作方授权且为推送式;仅 revoke 已接通。参见 Garmin 示例。临床 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 R4Observation搜索(patient+category+date区间)并返回 FHIR JSON。 - 租户的 base URL 通过
EhrDirectory(ehr/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 都声明它中转哪些归一化的DataDomain,fetch 接收其中之一:
Activity · Sleep · HeartRate · Glucose · Nutrition · BodyMetrics(体重、BMI、血压、SpO2 等) · Labs · Clinical
下一步
使用 Provider
配置凭据并关联账号
Vendor 系统
深入了解
vendor::Vendor 契约Garmin 示例
一个对照契约的设备品牌客户端
Provider 集成
添加一个新数据源