2017-09-22 100 views
0

我还没有真正找到有关如何在搜索FHIR资源时查找复杂的嵌套查询的示例或说明。如何使用复杂的嵌套查询在FHIR上进行搜索

一些例子(伪代码):

  • (名称=玛丽和性别=女)OR(地址城市=斯普林菲尔德和 地址状态= NY)
  • ((名称=玛丽和性别=女)OR (地址城市=斯普林菲尔德&地址状态= NY))和Active = TRUE

是,即使可能吗?如果是,如何?

回答

0

FHIR支持相当精细的搜索语法,但它不是查询语言。除非你有权访问服务器,并且可以自己实现查询,否则你想要的搜索不能在1中完成。

如果您有访问/影响服务器端,则可以实现一个命名查询,然后使用_query搜索参数来执行该查询(请参阅http://www.hl7.org/fhir/search.html#query)。

如果您没有该访问权限,则可以通过几个步骤执行查询。例如,您的第一个将采取2个查询:

GET [fhir endpoint]/Patient?name=Mary&gender=female 
GET [fhir endpoint]/Patient?address-city=Springfield&address-state=NY 

两者都会给你一捆结果。这两个捆绑在一起将是你正在寻找的匹配资源的完整列表。

对于第二个示例查询,您需要提供两个GET并使用&active=true