docs: HMS 功能思维导图 + 系统设计文档 + 演进路线图
患者端/医护端/管理后台/平台技术能力思维导图 + 系统功能文档 + 演进路线图 + 设计思路
This commit is contained in:
82
docs/健康管理/01-患者端-功能思维导图.md
Normal file
82
docs/健康管理/01-患者端-功能思维导图.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# HMS 患者端(微信小程序)— 功能思维导图
|
||||
|
||||
> 版本: v1.0 | 更新日期: 2026-04-29
|
||||
> 说明: 可直接导入 XMind / 幻灯片 / 幕布等工具生成图形化思维导图。
|
||||
|
||||
---
|
||||
|
||||
## 导图结构
|
||||
|
||||
```
|
||||
HMS 患者端(微信小程序)
|
||||
├── 首页概览
|
||||
│ ├── 健康数据概览卡片(血压/体重/最近透析记录)
|
||||
│ ├── 功能快捷入口(数据上报、我的医生、在线咨询、积分商城)
|
||||
│ ├── 每日健康打卡
|
||||
│ └── 待办提醒(即将到期检查/治疗/随访)
|
||||
├── 健康数据
|
||||
│ ├── 日常监测上报
|
||||
│ │ ├── 血压记录(早/晚)
|
||||
│ │ ├── 体重记录
|
||||
│ │ ├── 血糖记录
|
||||
│ │ ├── 饮水量记录
|
||||
│ │ ├── 尿量记录
|
||||
│ │ └── 趋势图表展示
|
||||
│ ├── 化验报告
|
||||
│ │ ├── 化验单拍照上传
|
||||
│ │ ├── 化验指标手动录入
|
||||
│ │ ├── AI 自动识别指标
|
||||
│ │ └── 历史报告对比
|
||||
│ ├── 设备数据同步
|
||||
│ │ ├── 蓝牙设备自动采集
|
||||
│ │ ├── 血压计/血糖仪/体重秤
|
||||
│ │ └── 数据实时同步至平台
|
||||
│ └── 透析记录
|
||||
│ ├── 透析日期与时长
|
||||
│ ├── 透析前后血压/体重
|
||||
│ ├── 干体重记录
|
||||
│ └── 不适症状记录
|
||||
├── 预约服务
|
||||
│ ├── 透析预约
|
||||
│ │ ├── 选择日期时段
|
||||
│ │ ├── 自动推荐可用时间
|
||||
│ │ └── 预约状态跟踪
|
||||
│ ├── 复查/抽血预约
|
||||
│ │ ├── 检查项目选择
|
||||
│ │ └── 预约流程引导
|
||||
│ └── 智能提醒
|
||||
│ ├── 透析时间提醒
|
||||
│ ├── 服药提醒
|
||||
│ ├── 测量血压/体重提醒
|
||||
│ └── 复查到期提醒
|
||||
├── 在线咨询
|
||||
│ ├── 选择医生
|
||||
│ ├── 图文/语音沟通
|
||||
│ ├── 上传报告附件
|
||||
│ ├── 历史对话归档
|
||||
│ └── 留言功能(医生离线时)
|
||||
├── 积分商城
|
||||
│ ├── 商品分类浏览
|
||||
│ ├── 积分兑换
|
||||
│ ├── 订单管理
|
||||
│ └── 配送追踪
|
||||
├── 健康资讯
|
||||
│ ├── 科普文章阅读
|
||||
│ ├── 公告通知查看
|
||||
│ ├── 按疾病类型分类
|
||||
│ └── 阅读量统计
|
||||
├── AI 智能报告
|
||||
│ ├── 趋势分析图表
|
||||
│ ├── 异常指标标红
|
||||
│ ├── 健康风险预警
|
||||
│ └── 定期健康报告生成
|
||||
└── 个人中心
|
||||
├── 个人信息 & 实名认证
|
||||
├── 多就诊人管理(家属代绑)
|
||||
├── 健康档案查看
|
||||
├── 我的医生
|
||||
├── 我的报告
|
||||
├── 健康打卡记录
|
||||
├── 线下活动报名
|
||||
└── 隐私设置 & 合规声明
|
||||
```
|
||||
62
docs/健康管理/02-医护端-功能思维导图.md
Normal file
62
docs/健康管理/02-医护端-功能思维导图.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# HMS 医护端(微信小程序)— 功能思维导图
|
||||
|
||||
> 版本: v1.0 | 更新日期: 2026-04-29
|
||||
> 说明: 可直接导入 XMind / 幻灯片 / 幕布等工具生成图形化思维导图。
|
||||
|
||||
---
|
||||
|
||||
## 导图结构
|
||||
|
||||
```
|
||||
HMS 医护端(微信小程序)
|
||||
├── 工作台
|
||||
│ ├── 今日待办概览
|
||||
│ ├── 待回复咨询数
|
||||
│ ├── 待执行随访任务
|
||||
│ ├── 异常指标预警摘要
|
||||
│ └── 患者病情分布统计
|
||||
├── 患者管理
|
||||
│ ├── 患者列表
|
||||
│ │ ├── 按透析/慢病/高危筛选
|
||||
│ │ ├── 按疾病类型筛选
|
||||
│ │ ├── 按治疗阶段筛选
|
||||
│ │ └── 关键字搜索
|
||||
│ ├── 患者标签管理
|
||||
│ │ ├── 自定义标签(高钾/高磷/体重超标等)
|
||||
│ │ ├── 标签分类管理
|
||||
│ │ └── 批量打标签
|
||||
│ └── 健康档案查看
|
||||
│ ├── 病历信息
|
||||
│ ├── 化验报告
|
||||
│ ├── 生命体征趋势图
|
||||
│ ├── 治疗效果对比
|
||||
│ └── 在线状态 & 最近咨询时间
|
||||
├── 咨询回复
|
||||
│ ├── 未读消息提醒
|
||||
│ ├── 图文/语音回复
|
||||
│ ├── 预设回复模板
|
||||
│ └── 科普内容发布
|
||||
├── 随访管理
|
||||
│ ├── 随访任务列表
|
||||
│ │ ├── 指定随访内容和方式
|
||||
│ │ ├── 修改随访计划
|
||||
│ │ └── 任务状态管理
|
||||
│ ├── 随访记录填写
|
||||
│ │ ├── 详细信息记录
|
||||
│ │ ├── 医生建议
|
||||
│ │ └── 随访效果分析
|
||||
│ └── 随访台账
|
||||
│ ├── 选择时间范围导出
|
||||
│ └── 数据类型选择
|
||||
├── 告警处理
|
||||
│ ├── 实时告警通知
|
||||
│ ├── 按严重程度分级
|
||||
│ ├── 告警确认与处理
|
||||
│ └── 处理记录追踪
|
||||
└── 报告解读
|
||||
├── 化验单批量查看
|
||||
├── 异常指标高亮
|
||||
├── 历史结果对比
|
||||
├── 医生备注标注
|
||||
└── 随访状态标记
|
||||
```
|
||||
141
docs/健康管理/03-管理后台-功能思维导图.md
Normal file
141
docs/健康管理/03-管理后台-功能思维导图.md
Normal 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 + 行级数据权限
|
||||
│ └── 操作日志审计
|
||||
├── 组织架构
|
||||
│ └── 部门/岗位管理
|
||||
├── 系统设置
|
||||
│ ├── 字典管理
|
||||
│ ├── 菜单配置
|
||||
│ └── 消息推送配置
|
||||
└── 数据安全
|
||||
├── 数据备份
|
||||
├── 合规声明配置
|
||||
└── 隐私政策管理
|
||||
```
|
||||
53
docs/健康管理/04-平台技术能力-功能思维导图.md
Normal file
53
docs/健康管理/04-平台技术能力-功能思维导图.md
Normal 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 个数据库迁移(全部可回滚)
|
||||
```
|
||||
193
docs/健康管理/HMS后续演化路线图.md
Normal file
193
docs/健康管理/HMS后续演化路线图.md
Normal file
@@ -0,0 +1,193 @@
|
||||
# HMS 健康管理平台 — 后续演化路线图
|
||||
|
||||
> 版本: v1.0 | 日期: 2026-04-29 | 面向: 客户产品规划
|
||||
|
||||
---
|
||||
|
||||
## 1. 当前状态 — 已交付能力
|
||||
|
||||
### 1.1 交付总览
|
||||
|
||||
| 指标 | 数据 |
|
||||
|------|------|
|
||||
| 后端模块 | 9 个 Rust crate(5 基础 + 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 按业务增长节奏按需启动
|
||||
|
||||
|
||||
|
||||
356
docs/健康管理/HMS系统功能思维导图.md
Normal file
356
docs/健康管理/HMS系统功能思维导图.md
Normal 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 能力扩展接口
|
||||
BIN
docs/健康管理/HMS系统功能文档.xlsx
Normal file
BIN
docs/健康管理/HMS系统功能文档.xlsx
Normal file
Binary file not shown.
313
docs/健康管理/HMS系统设计思路.md
Normal file
313
docs/健康管理/HMS系统设计思路.md
Normal 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+ 单元测试。具备投入试运行的基础条件。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
docs/健康管理/演示文稿1.pptx
Normal file
BIN
docs/健康管理/演示文稿1.pptx
Normal file
Binary file not shown.
Reference in New Issue
Block a user