Cloud Healthcare API 中的 FHIR 存储区支持由 Health Level 7 International (HL7) 发布的快速医疗互操作性资源 (FHIR) 规范的多个版本。
v1 API 支持以下版本:
- R5 5.0.0 版(版本 5)
- 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 版本中所支持功能的详细信息
R5
服务器的功能声明指明所支持的规范部分。
- 支持存储和检索所有 R5 资源,包括支持扩展程序元素。API 接受、存储和返回任何数据元素的扩展程序。
- RESTful API 中使用 JSON 内容类型的所有方法都受支持,除了:
- 支持配置文件验证和强制执行。
- v1beta1 API 支持用户定义的搜索参数,包括对扩展元素的搜索。
所有搜索功能都受支持,除了:
- 搜索参数
Group-characteristic-value、Location-near、Location-contains、DocumentReference-relationship、Bundle-composition、Bundle-message、Observation-component-value-canonical、Observation-value-canonical、QuestionnaireResponse-item-subject和Composition-section-text不受支持。 - 执行拼音匹配的搜索参数不受支持。
- 搜索结果参数
_contained、_containedType、_summary=count和_summary=true不受支持。 - 特殊搜索参数
_content会搜索搜索参数所引用的资源的所有字段。它会排除无法搜索的字段。它不支持显式AND(字词与AND隐式组合)或括号。 - 特殊搜索参数
Resource-query、Resource-filter、Resource-language、Resource-in和Resource-list不受支持。 - 在具有重复元素的字段上使用时,
_sort参数会按第一个元素进行排序;这与规范不同。_sort适用于类型为number、data、string、token和quantity的搜索参数。 - 令牌搜索修饰符
:of-type、:code-text、text-advanced和:text以及引用搜索修饰符:identifier、not-in、text-advanced和:code-text不受支持。不支持用于 URI 搜索的contains修饰符。 - 规范引用搜索不受支持。规范引用被视为普通引用。不支持
above和below修饰符。 - 使用
_type参数时,只能使用(所有资源的)共同搜索参数,而不能使用指定资源类型的交集。 以下复合搜索参数子集受支持:
Observation-code-value-conceptObservation-code-value-dateObservation-code-value-quantityObservation-code-value-stringObservation-combo-code-value-conceptObservation-combo-code-value-quantityObservation-component-code-value-conceptObservation-component-code-value-quantity
其余的复合搜索参数不受支持。
使用
POST方法进行搜索不会在请求正文中接受application/x-www-form-urlencoded参数。通配符 (
*) 支持_include,但不支持_revinclude。
- 搜索参数
不受支持的区域包括:
- XML 内容类型不受支持。
- 补丁操作不支持 XML 补丁程序或
FHIRPath补丁。 - HTTP HEAD 请求不受支持。
由于之前的 FHIR 版本具有向后兼容性,因此该 API 的某些方面与 FHIR 规范有所偏差。以下问题已在 R5 中得到修复:
- 启用必填字段验证后,系统现在会拒绝
null字段和空字段(例如{})。 - JSON 中的资源字段不再支持使用 UpperCamelCase 命名法。
- 无论是否停用了引用完整性,批量软件包都不允许包含
urn:uuid引用。批处理软件包绝不会重写引用。 - 与之前相比,事务软件包在重写引用方面更为严格,并且会针对条目中的无效 FullUrl 报告错误,如规范中所定义:https://www.hl7.org/fhir/bundle.html#references。
- 看起来像资源引用的引用必须具有有效的 ID。
- 为 PATCH 请求启用了基本配置文件验证。
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参数会按第一个元素进行排序;这与规范不同。_sort适用于类型为number、data、string、token和quantity的搜索参数。 - 令牌搜索修饰符
:of-type和引用搜索修饰符:identifier不受支持。 - 规范引用搜索不受支持。规范引用被视为普通引用。
- 使用
_type参数时,只能使用(所有资源的)共同搜索参数,而不能使用指定资源类型的交集。 以下复合搜索参数子集受支持:
DocumentReference-relationshipObservation-code-value-conceptObservation-code-value-dateObservation-code-value-quantityObservation-code-value-stringObservation-combo-code-value-conceptObservation-combo-code-value-quantityObservation-component-code-value-conceptObservation-component-code-value-quantity
其余的复合搜索参数不受支持。
使用
POST方法进行搜索不会在请求正文中接受application/x-www-form-urlencoded参数。通配符 (
*) 支持_include,但不支持_revinclude。
- 搜索参数
不受支持的区域包括:
- 大多数扩展操作都未实现。
- XML 内容类型不受支持。
- 补丁操作不支持 XML 补丁程序或
FHIRPath补丁。 - HTTP HEAD 请求不受支持。
为了实现向后兼容性,API 与 FHIR 规范存在偏差的方面:
- 必填字段接受
null - 必填字段接受空代码
- 停用参照完整性后,批处理软件包中允许使用
urn:uuid引用。
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参数会按第一个元素进行排序;这与规范不同。_sort适用于类型为number、data、string、token和quantity的搜索参数。 - 使用
POST方法进行搜索不会在请求正文中接受application/x-www-form-urlencoded参数。 - 通配符 (
*) 支持_include,但不支持_revinclude。
- 搜索参数
不受支持的区域包括:
- 大多数扩展操作都未实现。
- XML 内容类型不受支持。
- 补丁操作不支持 XML 补丁程序或 FHIRPath 补丁。
为了实现向后兼容性,API 与 FHIR 规范存在偏差的方面:
- 必填字段接受
null - 必填字段接受空代码
- 停用参照完整性后,批处理软件包中允许使用
urn:uuid引用。
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参数会按第一个元素进行排序;这与规范不同。_sort适用于类型为number、data、string、token和quantity的搜索参数。 - 使用
POST方法进行搜索不会在请求正文中接受application/x-www-form-urlencoded参数。 - 通配符 (
*) 支持_include,但不支持_revinclude。
- 搜索参数
不受支持的区域包括:
- 大多数扩展操作都未实现。
- DSTU2 不支持用户定义的搜索参数。
- XML 内容类型不受支持。
为了实现向后兼容性,API 与 FHIR 规范存在偏差的方面:
- 必填字段接受
null - 必填字段接受空代码
- 停用参照完整性后,批处理软件包中允许使用
urn:uuid引用。
超出已发布规范的操作的详细信息
- FHIR 存储区配置包含一个选项,用于通知用户指定的 Pub/Sub 主题,以了解存储区中资源的所有更改。此通知机制在所有 Cloud Healthcare API 存储区中通用,并且不打算取代 FHIR 订阅(DSTU2、STU3、R4 和 R5)功能。
- FHIR 存储区到 Cloud Storage 目标位置的导出操作仅提供对整个存储区的批量导出。它不是 FHIR 批量数据草稿规范的实现。
- FHIR 存储区导入操作未在规范中定义。
- 移除资源历史版本的
Resource-purge操作未在规范中定义。如果标准进程或其他 FHIR 实现在此用例的不同 API 方法上收敛,则此 API 将来可能会更改。 ExecuteBundle端点在 v1beta1 中接受history软件包,以创建资源的历史版本。