个人健康记录

Health Connect 平台提供各种数据类型,主要涵盖健康和健身应用场景,让 Android 生态系统中的应用无需进行高成本的一对一 API 集成即可共享数据。个人健康记录 (PHR) 扩展了此功能,以包含快速医疗互操作性资源 (FHIR®) 格式的基本医疗数据,包括:

  • 适用于写入医疗数据的应用的 API。
  • 面向用户的浏览器体验,用于以新的医疗数据类型存储在 Health Connect 中的医疗数据,以及允许下游读取的精细权限。
  • 一种 API,供应用根据用户授予的权限读取医疗数据。
个人健康记录与 Health Connect 如何协同工作的概览。
图 1. 个人健康记录如何与 Health Connect 搭配使用。

PHR API 通过 Android 16 SDK 提供。如需了解如何开始使用,请参阅设置 Android 16 SDK

限制

由于这些 API 仍处于开发阶段,因此仍存在一些限制,并且部分组件尚未完全提供。

  • Health Connect Jetpack SDK 通常用于通过封装 Health Connect API 来简化集成,但这些 API 尚不可用,因此必须使用底层 Android 框架 API。
  • 有关 PHR 访问权限的 Play 政策仍在制定中,应用可能需要满足额外要求才能在 Play 商店中发布。
  • 某些功能(例如基于更新日志的 API)尚未针对 PHR API 开发。

个人健康记录数据格式

PHR 数据以 HL7 FHIR 格式存储,最初仅支持版本 R4。

数据验证

PHR API 接受有效的 R4 FHIR 资源,Health Connect 将执行一些验证,以确保遵循 FHIR R4 规范

标记为即将推出的验证检查尚未强制执行,但将在未来版本中强制执行。我们建议您根据所有列出的验证检查进行开发,以免日后出现问题。

表 1:Health Connect 对 FHIR 数据的验证
等级 验证检查
JSON 有效 数据符合 JSON 格式。
支持的 FHIR

支持由写入应用声明的 FHIR 版本。Health Connect 支持以下 FHIR 版本:

  • 4.0.1
  • 4.3.0
支持的 FHIR

支持在资源实例中记录的 FHIR 资源类型。 Health Connect 支持以下 FHIR 资源类型:

  • AllergyIntolerance
  • 条件
  • 邂逅
  • 疫苗接种记录
  • 位置信息
  • 药物
  • MedicationRequest
  • MedicationStatement
  • 观察
  • 组织机构
  • 患者
  • 医生
  • PractitionerRole
  • 流程
唯一资源 ID 资源的 ID 字段的值符合正则表达式要求
唯一资源 ID 资源与同一 MedicalDataSource 中具有相同资源类型的其他 FHIR 资源不共用 ID。
业务规则 不包含包含的 FHIR 资源

包含的资源是嵌套在“父”资源中的 FHIR 资源。当父级资源需要引用其他资源,但系统没有足够的信息来创建此独立存在的独立资源时,就会使用此类资源。
有效的 FHIR 基准 FHIR JSON 中的顶级字段存在于给定资源类型的 FHIR 规范中。
有效的 FHIR 基准 顶级字段不含 JSON null 值。
有效的 FHIR 基准 定义为 FHIR 中的重复元素的顶级字段具有 JSON array 数据类型。
有效的 FHIR 基准 在 FHIR 中定义为复杂类型的顶级字段(包括 JSON array 中的元素)具有 JSON object 数据类型。
有效的 FHIR 基准 在 FHIR 中定义为基元类型的顶级字段(包括 JSON array 中的元素)具有正确的 JSON 数据类型。

FHIR 数据类型 JSON 数据类型
整数、无符号整数、正整数、小数 数值
布尔值 布尔值
瞬时时间、时间、日期、日期时间、字符串、代码、Markdown、ID URI、网址、OID、UUID、规范化、整数 64、Base64 二进制 数值
敬请期待
有效的 FHIR 基准 在 FHIR 中定义为基元类型的顶级字段符合正则表达式要求。

即将推出
有效的 FHIR 基准 FHIR 规范中存在对基元类型的扩展,它们采用 JSON object 数据类型。
有效的 FHIR 基准 系统不会为选择字段 (fieldname[x]) 记录多个字段。

例如,同一资源实例中不能同时存在 effectiveDateTimeeffectivePeriod
有效的 FHIR 基准 复杂数据类型包含与 FHIR 规范匹配的字段和数据类型。

即将推出
有效的 FHIR 基准 主干元素(以及复杂类型中的元素)包含与 FHIR 规范匹配的字段和数据类型。

即将推出
有效的 FHIR 基准 Extensions 元素 value[x] 字段是有效类型,并包含相应数据类型的内容。

扩展程序元素可包含在任何资源中,用于表示不属于基本规范的其他信息。它们包含一个指向扩展程序定义的字段 url,以及一个包含扩展程序值的字段 value[x]value[x] 必须来自接受的数据类型的设定列表。

即将推出
有效的 FHIR 基准 顶级必填字段均已填写。

数据类别

支持的一组 FHIR 资源和相应的类别大致基于国际患者摘要部分

  • 过敏不耐受类别 - 包含 AllergyIntolerance 资源。
  • “条件”类别 - 包含“条件”资源。
  • “访问”类别 - 包含“接触”“地点”“组织”资源。
  • 疫苗类别 - 包含免疫资源。
  • “个人详细信息”类别 - 包含患者资源。
  • “医师详细信息”类别 - 包含 Practitioner、PractitionerRole 资源。
  • “流程”类别 - 包含“流程”资源。
  • 药物类别 - 包含 Medication、MedicationRequest、MedicationStatement 资源。

观察资源会根据其内容进行分类:

  • 妊娠 - 基于妊娠 LOINC 代码。
  • 社交历史记录 - 基于社交历史记录 LOINC 代码或“social-history”FHIR 类别。
  • 生命体征 - 根据生命体征 LOINC 代码或“vital-signs”FHIR 类别。
  • 实验室 - 基于“实验室”FHIR 类别。

不属于上述任何类别的观察结果不会写入 Health Connect。

患者资源

Health Connect 目前仅用于存储单个个人的个人健康记录数据。因此,编写的所有 FHIR 资源都应归同一人所有。

在系统中,对于单个个人,存在多个 FHIR 患者资源的情况并不少见。我们建议编写应用来协调数据,并将单个患者资源写入 Health Connect。不过,系统不会强制执行此规则,以适应可能存在的不同组织结构。

转换后的 FHIR 数据

某些应用会转换 FHIR 数据,以满足自己的要求。例如:

  • 合并来自不同来源(通常是 FHIR API)的数据。
  • 将代码映射到全球术语(例如 SNOMED、LOINC、ICD)并标准化单位。
  • 整合和去重数据。
  • 解决格式或其他数据质量问题。
  • 根据应用专用业务规则过滤记录。

未转换和转换后的 FHIR 数据都可以写入 Health Connect,前提是它们符合 FHIR R4 规范。我们建议您尽可能写入转换后的数据。但请注意以下几点:

  • 用例较窄的应用可能会滤除生态系统中其他应用可以通过其创造用户价值的大量记录。在这种情况下,编写更完整的未转换 FHIR 可能很有用。不过,请务必告知用户您要共享这个更广泛的数据集。
  • 如果要合并来自不同来源的数据,您可以将数据写入 Health Connect 中的单个 MedicalDataSource。您还必须为每个资源分配新的 ID 以避免冲突,并更新资源引用以指向新 ID。
  • 将来自多个来源的数据合并到单个 MedicalDataSource 中可能会掩盖数据来源。由于数据使用者通常需要了解数据的来源,因此我们建议为每个资源的 meta.source 字段填充记录的原始来源(通常是 FHIR 基本网址)。

用户体验

本部分介绍了有关用户体验的一般信息。

权限

请求读取或写入医疗记录权限的行为与现有的 Health Connect 权限界面类似,但会显示单独的健康记录界面:

权限

数据浏览

Health Connect 还提供对存储的个人健康记录数据的基本可视化和浏览功能,与现有的 Health Connect 数据类型类似。

浏览