FHIR 一致性声明

Cloud Healthcare API 中的 FHIR 存储区支持由 Health Level 7 International (HL7) 发布的快速医疗互操作性资源 (FHIR) 规范的多个版本。

v1 API 支持以下版本:

创建 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-valueLocation-nearBundle-compositionBundle-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-valueSequence-coordinateLocation-nearLocation-near-distanceBundle-compositionBundle-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-valueLocation-nearLocation-near-distanceBundle-compositionBundle-messageCoverage-dependentCoverage-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 订阅(DSTU2STU3R4)功能。
  • FHIR 存储区到 Cloud Storage 目标位置的导出操作仅提供对整个存储区的批量导出。它不是 FHIR 批量数据草稿规范的实现。
  • FHIR 存储区导入操作未在规范中定义。
  • 移除资源历史版本的 Resource-purge 操作未在规范中定义。如果标准进程或其他 FHIR 实现在此用例的不同 API 方法上收敛,则此 API 将来可能会更改。