将批量数据发送到Azure FHIR服务器

问题描述 投票:0回答:1

我正在尝试处理包含超过20000个患者信息的csv文件。总共有50列,每个患者的小时数据将有多行。大多数列属于观察资源类型。如心率,温度,血压。

我已成功将数据转换为FHIR格式。但是,当我尝试将数据推送到FHIR服务器内部时,服务器抛出错误,说该数据最多允许500个条目。

即使我最多等待500个条目并推送json文件,也要花费大量时间才能掩盖20000 * 50。是否有任何有效的方式将数据批量插入到Azure的服务器中?

当前,我正在使用以下代码。但是看起来它将花费大量时间和资源。由于我的csv文件中大约有70万行。

def export_template(self, template):
     if self.export_max_500 is None:
         self.export_max_500 = template
     else:
         export_max_500_entry = self.export_max_500["entry"]
         template_entry = template["entry"]
         self.export_max_500["entry"] = export_max_500_entry + template_entry
         if len(self.export_max_500["entry"]) > 500:
             template["entry"] = self.export_max_500["entry"][:495]
             self.export_max_500["entry"] = self.export_max_500["entry"][495:]
             self.send_to_server(template)

hl7-fhir fhir-server-for-azure
1个回答
0
投票

最有效的方法是不发送多个(批量)捆绑包。实际上,它是并行执行许多单独的请求。您的问题是您要按顺序发送这些消息,并且对往返时间造成很大的影响。您可以看一下类似以下加载程序的内容:https://github.com/hansenms/FhirLoader,它使请求并行化。您也将需要提高服务上的RU,以确保您有足够的吞吐量来获取数据。

© www.soinside.com 2019 - 2024. All rights reserved.