作为我们致力于提升 FHIR 有效载荷导入速度工作的一部分,在 v2026.2 版本(目前已作为开发者预览版发布)中,我们引入了一项可选功能,用于跳过资源的结构验证。 例如,此举可节省 25% 的时间,在大规模数据导入场景中,这一时间节省将十分可观。
其设计思路是,大型 ETL 项目、数据迁移流程(甚至可能是实时数据管道)可以自行保证结构验证的正确性 ——可能是作为流程本身的一部分(这种情况下重复进行验证并不合理),或者源数据已经是经过验证的FHIR数据,且结构正确性可以预先得到保证。
FHIR 端点新增了一项设置——“运行结构验证”(又称“资源验证”)——该设置有三种选项:
-
始终
在创建/更新/修补操作期间始终执行资源结构验证
-
基于 HTTP 头(也称为“如果头”)
如果请求携带 'X-ISCFHIR-SkipValidation' = true 标头,服务器将跳过创建/更新/修补操作的结构验证
-
从不(也称为“skip”)
服务器在创建/更新/修补操作期间绝不会执行资源结构验证
默认值为“始终”。
如何配置
您可以通过 FHIR 管理界面进行设置:

如果您将其设置为“基于标头”或“从不”,则会看到如下警告:
您也可以通过控制台设置进行配置:
控制台设置代码片段
MYFHIR>do ##class(HS.FHIRServer.ConsoleSetup).Setup() ... What do you want to do? 0) Quit 1) Create a FHIRServer Endpoint ... 6) Configure a FHIRServer Endpoint ... Choose your Option[1] (0-12): 6 Which Endpoint do you want to configure? 1) /csp/healthshare/myfhir/fhir/r4 [enabled] (...) Choose the Endpoint[1] (1-1): 1 Endpoint enabled[yes] (y/n): yes -- Edit CSP Application Configuration -- ... -- Edit FHIRService Configuration -- RequiredResource[-]: ... ResourceValidation[if header]: if header
安全注意事项
如果您想使用“基于 HTTP 头”选项,系统还会对执行此操作的权限进行安全检查。
如果使用基本认证,用户必须对 %HS_FHIRServer_SkipValidation 安全资源拥有 USE 权限。
若使用 OAuth 身份验证,则令牌需包含 iscfhir_skipvalidation: true 声明,或将 iscfhir_skipvalidation 设为作用域。
Postman 带标头的示例
假设您将值设置为:“基于 HTTP 头”(如上所述),以下是在 Postman 中为您的调用设置相关头信息的示例:
