Files
hms/docs/discussions/2026-05-13-frozen-module-strategy.md
iven 20d606d21c docs,ci: P2 质量体系 — 技术债看板 + 冻结策略 + fix 率趋势
- 新增 fix-rate-trend.sh: 按周统计 fix 率趋势 + 类别分布
  当前: 22.8% (177/776), 目标 < 15%
- 新增 docs/tech-debt-board.md: 技术债看板
  含度量总览、高利息债务排序、已偿还债务、偿还优先级
- 新增 docs/discussions/2026-05-13-frozen-module-strategy.md:
  6 个冻结模块策略 + 14 天超时规则 + 解冻/移除操作流程
2026-05-13 17:19:07 +08:00

65 lines
2.6 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.
# 冻结模块策略
> 日期: 2026-05-13 | 参与者: iven, Claude
## 背景
HMS 有 6 个功能模块处于"冻结"状态 — 前端页面已开发但后端功能不完整或优先级调整导致暂停。冻结模块有双重保护:
1. **前端**: `routeConfig.ts``frozen: true` 标记 → `PrivateRoute` 返回 403
2. **后端**: `frozen_module_middleware` → API 直接返回 403
## 冻结模块清单
| 模块 | 路由 | 后端完成度 | 前端完成度 | 冻结日期 | 超时日期 |
|------|------|-----------|-----------|---------|---------|
| 护理计划 | /health/care-plans | Entity+Service+Handler 已有 | 列表+详情页 | 2026-05-05 | 2026-05-19 |
| 班次管理 | /health/shifts | Entity+Service+Handler 已有 | 列表+详情页 | 2026-05-05 | 2026-05-19 |
| 家庭代理 | /health/family-proxy | Entity+Service+Handler 已有 | 完整页面 | 2026-05-05 | 2026-05-19 |
| 药物管理 | /health/medications | 部分实现 | 完整页面 | 2026-05-05 | 2026-05-19 |
| 透析管理 | /health/dialysis | Entity+Service 已有 | 列表页 | 2026-05-05 | 2026-05-19 |
| 排班日历 | /health/schedules | 复用 appointment | 日历页 | 2026-05-05 | 2026-05-19 |
## 策略
### 超时规则
- 冻结超过 **14 天**自动触发决策评审
- 评审结果三选一:**(a) 解冻完成** / **(b) 延期冻结(设新截止日)** / **(c) 移除**
- 超时未决策的模块,默认延期 7 天并升级通知
### 决策框架
| 条件 | 建议 |
|------|------|
| 后端已有完整 CRUD + 测试 | **解冻**,补全 DoD 检查后上线 |
| 后端部分实现,有明确需求 | **延期**,排入下一迭代 |
| 无明确需求,冻结 > 30 天 | **移除**,清理前端页面和菜单 |
### 当前建议2026-05-19 评审)
1. **透析管理**: 解冻 — 后端 Entity+Service+Handler 齐全,是核心医疗功能
2. **班次管理**: 解冻 — 后端完整,医护排班是刚需
3. **护理计划**: 延期 — 需要与随访/班次功能协同设计
4. **家庭代理**: 延期 — 需要隐私合规评审
5. **药物管理**: 解冻 — 后端部分实现,补全即可
6. **排班日历**: 延期 — 依赖 appointment 模块的增强
## 操作流程
### 解冻操作
1.`routeConfig.ts` 移除 `frozen: true`
2.`frozen_module.rs``FROZEN_PREFIXES` 移除路径
3. 执行 Feature DoD 检查清单
4. 补全缺失的测试/注解/权限
5. 提交并验证
### 移除操作
1.`routeConfig.ts` 删除条目
2.`App.tsx` 删除路由和 lazy import
3. 从菜单 seed 迁移中标记 `visible = false`
4. 后端保留(不删除 handler/service仅前端不可见
5. 提交并验证