You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否基于关联对象标识符构建FHIR查询?指定日期预约需排除特定机构

解决方案

1. 直接通过查询排除特定机构

完全可以通过FHIR搜索参数直接实现排除特定机构的需求,无需先获取所有结果再过滤。你需要利用Appointment资源的participant.actor参数结合否定运算符:not来排除目标机构:

修改后的查询示例:

https://fhir.example.com/api/r4/v1/Appointment?status=booked&date=ge2025-05-06T00:00:00&date=lt2025-05-07T00:00:00&_count=50&_include=Appointment:patient:Patient&participant.actor:not=Organization/[你的特定机构ID]
  • 其中participant.actor:not=Organization/[机构ID]的作用是排除参与者中包含指定机构ID的预约记录。
  • 部分FHIR服务器支持_not参数组写法,也可以写成:
    https://fhir.example.com/api/r4/v1/Appointment?status=booked&date=ge2025-05-06T00:00:00&date=lt2025-05-07T00:00:00&_count=50&_include=Appointment:patient:Patient&_not:participant.actor=Organization/[你的特定机构ID]
    

2. 基于关联对象标识符构建搜索查询

FHIR完全支持基于关联资源的标识符(而非内部ID)进行搜索,语法格式为[关联路径]:identifier=[标识符系统]|[标识符值]。

举个实际例子:

  • 若要排除的机构拥有标识符系统http://example.org/org-identifiers,标识符值为CLINIC-EXCLUDE-001,则查询可写为:
    https://fhir.example.com/api/r4/v1/Appointment?status=booked&date=ge2025-05-06T00:00:00&date=lt2025-05-07T00:00:00&_count=50&_include=Appointment:patient:Patient&participant.actor:identifier:not=http://example.org/org-identifiers|CLINIC-EXCLUDE-001
    
  • 同理,如果需要基于Patient的标识符筛选预约,可使用patient:identifier=[系统]|[值]的语法。

注意:不同FHIR服务器对高级搜索参数的支持可能略有差异,建议先查阅目标服务器的FHIR文档确认:not运算符和标识符搜索的实现情况。

内容的提问来源于stack exchange,提问作者RKodakandla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 04:51:06