Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Samsung Health 转 FHIR
通过 Health Connect 或 Samsung Health Data SDK 读取 Galaxy Watch 数据:实际对比、合作伙伴批准、开发者模式和 FHIR 映射。
Galaxy Watch 和 Galaxy Ring 的数据由手机上的 Samsung Health 应用记录,有两种读取方式:通过 Health Connect,Samsung Health 会按自己的计划导出部分数据;或者直接使用 Samsung Health Data SDK,它可以读取 Samsung Health 显示的所有数据,但在应用发布前需要 Samsung 的合作伙伴审批。 无论您选择哪种方式,这些值都会像 Apple Health 或 Health Connect 数据一样,转换为 FHIR R4 Observations。本页将通过真实手机的测量数据对比这两种方式,并解释每种方式的要求。
两种途径
| 通过 Health Connect | Samsung Health Data SDK | |
|---|---|---|
| 读取内容 | Samsung Health 导出到 Health Connect 的内容 | Samsung Health 中的数据:步数、心率、睡眠、血氧、血压、血糖、身体成分、皮肤温度、运动、营养、水分等 |
| 新鲜度 | Samsung Health 导出时,可能存在延迟 | Samsung Health 当前的数据 |
| 要求 | Health Connect 权限,Play Console 声明 | Android 10 (API 29) 或更高版本,Samsung Health 6.30.2 或更高版本,三星设备(不支持模拟器) |
| 发布前 | Google Play 对 Health Connect 声明的审核 | 三星合作伙伴请求和批准;在此之前,SDK 仅在三星 Health 的开发者模式下可用 |
| 在其他手机上使用相同代码 | 是:一次集成即可用于三星、Pixel、Fitbit、Garmin、Oura | 否:仅限三星设备 |
来源:Samsung Health Data SDK overview 和 process。
在 Galaxy 手机上测量的结果
在构建 Anpheros Daily 时,我们于 2026 年 9 月 27 日同一时间,在一台配有 Galaxy Watch 的 Galaxy S26 Ultra 上比较了两种路径:
| 来源 | 当天步数 | 其他可用数据类型 |
|---|---|---|
| Samsung Health 应用(屏幕显示) | 4,566 | 心率、睡眠、血氧 |
| Health Connect,由 Samsung Health 写入的数据 | 3,211 | 无:仅导出了步数,最后一次批量导出约在 90 分钟前 |
| Samsung Health Data SDK | 4,566 | 当天测试的数据类型是步数;后续测试以同样方式读取了心率、睡眠和锻炼数据 |
Samsung Health 在 Health Connect 中拥有所有写入权限;它只是导出的数据量较少,且导出时间较晚。这只是一个手机和一天的数据,并非规则,但它与用户反馈一致:如果您的用户拥有 Galaxy 手表,并在您的应用和 Samsung Health 中看到不同的数字,那么 Health Connect 路径很可能是原因所在,而应用无法强制 Samsung Health 更频繁地导出数据。
使用 SDK 进行测试,直至获得批准
Samsung Health Data SDK 会与 Samsung 确认您的应用(包名和签名证书)是否已获得批准。在获得批准之前:
- 在测试手机上,打开 Samsung Health › Settings › About Samsung Health,然后反复点击版本号,直到出现开发者选项,然后开启 Samsung Health Data SDK 的开发者模式。
- 您的应用随后便可以读取该手机上的数据。如果没有开启开发者模式,SDK 将会因授权错误而拒绝访问,因此请确保提供 Health Connect 的回退方案。
开发者模式仅用于测试,不应要求用户启用。要发布应用,请向 Samsung 提交合作伙伴请求;获得批准后,Samsung 会注册您的包名和签名。
从 Samsung Health 到 FHIR
映射与其他健康存储相同:
| Samsung Health 数据 | LOINC | UCUM |
|---|---|---|
| 步数(每日总计) | 41950-7 | {steps} |
| 心率(每日平均、最低、最高) | 8867-4 | /min |
| 血氧 | 59408-5 | % |
| 睡眠时长和阶段 | 93832-4; 93831-6, 93830-8, 93829-0 | min |
| 血压 | 85354-9 with 8480-6 and 8462-4 | mm[Hg] |
| 血糖 | 2339-0 | mg/dL |
| 体重 | 29463-7 | kg |
| 皮肤温度 | 没有通用的腕部温度 LOINC 代码;请使用您自己的代码,并且不要将其标记为体温 | Cel |
有两个细节很重要。Samsung Health Data SDK 返回的血糖单位是 mmol/L;请进行转换(Anpheros Daily 存储 mg/dL)或保留报告的单位,但切勿在同一代码下混合使用单位。腕部或皮肤温度不是体温:将其记录在 8310-5 下会误导任何阅读记录的人。
为每个人、每项指标和每一天编写一个 Observation,标记为设备数据,并在同一天再次同步时进行更新。在平台上运行的后端代码位于 Wearable data in FHIR。
选择路径
- 大多数应用: 从 Health Connect 开始。它通过一次集成覆盖了三星和其他所有 Android 厂商,并且存在的不足是三星健康的数据导出行为,而不是您的代码。
- 需要 Galaxy Watch 数据与 Samsung Health 完全一致的应用(例如步数挑战、人们与三星应用比较的心率趋势):在三星设备上添加 Samsung Health Data SDK,尽早申请合作,并将 Health Connect 作为备用方案。请仅从一个来源读取每种类型的数据,否则记录将出现重复。
Anpheros 的定位
Anpheros 平台存储结果 — 每个值都以 FHIR R4 Observation 的形式标记为设备数据,并包含同意、来源和访问日志 — 而不读取 Samsung Health 本身。Anpheros 自有的应用程序 Anpheros Daily 通过 Health Connect 读取 Android 上的 Samsung Health 数据,如上所述。
常见问题解答
Samsung Health 是否与 Health Connect 同步?
是的,当用户允许时,Samsung Health 会写入 Health Connect。但它会导出部分类型的数据,并且有自己的同步计划,因此 Health Connect 可能滞后或错过 Samsung Health 显示的某些类型。
是否有 Samsung Health REST API?
没有公开的 REST 或 Web API 可以读取用户的 Samsung Health 数据。数据在手机上通过 Health Connect 或 Samsung Health Data SDK 读取,然后您的应用将其发送到服务器。
使用 Samsung Health Data SDK 是否需要三星的批准?
发布时需要:三星要求在分发前提交合作伙伴申请并注册已批准的应用。开发阶段,Samsung Health 的开发者模式允许 SDK 在测试手机上运行。
我可以在 iPhone 上读取 Galaxy Watch 数据吗?
Galaxy Watch 是为 Android 手机设计的,并将数据记录到 Samsung Health 中;没有支持的路径可以将 Galaxy Watch 的数据导入 Apple Health。
为什么我的应用中 Galaxy Watch 的步数比 Samsung Health 中低?
如果您通过 Health Connect 读取数据,Samsung Health 可能尚未导出其最新数据。读取 Health Connect 的聚合总数,在您的应用打开时进行同步,并在必要时添加 Samsung Health Data SDK,可以缩小差距。
相关
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card