Azure API for FHIR:基础知识
什么是 FHIR?
快速医疗保健互操作性资源(FHIR - 发音为“fire”)是一个互操作性标准,旨在允许在不同的健康状况系统之间交换医疗保健数据。 此标准由 HL7 组织开发。如今,世界各地的医疗保健组织均正在采用此标准。 FHIR 的最新可用版本为 R4(版本 4)。 Azure API for FHIR 支持 R4 和旧版 STU3(试用版 3 的标准)。 如需获取 FHIR 的详细信息,请访问 HL7.org。
FHIR API 数据是否存储在 Azure 中?
是的,这些数据存储在 Azure 中的托管数据库内。 Azure API for FHIR 不提供对基础数据存储的直接访问。
如何访问基础数据?
在托管服务中无法访问基础数据。 这是为了确保 Azure API for FHIR 提供医疗保健数据所需的隐私与合规性认证。 如果你需要访问基础数据,可以使用开源 FHIR 服务器。
支持哪些标识提供者?
我们支持使用 Microsoft Azure Active Directory 作为标识提供者。
是否可以在 Azure API for FHIR 中使用 Azure AD B2C?
否,我们不支持在 Azure API for FHIR 中使用 B2C。 如果需要更精细的访问控制,我们建议查看开源 FHIR 代理。
Azure API for FHIR 的备份和恢复策略是什么?
托管服务的数据每隔 4 小时自动备份一次,将保留两个备份。 因此保留持续时间为 8 小时。 数据恢复由支持团队完成,恢复点目标 (RPO) 小于 240 分钟。
客户可以通过支持票证请求还原数据或更改默认数据备份策略。
支持哪些 FHIR 版本?
支持版本 4.0.0 和 3.0.1。 有关详细信息,请参阅 FHIR 支持的功能。 还可以在 HL7 FHIR 的版本历史记录中查看各个 FHIR 版本(STU3 到 R4)的变化。
适用于 FHIR 的 Azure IoT 连接器(预览版)目前仅支持 FHIR 版本 R4,并且在 Azure API for FHIR 的 R4 实例上可见。
Azure Health Data Services 与 Azure API for FHIR 有何区别?
Azure API for FHIR 是正式版的托管 FHIR 服务。 Azure Health Data Services 允许在同一工作区中部署 FHIR 服务和 DICOM 服务。 Azure Health Data Services 概述中提供了更多详细信息。
Microsoft FHIR Server for Azure 与 Azure API for FHIR 有何区别?
Azure API for FHIR 是开源的 Microsoft FHIR Server for Azure 的托管版本。 Microsoft 会在托管服务中提供所有维护和更新。
运行 FHIR Server for Azure 时,可以直接访问基础服务。但如需存储 PHI 数据,则你需要负责维护和更新服务器及所有必要的合规性工作。
Azure API for FHIR 已在哪些区域中推出?
我们已在多个地理区域中推出了面向公共机构和政府机构的正式版。 有关 Microsoft 政府云服务的信息,请参阅 FedRAMP 提供的 Azure 服务。
在何处可以查看 Azure API for FHIR 中发布的功能?
发行说明页中概述了过去一个月在该托管服务中随附的所有功能。
有关在 Azure API for FHIR 中发布的功能的详细信息,请参阅开源 FHIR 服务器的发行说明。 我们努力使用 Azure-API-for-FHIR 标记项(如果它们将发布到托管服务),并且通常在两周后在开源发布页上可用。 如果你想要在自己的环境中进行测试,我们还提供了有关如何测试内部版本的说明。
若要查看该托管服务中当前包含哪些发行包,可以在 software.version
属性下查看 Azure API for FHIR 的功能陈述。 你将看到部署了哪个包。
在何处可以找到我的数据库上运行的 FHIR 版本 (R4/STU3)?
可以在 fhirVersion
属性下的功能陈述中找到公开的确切 FHIR 版本。
是否可将 Azure API for FHIR 从 STU3 切换到 R4?
否。 我们无法更改现有数据库的版本。 你需要创建一个新的 Azure API for FHIR 并重新加载数据。 可以利用 JSON 到 FHIR 转换器将 STU3 数据转换为 R4。
是否可以自定义 Azure API for FHIR 的 URL?
否。 无法更改 Azure API for FHIR 的 URL。
FHIR 实现和规范
什么是 SMART on FHIR?
SMART(可替换式医疗应用程序和可重用技术)on FHIR 是一组开放式规范,用于将合作伙伴应用程序与 FHIR 服务器和其他健康 IT 系统(如电子健康记录和健康信息交换)集成。 通过创建 SMART on FHIR 应用程序,可确保多种不同系统能够访问和使用你的应用程序。 有关 SMART 的详细信息,请访问 SMART Health IT 网站。
Azure API for FHIR 是否支持 SMART on FHIR?
是的, 使用 AHDS 示例支持 SMART on FHIR 功能。 这称为 SMART on FHIR (增强) 。 SMART on FHIR (增强型) 可视为满足 SMART on FHIR 实施指南 (v 1.0.0) 和 §170.315 (g) (10) 标准的要求。 有关详细信息,请访问 SMART on FHIR (增强) 文档。
能否创建自定义 FHIR 资源?
我们不允许自定义 FHIR 资源。 如需自定义 FHIR 资源,可在带有扩展的基本资源上生成自定义资源。
Azure API for FHIR 是否支持扩展?
允许将任何有效的 FHIR JSON 数据加载到服务器。 如果你要存储定义扩展的结构定义,可将其另存为结构定义资源。 若要搜索扩展,需要自定义搜索参数。
可以上传的资源大小有什么限制?
资源大小必须小于 2 MB。 这是基础数据存储的一项限制,我们无法增大此值。
如何在 XML 中查看 Azure API for FHIR?
在托管服务中,我们仅支持 JSON。 开源 FHIR 服务器支持 JSON 和 XML。 若要在开放源代码中查看 XML 版本,请使用 _format= application/fhir+xml
。
对 _count 有何限制?
当前对 _count 的限制为 1000 条。 如果将 _count 的数量设置超过 1000 条,则捆绑包会显示一条警告,提示系统只会显示前 1000 条记录。
组导出功能是否有任何限制?
对于组导出,我们只会导出组中包含的引用,而不会导出组资源的所有特征。
是否可将捆绑包发布到 Azure API for FHIR?
在 Azure API for FHIR 中,我们目前支持发布批捆绑包,但不支持发布事务捆绑包。 如果需要事务捆绑包支持,可以使用 Azure Health Data Services 中的 FHIR 服务。
如何在 Azure API for FHIR 中获取单个患者的所有资源?
可以使用 Patient-$everything 操作,或者在 Azure API for FHIR 中使用隔离舱搜索。 这样就可以获取与特定患者相关的所有资源。 请注意,患者隔离舱包括与患者相关的所有资源,但不包括患者自己,因此如果需要在结果中返回患者资源,你还需要进行搜索以获取患者。
在 Azure API for FHIR 中搜索资源时的默认排序方式是怎样的?
我们支持按上次更新日期排序:_sort=_lastUpdated。 我们还支持对 FirstName、LastName、BirthDate 和 ClinicalDate 元素执行 _sort。 有关其他受支持的搜索参数的详细信息,请参阅 FHIR 搜索概述。
Azure API for FHIR 是否支持 $everything?
是,我们确实支持 patient-$everything。 有关详细信息,请参阅 Patient-$Everything 操作指南。
Azure API for FHIR 是否支持任何术语操作?
否,Azure API for FHIR 目前不支持术语操作。
$export 的工作原理是什么?
$export 是 FHIR 规范的一部分。 如果为 FHIR 服务配置了托管标识和存储帐户,并且该托管标识有权访问该存储帐户,则你可以在 FHIR API 上调用 $export,所有 FHIR 资源将导出到该存储帐户。 有关详细信息,请参阅 $export 一文。
是否有用于反识别 EHR 数据的现成解决方案?
我们使用了一个开源工具来反识别 FHIR 数据。 同样的技术也能以反识别导出的形式集成到 Azure API for FHIR。
反识别导出是否在患者级别和组级别均可用?
目前只有完整系统导出 (/$export) 支持匿名导出,患者导出 (/Patient/$export) 不支持匿名导出。 我们正在努力使该功能同样适用于患者级别。
Azure API for FHIR 中的删除类型有什么区别?
Azure API for FHIR 支持两种基本删除类型。 它们是“删除”和“条件删除”。
- 使用“删除”时,可以选择进行软删除(最常见类型),同时仍可恢复记录的历史版本。
- 使用“条件删除”时,可以传递搜索条件,以便逐个地删除资源或者一次性删除多个资源。
- 使用“删除”和“条件删除”时,如果传递了
hardDelete
参数,则所有记录和历史记录都将被删除且不可恢复。
如何在 Azure API for FHIR 中恢复已删除的记录?
如果不使用 hardDelete
参数,则可以恢复已删除的文件。 Azure API for FHIR 中的记录应该仍然存在。 可以通过对资源执行历史搜索并查看包含数据的最后一个版本来查找记录。
使用 Azure API for FHIR
如何为 Azure API for FHIR 启用日志分析?
有关启用审核日志和示例查询的详细信息,请参阅在 Azure API for FHIR 中启用诊断日志记录。 如果你想在日志中包含其他信息,请参阅使用自定义 HTTP 标头。
我在加载和更新数据时遇到 429 错误。 如何解决此错误?
RU 数高于设置的值,如何降低 RU 值?
最小 RU 值至少需要为每 GB 40 RU。 加载数据时,如果低于此最小值,数据库上的 RU 数将会增加。
在何处可以找到有关在工作流中使用 Azure API for FHIR 的示例?
健康体系结构 GitHub 页面列有一系列参考体系结构。
Azure API for FHIR 功能和服务
是否可以对 FHIR 服务执行运行状况检查?
若要对 FHIR 服务执行运行状况检查,请在 GET 请求中输入 {{fhirurl}}/health/check
。 应能够看到 FHIR 服务的状态。 HTTP 状态代码响应(200 且 OverallStatus 响应为“正常”)表示运行状况检查成功。
如果出现错误,你将收到错误响应,其中包含 HTTP 状态代码 404 (“找不到”) 或状态代码 500 (内部服务器错误) ,以及在某些情况下响应正文中的详细信息。
是否有办法可以使用我的个人密钥而不是默认密钥来加密数据?
是,Azure API for FHIR 允许配置客户管理的密钥,从而利用 Azure Cosmos DB 的支持。 有关使用个人密钥加密数据的详细信息,请参阅通过 REST 配置客户管理的密钥。