feat(health): 业务链路打通 — 告警自动随访 + 健康数据积分激励

- 迁移 000157: follow_up_task 新增 source_type/source_id 字段追踪任务来源
- 迁移 000157: points_rule 新增 health_data_report/lab_report_upload/streak_7_days 种子规则
- P0-2: follow_up 事件处理器新增 health_data.critical_alert 消费,告警触发时自动创建随访任务
  - 自动查找管床医生分配,critical 级别 1 天内、warning 级别 3 天内
  - 新增 alert_auto 随访类型,source_type 标记来源为 critical_alert
- P1-1: points 事件处理器新增 daily_monitoring.created 消费,日常监测上报自动获取积分
- P1-1: points 事件处理器新增 lab_report.uploaded 消费,化验报告上传自动获取积分
- 更新 HMS 系统设计思路文档 v2.0(实体数/链路图/业务链路章节全面更新)
- 新增业务链路打通讨论记录

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
iven
2026-05-20 12:25:28 +08:00
parent e83101dd23
commit 17114d492e
12 changed files with 744 additions and 58 deletions

View File

@@ -0,0 +1,71 @@
# 业务链路打通方案讨论
> 日期: 2026-05-20 | 参与者: 产品 + 技术
## 背景
系统核心功能已开发完成59 实体 / 376+ 路由 / 990+ 测试),但各业务模块之间的联动存在 5 个关键断点。用户要求全部打通,实现真正的"数据驱动健康管理闭环"。
## 讨论要点
### 断点 1: AI 分析被动触发 → 缺少主动分析能力
**现状:** AI 只在用户发消息时被动工作,不会主动巡检患者数据。
**打通方案:**
- 新增定时任务:每日自动巡检高风险患者(基于阈值 + 趋势)
- 新增事件:`health.ai_alert.sent`(已有常量但未使用)→ 触发医护端推送
- 趋势预测告警:连续 N 天数据异常 → 发布 `health_data.critical_alert` 增强版
- AI 分析结果回写:更新患者风险评估标签
### 断点 2: 告警只推医护 → 患者端无反馈
**现状:** 告警触发后只有医护收到,患者不知道自己数据异常。
**打通方案:**
- 告警事件消费:`alert.triggered` → 向患者发微信模板消息/站内通知
- 小程序端新增"健康提醒"入口(消息 Tab 下)
- 轻量 AI 建议:告警触发时附带一句话建议(如"您的收缩压偏高,建议低盐饮食并按时服药"
### 断点 3: 随访手动创建 → 缺少数据驱动自动触发
**现状:** 随访任务主要靠手动或定时,没有根据数据异常自动生成。
**打通方案:**
- 告警 → 随访:`health_data.critical_alert` 事件被随访模块消费 → 自动创建随访任务
- 护理计划 → 随访:`care_plan.activated` / `care_plan_item.completed` → 自动创建对应随访
- AI 巡检 → 随访AI 发现高风险 → 建议创建随访(需医护确认)
### 断点 4: 积分激励面窄 → 健康行为无积分
**现状:** 积分只来自签到和活动,健康数据上报没有激励。
**打通方案:**
- 健康数据上报 → 积分:`daily_monitoring.created` 消费 → 调用 `earn_points("health_data_report")`
- 连续上报奖励:连续 7/14/30 天上报额外奖励(类似签到阶梯)
- 积分过期预警:过期前 3 天发通知 → `points.expiring_soon` 事件
- 化验报告上传 → 积分:`lab_report.uploaded` 消费 → 积分
### 断点 5: 咨询孤立 → 与随访/AI 无联动
**现状:** 咨询是独立闭环,不能直接跳转随访或触发 AI。
**打通方案:**
- 咨询 → 随访:医生端新增"创建随访"按钮 → 调用 createTask API关联 consultation_session_id
- 咨询 → AI医生可对咨询上下文触发 AI 分析(传 session_id 作为上下文)
- 告警 → 咨询:`alert.triggered` 消费 → 患者端展示"在线咨询"快捷入口
- AI 分析结果主动推送:`ai_analysis.completed` → SSE 推送给关注该患者的医护
## 优先级排序
| 优先级 | 断点 | 价值 | 复杂度 | 预估工时 |
|--------|------|------|--------|---------|
| P0 | 断点 2: 告警推患者 | 高(直接影响患者体验) | 低 | 1 天 |
| P0 | 断点 3: 告警→自动随访 | 高(闭环核心) | 中 | 2 天 |
| P1 | 断点 4: 健康行为积分 | 中(提升活跃度) | 低 | 1.5 天 |
| P1 | 断点 1: AI 主动巡检 | 高(差异化竞争力) | 高 | 3 天 |
| P2 | 断点 5: 咨询联动 | 中(效率提升) | 中 | 2 天 |
## 结论
全部 5 个断点需要打通,按 P0 → P1 → P2 分三批实施。总计约 9.5 天。