所以我有一个FHIR病人捆绑json来自" $ everything"操作: https://www.hl7.org/fhir/operation-patient-everything.html
我现在有兴趣在FHIR Python客户端模型上使用Smart,以便更轻松地使用json文件。给出的示例如下:
<div class="tooltip">floating tooltip</div>
是否可以使用通用的bundle对象类来实例化某些内容,以便能够访问bundle中的不同资源?
答案 0 :(得分:1)
是的,您可以实例化Bundle
,就像您可以从JSON手动实例化任何其他模型,或者从服务器实例化read
。每个search
也返回一个Bundle。然后你可以遍历bundle的条目并使用它们,就像把它们放在一个数组中一样:
resources = []
if bundle.entry is not None:
for entry in bundle.entry:
resources.append(entry.resource)
P.S。
应该可以对客户端执行任何$operation
,返回您提到的Bundle
,但是我必须检查是否已经暴露了它或者它是否已经提交。
命令行示例:
import fhirclient.models.bundle as b
import json
with open('fhir-parser/downloads/bundle-example.json', 'r') as h:
js = json.load(h)
bundle = b.Bundle(js)
bundle.entry
[<fhirclient.models.bundle.BundleEntry object at 0x10f40ae48>,
<fhirclient.models.bundle.BundleEntry object at 0x10f40ac88>]
for entry in bundle.entry:
print(entry.resource)
// prints
<fhirclient.models.medicationorder.MedicationOrder object at 0x10f407390>
<fhirclient.models.medication.Medication object at 0x10f407e48>