如何通过Extensions为FHIR Claim资源添加LOB字段并支持搜索?
问题修复方案
1. 修正扩展URL匹配规则
Claim资源中extension的url值与SearchParameter中配置的筛选url必须完全一致,你当前Claim内扩展url为随机值,和搜索参数内的https://fhir_server/StructureDefinition/f971fc4998167948838f8a8831ea914c不匹配,导致搜索参数无法定位到对应字段。需将Claim中extension的url修改为和搜索参数配置的url完全相同的值。
2. 修正FHIRPath表达式语法
你当前SearchParameter的expression字段写法有误:扩展的valueString对应FHIRPath取值为.valueString,而非.value.string。修改后的expression应为:
Claim.extension.where(url ='https://fhir_server/StructureDefinition/f971fc4998167948838f8a8831ea914c').valueString
3. 补充注册扩展的StructureDefinition
绝大多数FHIR服务器要求自定义扩展必须先创建对应的StructureDefinition资源完成结构注册,仅创建SearchParameter会导致服务器无法识别该自定义扩展,无法生成索引。你需要先创建LOB扩展对应的StructureDefinition资源,再配置搜索参数。
4. 执行全量资源重索引
仅针对单资源执行$reindex无法让新的搜索参数生效,需要对全量Claim资源执行重索引操作:
POST /Claim/$reindex
5. 检查服务器特殊配置
部分FHIR实现需要额外开启自定义搜索参数支持,或需要将自定义SearchParameter关联到服务器的CapabilityStatement中才可生效,可参考对应服务器的配置文档确认是否需要补充相关配置。
内容的提问来源于stack exchange,提问作者aiman
相关产品推荐
相关产品推荐

