在 Azure API 中为 FHIR 创建多个包

Creating multiple bundles in Azure API for FHIR

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

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

类似这样的东西..但是有超过 100 种资源类型供患者使用。很好,它涵盖了患者的整个旅程。

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

使用 post man 我尝试在下面插入带有 api 的捆绑包

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

我能够插入多个包.. 但是,当我使用以下 api

查询患者时

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

未检索到所有患者信息。

这是我的问题。

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

当您需要在 FHIR 端点处理包时,您需要 POST 它到 FHIR 服务器的根 /https://www.hl7.org/fhir/http.html#transaction.

中描述了所有这些

也就是说,用于 FHIR 的托管 Azure API 目前仅支持 "batch" 捆绑包。捆绑包类型 transaction 目前在 Azure API 上支持 FHIR。

batchtransaction 在使用 SQL 服务器持久性提供程序。

如果你想将 Synthea 生成的交易包转换为批处理包,那么你可以看一下这样的东西:https://github.com/hansenms/FhirTransactionToBatch