我使用的是hapi-fhir,我想按病人的姓氏对手术列表进行排序。
据我所知,要做到这一点,需要一个合适的serchParameter。
文档中说,如果searchParameter的类型是引用,那么它也支持链接。
在searchParameter (0..*)字符串中有一个字段"chain“,”支持链接的名称“),但我不知道如何使用它,也没有找到任何示例。
我认为这种方法有点幼稚,不会奏效:
"description": "Search by patients lastname",
"code": "function",
"base": [
"Procedure"
],
"type": "reference",
"expression": "Procedure.subject.name.family",
"xpath": "f:Procedure/f:subject/f:name/f:family",
"xpathUsage": "normal",
"multipleOr": true,
"multipleAnd": true,
"comparator": [
"eq",
"ne"
]有没有人能给出一些解释或提供一个样本?
提前谢谢克里斯
发布于 2020-08-07 04:27:03
您需要一个有效的搜索参数才能在排序中使用,这是正确的,但据我所知,它不能是链。有关这方面的讨论,请参阅https://chat.fhir.org/#narrow/stream/179166-implementers/topic/_sort.20-.20sorting.20on.20refs。
对于普通的搜索,您可以使用链,并且您提到的搜索参数已经在规范中。所以GET <hapi>/Procedure?patient.family=Chalmers可以工作,但是GET <hapi>/Procedure?_sort=patient.family会给出一个错误。
搜索参数中的表达式不正确,因为它指向subject字段中的name字段,但该字段不存在。患者的名字不是过程资源的一部分,而是驻留在患者资源中。您必须首先解析从Procedure到Patient的链接,这样才能查看第二个链接的名称。我不知道在搜索参数表达式中有任何这样的示例,但您可以查看表达式语法的FHIRPath specification。服务器是否能够自动支持这种排序将是另一件需要测试的事情。
https://stackoverflow.com/questions/63281874
复制相似问题