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

IBM Watson Assistant自定义扩展变量赋值:提取FHIR API返回数据

解决Watson Assistant中FHIR API响应提取与变量赋值问题

核心问题1:变量赋值的步骤选择

必须在API扩展调用成功、获取到完整响应数据之后的步骤进行赋值:

  • 不能在调用扩展的步骤(步骤1)赋值:此时API还未返回数据,无法提取字段值
  • 不能等到返回信息给用户的步骤(步骤3)才处理:临时提取不利于变量复用,也无法提前处理API响应异常
  • 正确做法:在步骤1(调用扩展)之后,步骤3(返回信息)之前,新增一个专门的**「设置变量」动作步骤**,用于解析响应并赋值。

核心问题2:提取display字段赋值给careTeamMD

步骤1:确保API响应存入上下文变量

在Watson Assistant的动作中,找到调用FHIR扩展的步骤:

  • 勾选「将响应保存到上下文变量」选项,指定一个变量名(例如careTeamResponse)
  • 完成后,API返回的完整JSON响应会被存入$careTeamResponse上下文变量中

步骤2:添加「设置变量」步骤提取字段

新增一个动作步骤,类型选择「设置变量」:

  • 变量名填写careTeamMD
  • 变量值使用Watson Assistant的JSON路径语法填写:
    $careTeamResponse.body.participant[0].member.display
    
    路径解释:
    • body:对应API返回的顶层body字段
    • participant[0]:取participant数组的第一个元素(因为你的响应中只有一个医生条目)
    • member.display:提取该元素下member对象中的display字段值(即Dr. Francis)

解决「仅能看到Ran successfully变量」的问题

出现这个情况是因为你没有开启「将响应保存到上下文变量」的配置,或者扩展没有把完整响应传递回Watson Assistant:

  • 检查扩展配置,确保API的完整响应(而非仅成功状态)被返回给Watson Assistant
  • 在调用扩展的动作步骤中,务必启用「将响应保存到上下文变量」,这样才能在后续步骤中访问响应里的所有字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:42:45