Files
hms/docs/qa/role-test-plans/R02-doctor.md
iven 6d5a711d2c
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
fix: 修复测试发现的 7 个问题 + 全 workspace clippy 清零
功能修复:
1. 患者创建空名称验证:后端添加 name.trim().is_empty() 检查
2. 仪表盘统计容错:单个查询失败返回零值而非 500
3. FHIR 路由修复:从 /fhir 移到 /api/v1/fhir 保持一致
4. 冻结模块后端中间件:新增 frozen_module_middleware 拦截冻结路径
5. 积分端点权限码:health.health-data.list → health.points.list
6. 角色权限迁移:护士补充 devices.list,运营补充 points.list/manage
7. 测试结果文档:R01-R05 角色测试 + T00/T10 结果归档

Clippy 全 workspace 清零(14→0 errors):
- erp-core: 修复 empty doc line、collapsible if、redundant closure 等 9 处
- erp-health: 修复 too_many_arguments、unused var、unnecessary parens 等 58 处
- erp-ai: 修复 dead_code、unused import 等 11 处
- erp-plugin: 修复 too_many_arguments、wildcard pattern 等 11 处
- erp-server-migration: 修复 enum_variant_names 5 处
- erp-auth/config/workflow/message: 各 1-3 处

工程改进:
- lint-staged 配置迁移到 .lintstagedrc.js(函数式避免文件列表传给 clippy)
- cargo fmt 统一格式化
2026-05-07 23:43:14 +08:00

7.6 KiB
Raw Blame History

R02 — Doctor医生业务场景测试计划

角色: doctor | 测试账号: doctor_test / Admin@2026 | 菜单数: 24 | 重点: 临床诊疗

1. 登录 & 仪表盘

# 测试项 操作 预期结果 通过
1.1 登录 输入 doctor_test / Admin@2026 成功登录,左侧菜单 24 项
1.2 医生仪表盘 查看首页 显示"测试医生"问候语,含 AI 建议待审、重点关注患者、今日日程、未回复咨询
1.3 AI 建议卡片 查看建议列表 按风险排序,可"采纳"或"拒绝"
1.4 快捷操作 查看底部 显示AI分析中心、告警中心、患者查询

2. 场景 A — 患者建档与诊疗

业务链: 接收患者 → 查看档案 → 添加诊断 → 开随访任务

# 步骤 操作 预期结果 通过
A.1 患者列表 /health/patients → 搜索/标签筛选 显示患者列表,支持搜索和标签过滤
A.2 患者详情 点击患者卡片 显示基本信息、标签、体征数据、操作记录
A.3 新增患者 点击新增 → 填写姓名/身份证/手机号 → 保存 患者创建成功,状态 active
A.4 医护管理 /health/doctors → 查看医护列表 显示医护列表,含科室和职称
A.5 诊断记录 /health/diagnoses → 查看列表 → 点击详情 显示诊断记录,可查看诊断详情
A.6 知情同意 /health/consents → 查看列表 显示知情同意书记录

交接点: 诊断记录完成后,随访管理中可基于诊断创建随访任务。

3. 场景 B — 随访闭环(医生端)

业务链: 创建随访任务 → 查看执行情况 → 审核 AI 建议

# 步骤 操作 预期结果 通过
B.1 创建随访 /health/follow-up-tasks → 新增 → 选患者/随访类型/计划日期 → 保存 随访任务创建,状态 pending
B.2 随访列表 切换状态筛选:待办/进行中/已完成 正确显示各状态随访
B.3 随访详情 点击某条随访 → 查看录入内容 显示随访记录详情(护士录入的数据)
B.4 随访模板 /health/follow-up-templates → 查看模板 显示模板列表和内容
B.5 行动收件箱 /health/action-inbox → 筛选类型 显示 AI 建议/告警/随访等行动项

交接点: 医生创建随访后护士可执行并录入AI 生成的建议出现在行动收件箱。

4. 场景 C — 咨询接诊闭环

业务链: 查看待回复咨询 → 接诊 → 回复消息 → 关闭咨询

# 步骤 操作 预期结果 通过
C.1 咨询列表 /health/consultations → 按状态筛选 显示 waiting/active/closed 咨询
C.2 接诊 点击 waiting 状态咨询 → 进入对话 咨询状态变为 active
C.3 回复消息 在对话中输入文字 → 发送 消息实时显示,患者端可收到
C.4 关闭咨询 点击结束咨询 咨询状态变为 closed

交接点: 咨询中发现的健康问题可触发随访任务。

5. 场景 D — 告警处理

业务链: 查看告警仪表盘 → 评估告警 → 处理/确认

# 步骤 操作 预期结果 通过
D.1 告警仪表盘 /health/alert-dashboard → 查看统计 按严重程度分类显示告警
D.2 处理告警 点击某条告警 → 标记已确认/已处理 状态 pending → acknowledged/resolved
D.3 告警关联 查看告警关联的患者 可跳转到患者详情

6. 场景 E — AI 分析链

业务链: 触发 AI 分析 → 查看结果 → 采纳/拒绝建议

# 步骤 操作 预期结果 通过
E.1 AI 分析历史 /health/ai-analysis → 查看列表 显示分析记录
E.2 查看分析详情 点击某条分析 显示分析结果和 AI 建议
E.3 处理建议 在行动收件箱中 → 采纳/拒绝 AI 建议 建议状态变更pending → approved/rejected
E.4 AI 用量 /health/ai-usage → 查看 显示 AI 调用量统计

7. 消息

# 测试项 操作 预期结果 通过
7.1 消息列表 /messages → 查看 只读消息列表,可标记已读

8. 权限边界验证

doctor 不应访问的模块

# 测试项 操作 预期结果 通过
8.1 无用户管理 地址栏输入 /users 403
8.2 无权限管理 地址栏输入 /roles 403
8.3 无积分管理 地址栏输入 /health/points-rules 403
8.4 无内容管理 地址栏输入 /health/articles 403
8.5 无系统设置 地址栏输入 /settings 403
8.6 无 BLE 网关 地址栏输入 /health/ble-gateways 403
8.7 无标签管理 地址栏输入 /health/tags 403

9. 跨角色协作验证

# 协作场景 操作 预期结果 通过
X.1 随访执行查看 查看护士已录入的随访记录 可查看完整录入内容
X.2 AI 建议联动 行动收件箱中有 AI 生成的建议 建议来自 AI 分析结果
X.3 咨询转随访 咨询中发现问题 → 创建随访 随访任务出现在护士待办列表
X.4 诊断驱动随访 添加诊断记录 → 创建随访 → 用 nurse_test 验证 护士可看到并执行
X.5 告警→患者详情 告警仪表盘 → 点击告警 → 跳转患者详情 跳转正确,患者体征数据同步
X.6 仪表盘待回复联动 回复咨询 → 刷新仪表盘 未回复咨询数量减少

10. 事件链路验证

# 事件链路 触发操作 验证方式 通过
E.1 随访任务接收 admin/health_manager 创建随访 医生仪表盘和随访列表中出现新任务
E.2 AI 建议推送 AI 分析完成后 行动收件箱出现新建议
E.3 告警实时通知 患者体征超阈值 告警出现在仪表盘和收件箱
E.4 咨询通知 患者发起咨询 仪表盘未回复咨询数更新

11. 小程序端(医护工作台)

# 测试项 操作 预期结果 通过
10.1 登录跳转 doctor_test 登录小程序 跳转到 /pages/doctor/index(医护工作台)
10.2 工作台标题 查看顶部 显示"医护工作台"
10.3 问候语 查看问候 显示"测试医生,您好"
10.4 工作概览 查看 4 个数据卡片 我的患者、未读消息、待处理随访、今日咨询
10.5 健康审核区 查看健康审核卡片 显示待审化验、今日预约doctor 专属)
10.6 快捷操作 查看 7 个按钮 化验审核、患者查询、随访记录、告警中心、透析管理、处方管理、行动收件箱
10.7 透析管理 点击"透析管理" 跳转到 /pages/doctor/dialysis/index
10.8 处方管理 点击"处方管理" 跳转到 /pages/doctor/prescription/index

测试结果

  • 测试人: _________
  • 测试日期: _________
  • 通过数: ___ / 总数: ___
  • 问题记录: