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

使用C#保存FHIR DocumentReference时遇403权限范围不足错误求助

问题:FHIR DocumentReference 提交失败排查
  • 基于C#开发的系统对接需认证的Cerner FHIR服务器,读取数据功能正常,但尝试为患者添加DocumentReference时失败,现寻求排查帮助。
  • 此前在Oracle/Cerner论坛求助一周未获回复,问题不局限于Cerner,属于通用FHIR标准相关操作。

请求关键信息

  • 请求URI:https://fhir-ehr-code.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/DocumentReference
  • 已获取全新Access Token,请求权限范围:
    request.AddParameter("scope", "system/Patient.read system/Patient.write system/DiagnosticReport.read system/DiagnosticReport.write system/Binary.read system/Binary.write system/Condition.read system/Encounter.read system/Encounter.write system/Location.read system/DocumentReference.read system/DocumentReference.write");
    

提交代码实现

代码参考Cerner R4示例编写,已替换有效患者ID、就诊ID等信息:

using HttpClient client = _httpClientFactory.CreateClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);
client.DefaultRequestHeaders.Add("Accept", "application/fhir+json");
client.DefaultRequestHeaders.Add("Prefer", "respond-async");

Uri uri = new Uri($"{_fhirSettings.FHIRServer}{_fhirSettings.ServerId}/DocumentReference");

string jsonPayload = @"{
""resourceType"": ""DocumentReference"",
""status"": ""current"",
""docStatus"": ""final"",
""type"": {
""coding"": [
{
""system"": ""https://fhir.cerner.com/ec2458f2-1e24-41c8-b71b-0e701af7583d/codeSet/72"",
""code"": ""2820507"",
""display"": ""Admission Note Physician"",
""userSelected"": true
}
],
""text"": ""Summary document""
},
""subject"": {
""reference"": ""Patient/12742418""
},
""content"": [
{
""attachment"": {
""contentType"": ""application/xml;charset=utf-8"",
""data"": ""PGh0bWw+Cjx0aXRsZT4gVGVzdCBEb2N1bWVudCA8L3RpdGxlPgoKRG9jdW1lbnQgY29udGVudCEKCjwvaHRtbD4="",
""title"": ""Height Weight Allergy Rule"",
""creation"": ""2024-01-29T21:02:04.000Z""
}
}
],
""context"": {
""encounter"": [
{
""reference"": ""Encounter/98001628""
}
],
""period"": {
""start"": ""2023-10-20T13:45:00.000Z"",
""end"": ""2023-10-21T13:45:00.000Z""
}
}
}";

var content = new StringContent(jsonPayload, Encoding.UTF8, "application/json");

HttpResponseMessage response = client.PostAsync(uri, content).Result;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 09:53:11