如何按属性值过滤FHIR ValueSet并获取扩展属性值?
HAPI FHIR术语服务:ValueSet扩展的两个关键问题解决
1. 按附加属性过滤ValueSet中的概念
有两种实现方式:
方式一:动态请求时通过filter参数过滤
调用$expand时,添加filter参数,语法为[属性代码]=[属性值](需URL编码)。针对你的场景,过滤laboratory_type=1的请求示例:
GET ValueSet/$expand?url=<my host>/gender&filter=laboratory_type%3D1
方式二:在ValueSet定义中静态过滤
修改ValueSet的compose.include节点,添加filter字段指定过滤条件,该ValueSet默认扩展时只会返回符合条件的概念:
{ "resourceType": "ValueSet", "url": "<my host>/gender", "compose": { "include": [ { "system": "<my host>/gender-codesystem", "version": "1", "filter": [ { "property": "laboratory_type", "op": "=", "value": "1" } ] } ] } }
2. 在$expand结果中返回附加属性值
HAPI FHIR默认不会返回CodeSystem的附加属性,需在$expand请求中添加returnProperty参数,指定要返回的属性代码。针对你的场景,请求示例:
GET ValueSet/$expand?url=<my host>/gender&returnProperty=laboratory_type
添加该参数后,expansion.contains中的每个概念节点会包含property数组,返回示例片段:
{ "code": "male", "display": "Male", "property": [ { "code": "laboratory_type", "valueString": "1" } ] }
注意事项
- 确保CodeSystem中已正确定义
property节点(如示例所示),否则过滤和属性返回都会失效。 - HAPI FHIR 6.4.0版本完全支持上述参数,无需额外配置。
内容的提问来源于stack exchange,提问作者Vladimir Parfenov
相关产品推荐
相关产品推荐

