Files
hms/docs/qa/role-test-plans/R03-nurse.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

132 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# R03 — Nurse护士业务场景测试计划
> 角色: nurse | 测试账号: nurse_test / Admin@2026 | 菜单数: 20 | 重点: 随访执行与体征录入
## 1. 登录 & 仪表盘
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|--------|------|----------|------|
| 1.1 | 登录 | 输入 nurse_test / Admin@2026 | 成功登录,左侧菜单 20 项 | ☐ |
| 1.2 | 随访监控台 | 查看首页 | 显示"随访监控台":今日随访数、逾期随访数、体征上报率、待办事项 | ☐ |
| 1.3 | 待办列表 | 查看待办区域 | Tab 筛选(全部/AI建议/告警/随访/数据异常),显示具体待办项 | ☐ |
| 1.4 | 快捷操作 | 查看底部入口 | 开始随访、录入体征、查看AI分析、联系患者 | ☐ |
## 2. 场景 A — 患者管理
> **业务链**: 查看患者列表 → 查看详情 → 新增患者 → 录入体征
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| A.1 | 患者列表 | /health/patients → 搜索 | 显示患者列表,支持搜索 | ☐ |
| A.2 | 患者详情 | 点击患者卡片 | 显示基本信息、体征数据 | ☐ |
| A.3 | 新增患者 | 点击新增 → 填写信息 → 保存 | 可新增患者(有 patient.manage 权限) | ☐ |
| A.4 | 体征查看 | 患者详情 → 体征 Tab | 显示体征趋势图 | ☐ |
**交接点**: 护士新增/管理的患者,医生和健康管理师可同步看到。
## 3. 场景 B — 随访执行闭环
> **业务链**: 接收随访任务(医生创建)→ 执行随访 → 录入结果 → 标记完成
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| B.1 | 随访列表 | /health/follow-up-tasks → 按状态筛选 | 显示待办/进行中/已完成随访 | ☐ |
| B.2 | 接收任务 | 查看 pending 状态的随访(医生创建的) | 显示随访类型、患者、计划日期 | ☐ |
| B.3 | 创建随访 | 点击新增 → 选患者/类型/日期 → 保存 | 护士也可自主创建随访任务 | ☐ |
| B.4 | 执行录入 | 点击某条随访 → 录入 → 填写随访记录 → 保存 | 随访状态 pending → in_progress → completed | ☐ |
| B.5 | 验证完成 | 回到随访列表 → 筛选已完成 | 已录入的随访出现在已完成列表 | ☐ |
**交接点**: 护士完成的随访记录,医生可在详情中查看录入内容。
## 4. 场景 C — 咨询查看
> **业务链**: 查看咨询列表 → 了解患者沟通情况
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| C.1 | 咨询列表 | /health/consultations → 查看列表 | 可查看咨询列表(只读) | ☐ |
| C.2 | 无管理权限 | 检查回复/关闭按钮 | 回复和关闭按钮不可见或禁用(无 consultation.manage | ☐ |
## 5. 场景 D — 告警处理
> **业务链**: 查看告警 → 确认危急告警
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| D.1 | 告警仪表盘 | /health/alert-dashboard → 查看 | 显示告警统计(只有 alerts.list无 manage | ☐ |
| D.2 | 告警详情 | 查看某条告警 | 可查看告警详情和关联患者 | ☐ |
| D.3 | 操作按钮 | 检查确认/处理按钮 | 确认按钮是否可用(取决于 alerts.list vs alerts.manage | ☐ |
## 6. 场景 E — 诊断与知情同意
> **业务链**: 查看诊断记录 → 管理知情同意书
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| E.1 | 诊断记录 | /health/diagnoses → 查看列表 | 只读查看,无编辑/新增按钮(无 manage 权限) | ☐ |
| E.2 | 知情同意 | /health/consents → 查看 | 可查看和管理知情同意书 | ☐ |
## 7. 场景 F — 行动收件箱
> **业务链**: 接收 AI 建议/告警通知 → 处理行动项
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| F.1 | 行动列表 | /health/action-inbox → 筛选类型 | 显示 AI 建议/告警/随访等行动项 | ☐ |
| F.2 | 处理行动 | 点击处理按钮 → 标记完成 | 行动项状态变更 | ☐ |
## 8. 消息
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|--------|------|----------|------|
| 8.1 | 消息列表 | /messages → 查看 | 只读消息列表,可标记已读 | ☐ |
## 9. 权限边界验证
> nurse 不应访问的模块
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|--------|------|----------|------|
| 9.1 | 无医护管理 | 地址栏输入 /health/doctors | 403 或不可见 | ☐ |
| 9.2 | 无标签管理 | 地址栏输入 /health/tags | 403 或不可见 | ☐ |
| 9.3 | 无积分管理 | 地址栏输入 /health/points-rules | 403 或不可见 | ☐ |
| 9.4 | 无内容管理 | 地址栏输入 /health/articles | 403 或不可见 | ☐ |
| 9.5 | 无 AI 分析 | 地址栏输入 /health/ai-analysis | 403 或不可见 | ☐ |
| 9.6 | 无随访模板 | 地址栏输入 /health/follow-up-templates | 403 或不可见 | ☐ |
| 9.7 | 无用户管理 | 地址栏输入 /users | 403 或不可见 | ☐ |
## 10. 跨角色协作验证
| # | 协作场景 | 操作 | 预期结果 | 通过 |
|---|----------|------|----------|------|
| X.1 | 医生随访转护士 | 查看医生创建的随访任务 | 任务出现在待办列表,可执行 | ☐ |
| X.2 | 录入后医生可查 | 完成随访录入 → 用 doctor 账号验证 | 医生可看到护士录入的随访内容 | ☐ |
| X.3 | 告警联动 | 患者体征异常 → 告警出现 | 告警出现在行动收件箱 | ☐ |
| X.4 | 体征录入联动 | 录入异常体征 → 检查告警仪表盘 | 异常体征触发告警规则 | ☐ |
| X.5 | 随访完成→行动收件箱 | 完成随访 → 检查行动收件箱 | 随访完成事件触发后续行动 | ☐ |
## 11. 事件链路验证
| # | 事件链路 | 触发操作 | 验证方式 | 通过 |
|---|----------|----------|----------|------|
| E.1 | 随访指派接收 | doctor 创建随访并指派 | 护士仪表盘待办数更新,随访列表出现新任务 | ☐ |
| E.2 | 告警推送 | 体征超阈值触发告警 | 行动收件箱出现新告警行动项 | ☐ |
| E.3 | 随访完成通知 | 完成随访录入 | 医生端随访详情更新为已完成 | ☐ |
## 11. 小程序端(医护工作台)
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|--------|------|----------|------|
| 11.1 | 登录跳转 | nurse_test 登录小程序 | 跳转到 `/pages/doctor/index`isMedicalStaff=true | ☐ |
| 11.2 | 问候语 | 查看问候 | 显示角色对应的问候 | ☐ |
| 11.3 | 工作概览 | 查看 4 个数据卡片 | 我的患者、未读消息、待处理随访、今日咨询 | ☐ |
| 11.4 | 无健康审核区 | 查看页面 | **不显示**"健康审核"区域 | ☐ |
| 11.5 | 快捷操作 | 查看 4 个按钮 | 患者查询、随访记录、告警中心、行动收件箱(**没有**: 化验审核、透析管理、处方管理) | ☐ |
## 测试结果
- 测试人: _________
- 测试日期: _________
- 通过数: ___ / 总数: ___
- 问题记录: