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

如何通过引用资源字段在FHIR中搜索medicationRequest资源

通过EpisodeOfCare ID检索匹配MedicationRequest的操作方法

FHIR规范本身支持跨引用资源的筛选,你可以根据服务端的能力支持情况选下面两种方案:

  • 方案一:直接用链式检索(优先推荐,符合FHIR标准,一次请求就能拿到结果)
    直接调用MedicationRequest资源的搜索接口,传链式搜索参数即可,请求格式如下:
    GET [你的FHIR服务根路径]/MedicationRequest?encounter.episode-of-care=[你要匹配的EpisodeOfCare ID]
    
    参数逻辑说明:
    1. encounter是MedicationRequest资源上指向关联Encounter资源的标准搜索参数
    2. 点号后面的episode-of-care是沿着Encounter引用下钻,用Encounter资源上关联EpisodeOfCare的标准搜索参数做筛选,服务端会自动完成跨资源的关联匹配,直接返回所有符合条件的用药请求。
      注意不要把参数名写成驼峰格式的episodeOfCare,FHIR所有标准搜索参数统一使用短横线分隔命名,写错会报参数无效。
  • 方案二:分步检索(适用于不支持链式检索的裁剪版FHIR服务)
    如果你的FHIR服务端关闭了链式搜索能力,分两步走就能拿到结果:
    1. 先检索所有绑定了目标EpisodeOfCare ID的Encounter资源,请求格式:
      GET [你的FHIR服务根路径]/Encounter?episode-of-care=[你要匹配的EpisodeOfCare ID]
      
      从返回的资源包里提取所有Encounter的资源ID,整理成逗号分隔的ID列表。
    2. 再用拿到的Encounter ID列表检索关联的MedicationRequest,请求格式:
      GET [你的FHIR服务根路径]/MedicationRequest?encounter=[逗号分隔的Encounter ID列表]
      

校验提示:拿到结果后可以随机抽取1-2条返回的MedicationRequest资源,顺着资源内的encounter引用字段打开对应Encounter详情,确认其关联的episodeOfCare ID和你的目标ID一致,排查服务端搜索逻辑异常导致的结果偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 16:57:23