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

如何修改HAPI FHIR OpenAPI文档以在Watson Assistant获取完整响应?

解决Watson Assistant调用HAPI FHIR扩展只返回"success"的问题

一、修改OpenAPI文档的正确方式

你之前调整schema未生效,核心原因是没把包含status和body的外层响应结构正确定义到OpenAPI的200响应规则里。需要调整/CareTeam/{id}接口的get响应配置:

"/CareTeam/{id}": {
  "get": {
    // 保留原有tags、summary、parameters内容不变
    "responses": {
      "200": {
        "description": "Success",
        "content": {
          "application/fhir+json": {
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "integer",
                  "example": 200
                },
                "body": {
                  "$ref": "#/components/schemas/FHIR-JSON-RESOURCE"
                }
              },
              "required": ["status", "body"]
            },
            "example": {
              "status": 200,
              "body": {
                "resourceType": "CareTeam",
                "id": "va-team-visn6-vamc1-pc",
                "name": "Primary Care PACT"
                // 可补充完整的FHIR资源示例
              }
            }
          },
          // 保留application/fhir+xml的原有配置
        }
      }
    }
  }
}

关键是把原来直接引用FHIR schema的逻辑,改成先定义外层的status和body字段,再让body关联原有的FHIR资源schema。这样Watson Assistant就能识别完整的响应结构,返回所有字段而非仅"success"提示。

二、无需修改OpenAPI文档的方法

如果不想改动文档,Watson Assistant的上下文里其实已经存储了完整的原始响应数据,你可以直接通过变量提取:

  • 假设你的扩展名称是fhir-careteam,可通过$extensions.fhir-careteam.response.body获取FHIR资源的完整内容
  • 具体变量路径可以在Watson Assistant的上下文检查器中确认:打开对话框的「上下文」面板,找到extensions下对应扩展条目,展开即可看到完整的响应层级

比如在对话框回复中直接引用内容:

护理团队名称:<? $extensions.fhir-careteam.response.body.name ?>
主治医师:<? $extensions.fhir-careteam.response.body.participant[0].member.display ?>

内容的提问来源于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 19:12:37