病历数据以 HL7 FHIR 格式存储。
病历支持以下快速健康互操作资源 (FHIR) 版本
医疗资源类型
FHIR 由一组名为 resources 的模块化组件构成。受支持的 FHIR 资源集和相应的类别大致基于 国际患者摘要部分。
这些资源映射到 Health Connect 中的数据类别,在 API 中称为“医疗资源类型”。观察资源根据内容(如逻辑观察标识符名称和代码 (LOINC) 代码和 FHIR 类别)进行映射。
不属于这些类别的观察结果不会写入 Health Connect。
| Health Connect 医疗资源类型 | FHIR 资源 |
|---|---|
| 过敏史 | AllergyIntolerance |
| 病症 | Condition |
| 实验室 | Observation
|
| 药物 | Medication, MedicationRequest, MedicationStatement |
| 个人详情 | Patient |
| 执业医师详情 | Practitioner, PractitionerRole |
| 怀孕 | Observation
|
| 手术 | Procedure |
| 社会病史 | Observation
|
| 疫苗 | Immunization |
| 就诊 | Encounter, Location, Organization |
| 生命体征 | Observation
|
患者资源
目前,Health Connect 仅用于存储单个个体的病历数据。因此,所有写入的 FHIR 资源都应属于同一个人。
在一个系统中,一个单独的个体可能存在多个 FHIR 患者资源,这并不少见。建议应用协调数据并将单个患者资源写入 Health Connect。但是,为了适应可能存在的不同组织结构,这一点并未强制执行。
数据验证
病历 API 接受受支持版本中的有效 FHIR 资源,Health Connect 会执行一些验证,以确认每个受支持版本的 FHIR 规范都得到遵循。
标记为 即将推出 的验证检查尚未强制执行,但将在未来版本中强制执行。我们建议根据所有列出的验证检查进行开发,以保持与未来版本的兼容性。
| 级别 | 验证检查 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| 有效 JSON | 数据符合 JSON 格式。 | ||||||||
| 支持的 FHIR | 写入应用声明的 FHIR 版本受支持。Health Connect 支持以下 FHIR 版本
|
||||||||
| 支持的 FHIR | 资源实例中记录的 FHIR 资源类型受支持。Health Connect 支持以下 FHIR 资源类型
|
||||||||
| 唯一资源 ID | 资源具有一个 ID 字段,其值符合 正则表达式要求。 | ||||||||
| 唯一资源 ID | 资源不得与来自同一 MedicalDataSource 的相同资源类型的其他 FHIR 资源共享 ID。 |
||||||||
| 业务规则 | 不包含 内嵌 FHIR 资源。内嵌资源是嵌套在“父”资源中的 FHIR 资源。当父资源需要引用另一个资源,但系统没有足够信息将其创建为独立存在的独立资源时,就会使用它们。 | ||||||||
| 有效基本 FHIR | 给定资源类型的 FHIR JSON 中的顶级字段存在于 FHIR 规范中。 | ||||||||
| 有效基本 FHIR | 顶级字段没有 JSON null 值。 | ||||||||
| 有效基本 FHIR | 所有顶级必填字段都存在。 | ||||||||
| 有效基本 FHIR | FHIR 中定义为 重复元素 的顶级字段具有 JSON array 数据类型。 |
||||||||
| 有效基本 FHIR | FHIR 中定义为 复杂类型 的顶级字段(包括 JSON array 中的元素)具有 JSON object 数据类型。 |
||||||||
| 有效基本 FHIR | FHIR 中定义为 原始类型 的顶级字段(包括 JSON array 中的元素)具有正确的 JSON 数据类型。
|
||||||||
| 有效基本 FHIR | FHIR 中定义为 原始类型 的顶级字段符合正则表达式要求。 即将推出 | ||||||||
| 有效基本 FHIR | FHIR 规范中存在 原始类型的扩展,并且它们具有 JSON object 数据类型。 |
||||||||
| 有效基本 FHIR | 选择字段 (fieldname[x]) 不得记录多于一个字段。例如,effectiveDateTime 和 effectivePeriod 不能同时存在于同一个资源实例中。 |
||||||||
| 有效基本 FHIR | 复杂数据类型 包含与 FHIR 规范匹配的字段和数据类型。 即将推出 | ||||||||
| 有效基本 FHIR | 骨干元素(以及复杂类型中的元素)包含与 FHIR 规范匹配的字段和数据类型。 即将推出 | ||||||||
| 有效基本 FHIR | 扩展元素 value[x] 字段是有效类型,并根据该数据类型包含内容。扩展元素可以包含在任何资源中,以表示不属于基本规范的附加信息。它们包含一个链接到扩展定义的字段 url,以及一个包含扩展值的字段 value[x]。value[x] 必须来自一组接受的数据类型。 即将推出 |
转换后的 FHIR 数据
某些应用会转换 FHIR 数据以满足其自身要求。例如:
- 合并来自不同来源的数据(通常是 FHIR API)。
- 将代码映射到全球术语(例如,SNOMED、LOINC、ICD)并标准化单位。
- 整合和去重数据。
- 修复格式或其他数据质量问题。
- 根据应用特定的业务规则过滤记录。
未经转换和转换后的 FHIR 数据都可以写入 Health Connect,前提是它们符合 FHIR R4 规范。我们建议你尽可能写入转换后的数据。但请记住以下注意事项:
- 用例较窄的应用可能会过滤掉大量记录,而生态系统中的其他应用可以从这些记录中创造用户价值。在这种情况下,写入更完整的未经转换的 FHIR 可能会更有益。但是,请务必告知用户正在共享此更广泛的数据集。
- 如果合并来自不同来源的数据,可以将数据写入 Health Connect 中的单个
MedicalDataSource。你还必须为每个资源分配一个新 ID 以避免冲突,并更新资源引用以指向新 ID。 - 将来自多个来源的数据合并到单个
MedicalDataSource中可能会模糊数据来源。由于数据使用者通常需要了解数据的来源,我们建议使用记录的原始来源(通常是 FHIR 基本 URL)填充每个资源的meta.source字段。