SuperAPI AI 工具集

healthcare-eval-harness

测试与质量

查看项目

更新于 10-15 10:24

技能介绍

用途

Healthcare Eval Harness 是一个面向医疗应用部署的患者安全自动化验证系统。其核心原则是:只要出现一个 CRITICAL 失败,就阻止部署。它用于在医疗软件上线前,对涉及临床安全与患者数据的关键环节进行自动化测试与门禁校验。

主要能力

该评估工具按顺序运行五个测试类别:

  1. CDSS 准确性(CRITICAL — 要求 100%):测试所有临床决策支持逻辑,包括药物相互作用配对(双向)、剂量校验规则、临床评分与已发布规范的符合度、无误判漏判、无静默失败。
  2. PHI 泄露(CRITICAL — 要求 100%):测试受保护健康信息是否泄露,覆盖 API 错误响应、控制台输出、URL 参数、浏览器存储、跨机构隔离、未认证访问、服务角色密钥缺失等。
  3. 数据完整性(CRITICAL — 要求 100%):测试临床数据安全,包括锁定就诊记录、审计追踪条目、级联删除保护、并发编辑处理、无孤儿记录等。
  4. 临床工作流(HIGH — 要求 95% 以上):测试端到端流程,包括就诊生命周期、模板渲染、用药集合、药物/诊断搜索、处方 PDF、红旗警报等。
  5. 集成合规(HIGH — 要求 95% 以上):测试外部系统,包括 HL7 消息解析(v2.x)、FHIR 校验、化验结果映射、畸形消息处理等。

每个类别映射到对应的 Jest 测试路径模式。CI 流水线对 CRITICAL 关卡使用 --bail(首次失败即停止),并通过 --coverage --coverageThreshold 强制覆盖率阈值。

使用方式

所有示例以 Jest 作为参考测试运行器,命令需按实际框架适配(Vitest、pytest、PHPUnit 等),测试类别与通过阈值保持框架无关。

运行全部 CRITICAL 关卡(本地):

npx jest --testPathPattern='tests/cdss' --bail --ci --coverage && \
npx jest --testPathPattern='tests/security/phi' --bail --ci && \
npx jest --testPathPattern='tests/data-integrity' --bail --ci

检查 HIGH 关卡通过率:

tmp_json=$(mktemp)
npx jest --testPathPattern='tests/clinical' --ci --json --outputFile="$tmp_json" || true
jq '{
  passed: (.numPassedTests // 0),
  total: (.numTotalTests // 0),
  rate: (if (.numTotalTests // 0) == 0 then 0 else ((.numPassedTests // 0) / (.numTotalTests // 1) * 100) end)
}' "$tmp_json"
# Expected: { "passed": 21, "total": 22, "rate": 95.45 }

集成到 CI/CD 时,可参考如下工作流结构(GitHub Actions 示例):在 push 与 pull_request 时触发 safety-gate 任务,依次执行 CDSS Accuracy、PHI Exposure Check、Data Integrity 三个 CRITICAL 关卡(使用 --bail --ci --coverage --coverageThreshold),再执行 Clinical Workflows 与 Integration Compliance 两个 HIGH 关卡(解析 Jest JSON 输出并计算通过率,低于 95% 时输出警告)。

通过/失败矩阵

  • CDSS Accuracy:100%,失败则阻止部署
  • PHI Exposure:100%,失败则阻止部署
  • Data Integrity:100%,失败则阻止部署
  • Clinical Workflow:95% 以上,失败则警告,允许在审查后继续
  • Integration:95% 以上,失败则警告,允许在审查后继续

适用场景

  • EMR/EHR 应用部署之前
  • 修改 CDSS 逻辑(药物相互作用、剂量校验、评分)之后
  • 更改涉及患者数据的数据库结构之后
  • 修改认证或访问控制之后
  • 医疗应用 CI/CD 流水线配置期间
  • 解决临床模块中的合并冲突之后

限制与注意事项

应避免以下反模式:因“上次已通过”而跳过 CDSS 测试;将 CRITICAL 阈值设为低于 100%;在 CRITICAL 测试套件上使用 --no-bail;在集成测试中模拟 CDSS 引擎(必须测试真实逻辑);在安全门为红色时允许部署;在 CDSS 套件上不使用 --coverage 运行测试。

评估报告示例展示一次运行结果:CDSS Accuracy 39/39 通过,PHI Exposure 8/8 通过,Data Integrity 12/12 通过,Clinical Workflow 22 项中 21 项通过(95.5% PASS),Integration 6/6 通过,覆盖率 84%(目标 80% 以上),最终结论为 SAFE TO DEPLOY。