首页 > 解决方案 > 在 Azure API for FHIR 中创建多个包

问题描述

使用 Synthea,我生成了 10 个患者信息。我有一个 azure 帐户,我在其中设置了“Azure API for FHIR”服务。我完成了所有设置并尝试推送样本患者(如官方文档中所述)。我也可以通过患者 ID 检索患者信息。

但是,从 Synthea 生成的资源不仅仅是一种资源类型。它有许多条目,如 Patient、Organization、Claim 等。所有内容都捆绑在一个资源下 - bundle

像这样的东西..但是为患者提供了 100 多种资源类型。好在,它涵盖了患者的整个旅程。

{
  "resourceType": "Bundle",
  "type": "transaction",
  "entry": [
   .....
   {
    ....
   "resourceType": "patient"
    ....
    },
   {
    ....
   "resourceType": "organization"
    ....
    },
]
}

使用邮递员我尝试在下面插入这个带有 api 的包

https://XXXXXX.azurehealthcareapis.com/Bundle/

我能够插入多个捆绑包。但是,当我使用以下 api 查询患者时

https://XXXXXX.azurehealthcareapis.com/Patient/

未检索到所有患者信息。

这是我的问题。

  1. 逐包插入 - 这是正确的方法..或
  2. 按资源插入资源.. Patient, Organization , Patient , Organization... 但这看起来毫无意义。因为,如果我需要找到患者的整个旅程,我将如何绘制它
  3. 有什么方法可以将每个捆绑包转换为 CSV 文件。我想提取信息并在其上运行机器学习模型。

标签: azurehl7-fhirfhir-server-for-azure

解决方案


当您需要在 FHIR 端点处理捆绑包时,您需要将其 POST 到/FHIR 服务器的根目录。这在https://www.hl7.org/fhir/http.html#transaction中都有描述。

也就是说,用于 FHIR 的托管 Azure API 目前仅支持“批处理”捆绑包。Azure API for FHIR 目前不支持transaction捆绑类型

与 SQL Server 持久性提供程序一起部署时,适用于 Azure 的 OSS FHIR 服务器 ( https://github.com/Microsoft/fhir-server )都支持batch和。transaction

如果您想将 Synthea 生成的事务包转换为批处理包,那么您可以查看如下内容:https ://github.com/hansenms/FhirTransactionToBatch


推荐阅读