Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带捆绑包的FHIR Python客户端上的Smart_Python_Json_Hl7 Fhir - Fatal编程技术网

带捆绑包的FHIR Python客户端上的Smart

带捆绑包的FHIR Python客户端上的Smart,python,json,hl7-fhir,Python,Json,Hl7 Fhir,因此,我有一个来自“$everything”操作的FHIR患者捆绑json: 我现在感兴趣的是使用FHIR Python客户机模型上的Smart使处理json文件变得更容易。下面给出了一个示例: import json import fhirclient.models.patient as p with open('path/to/patient.json', 'r') as h: pjs = json.load(h) patient = p.Patient(pjs) patient

因此,我有一个来自“$everything”操作的FHIR患者捆绑json:

我现在感兴趣的是使用FHIR Python客户机模型上的Smart使处理json文件变得更容易。下面给出了一个示例:

import json
import fhirclient.models.patient as p
with open('path/to/patient.json', 'r') as h:
     pjs = json.load(h)
patient = p.Patient(pjs)
patient.name[0].given
# prints patient's given name array in the first `name` property

是否可以仅使用一个通用的bundle对象类来实例化某个对象,以便能够访问bundle中的不同资源?

是的,您可以实例化一个
bundle
,就像您可以实例化任何其他模型一样,可以从JSON手动实例化,也可以从服务器通过
读取
。每次
搜索
也会返回一个包。然后,您可以迭代bundle的条目并使用它们,就像将它们放入数组中一样:

resources = []
if bundle.entry is not None:
    for entry in bundle.entry:
        resources.append(entry.resource)
p、 美国。 应该可以使用客户端执行任何
$操作
,返回您提到的
捆绑包
,但我必须检查我们是否已公开该操作,或者该操作是否尚未提交


命令行示例:

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>
将fhirclient.models.bundle作为b导入
导入json
将open('fhir-parser/downloads/bundle example.json','r')作为h:
js=json.load(h)
bundle=b.bundle(js)
bundle.entry
[, 
]
对于bundle.entry中的条目:
打印(entry.resource)
//印刷品

@Pascal感谢您提供更多详细信息!我想我明白你的建议了。在我的情况下,我已经将所有完整的patient FHIR捆绑包(从$everything)写入目录中的各个json文件,因为所讨论的服务器没有在FHIR上使用Smart。所以我希望在这些任意包上手动使用智能模型,而不是遍历这么多字段。“import fhirclient.models.object.bundle as b”似乎不允许我与我发布的患者示例.Hy@Pylander进行相同的操作。这肯定会奏效,我已经添加了刚刚从命令行执行的完整代码,阅读了FHIR网站提供的文件
Bundle example.json
。这就是你想要实现的吗?嗨,你有从FHIR将数据导入python的完整示例吗?这样你就可以分享了。我想学习如何将FHIR数据输入R