自定义SearchParameter能否同时支持valueCoding与valueDecimal查询
FHIR扩展多value[x]切片的搜索参数实现说明
你需要创建两个独立的自定义SearchParameter,无法通过单个SearchParameter实现你示例中提到的点分属性筛选的查询形式,原因和实现方案如下:
- 首先FHIR标准的搜索语法不支持单个搜索参数下的二级点属性筛选,你示例中
_customSearchParameter.code、_customSearchParameter.value的写法不符合规范,主流FHIR服务器都不会识别这种参数格式 - 单个SearchParameter只能定义单一的搜索类型,你需要查询的
code属于token类型、valueDecimal属于number类型,类型不兼容,无法合并到同一个搜索参数中 - 推荐实现方案:
- 第一个搜索参数类型设为
token,FHIRPath表达式指向你切片后的valueCoding的code字段,示例:Patient.extension('你的扩展唯一URL').slice('valueCoding').value.code,自定义参数code可以设为ext-yourValueCode - 第二个搜索参数类型设为
number,FHIRPath表达式指向你切片后的valueDecimal字段,示例:Patient.extension('你的扩展唯一URL').slice('valueDecimal').value,自定义参数code可以设为ext-yourValueDecimal
- 第一个搜索参数类型设为
- 最终符合规范的查询请求格式应为:
http://localhost:4080/Patient?ext-yourValueCode=ABC&ext-yourValueDecimal=111
内容的提问来源于stack exchange,提问作者Martin S.
相关产品推荐
相关产品推荐

