Files
hms/wiki/index.md
iven ca50d32f6e
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
feat(health): 添加 erp-health 健康管理模块骨架
新建 erp-health 原生 Rust crate,覆盖设计规格中定义的 5 大业务域:

- 16 个 SeaORM Entity(患者/家属/标签/医生/健康档案/体征/化验单/预约/排班/随访/咨询等)
- 16 表数据库迁移(含索引、外键、默认值、可回滚)
- 40+ API 路由骨架(患者管理/健康数据/预约排班/随访/咨询/医生管理)
- 12 个权限声明(health.patient/health-data/appointment/follow-up/consultation/doctor 各 .list/.manage)
- DTO / Service / Handler / Event 四层架构,Service 使用 todo!() 占位
- erp-server 集成:模块注册 + AppState FromRef 桥接 + 路由挂载

同步更新 CLAUDE.md 项目进度、wiki 知识库、设计规格文档。
2026-04-23 19:59:22 +08:00

3.9 KiB
Raw Blame History

HMS 健康管理平台 — 知识库

Health Management System (HMS) — 面向体检中心/医疗机构的综合健康管理平台。从 ERP 底座分叉,继承身份权限/工作流/消息/配置等基础能力,erp-health 原生模块承载医疗业务。

关键数字

指标
Rust crate 14 个7 核心 + erp-health + 6 插件)
数据库表 30+ 基础表 + 16 健康业务表(规划中)
核心模块 5 基础 (auth/config/workflow/message/plugin) + 1 业务 (health)
健康模块页面 13 个(规划中)
API 文档 http://localhost:3000/api/docs/openapi.json

症状导航

症状 先查 再查 常见根因
API 返回 403 权限码检查 wasm-plugin 权限系统 权限码不匹配 / 缺少 .list 权限
API 返回 500 无日志 erp-core 错误链 后端 tracing 输出 AppError::Internal 静默
数据库连接失败 infrastructure PostgreSQL 服务状态 服务未启动 / 环境变量未设置
前端 401 刷新时 frontend auth store API client token 刷新 token 过期未主动刷新
迁移执行失败 database PostgreSQL 日志 表冲突 / 唯一索引 + 软删除
端口被占用 infrastructure dev.ps1 端口 5174-5189 进程 残留 Vite 进程
预约超额 erp-health 排班并发 appointment CAS 操作 并发控制未走原子 CAS
跨租户数据泄漏 architecture 多租户策略 database tenant_id 查询缺少 tenant_id 过滤

模块导航

基础层(继承自 ERP 底座)

  • erp-core — 错误体系 · 事件总线 · 模块 trait · 共享类型
  • architecture — 架构决策 · 设计原则 · 技术选型

业务层(继承自 ERP 底座)

  • erp-auth — 用户/角色/权限/组织/部门/岗位 · JWT · RBAC · 行级数据权限
  • erp-config — 字典/菜单/设置/编号规则/主题/语言
  • erp-workflow — BPMN 解析 · Token 驱动 · 任务分配
  • erp-message — 消息 CRUD · 模板 · 订阅 · 通知面板
  • erp-plugin — WASM 运行时 · 动态表 · 热更新HMS 保留但非主要扩展方式)

核心业务层HMS 专属)

  • erp-health患者管理 · 健康数据 · 预约排班 · 随访管理 · 咨询管理(原生 Rust 模块)

组装层

  • erp-server — Axum 入口 · AppState · 模块注册 · 后台任务 · 优雅关闭

基础设施

  • infrastructure — 连接信息 · 环境变量 · 一键启动 (单一真相源)
  • database — SeaORM 迁移 · 多租户表结构
  • frontend — React 19 SPA · 健康管理页面
  • testing — 验证清单 · 测试分布 · 性能基准

核心架构问答

为什么 erp-health 用原生模块而非 WASM 插件? 医疗业务需要 16+ 强类型实体、自定义 API趋势分析/统计报表)、文件上传(化验单/体检报告)、未来 AI 集成,超出 WASM 插件能力范围。详见 erp-health

模块间如何通信? erp-core EventBus 发布/订阅 DomainEvent。erp-health 发布 patient.createdappointment.confirmed 等事件,订阅 workflow.task.completed 等。详见 architecture

多租户怎么隔离? 共享数据库 + tenant_id 列过滤,中间件从 JWT 注入。详见 database architecture

患者/医护与 erp-auth 的关系? 账号走 userserp-health 通过 user_id 外键关联扩展字段(科室、职称、档案等)。患者可先建档后绑定账号。

文档索引

类型 位置
健康模块设计规格 docs/superpowers/specs/2026-04-23-health-management-module-design.md
设计规格 docs/superpowers/specs/
实施计划 docs/superpowers/plans/
协作规则 CLAUDE.md
插件制作指南 .claude/skills/plugin-development/SKILL.md