Cloud Healthcare API 中的 FHIR 存储区支持由 Health Level 7 International (HL7) 发布的快速医疗互操作性资源 (FHIR) 规范的多个版本。
v1 API 支持以下版本:
- R4 4.0.1 版(版本 4)
- STU3 3.0.1 版(版本 3 - 标准试用版)
- DSTU2 1.0.2 版(标准试用版草稿)
创建 FHIR 存储区时,您可以将 FHIR 版本指定为 fhirStores.create
方法的参数。创建存储区后,将无法更改 FHIR 版本。
每个存储区的 API 接口都符合该存储区的 FHIR 版本。例如,DSTU2 conformance
交互不同于 STU3 capabilities
交互,但两者共享 /fhir/metadata
REST 路径,因此该路径会根据存储区的 FHIR 版本返回不同的响应。
如果不会产生不兼容问题,则后期 FHIR 版本中添加的功能可以在使用早期 FHIR 版本的存储区中使用。例如,patch
交互在 DSTU2 存储区中可用,即使该交互仅从 STU3 开始定义。
v1 API by FHIR 版本中所支持功能的详细信息
R4
服务器的功能声明指明所支持的规范部分。
- 支持存储和检索所有 R4 资源,包括支持扩展程序元素。API 接受、存储和返回任何数据元素的扩展程序。
- RESTful API 中使用 JSON 内容类型的所有方法都受支持,除了:
- 支持配置文件验证和强制执行。
- v1beta1 API 支持用户定义的搜索参数,包括对扩展元素的搜索。
所有搜索功能都受支持,除了:
- 搜索参数
Group-characteristic-value
、Location-near
、Bundle-composition
和Bundle-message
不受支持。 - 执行拼音匹配的搜索参数不受支持。
- 搜索结果参数
_contained
、_containedType
、_summary=count
和_summary=true
不受支持。 - 特殊搜索参数
_content
会搜索搜索参数所引用的资源的所有字段。它会排除无法搜索的字段。它不支持显式AND
(字词与AND
隐式组合)或括号。 - 特殊搜索参数
_query
、_filter
和_list
不受支持。 - 在具有重复元素的字段上使用时,
_sort
参数会按第一个元素进行排序;这与规范不同。除特殊搜索参数_content
之外,所有受支持的搜索参数都符合_sort
的条件。 - 令牌搜索修饰符
:of-type
和引用搜索修饰符:identifier
不受支持。 - 规范引用搜索不受支持。规范引用被视为普通引用。
- 使用
_type
参数时,只能使用(所有资源的)共同搜索参数,而不能使用指定资源类型的交集。 以下复合搜索参数子集受支持:
DocumentReference-relationship
Observation-code-value-concept
Observation-code-value-date
Observation-code-value-quantity
Observation-code-value-string
Observation-combo-code-value-concept
Observation-combo-code-value-quantity
Observation-component-code-value-concept
Observation-component-code-value-quantity
其余的复合搜索参数不受支持。
使用
POST
方法进行搜索不会在请求正文中接受application/x-www-form-urlencoded
参数。通配符 (
*
) 支持_include
,但不支持_revinclude
。
- 搜索参数
不受支持的区域包括:
- 大多数扩展操作都未实现。
- XML 内容类型不受支持。
- 补丁操作不支持 XML 补丁程序或
FHIRPath
补丁。 - HTTP HEAD 请求不受支持。
ExecuteBundle
端点不接受history
软件包。
STU3
服务器的功能声明指明所支持的规范部分。
- 支持存储和检索所有 STU3 资源,包括支持扩展程序元素。API 接受、存储和返回任何数据元素的扩展程序。
RESTful API 中使用 JSON 内容类型的所有方法都受支持,除了:
支持配置文件验证和强制执行。
v1beta1 API 支持用户定义的搜索参数,包括对扩展元素的搜索。
所有搜索功能都受支持,除了:
- 搜索参数
Group-characteristic-value
、Sequence-coordinate
、Location-near
、Location-near-distance
、Bundle-composition
和Bundle-message
不受支持。 - 执行拼音匹配的搜索参数不受支持。
- 搜索结果参数
_contained
、_containedType
、_summary=count
和_summary=true
不受支持。 - 特殊搜索参数
_content
会搜索资源中被搜索参数引用的所有字段。它会排除无法搜索的字段。它不支持显式AND
(字词与 AND 隐式组合)或括号。 - 特殊搜索参数
_query
、_filter
和_list
不受支持。 - 在具有重复元素的字段上使用时,
_sort
参数会按第一个元素进行排序;这与规范不同。除特殊搜索参数_content
之外,所有受支持的搜索参数都符合_sort
的条件。 - 使用
POST
方法进行搜索不会在请求正文中接受application/x-www-form-urlencoded
参数。 - 通配符 (
*
) 支持_include
,但不支持_revinclude
。
- 搜索参数
不受支持的区域包括:
- 大多数扩展操作都未实现。
- XML 内容类型不受支持。
- 补丁操作不支持 XML 补丁程序或 FHIRPath 补丁。
DSTU2
服务器的一致性声明指明所支持的规范部分。
- 支持存储和检索所有 DSTU2 资源,包括支持扩展程序元素。API 接受、存储和返回任何数据元素的扩展程序。
- RESTful API 中使用 JSON 内容类型的所有方法都受支持,除了:
- 支持配置文件验证和强制执行。
- 所有搜索功能都受支持,除了:
- 搜索参数
Group-characteristic-value
、Location-near
、Location-near-distance
、Bundle-composition
、Bundle-message
、Coverage-dependent
和Coverage-sequence
不受支持。 - 扩展元素上定义的搜索参数不受支持。
- 执行拼音匹配的搜索参数不受支持。
- 搜索结果参数
_contained
、_containedType
、_summary=count
和_summary=true
不受支持。 - 特殊搜索参数
_content
会搜索资源中被搜索参数引用的所有字段。它会排除无法搜索的字段。它不支持显式AND
(字词与 AND 隐式组合)或括号。 - 特殊搜索参数
_query
、_filter
和_list
不受支持。 - 在具有重复元素的字段上使用时,
_sort
参数会按第一个元素进行排序;这与规范不同。除特殊搜索参数_content
之外,所有受支持的搜索参数都符合_sort
的条件。 - 使用
POST
方法进行搜索不会在请求正文中接受application/x-www-form-urlencoded
参数。 - 通配符 (
*
) 支持_include
,但不支持_revinclude
。
- 搜索参数
不受支持的区域包括:
- 大多数扩展操作都未实现。
- DSTU2 不支持用户定义的搜索参数。
- XML 内容类型不受支持。
超出已发布规范的操作的详细信息
- FHIR gRPC API 使用 gRPC 框架为 FHIR 提供 RPC 接口。它是非标准的,正在开发中,并不支持所有 FHIR 方法。
- FHIR 存储区配置包含一个选项,用于通知用户指定的 Pub/Sub 主题,以了解存储区中资源的所有更改。此通知机制在所有 Cloud Healthcare API 存储区中通用,并且不打算取代 FHIR 订阅(DSTU2、STU3 和 R4)功能。
- FHIR 存储区到 Cloud Storage 目标位置的导出操作仅提供对整个存储区的批量导出。它不是 FHIR 批量数据草稿规范的实现。
- FHIR 存储区导入操作未在规范中定义。
- 移除资源历史版本的
Resource-purge
操作未在规范中定义。如果标准进程或其他 FHIR 实现在此用例的不同 API 方法上收敛,则此 API 将来可能会更改。