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

如何在HL7 FHIR的OperationOutcome中返回成功响应数据?

FHIR认证端点返回令牌的标准方案

首先纠正一个关键误解:OperationOutcome并非用于承载成功业务数据,它的设计定位是传递操作的错误、警告、提示类状态信息,成功场景下不应使用该资源来返回accessToken、refreshToken这类业务数据。

针对登录、注册等认证端点的令牌返回需求,推荐以下几种符合FHIR标准的实现方式:

方案一:自定义操作(Operation)+ Parameters资源返回

FHIR允许定义自定义操作来处理登录、注册这类业务逻辑,操作的成功响应可以用Parameters资源承载令牌数据,这是FHIR中传递自定义业务参数的标准方式。

示例响应结构:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "accessToken",
      "valueString": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
    },
    {
      "name": "refreshToken",
      "valueString": "def50200abc123..."
    },
    {
      "name": "expiresIn",
      "valueInteger": 3600
    }
  ]
}

方案二:扩展用户资源返回(关联用户信息时使用)

如果登录/注册成功后需要同时返回用户主体信息(如患者、从业者),可以通过自定义扩展给对应的FHIR资源(如Patient、Practitioner)添加令牌字段。

示例扩展后的患者资源:

{
  "resourceType": "Patient",
  "id": "user-1001",
  "extension": [
    {
      "url": "http://your-organization.com/fhir/StructureDefinition/access-token",
      "valueString": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
    },
    {
      "url": "http://your-organization.com/fhir/StructureDefinition/refresh-token",
      "valueString": "def50200abc123..."
    }
  ],
  "name": [{"family": "Zhang", "given": ["San"]}],
  // 其他用户属性...
}

注意:自定义扩展的URL需使用你的组织官方域名,保证扩展的唯一性和可识别性。

方案三:OAuth2标准响应结合FHIR格式

FHIR原生兼容OAuth2认证体系,若你的认证流程遵循OAuth2规范,可直接返回符合OAuth2标准的响应;如果必须贴合FHIR资源格式,可将OAuth2响应包装进Parameters资源(同方案一),兼顾两种规范的要求。


内容的提问来源于stack exchange,提问作者Ahmed El-Tabarani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 10:57:10