2017-07-25 89 views
0

需要一些建议和帮助!FHIR:根据最后一个返回患者资源列表

两个问题。

  1. 我该如何检索30个_counts患者资源列表并按最后修改日期排序?我没有任何搜索参数,如标识符,家庭和给定;

  2. 由于我在浏览器中的应用程序是单页面应用程序,当用户向下滚动并显示前30位患者时,我会再拨打另一个电话以获得接下来的30位患者。我不需要前30名患者,只需要记录从31到60.我应该在这个传呼搜索中使用哪些参数?我们是否有类似“?_count = 30 & _page = 2”。同样,如果我需要第100页,我不希望服务器向我发送第99页。

在此先感谢。 自动运行

回答

0

GET [的baseUrl] /患者?_count = 30 &排序= _LastUpdated

的响应将是一个包。使用“next”的Bundle.link.relation查看Bundle.link。 Bundle.link.url将是用于获取内容的下一个“页面”的URL。 URL的格式未定义,并且是特定于服务器的。

请注意,_count仅限制基础资源。如果您查询患者并对观察进行一次_rev包括,您将获得30位患者 - 但您也将获得所有30位患者的所有观察结果 - 可能是结果集中的10k行 - 因此请小心使用_include和_revinclude。

+0

谢谢劳埃德。你有没有关于问题2的任何建议,即只通过确切的页面获取包?如果我想要第3页,我只需要从记录61到90中的记录(每页30条记录)。 – Autorun

+0

这是不可能的 - 至少不使用规范中定义的机制。对于某些查询机制,跳转到结果集中的随机位置很困难。所以我们只支持导航到下一页,上一页,第一页和最后一页。 –

+0

@LloydMcKenzie,对不起。但你错了。您可以使用“?_count = X&_page = Y”(在DSTU-2上进行检查),并按以下公式自动计算页数:(searchset.total/query_count param) 例如,我发送请求:[base]/Observation?_format = json&_count = 2 并因此结果FHIR服务器返回我searchset有2个条目和下一个属性:total = 50465,最后一页“page = 25232” –