docs: HMS 功能思维导图 + 系统设计文档 + 演进路线图
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

患者端/医护端/管理后台/平台技术能力思维导图 +
系统功能文档 + 演进路线图 + 设计思路
This commit is contained in:
iven
2026-05-03 19:32:39 +08:00
parent ec87ae85cf
commit c6c94ebb84
9 changed files with 1200 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
# HMS 患者端(微信小程序)— 功能思维导图
> 版本: v1.0 | 更新日期: 2026-04-29
> 说明: 可直接导入 XMind / 幻灯片 / 幕布等工具生成图形化思维导图。
---
## 导图结构
```
HMS 患者端(微信小程序)
├── 首页概览
│ ├── 健康数据概览卡片(血压/体重/最近透析记录)
│ ├── 功能快捷入口(数据上报、我的医生、在线咨询、积分商城)
│ ├── 每日健康打卡
│ └── 待办提醒(即将到期检查/治疗/随访)
├── 健康数据
│ ├── 日常监测上报
│ │ ├── 血压记录(早/晚)
│ │ ├── 体重记录
│ │ ├── 血糖记录
│ │ ├── 饮水量记录
│ │ ├── 尿量记录
│ │ └── 趋势图表展示
│ ├── 化验报告
│ │ ├── 化验单拍照上传
│ │ ├── 化验指标手动录入
│ │ ├── AI 自动识别指标
│ │ └── 历史报告对比
│ ├── 设备数据同步
│ │ ├── 蓝牙设备自动采集
│ │ ├── 血压计/血糖仪/体重秤
│ │ └── 数据实时同步至平台
│ └── 透析记录
│ ├── 透析日期与时长
│ ├── 透析前后血压/体重
│ ├── 干体重记录
│ └── 不适症状记录
├── 预约服务
│ ├── 透析预约
│ │ ├── 选择日期时段
│ │ ├── 自动推荐可用时间
│ │ └── 预约状态跟踪
│ ├── 复查/抽血预约
│ │ ├── 检查项目选择
│ │ └── 预约流程引导
│ └── 智能提醒
│ ├── 透析时间提醒
│ ├── 服药提醒
│ ├── 测量血压/体重提醒
│ └── 复查到期提醒
├── 在线咨询
│ ├── 选择医生
│ ├── 图文/语音沟通
│ ├── 上传报告附件
│ ├── 历史对话归档
│ └── 留言功能(医生离线时)
├── 积分商城
│ ├── 商品分类浏览
│ ├── 积分兑换
│ ├── 订单管理
│ └── 配送追踪
├── 健康资讯
│ ├── 科普文章阅读
│ ├── 公告通知查看
│ ├── 按疾病类型分类
│ └── 阅读量统计
├── AI 智能报告
│ ├── 趋势分析图表
│ ├── 异常指标标红
│ ├── 健康风险预警
│ └── 定期健康报告生成
└── 个人中心
├── 个人信息 & 实名认证
├── 多就诊人管理(家属代绑)
├── 健康档案查看
├── 我的医生
├── 我的报告
├── 健康打卡记录
├── 线下活动报名
└── 隐私设置 & 合规声明
```

View File

@@ -0,0 +1,62 @@
# HMS 医护端(微信小程序)— 功能思维导图
> 版本: v1.0 | 更新日期: 2026-04-29
> 说明: 可直接导入 XMind / 幻灯片 / 幕布等工具生成图形化思维导图。
---
## 导图结构
```
HMS 医护端(微信小程序)
├── 工作台
│ ├── 今日待办概览
│ ├── 待回复咨询数
│ ├── 待执行随访任务
│ ├── 异常指标预警摘要
│ └── 患者病情分布统计
├── 患者管理
│ ├── 患者列表
│ │ ├── 按透析/慢病/高危筛选
│ │ ├── 按疾病类型筛选
│ │ ├── 按治疗阶段筛选
│ │ └── 关键字搜索
│ ├── 患者标签管理
│ │ ├── 自定义标签(高钾/高磷/体重超标等)
│ │ ├── 标签分类管理
│ │ └── 批量打标签
│ └── 健康档案查看
│ ├── 病历信息
│ ├── 化验报告
│ ├── 生命体征趋势图
│ ├── 治疗效果对比
│ └── 在线状态 & 最近咨询时间
├── 咨询回复
│ ├── 未读消息提醒
│ ├── 图文/语音回复
│ ├── 预设回复模板
│ └── 科普内容发布
├── 随访管理
│ ├── 随访任务列表
│ │ ├── 指定随访内容和方式
│ │ ├── 修改随访计划
│ │ └── 任务状态管理
│ ├── 随访记录填写
│ │ ├── 详细信息记录
│ │ ├── 医生建议
│ │ └── 随访效果分析
│ └── 随访台账
│ ├── 选择时间范围导出
│ └── 数据类型选择
├── 告警处理
│ ├── 实时告警通知
│ ├── 按严重程度分级
│ ├── 告警确认与处理
│ └── 处理记录追踪
└── 报告解读
├── 化验单批量查看
├── 异常指标高亮
├── 历史结果对比
├── 医生备注标注
└── 随访状态标记
```

View File

@@ -0,0 +1,141 @@
# HMS 管理后台PC Web— 功能思维导图
> 版本: v1.0 | 更新日期: 2026-04-29
> 说明: 可直接导入 XMind / 幻灯片 / 幕布等工具生成图形化思维导图。
---
## 导图结构
```
HMS 管理后台PC Web
├── 工作台仪表盘
│ ├── 角色化首页(管理员/医生/护士/客服不同视图)
│ ├── 关键指标卡片
│ ├── 今日待办汇总
│ └── 最近操作记录
├── 患者管理
│ ├── 患者列表
│ │ ├── 多维度搜索筛选
│ │ ├── 批量操作
│ │ └── 数据导出 Excel
│ ├── 患者详情
│ │ ├── 基本信息/病历信息
│ │ ├── 健康数据趋势
│ │ ├── 预约记录
│ │ ├── 咨询记录
│ │ ├── 随访记录
│ │ └── 标签管理
│ └── 患者标签管理
│ ├── 标签 CRUD
│ └── 标签分类
├── 预约排班
│ ├── 医生排班管理
│ │ ├── 创建排班计划
│ │ ├── 轮班设置
│ │ └── 时间段管理
│ └── 预约列表
│ ├── 预约状态管理
│ ├── 并发控制(防止超额)
│ └── 自动提醒
├── 咨询管理
│ ├── 咨询会话列表
│ ├── 对话记录查看
│ ├── 医生排班关联
│ └── 对话记录导出
├── 随访管理
│ ├── 随访任务列表
│ ├── 随访模板管理
│ │ ├── 自定义字段
│ │ └── 模板 CRUD
│ ├── 随访记录查看
│ └── 随访台账导出
├── 健康数据中心
│ ├── 透析数据统计
│ │ ├── 透析次数/完成率
│ │ └── 透析效果评估
│ ├── 日常监测数据
│ │ ├── 血压/血糖/体重趋势
│ │ └── 异常值统计
│ ├── 化验数据汇总
│ │ ├── 指标异常排行
│ │ └── 上报率统计
│ └── 设备数据管理
│ ├── 设备绑定/解绑
│ └── 数据质量监控
├── 告警中心
│ ├── 告警规则配置
│ │ ├── 阈值设置
│ │ ├── 触发条件
│ │ └── 通知方式
│ ├── 告警列表
│ │ ├── 按严重程度/类型筛选
│ │ └── 告警确认/处理
│ └── 危急值管理
│ ├── 危急值阈值配置
│ ├── 危急值响应记录
│ └── 响应时效统计
├── 内容管理
│ ├── 科普文章
│ │ ├── 富文本编辑器
│ │ ├── 分类/标签管理
│ │ ├── 审核/发布/下架
│ │ └── 阅读量统计
│ ├── 公告管理
│ │ ├── 创建/发布/下架
│ │ └── 定向推送
│ └── 首页轮播配置
│ ├── 轮播图管理
│ └── 排序/定时
├── 积分商城运营
│ ├── 商品管理
│ │ ├── 商品 CRUD
│ │ ├── 分类管理
│ │ └── 上下架
│ ├── 订单管理
│ │ ├── 订单列表/状态流转
│ │ └── 发货/退款处理
│ ├── 积分规则
│ │ ├── 签到积分
│ │ ├── 行为积分
│ │ └── 积分兑换比例
│ └── 积分账户管理
│ ├── 用户积分余额
│ └── 积分明细
├── AI 智能分析
│ ├── AI 分析任务
│ │ ├── 化验单解读
│ │ ├── 趋势分析
│ │ └── 健康报告摘要
│ ├── AI 提示词管理
│ │ ├── 提示词模板 CRUD
│ │ └── 场景分类
│ └── AI 使用统计
│ ├── 调用量/成功率
│ └── 成本分析
├── 统计报表
│ ├── 患者增长分析
│ │ └── 新增/活跃/流失趋势
│ ├── 咨询量统计
│ │ └── 高峰时段/热门主题
│ ├── 随访完成率
│ │ ├── 任务完成情况
│ │ └── 改进建议
│ └── 积分商城销售数据
│ └── 兑换量/积分消耗
└── 系统管理
├── 账号权限
│ ├── 用户/角色/权限管理
│ ├── RBAC + 行级数据权限
│ └── 操作日志审计
├── 组织架构
│ └── 部门/岗位管理
├── 系统设置
│ ├── 字典管理
│ ├── 菜单配置
│ └── 消息推送配置
└── 数据安全
├── 数据备份
├── 合规声明配置
└── 隐私政策管理
```

View File

@@ -0,0 +1,53 @@
# HMS 平台技术能力 — 功能思维导图
> 版本: v1.0 | 更新日期: 2026-04-29
> 说明: 可直接导入 XMind / 幻灯片 / 幕布等工具生成图形化思维导图。
---
## 导图结构
```
HMS 平台技术能力
├── 安全合规
│ ├── JWT 身份认证Access Token 15min + Refresh Token 7天轮换
│ ├── RBAC 权限控制(角色权限 + 行级数据权限 + 按钮级控制)
│ ├── 多租户数据隔离JWT 注入 tenant_id查询自动过滤
│ ├── 操作日志审计(变更前后状态记录,哈希链防篡改)
│ ├── PII 敏感数据加密AES-256-GCM + KEK/DEK 分层密钥管理)
│ ├── 数据脱敏展示(手机号/身份证自动脱敏)
│ ├── 知情同意记录(数据处理前获取明确同意,支持撤回)
│ └── 隐私政策 & 用户协议
├── 多租户架构
│ ├── 共享数据库 + tenant_id 列隔离
│ ├── 租户级配置(独立权限/菜单/字典)
│ ├── 独立部署支持(预留 Schema 隔离能力)
│ ├── 租户自动初始化on_tenant_created 钩子)
│ └── 数据导入/导出
├── 开放集成
│ ├── OpenAPI 文档自动生成Swagger UI 可交互)
│ ├── 蓝牙设备协议对接(血压计/血糖仪/体重秤)
│ ├── 微信生态集成(登录/支付/消息推送)
│ ├── AI 能力扩展接口SSE 流式输出)
│ └── 事件驱动集成EventBus Outbox 持久化)
├── 技术选型
│ ├── 后端: Rust + Axum 0.8(内存安全 + 高性能 + 无 GC 停顿)
│ ├── 数据库: PostgreSQL 18企业级可靠性 + JSON 支持)
│ ├── ORM: SeaORM 1.1(编译期类型检查 + 迁移工具链)
│ ├── 缓存: Redis 7限流 + 热点数据缓存)
│ ├── 前端: React 19 + Ant Design 6企业后台 UI 标配)
│ └── 小程序: Taro 4.2 + React 18跨端兼容 + 微信生态集成)
├── 数据保障
│ ├── UUID v7 主键(时间排序 + 全局唯一 + 分布式友好)
│ ├── 软删除(数据不物理删除,保留审计追溯)
│ ├── 乐观锁version 字段防并发覆盖)
│ ├── 预约防超额(原子 CAS 并发控制)
│ ├── 事件持久化Outbox 模式 + Dead Letter 存储)
│ └── 幂等操作(重复请求安全)
└── 质量保障
├── 225+ 单元测试
├── 159+ 集成测试(真实 PostgreSQL
├── 多租户隔离验证(独立测试 crate
├── E2E 测试Playwright 关键用户流程)
└── 76 个数据库迁移(全部可回滚)
```

View File

@@ -0,0 +1,193 @@
# HMS 健康管理平台 — 后续演化路线图
> 版本: v1.0 | 日期: 2026-04-29 | 面向: 客户产品规划
---
## 1. 当前状态 — 已交付能力
### 1.1 交付总览
| 指标 | 数据 |
|------|------|
| 后端模块 | 9 个 Rust crate5 基础 + 3 业务 + 1 组装) |
| 业务实体 | 47 个44 健康 + 3 AI |
| 数据库迁移 | 76 个,全部可回滚 |
| 管理后台 | 29 个页面25+ 健康路由 + 4 系统) |
| 患者端小程序 | 31 个页面5 个 TabBar |
| 医护端小程序 | 9 个页面 |
| 后端测试 | 225 单元 + 159 集成 |
| API 文档 | OpenAPI 自动生成Swagger UI 可交互 |
### 1.2 已实现的核心能力
| 能力域 | 状态 | 说明 |
|--------|------|------|
| 患者管理(建档/标签/家属/医患关系) | ✅ 已完成 | 含 PII 加密和脱敏 |
| 健康数据(体征/化验/日常监测/设备同步) | ✅ 已完成 | 趋势图、小时聚合 |
| 预约排班(透析预约/医生排班) | ✅ 已完成 | 原子 CAS 并发控制 |
| 随访管理(任务/记录/模板) | ✅ 已完成 | 可自定义字段模板 |
| 咨询管理(会话/消息) | ✅ 已完成 | 图文/语音消息 |
| 告警系统(规则/危急值) | ✅ 已完成 | 阈值可配置,分级告警 |
| 内容管理(文章/分类/标签/公告) | ✅ 已完成 | 富文本编辑,审核流程 |
| 积分商城(账户/规则/商品/订单) | ✅ 已完成 | 积分兑换,签到 |
| AI 分析(化验解读/趋势/报告) | 🔄 Phase 1 MVP | SSE 流式输出 |
| 透析管理(透析记录/透析处方) | 🔄 基础完成 | 已独立拆分为 erp-dialysis |
| 微信小程序(患者端 + 医护端) | ✅ 已完成 | 微信登录,蓝牙设备同步 |
---
## 2. Phase 1加固期2-3 周)— 上线前必修
> **目标:** 补齐临床安全和合规短板,确保系统具备上线条件。
### 2.1 危急值告警闭环
| 项目 | 说明 | 工期 |
|------|------|------|
| 危急值阈值可配置化 | 硬编码阈值改为数据库配置,支持按科室/年龄段差异化设置 | 2 天 |
| 告警通知闭环 | 异常体征 → 自动通知责任医护 → 医护确认处理 → 超时升级 | 1 天 |
| 日常监测告警验证 | 确保所有体征数据(含设备上报)都经过告警检测 | 1 天 |
**为什么是 P0** 危急体征值无人响应可能导致患者安全事故,这是医疗系统的底线。
### 2.2 合规补全
| 项目 | 说明 | 工期 |
|------|------|------|
| 知情同意记录 | 患者数据处理前获取明确同意,记录同意版本和时间,支持撤回 | 3 天 |
| 审计日志补全 | 临床数据变更记录前后值,读操作(查看患者详情/化验报告)纳入审计 | 3 天 |
| 隐私政策 & 用户协议 | 小程序端展示可阅读的隐私政策和用户协议 | 1 天 |
**法规依据:** PIPL个人信息保护法第 29 条要求处理敏感个人信息须取得单独同意。医疗数据属于敏感个人信息。
### 2.3 事件可靠性
| 项目 | 说明 | 工期 |
|------|------|------|
| 事件重放机制 | 服务重启后从 Outbox 恢复未处理事件,不丢失 | 2 天 |
| 随访逾期通知 | 逾期未完成随访自动催办 + 幂等保护(不重复通知) | 1 天 |
---
## 3. Phase 2治理期2-4 周)— 架构治理与质量提升
> **目标:** 提升代码质量和系统稳定性,为规模化运营打基础。
### 3.1 架构治理
| 项目 | 说明 | 工期 |
|------|------|------|
| 积分系统独立拆分 | 从 erp-health 拆分为独立 crate降低健康模块复杂度和合规风险 | 5 天 |
| 事件订阅优化 | 消息模块改用过滤订阅,减少无效事件传递 | 1 天 |
| 统一事件消费模式 | 消除双路径问题,所有事件消费走统一入口 | 2 天 |
### 3.2 质量提升
| 项目 | 说明 | 工期 |
|------|------|------|
| 关键路径测试补全 | 多租户隔离验证、患者安全路径、预约并发测试50-80 用例) | 4 天 |
| 过敏史变更追溯 | 更新过敏史时保留历史记录,支持变更回溯 | 1 天 |
| PII 加密范围扩展 | 从仅身份证/手机号扩展到姓名、过敏史、诊断、咨询内容 | 3 天 |
### 3.3 前端工程化
| 项目 | 说明 | 工期 |
|------|------|------|
| 前端测试覆盖 | 管理后台核心页面单元测试 + E2E 测试 | 3 天 |
| 前端性能优化 | 大列表虚拟滚动、图表懒加载、路由代码分割 | 2 天 |
| 小程序体验优化 | 页面加载性能、离线缓存、弱网降级 | 2 天 |
---
## 4. Phase 3深化期4-6 周)— 专科能力与智能增强
> **目标:** 从通用健康管理深化为肾病/血透专科能力,增强 AI 智能分析。
### 4.1 血透专科能力
| 项目 | 说明 | 前置条件 |
|------|------|---------|
| 透析方案管理 | 透析处方模板、透析器选择、抗凝方案 | 客户需求确认 |
| 透析并发症追踪 | 低血压、失衡综合征等并发症记录与分析 | 透析方案完成 |
| 干体重管理 | 干体重目标设定、变化趋势、达标提醒 | 客户需求确认 |
| 透析充分性评估 | Kt/V 计算、URR 统计、达标率报表 | 客户需求确认 |
| 通路管理 | 血管通路类型、建立时间、使用评估 | 客户需求确认 |
> **建议:** 在开发前先与 3-5 家目标客户做需求调研,确认优先级后再投入开发。
### 4.2 AI 智能增强
| 项目 | 说明 | 预期效果 |
|------|------|---------|
| OCR 化验单识别 | 拍照自动提取化验指标,减少手动录入 | 上报效率提升 80% |
| 个性化健康建议 | 基于患者历史数据生成饮食/用药/运动建议 | 患者依从性提升 |
| 风险预测模型 | 基于体征趋势预测潜在风险,提前预警 | 从被动响应到主动预防 |
| 智能随访计划 | 根据患者病情自动生成随访频率和内容 | 医护工作量降低 |
### 4.3 用户体验升级
| 项目 | 说明 |
|------|------|
| 医护端工作流优化 | 智能分诊、快捷回复模板、语音转文字 |
| 数据可视化增强 | 可交互的图表、自定义时间范围、PDF 报告导出 |
| 消息推送精细化 | 按患者画像定制推送内容和频率,避免打扰 |
---
## 5. Phase 4扩展期按需— 规模化与生态建设
> **目标:** 支撑更多医疗机构接入,建立开放生态。
### 5.1 规模化运营
| 项目 | 说明 |
|------|------|
| 多机构管理后台 | 集团/连锁机构统一管理视图,跨机构数据汇总 |
| 数据分析平台 | 患者群体分析、治疗效果对比、运营效率仪表盘 |
| 数据导入工具 | 历史患者数据批量导入,支持 Excel/CSV |
| 数据备份与恢复 | 自动化备份策略、一键恢复、灾难恢复演练 |
### 5.2 开放生态
| 项目 | 说明 |
|------|------|
| HIS/EMR 集成 | 与医院信息系统对接,患者数据双向同步 |
| 设备厂商接入 | 标准化蓝牙/HTTP 协议,更多品牌设备即插即用 |
| 第三方服务集成 | 电子发票、物流跟踪、在线支付 |
| 开放 API | 合作伙伴可通过 API 接入平台能力 |
### 5.3 移动端扩展
| 项目 | 说明 |
|------|------|
| 医生端独立 App | 更强大的移动工作台,离线支持 |
| 患者端 APP可选 | 不依赖微信的独立应用,覆盖更多用户群 |
| 家属端 | 关注患者健康状况,接收告警通知 |
---
## 6. 版本里程碑总览
```
当前 ───────→ Phase 1 ───────→ Phase 2 ───────→ Phase 3 ───────→ Phase 4
v0.9 加固期 治理期 深化期 扩展期
MVP 2-3 周 2-4 周 4-6 周 按需
│ │ │ │ │
│ ├── 危急值闭环 ├── 积分拆分 ├── 血透专科 ├── 多机构管理
│ ├── 合规补全 ├── 测试补全 ├── AI 增强 ├── HIS 集成
│ └── 事件可靠性 ├── PII 扩展 └── 体验升级 └── 开放 API
│ │ │ │
▼ ▼ ▼ ▼ ▼
内测 安全达标 质量达标 功能达标 规模达标
可上线试运行 可正式运营 可专科化运营 可多机构运营
```
**关键决策点:**
- Phase 1 完成后 → 决定是否启动试运行
- Phase 2 完成后 → 决定是否正式上线
- Phase 3 启动前 → 需完成目标客户需求调研
- Phase 4 按业务增长节奏按需启动

View File

@@ -0,0 +1,356 @@
# HMS 健康管理平台 — 系统功能思维导图
> 版本: v1.0 | 更新日期: 2026-04-29
> 说明: 基于系统已实现能力整理,供客户了解平台全貌。可直接导入 XMind / 幻灯片 / 幕布等工具生成图形化思维导图。
---
## 大纲
```
HMS 健康管理平台
├── 患者端(微信小程序)
│ ├── 首页概览
│ ├── 健康数据
│ ├── 预约服务
│ ├── 在线咨询
│ ├── 积分商城
│ ├── 健康资讯
│ ├── AI 智能报告
│ └── 个人中心
├── 医护端(微信小程序)
│ ├── 工作台
│ ├── 患者管理
│ ├── 咨询回复
│ ├── 随访管理
│ ├── 告警处理
│ └── 报告解读
├── 管理后台PC Web
│ ├── 工作台仪表盘
│ ├── 患者管理
│ ├── 预约排班
│ ├── 咨询管理
│ ├── 随访管理
│ ├── 健康数据中心
│ ├── 告警中心
│ ├── 内容管理
│ ├── 积分商城运营
│ ├── AI 智能分析
│ ├── 统计报表
│ └── 系统管理
└── 平台技术能力
├── 安全合规
├── 多租户架构
└── 开放集成
```
---
## 一、患者端(微信小程序)
- 首页概览
- 健康数据概览卡片(血压/体重/最近透析记录)
- 功能快捷入口(数据上报、我的医生、在线咨询、积分商城)
- 每日健康打卡
- 待办提醒(即将到期检查/治疗/随访)
- 健康数据
- 日常监测上报
- 血压记录(早/晚)
- 体重记录
- 血糖记录
- 饮水量记录
- 尿量记录
- 趋势图表展示
- 化验报告
- 化验单拍照上传
- 化验指标手动录入
- AI 自动识别指标
- 历史报告对比
- 设备数据同步
- 蓝牙设备自动采集
- 血压计/血糖仪/体重秤
- 数据实时同步至平台
- 透析记录
- 透析日期与时长
- 透析前后血压/体重
- 干体重记录
- 不适症状记录
- 预约服务
- 透析预约
- 选择日期时段
- 自动推荐可用时间
- 预约状态跟踪
- 复查/抽血预约
- 检查项目选择
- 预约流程引导
- 智能提醒
- 透析时间提醒
- 服药提醒
- 测量血压/体重提醒
- 复查到期提醒
- 在线咨询
- 选择医生
- 图文/语音沟通
- 上传报告附件
- 历史对话归档
- 留言功能(医生离线时)
- 积分商城
- 商品分类浏览
- 积分兑换
- 订单管理
- 配送追踪
- 健康资讯
- 科普文章阅读
- 公告通知查看
- 按疾病类型分类
- 阅读量统计
- AI 智能报告
- 趋势分析图表
- 异常指标标红
- 健康风险预警
- 定期健康报告生成
- 个人中心
- 个人信息 & 实名认证
- 多就诊人管理(家属代绑)
- 健康档案查看
- 我的医生
- 我的报告
- 健康打卡记录
- 线下活动报名
- 隐私设置 & 合规声明
---
## 二、医护端(微信小程序)
- 工作台
- 今日待办概览
- 待回复咨询数
- 待执行随访任务
- 异常指标预警摘要
- 患者病情分布统计
- 患者管理
- 患者列表
- 按透析/慢病/高危筛选
- 按疾病类型筛选
- 按治疗阶段筛选
- 关键字搜索
- 患者标签管理
- 自定义标签(高钾/高磷/体重超标等)
- 标签分类管理
- 批量打标签
- 健康档案查看
- 病历信息
- 化验报告
- 生命体征趋势图
- 治疗效果对比
- 在线状态 & 最近咨询时间
- 咨询回复
- 未读消息提醒
- 图文/语音回复
- 预设回复模板
- 科普内容发布
- 随访管理
- 随访任务列表
- 指定随访内容和方式
- 修改随访计划
- 任务状态管理
- 随访记录填写
- 详细信息记录
- 医生建议
- 随访效果分析
- 随访台账
- 选择时间范围导出
- 数据类型选择
- 告警处理
- 实时告警通知
- 按严重程度分级
- 告警确认与处理
- 处理记录追踪
- 报告解读
- 化验单批量查看
- 异常指标高亮
- 历史结果对比
- 医生备注标注
- 随访状态标记
---
## 三、管理后台PC Web
- 工作台仪表盘
- 角色化首页(管理员/医生/护士/客服不同视图)
- 关键指标卡片
- 今日待办汇总
- 最近操作记录
- 患者管理
- 患者列表
- 多维度搜索筛选
- 批量操作
- 数据导出 Excel
- 患者详情
- 基本信息/病历信息
- 健康数据趋势
- 预约记录
- 咨询记录
- 随访记录
- 标签管理
- 患者标签管理
- 标签 CRUD
- 标签分类
- 预约排班
- 医生排班管理
- 创建排班计划
- 轮班设置
- 时间段管理
- 预约列表
- 预约状态管理
- 并发控制(防止超额)
- 自动提醒
- 咨询管理
- 咨询会话列表
- 对话记录查看
- 医生排班关联
- 对话记录导出
- 随访管理
- 随访任务列表
- 随访模板管理
- 自定义字段
- 模板 CRUD
- 随访记录查看
- 随访台账导出
- 健康数据中心
- 透析数据统计
- 透析次数/完成率
- 透析效果评估
- 日常监测数据
- 血压/血糖/体重趋势
- 异常值统计
- 化验数据汇总
- 指标异常排行
- 上报率统计
- 设备数据管理
- 设备绑定/解绑
- 数据质量监控
- 告警中心
- 告警规则配置
- 阈值设置
- 触发条件
- 通知方式
- 告警列表
- 按严重程度/类型筛选
- 告警确认/处理
- 危急值管理
- 危急值阈值配置
- 危急值响应记录
- 响应时效统计
- 内容管理
- 科普文章
- 富文本编辑器
- 分类/标签管理
- 审核/发布/下架
- 阅读量统计
- 公告管理
- 创建/发布/下架
- 定向推送
- 首页轮播配置
- 轮播图管理
- 排序/定时
- 积分商城运营
- 商品管理
- 商品 CRUD
- 分类管理
- 上下架
- 订单管理
- 订单列表/状态流转
- 发货/退款处理
- 积分规则
- 签到积分
- 行为积分
- 积分兑换比例
- 积分账户管理
- 用户积分余额
- 积分明细
- AI 智能分析
- AI 分析任务
- 化验单解读
- 趋势分析
- 健康报告摘要
- AI 提示词管理
- 提示词模板 CRUD
- 场景分类
- AI 使用统计
- 调用量/成功率
- 成本分析
- 统计报表
- 患者增长分析
- 新增/活跃/流失趋势
- 咨询量统计
- 高峰时段/热门主题
- 随访完成率
- 任务完成情况
- 改进建议
- 积分商城销售数据
- 兑换量/积分消耗
- 系统管理
- 账号权限
- 用户/角色/权限管理
- RBAC + 行级数据权限
- 操作日志审计
- 组织架构
- 部门/岗位管理
- 系统设置
- 字典管理
- 菜单配置
- 消息推送配置
- 数据安全
- 数据备份
- 合规声明配置
- 隐私政策管理
---
## 四、平台技术能力
- 安全合规
- JWT 身份认证
- RBAC 权限控制
- 多租户数据隔离
- 操作日志审计
- PII 敏感数据加密
- 隐私政策 & 用户协议
- 多租户架构
- 共享数据库 + 租户隔离
- 租户级配置
- 独立部署支持
- 数据导入/导出
- 开放集成
- OpenAPI 文档自动生成
- 蓝牙设备协议对接
- 微信生态集成(登录/支付/消息推送)
- AI 能力扩展接口

Binary file not shown.

View File

@@ -0,0 +1,313 @@
# HMS 健康管理平台 — 系统设计思路
> 版本: v1.0 | 日期: 2026-04-29 | 面向: 客户技术评审
---
## 1. 设计理念
### 1.1 以患者为中心,以数据为驱动
HMS 平台的设计围绕一个核心命题:**让患者的健康数据产生实际价值。**
传统健康管理系统的痛点是"数据沉睡"——患者上报了血压、血糖、化验结果但数据只是存在数据库里没有人看也没有人分析。HMS 从设计之初就要求:每一条数据都必须有明确的用途。
```
患者上报数据 ──→ 实时展示(趋势图/仪表盘)
──→ 智能告警(异常指标自动通知医护)
──→ AI 分析(趋势预测、健康报告)
──→ 随访触发(逾期未上报自动催办)
──→ 统计报表(运营决策依据)
```
### 1.2 三个设计原则
| 原则 | 含义 | 体现 |
|------|------|------|
| **安全先行** | 医疗数据是敏感个人信息,安全不是"加一层",而是架构的内建能力 | PII 字段加密存储、操作审计、知情同意、多租户隔离 |
| **渐进演进** | 不追求一步到位,但每一步都要为下一步打好基础 | 模块化单体架构,可按需拆分为微服务 |
| **开放集成** | 平台不封闭,能接入外部设备和系统 | 蓝牙设备协议、OpenAPI 文档、微信生态集成 |
---
## 2. 整体架构
### 2.1 三端覆盖
```
┌─────────────────────────────────────────────────┐
│ HMS 健康管理平台 │
├──────────────┬──────────────┬───────────────────┤
│ 患者端 │ 医护端 │ 管理后台 │
│ 微信小程序 │ 微信小程序 │ PC Web │
│ │ │ │
│ · 健康数据 │ · 患者管理 │ · 工作台仪表盘 │
│ · 预约服务 │ · 咨询回复 │ · 患者管理 │
│ · 在线咨询 │ · 随访管理 │ · 健康数据中心 │
│ · 积分商城 │ · 告警处理 │ · 内容管理 │
│ · AI 报告 │ · 报告解读 │ · 统计报表 │
│ · 健康资讯 │ │ · 系统管理 │
└──────────────┴──────────────┴───────────────────┘
│ │ │
└──────────────┼───────────────┘
┌─────────┴─────────┐
│ 统一 API 网关 │
│ /api/v1/* │
└─────────┬─────────┘
┌───────────────┼───────────────┐
│ │ │
┌────┴────┐ ┌─────┴─────┐ ┌────┴────┐
│ 基础模块 │ │ 核心业务 │ │ AI 模块 │
│ │ │ │ │ │
│ 认证权限 │ │ 健康管理 │ │ 化验解读 │
│ 工作流 │ │ 预约排班 │ │ 趋势分析 │
│ 消息中心 │ │ 随访管理 │ │ 报告摘要 │
│ 系统配置 │ │ 透析管理 │ │ │
└────┬────┘ └─────┬─────┘ └────┬────┘
│ │ │
└───────────────┼───────────────┘
┌─────────┴─────────┐
│ PostgreSQL 18 │
│ + Redis 7 │
└───────────────────┘
```
### 2.2 三层架构
| 层级 | 职责 | 特点 |
|------|------|------|
| **L1 基础层erp-core** | 错误体系、事件总线、模块 trait、共享类型 | 零业务依赖,所有模块的基础 |
| **L2 业务层** | 认证、配置、工作流、消息、健康管理、AI | 各模块独立,互不依赖,通过事件总线通信 |
| **L3 组装层erp-server** | Axum 入口,注册所有模块,统一路由 | 唯一的组装点,模块可插拔 |
这种分层的设计意图是:**每个业务模块可以独立开发、独立测试、未来按需拆分为独立服务。** 模块之间不存在直接调用关系,所有跨模块通信都通过事件总线异步完成。
---
## 3. 核心设计决策
### 3.1 模块化单体 — 兼顾开发效率与演进弹性
**问题:** SaaS 平台在早期应该选单体还是微服务?
**我们的选择:模块化单体,渐进式拆分。**
微服务的优势(独立部署、故障隔离)在早期团队规模下被运维复杂度完全抵消。模块化单体保留了单进程部署的简单性,同时通过严格的模块边界确保未来可以零成本拆分。
**具体做法:**
- 每个业务模块实现统一的 `ErpModule` trait身份、生命周期、权限、事件订阅
- 模块间零直接依赖,跨模块通信只通过事件总线
- 所有模块在 `erp-server` 唯一组装点注册
```
erp-core基础层
|
+------+-------+-------+------+-------+
| | | | | |
auth config workflow message health ai
| | | | | |
+------+-------+-------+------+-------+
|
erp-server组装层
```
**收益:**
- 新增模块只需实现 trait + 注册,无需修改其他模块
- 未来高流量模块(如健康管理)可独立拆分为微服务
- 开发阶段单进程调试,生产环境按需拆分
### 3.2 多租户架构 — 数据隔离是底线
**问题:** 多个医疗机构使用同一套系统,如何确保数据互不可见?
**我们的选择:共享数据库 + tenant_id 列过滤 + 中间件自动注入。**
```
请求进入 → JWT 中间件提取 tenant_id → 注入 TenantContext
所有数据库查询自动携带 tenant_id 过滤
```
**为什么不用独立数据库?**
- 独立数据库意味着每个新客户都要迁移 schema、管理独立的连接池运维成本指数级增长
- 共享数据库 + 严格过滤在 95% 的场景下足够安全,且运维成本线性增长
- 预留了独立 schema 部署能力,未来有需求的客户可单独隔离
**安全保障链路:**
1. 用户登录 → JWT 签发(含 tenant_id
2. 每次请求 → 中间件从 JWT 提取 tenant_id注入请求上下文
3. 所有数据查询 → 自动过滤 tenant_id应用层无法伪造
4. 所有数据写入 → 自动填充 tenant_id
### 3.3 事件驱动 — 模块解耦的核心机制
**问题:** 预约确认后需要通知医护、触发消息推送、更新统计数据,如何在模块间协调?
**我们的选择:事件总线 + Outbox 持久化。**
传统做法是直接调用:预约模块调用消息模块、统计模块……这会造成模块间网状耦合。事件驱动让每个模块只管"发出事件",不关心谁来消费。
```
预约确认 → 发布 appointment.confirmed 事件
├──→ 消息模块:发送通知给患者
├──→ 随访模块:创建透析后随访任务
└──→ 统计模块:更新预约完成率
```
**可靠性保障:**
- 所有事件持久化到 `domain_events`Outbox 模式)
- 事件处理失败自动进入 Dead Letter 存储,不丢失
- 支持事件重放,服务重启后可恢复未处理事件
### 3.4 安全合规 — 内建而非外挂
**问题:** 医疗数据涉及患者隐私,如何满足合规要求?
安全不是上线前加一层加密就够的,而是从架构层面内建的能力。
| 安全能力 | 实现方式 |
|----------|---------|
| **身份认证** | JWT + Access Token 15 分钟 + Refresh Token 7 天轮换 |
| **权限控制** | RBAC 角色权限 + 行级数据权限 + 按钮级控制 |
| **数据加密** | PII 字段身份证、手机号AES-256-GCM 加密存储 |
| **数据脱敏** | API 返回时自动脱敏(手机号 138****1234、身份证 ****1234 |
| **操作审计** | 关键操作记录变更前后状态,哈希链防篡改 |
| **输入防护** | SQL 注入防护参数化查询、XSS 防护、限流保护 |
| **知情同意** | 患者数据处理前获取明确同意,可随时撤回 |
---
## 4. 数据架构
### 4.1 实体模型44 个业务实体)
平台围绕健康管理场景建模,覆盖从患者建档到长期随访的完整数据链路。
| 业务域 | 实体数 | 核心实体 |
|--------|--------|---------|
| 患者管理 | 8 | 患者、家属、标签、医患关系、设备绑定、知情同意 |
| 医护管理 | 2 | 医生档案、排班 |
| 健康数据 | 9 | 健康档案、体征记录、体征小时聚合、日常监测、化验报告、趋势、诊断、用药记录、设备读数 |
| 透析管理 | 1 | 透析记录(独立 crate可扩展为血透专科模块 |
| 预约排班 | 1 | 预约(原子 CAS 并发控制,防止超额) |
| 随访管理 | 4 | 随访任务、随访记录、随访模板、模板字段 |
| 咨询管理 | 2 | 咨询会话、咨询消息 |
| 内容管理 | 5 | 文章、分类、标签、文章标签关联、文章修订 |
| 告警系统 | 5 | 告警、告警规则、危急值告警、危急值响应、危急值阈值 |
| 积分商城 | 6 | 积分账户、积分规则、商品、订单、积分流水、签到 |
| 线下活动 | 2 | 活动、活动报名 |
### 4.2 数据安全策略
医疗数据的安全性不是单一技术点,而是一个分层防御体系:
```
┌─────────────────────────────────────────────┐
│ 应用层 │
│ · JWT 认证 + RBAC 权限 + 行级数据范围 │
│ · API 统一入口,无直接数据库访问 │
├─────────────────────────────────────────────┤
│ 数据层 │
│ · PII 字段加密AES-256-GCM + KEK/DEK
│ · HMAC 盲索引(加密字段仍可等值查询) │
│ · 脱敏展示API 返回自动脱敏) │
│ · 软删除(数据不物理删除,保留审计追溯) │
├─────────────────────────────────────────────┤
│ 存储层 │
│ · tenant_id 列隔离 │
│ · 乐观锁version 字段防并发覆盖) │
│ · UUID v7 主键(时间排序 + 全局唯一) │
└─────────────────────────────────────────────┘
```
**加密方案说明:**
| 项目 | 方案 | 目的 |
|------|------|------|
| 加密算法 | AES-256-GCM | 认证加密,防篡改 + 保密 |
| 密钥管理 | KEK/DEK 分层 | 每租户独立 DEK主密钥定期轮换 |
| 查询支持 | HMAC-SHA256 盲索引 | 加密后仍支持手机号/身份证精确查询 |
| 脱敏规则 | 手机号 138\*\*\*\*1234、身份证 \*\*\*\*\*1234 | 展示层自动脱敏,原始数据不离开服务端 |
---
## 5. 技术选型
每一项技术选择都经过实际验证,不是纸上谈兵。
| 层次 | 选择 | 选择理由 |
|------|------|---------|
| **后端语言** | Rust | 内存安全 + 高性能,无 GC 停顿,适合医疗系统长期稳定运行 |
| **Web 框架** | Axum 0.8 | Tokio 官方维护类型安全路由tower 中间件生态 |
| **ORM** | SeaORM 1.1 | 异步、编译期类型检查、迁移工具链完善SQL 错误在编译期暴露 |
| **数据库** | PostgreSQL 18 | 企业级可靠性JSON 支持,丰富的索引类型,医疗场景的稳妥选择 |
| **缓存** | Redis 7 | 限流 token bucket + 热点数据缓存 + 会话管理 |
| **前端** | React 19 + Ant Design 6 | 企业后台 UI 标配,组件丰富,开发效率高 |
| **状态管理** | Zustand 5 | 极简 API无 boilerplate适合中等复杂度应用 |
| **小程序** | Taro 4.2 + React 18 | 跨端兼容React 开发体验一致,微信生态集成成熟 |
| **AI 集成** | SSE 流式 + 大模型 API | 化验解读、趋势分析、报告摘要,流式输出实时反馈 |
**为什么选择 Rust**
Rust 在医疗系统中的独特价值:
- **零运行时异常** — 编译期消除空指针、数组越界、数据竞争,医疗系统不能接受运行时崩溃
- **可预测的性能** — 无 GC 停顿,响应时间稳定,告警通知延迟可预测
- **长期维护性** — 编译器强制类型安全,代码重构不会静默引入 bug
- **并发安全** — 编译期保证线程安全,适合处理实时设备数据上报
---
## 6. 质量保障
### 6.1 测试金字塔
| 测试类型 | 数量 | 覆盖目标 |
|----------|------|---------|
| 单元测试 | 225+ | 每个 service 函数、验证逻辑、脱敏逻辑 |
| 集成测试 | 159+ | API 端点 → 数据库完整链路,使用真实 PostgreSQL |
| 多租户测试 | 独立测试 crate | 数据隔离验证,确保跨租户不可见 |
| E2E 测试 | 5 套 | 前端关键用户流程Playwright |
### 6.2 验证机制
每个功能交付前必须通过:
- `cargo check` — 全 workspace 编译无错误
- `cargo test --workspace` — 所有测试通过
- 功能验证 — 启动服务,在浏览器/小程序中实际操作
- 生产构建 — `pnpm build` 前端生产构建通过
- 数据库验证 — 迁移可正向/反向执行
### 6.3 关键数据保障
| 保障项 | 机制 |
|--------|------|
| 预约防超额 | 原子 CAS 操作,并发安全 |
| 数据不丢失 | 软删除 + 事件 Outbox 持久化 + Dead Letter |
| 数据不篡改 | 乐观锁version 字段)+ 审计日志哈希链 |
| 接口一致性 | 统一 `ApiResponse<T>` 包装OpenAPI 文档自动生成 |
---
## 总结
HMS 平台的设计围绕四个关键词展开:
1. **模块化** — 每个业务模块独立自治,通过事件总线协作,可按需拆分演进
2. **安全合规** — 加密存储、操作审计、知情同意、多租户隔离,从架构内建安全能力
3. **数据驱动** — 每条数据都有明确用途:展示、告警、分析、触发、统计
4. **渐进演进** — 当前是模块化单体,未来可按模块独立拆分为微服务,无需重写
平台已完成核心功能开发,包括 44 个业务实体、25+ 管理后台页面、40 个小程序页面、225+ 单元测试。具备投入试运行的基础条件。

Binary file not shown.