如何使用fhir客户端搜索来包含所有资源,即($everything)

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

您将如何搜索特定患者的所有资源,例如相遇、约会、同意?

我知道您可以通过邮递员请求 http://localhost:9090/organId/Patient/12345/$everything 搜索它并获得结果。但我希望能够从我的 java 程序执行搜索查询。

这是我到目前为止所拥有的,但我知道包含部分不好并且不起作用。谷歌搜索没有返回任何结果。

Bundle bundle = myFhirClient
                .search()
                .forResource(Patient.class)
                .returnBundle(Bundle.class)
                .where(new NumberClientParam(Patient.SP_RES_ID).exactly().number(patientId)).include(new Include("$everything"))
                .sort(new SortSpec().setOrder(SortOrderEnum.DESC).setParamName(Patient.SP_RES_ID))
                .execute();

非常感谢任何帮助

search hl7-fhir hapi-fhir
2个回答
1
投票

我不得不使用Fhir客户端操作而不是搜索。这将返回给定患者 ID 的所有参考资源。

Parameters outParams = myFhirClient
                    .operation()
                    .onInstance(new IdType("Patient", patientId))
                    .named("$everything")
                    .withNoParameters(Parameters.class) // No input parameters
                    .execute();

0
投票

你也可以试试这个。

字符串 Url = baseUrl+"患者/{id}/$everything"

Bundle 捆绑 = fhirClient.search().byUrl(url).returnBundle(Bundle.class).execute();

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