Files
hms/docs/discussions/2026-04-28-system-review-and-brainstorm.md
iven 75cd305996
Some checks failed
CI / security-audit (push) Has been cancelled
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
docs(wiki): 全景梳理 — 更新 9 个 wiki + CLAUDE.md scope + 头脑风暴记录
基于 3 个并行探索代理的全面扫描结果,更新 wiki 数据至实际状态:
- index.md: 18 crate / 76 迁移 / 44 实体 / 77k 行 / 409 提交
- erp-health.md: 44 实体 / 21 handler / 22 权限 / 25 事件 / 6 消费者
- erp-server.md: 9 后台任务 / RLS 中间件栈
- architecture.md: 新增 erp-ai/dialysis 到依赖图 / 测试覆盖表
- testing.md: 225 单元 + 159 集成 / 4 模块零测试警告
- database.md: 76 迁移 / RLS+哈希链+盲索引+Dead Letter
- erp-core.md: PiiCrypto 加密体系 / EventBus 完整描述
- frontend.md: 163 文件 / 5 store / 10 API 文件
- CLAUDE.md: 新增 health/ai/dialysis/assessment scope

头脑风暴 4 个议题决策:
- dialysis: 接入激活
- 测试: 按风险排序(workflow > ai > message > config)
- AI: 数据桥接优先
- 路线图: AI 驱动 3 个月 5 Phase
2026-04-28 14:53:04 +08:00

6.1 KiB
Raw Blame History

HMS 系统全景梳理与多专家头脑风暴

日期: 2026-04-28 | 参与者: iven, Claude (多专家角色)

背景

系统经过快速迭代代码库规模已显著增长18 crate, 77k 行 Rust, 163 前端文件, 409 次提交。wiki 数据严重滞后于实际状态。本次全面梳理后召开多专家头脑风暴,确定下一阶段方向。

系统现状全景

关键数据(实际值 vs 之前 wiki 值)

指标 wiki 更新前 实际值
Rust crate 15 18
数据库迁移 72 76
erp-health 实体 34 44
Web 前端文件 133 163
Rust 代码行 ~63k ~77k
Git 提交 301 409
后端测试 119 384225 单元 + 159 集成)

架构优势

  1. 模块化设计优秀 — ErpModule trait + 拓扑排序 + 依赖注入
  2. 事件驱动完整 — EventBus + Outbox + LISTEN/NOTIFY + 幂等消费 + Dead Letter
  3. 安全体系完善 — PII 加密(KEK/DEK) + HMAC 盲索引 + RLS + 审计哈希链
  4. 健康模块业务域覆盖全面 — 44 实体覆盖患者/体征/预约/随访/咨询/告警/积分/透析等

主要风险

  1. P1: AI 模块使用 placeholder 数据HealthDataProviderImpl 全部 stub
  2. P1: erp-dialysis 已拆分但 erp-server 未注册激活
  3. P2: 4 个核心模块config/message/workflow/ai零单元测试
  4. P2: i18n 未实现,所有前端文本硬编码中文

议题 Aerp-dialysis 模块归属决策

现状审计

  • erp-dialysis crate17 个源文件,~1,490 行 Rust
    • 2 个实体dialysis_record, dialysis_prescription
    • 完整的 entity/service/handler/dto 四层架构
    • DialysisModule 已实现 ErpModule trait
    • 4 个权限码(但用了 health.health-data.list/manage 而非专用 health.dialysis.*
    • 依赖仅 erp-core无其他业务依赖
  • erp-health 中已无 dialysis 的 entity/service/handler已完全迁出
  • erp-health 中残留stats 端点引用透析统计、validation 中引用透析验证
  • erp-server 中未注册 DialysisModule
  • 集成测试在 erp-server/tests/ 下2 个文件)

决策

接入并激活。代码已完整拆分,只需在 erp-server 注册 DialysisModule、挂载路由、修复权限码和测试引用。约 2 小时工作量。

待办

  • erp-server/Cargo.toml 添加 erp-dialysis 依赖
  • erp-server/main.rs 注册 DialysisModule
  • 修复权限码:使用 health.dialysis.list/manage 替代借用的 health.health-data.*
  • 迁移集成测试引用
  • 清理 erp-health 中的残留引用

议题 B测试覆盖率提升路径

现状

Crate 单元测试 集成测试 覆盖评估
erp-health 104 159 良好
erp-core 42 - 良好
erp-auth 38 3 中等
erp-plugin 31 2 中等
erp-dialysis 10 - 中等
erp-config 0 - 缺失
erp-message 0 - 缺失
erp-workflow 0 - 缺失
erp-ai 0 - 缺失

决策

按风险排序。优先补充业务风险最高、影响面最大的模块。

优先级

  1. P0 erp-workflow — BPMN 引擎是业务核心parser + executor + expression evaluator 零测试
  2. P1 erp-ai — AI 输入脱敏 + Prompt 模板注入风险高
  3. P2 erp-message — SSE 推送 + 事件消费者影响通知可靠性
  4. P3 erp-config — CRUD 为主,风险最低

议题 CAI 集成破局

现状

  • erp-ai 4 个 SSE 分析端点lab_report, trends, checkup_plan, report_summary全部使用 placeholder 数据
  • HealthDataProviderImpl 4 个方法全部 stub
  • HealthDataProvider trait 定义在 erp-core桥接实现放在 erp-health/src/health_provider_impl.rs
  • AI 模块依赖 erp-health 但无法获取真实数据

决策

数据桥接优先。先实现 HealthDataProvider trait 的 4 个方法,从真实数据替换 placeholder。

数据桥接方向

  1. 化验单解读 (lab_report) — 查询患者的 lab_report + vital_signs构造结构化输入给 Claude
  2. 趋势分析 (trends) — 查询时间序列体征数据vital_signs + vital_signs_hourly生成趋势描述
  3. 体检方案 (checkup_plan) — 查询患者基本信息 + 诊断 + 体征,生成个性化体检建议
  4. 报告摘要 (report_summary) — 查询健康档案 + 化验 + 诊断,生成综合健康报告

安全要求

  • AI 输入必须经过 sanitization 模块脱敏
  • AI 输出不可直接存入数据库,必须经过审核流程
  • 患者数据跨模块传输通过 trait 接口,不直接依赖

议题 D3 个月产品路线图

决策

AI 驱动路线。以 AI 数据桥接为核心主线,其他工作围绕它展开。

Phase 1基础准备第 1-2 周)

  • 激活 erp-dialysis 模块2 小时)
  • 补充 erp-workflow 单元测试P0
  • wiki 全面更新(已完成)

Phase 2AI 数据桥接(第 3-6 周)

  • 实现 HealthDataProviderImpl 4 个方法
  • 替换所有 placeholder 数据为真实患者数据
  • 补充 erp-ai 单元测试Mock Claude API
  • AI 输入/输出安全脱敏完善

Phase 3前端 AI 体验(第 7-8 周)

  • AI 分析页面交互优化(流式响应 UI
  • 化验单解读结果展示组件
  • 趋势图表 + AI 解读联动

Phase 4小程序医护端第 9-10 周)

  • 医护端工作台完善
  • 患者列表/详情/报告查看优化
  • 随访管理流程打通

Phase 5安全加固第 11-12 周)

  • 补充 erp-message 单元测试
  • RLS 全面验证(多租户隔离测试)
  • 安全扫描 + 修复

结论

4 个议题均已达成决策:

  1. dialysis → 接入激活2 小时工作量)
  2. 测试 → 按风险排序workflow > ai > message > config
  3. AI → 数据桥接优先,实现 HealthDataProvider 4 个方法
  4. 路线图 → AI 驱动路线3 个月分 5 个 Phase

产出物

  • wiki 9 个文件更新index/erp-health/erp-server/architecture/testing/database/frontend/erp-core + CLAUDE.md scope 表)
  • 本讨论记录
  • 后续:按路线图分阶段执行