- T40 UI 审计计划和结果文档(docs/qa/) - wiki 更新:miniprogram 设计系统合规审计记录 + index 关键数字更新 - 审计 V2 完整报告(docs/audits/v2/) - 讨论记录文档(docs/discussions/) - 设计规格和实施计划(docs/superpowers/) - 角色测试计划和结果(docs/qa/role-test-*) - Docker 生产部署配置
10 KiB
Phase 2 交接文档 — 患者体验(2026 年 8-9 月)
日期: 2026-05-04 | 类型: 交接文档 | Phase: Phase 2
背景
Phase 0(基础加固)和 Phase 1(关怀引擎 MVP)已全部完成。Phase 2 的目标是将患者和家庭体验从"健康数据查看器"转变为"被关怀的体验"。
Phase 0 + Phase 1 完成状态
Phase 0(全部完成)
- AI 自动分析管道修复(建议生成 + 事件发布)
ai.analysis.requested事件消费连接- 建议状态生命周期
- 4 个千行 service 文件拆分
- 事件测试补全
- 核心健康管理页面测试
- 护士工作台 Phase 1
Phase 1(全部完成,8/8 项)
| # | 功能 | 提交 |
|---|---|---|
| 1 | 每日关怀工作台(Plan B 工作流驱动) | 已完成 |
| 2 | 护理计划(Care Plan)实体和服务层 | 已完成 |
| 3 | 透析专用风险评分(KDIGO 规则) | 已完成 |
| 4 | 班次管理与护士分配 | 7b17f94 |
| 5 | BLE 网关后端接入端点(API Key + 批量上传) | 7e57565 |
| 6 | "关怀已送达"通知管道 | 已完成 |
| 7 | 透析会话工作流(BPMN 集成) | 0a9272b |
| 8 | 家庭成员健康代理(同意 + 查看) | 95fa09c |
Phase 2 任务清单
P2-1: 老年患者小程序重设计(年龄适配 UI)— XL
目标: 65+ 患者可无障碍使用(大字体、高对比度、≤3 步操作)
当前状态: 小程序 182 源文件 / 40+ 页面,使用 Taro 4.2 + React 18。无年龄适配设计。
实施方向:
- 在小程序样式层增加
--elderly-*CSS 变量/token:- 基础字号 18-22px(标准 14px)
- 触摸目标 ≥ 48px
- 对比度 7:1(WCAG AAA)
- 导航最多 4-5 项
- 新建
pages/elderly/区块,着陆页设计:- 温暖问候 + 护士照片名字
- "您的护理团队 X 小时前查看了您的健康数据,一切稳定"
- 一个大号"呼叫护士"按钮
- 用药提醒(大复选框)
- 简化导航:从当前 TabBar 5 项减少到 3-4 项
- 后端已有
health.family-proxyAPI 支持家庭成员查看健康摘要
关键文件:
apps/miniprogram/src/app.config.ts— 路由和 TabBar 配置apps/miniprogram/src/styles/— 全局样式apps/miniprogram/src/pages/— 页面目录- 后端 API:
GET /health/family/patients/{id}/health-summary
验收标准: 65+ 患者可在 3 步内完成核心操作(查看今日关怀 / 确认用药 / 呼叫护士)
P2-2: 透析专属健康教育内容管道 — M
目标: 基于患者当前风险指标智能推送肾病教育内容
当前状态: 已有完整 CMS(erp-health 文章模块:article/article_category/article_tag + 审核工作流 + 阅读统计)
实施方向:
- 利用现有 CMS 策展透析患者专属内容库:
- "认识你的透析指标"
- "透析间期如何控制水分"
- "高磷食物避坑指南"
- "什么时候该联系护理团队"
- 基于患者 KDIGO 风险评分自动推送相关文章
- 血磷高风险 → 推送高磷食物指南
- 体重增长过快 → 推送水分控制指南
- Kt/V 不达标 → 推送透析充分性科普
- 后端新增"智能推送"服务:读取患者风险评分 → 匹配文章标签 → 创建推送记录
关键文件:
crates/erp-health/src/service/article_service.rs— 已有文章 CRUDcrates/erp-health/src/entity/article.rs— 文章实体crates/erp-health/src/entity/article_tag.rs— 标签实体- Phase 1 新增的 KDIGO 评分服务 — 风险评分来源
crates/erp-health/src/service/ai_action_dispatcher.rs— 可扩展推送逻辑
验收标准: 高风险透析患者自动收到与当前风险相关的教育文章
P2-3: BLE 网关试点部署(10 位患者) — L
目标: 10 位透析患者居家使用 BLE 网关,体征数据自动流入系统
当前状态: 后端 BLE 网关接入已完成(Phase 1 #5):
ble_gateways表 +gateway_patient_bindings表- API Key SHA-256 认证中间件
- 批量上传端点
POST /health/gateway/upload(多患者批量) - 心跳端点
POST /health/gateway/heartbeat - 复用
device_reading_service::batch_create_readings管道 - 迁移
m20260505_000113_create_ble_gateways.rs
剩余工作:
- 采购/选型商用 BLE 网关(如 Teltonika、Quectel)
- 网关固件配置:连接 BLE 设备(血压计/血糖仪/体重秤)→ HTTPS POST 到 HMS
- 10 位患者试点部署 + 数据验证
- 前端管理页面(网关状态监控,已有后端 CRUD)
关键文件:
crates/erp-health/src/service/ble_gateway_service.rs— 网关管理 + 上传处理crates/erp-health/src/gateway_auth.rs— API Key 认证crates/erp-health/src/dto/ble_gateway_dto.rs— GatewayUploadReq(多患者批量格式)crates/erp-server/src/main.rs— 网关路由注册(gateway_auth 中间件层)
验收标准: 10 位患者居家体征数据每日自动上传,网关在线率 > 95%
P2-4: 多 Provider AI + 成本感知路由 — M
目标: 简单分析走本地规则,复杂分析走 LLM,Provider 不可用时自动回退
当前状态: 仅 Claude 单 Provider,LocalRulesEngine 已存在但未集成到路由层
实施方向:
- 扩展
AiConfig使用当前死字段(model/max_tokens/temperature/cache_ttl/rate_limit) - 实现路由策略:
- 阈值检查 → 本地规则引擎(零成本)
- 趋势解读/化验单分析 → Claude(高成本)
- Provider 不可用 → 回退本地规则 + 标记"降级分析"
- 添加 token 用量追踪(每次分析记录 input_tokens/output_tokens/cost_usd)
- 缓存生效:
find_cached已存在但从未被调用,接入分析管道
关键文件:
crates/erp-ai/src/service/auto_analysis.rs— 自动分析批处理crates/erp-ai/src/service/local_rules_engine.rs— 本地规则引擎crates/erp-ai/src/entity/ai_config.rs— AI 配置实体(有死字段待激活)crates/erp-ai/src/entity/ai_suggestion.rs— 建议实体(Phase 0 新增)crates/erp-ai/src/module.rs— 模块注册
验收标准: Provider 不可用时系统自动降级到本地规则,用户无感知中断
P2-5: 关怀结果测量(干预前后对比) — M
目标: 干预后 7/14/30 天体征对比可量化
当前状态: Phase 1 已有 care_plan_outcomes 表(metric, baseline, target, current, measured_at)
实施方向:
- 扩展
care_plan_outcomes服务:自动从vital_signs/device_readings聚合测量值 - 实现干预前后对比 API:
- 输入:care_plan_item_id + 干预日期
- 输出:baseline(干预前 7 天均值)vs current(干预后 7/14/30 天均值)
- 前端趋势图展示干预效果
- 接入事件流:
care.action.performed事件触发测量开始
关键文件:
crates/erp-health/src/entity/care_plan_outcome.rs— 预后测量实体crates/erp-health/src/service/care_plan_service.rs— 护理计划服务crates/erp-health/src/service/vital_signs_daily_service.rs— 日聚合服务crates/erp-health/src/service/trend_service.rs— 趋势分析服务
验收标准: 护士可在护理计划详情中查看干预前后的体征对比图表
P2-6: 读副本 + 分区用于分析查询 — M
目标: PostgreSQL 按月分区 device_readings,添加读副本连接用于分析查询
实施方向:
device_readings表按月分区(当前 ~100万行/年,BLE 部署后快速增长)- SeaORM 配置读副本连接(
DatabaseConnection支持多连接) - 分析查询(趋势/统计/FHIR)路由到读副本
- 超过 2 年的读数归档冷存储
关键文件:
crates/erp-server/migration/src/— 新增分区迁移crates/erp-health/src/state.rs— HealthState 可扩展为双连接crates/erp-health/src/service/stats_service.rs— 统计查询crates/erp-health/src/service/trend_service.rs— 趋势查询
P2-7: 机构运营仪表盘 — L
目标: 管理层可查看关怀质量指标
当前状态: 已有基础统计端点(/health/admin/statistics/dashboard、personal-stats、system-health)
实施方向:
- 扩展统计 API:
- 关怀动作完成率(护士执行 / AI 建议)
- 患者留存率(月度)
- AI 建议准确率(护士采纳 / AI 总建议)
- 平均关怀响应时间(AI 发现风险 → 护士执行关怀)
- 北极星指标:每位患者每周收到的关怀动作数
- 前端仪表盘页面(Ant Design Charts)
- 数据来源:action_inbox + ai_suggestion + care_plan + 告警记录
关键文件:
crates/erp-health/src/service/stats_service.rs— 已有统计服务crates/erp-health/src/handler/stats_handler.rs— 已有统计 Handlerapps/web/src/pages/— 前端页面
实施建议
优先顺序
- P2-4 多 Provider AI(M)— 降级能力是后续所有 AI 相关工作的基础
- P2-5 关怀结果测量(M)— 需要积累数据,越早启动越好
- P2-2 透析教育内容(M)— 后端改动小,可快速交付
- P2-3 BLE 网关试点(L)— 需要硬件采购,后端已就绪
- P2-1 老年患者 UI(XL)— 工作量最大,但依赖后端 API 已完成
- P2-6 读副本+分区(M)— 数据量增长后才有必要
- P2-7 机构仪表盘(L)— 需要前面各项数据积累
技术注意事项
- 星型依赖架构不变 — 所有 crate 仅依赖 erp-core,跨模块走 EventBus
- 迁移编号从
m20260505_000116开始 — 当前最后迁移是000115_family_member_health_proxy - Handler 模式 —
State(state): State<HealthState>,Extension(ctx): Extension<TenantContext>,require_permission(&ctx, "health.xxx.list")?, 返回Result<Json<ApiResponse<T>>, AppError> - ctx.user_id 是 Uuid 不是 Option — 直接使用,不需要
ok_or_else - 前端小程序在
apps/miniprogram/— Taro 4.2 + React 18 - 前端 Web 在
apps/web/— React 19 + Ant Design + Vite - 编译命令:
cargo check(编译检查)/cargo test -p erp-health(单 crate 测试)/cargo test --workspace(全量测试) - 数据库连接信息: 见
wiki/infrastructure.md§2
Phase 2 验收标准(总体)
| 指标 | 目标 |
|---|---|
| 10 位患者 BLE 网关试点 | 居家体征数据自动流入系统 |
| 老年患者 UI | 65+ 患者可无障碍使用(大字体、高对比度、≤3 步操作) |
| 关怀结果测量 | 干预后 7/14/30 天体征对比可量化 |
| 机构仪表盘 | 管理层可查看关怀运营指标 |