# 疗效保障(PAC)项目 W3 进展报告

> **报告周期**:第 3 周(W3)
> **汇报路径**:PAC(luoqi)→ CTO(于总)→ 管委会
> **报告人**:luoqi
> **状态**:🟢 W3 目标 100% 达成 + W4(DW 直连增量)提前到位

---

## Page 1 · 一句话 + 里程碑路线

### ▎本周一句话

> **PAC 已直接连瑞尔 DW 真实数据跑通完整闭环 — 100 个真实患者进来,自动算出 25 条召回任务 + 病史链 + AI 话术,业务方可现场点评。W4 起做客服工作台试点对接。**

### ▎答复

| 问 | 答 |
|---|---|
| W3 承诺达到没? | ✅ 全部达成 — 真实(脱敏)数据进 PAC、潜在新链召回出来、话术按医生主诉量身定 |
| W4 承诺呢? | ⭐ DW 直连增量管道已建好,等明天 DW 那边日级刷新启动即可上线 |
| 还差什么才能给试点? | 5i5ya 前端联系人 1 人(W5 把 iframe 嵌进去 2 小时) + 1 家试点 3-5 名客服(W5 末联调半天) |

### ▎6 周走向终态(从 W6 倒推)

```
W6 ⭐ 5 家试点诊所端到端使用(真实患者 / 真实客服 / 真实治疗链 / 真实召回对照)
   ↑ 需要:客服培训完成
W5 客服工作台嵌入 5i5ya(iframe)+ 1 家试点客服联调
   ↑ 需要:5i5ya 前端联系人就位
W4 DW直连 真实日增量自动刷新数据 + 客服工作台对接试点，业务验证与用户使用风格调整 - 高德诊所 + 与saas 系统接入前的准备 - 部署  - 嵌入契约
W3 ✅ 本地真实数据 demo + 潜在新链召回 + AI 话术 + 治疗链 5 阶段可视化(本次报告)
W2 ✅ 数据接入文档 + 演示能力提前到位 + 召回算法策略落地
W1 ✅ 框架定稿 + 数据库结构评审 closure
```

### ▎本周必须推动(求 CTO 协调)

```
🆘 1. DW 团队"每日全量刷新"启动(明天预定)
       - 现状:DW 当前数据滞后 6 天(每周左右刷一次),不影响算法但影响实时性
       - 影响:启动后客服当天打的电话当天能看到结果
       - PAC 这边的增量管道已就位,DW 那边按时启动即可

🆘 2. 5i5ya 前端联系人确认(W5 启动前)
       - 用量:2 小时 — 贴 iframe + 配置一次性 code 换 token
       - 影响:不到位 W5/W6 试点跑不通,只能停在 PAC 自己的演示页
```

---

## Page 2 · 现场 Demo · 真实患者跑出来的潜在新链召回

> **演示对象**:从瑞尔 DW 100 个真实患者中按规则筛出的 25 个召回案例,任选一例
> **典型样例**:姚嘉萍 / 王永明 / 张澜(都是真实患者,脱敏展示)
> **召回类型**:潜在新链发现(诊断 → 未启动治疗)

### ▎管委会可现场验证的 6 项能力

| # | 能力 | 真实数据下的表现 |
|---|---|---|
| 1 | **真实数据进得来** | 瑞尔 DW(13 万患者池)按 cohort 拉 100 个真实患者 → 6215 条事实写入 PAC、0 失败 |
| 2 | **潜在新链发现准** | 100 个真实患者中 25 个被精准召回:K08 缺牙未做种植 / K04 牙髓未做根管 / K07 错颌未启动正畸 等 5 个子场景全跑通 |
| 3 | **治疗链 5 阶段** | 每个患者的所有治疗链按"发现 → 进入 → 执行 → 复查 → 闭环"5 阶段可视化(陈化冰、季根财、范萍莉等老人多链 case 都正确展示) |
| 4 | **AI 话术按事实定制** | 话术 4 段(开场 / 切入话题 / 异议处理 / 结束确认),自动喂入真实主诊医生名 / 诊所名 / 患者称呼 / 友好牙位(不会说"FDI 36 号牙",会说"右下后牙") |
| 5 | **多品牌隔离** | 瑞尔 / 瑞泰双品牌跨同一 DW,患者 ID 跨品牌重复也自动按 tenant 隔离,A 客服看不到 B 品牌的患者 |
| 6 | **召回准度可解释** | 每条召回都展示"为什么召":诊断码 + 时间窗 + 价值评分 + 不召的理由(冷静期 / 已拔除 / 已进入治疗链) — 业务方能针对每一条评对错 |

### ▎跟 W2 demo(张志远虚构样例)的区别

```
W2 demo:                              W3 demo:
  虚构患者 + Mock 数据                  100 个瑞尔真实患者
  PAC 后端无业务数据                    DW 直连 ClickHouse,数据 100% 真实
  靠人脑判断 demo 是否合理              业务方按真实案例点对错(可挑刺、可反对)
  1 个固定演示样例                      25 个真实召回任意挑(包括边界 case)
```

**演示要点**:这次 demo 完全是"指着真实诊所的真实患者看 PAC 怎么判的",不再是"理论上能这样做"。

---

## Page 3 · W3 交付清单(说结果)

### ▎对照 W2 承诺,W3 完成度 100%

| W2 承诺 W3 要做的 | 状态 | 实际成果 |
|---|---|---|
| 真实(脱敏)患者数据进 PAC | ✅ | 直接连瑞尔 DW,100 真实患者跑通 |
| PAC 自动识别"潜在新链" | ✅ | 25 条召回(5 个子场景全覆盖:种植 / 根管 / 充填 / 牙周 / 正畸) |
| 业务方可点评 | ✅ | 每条召回有完整可解释链,业务方按真实姓名讨论 |
| 召回任务进工作台 + 详情可点开 | ✅ | 工作台 / 详情 / 话术 / 治疗链 / 时间轴 全跑通 |
| W4 DW 直连方案确认 | ⭐ 提前 | 不只确认方案,**直接把 DW 增量管道做完了**(等 DW 启动每日刷新即上线) |

### ▎W3 期间业务能力提升要点(管委会角度)

| 能力 | W2 末 → W3 末 |
|---|---|
| 数据源 | mock 数据 → **瑞尔 DW 真实 100 患者**(可扩到全量 13 万) |
| 治疗链 | 简单 3 状态(发现 / 在管 / 闭环)→ **5 阶段精细判定**(每条链清楚指出"待哪一步""为什么没闭环") |
| 召回算法 | 1 个子场景 → **5 个子场景**(种植 / 根管 / 充填 / 牙周 / 正畸都召) + 4 道排除闸(冷静期 / 已拔牙 / 已预约 / 已进入治疗链 → 噪音 0) |
| AI 话术 | 模板拼接(机器人感)→ **大模型按患者事实生成 4 段 markdown**(看到诊所名 / 主诊医生 / 友好牙位) |
| 数据时效性 | 一次性导入 → **DW 增量管道就绪**(等 DW 启动日刷新即秒级跟新) |

### ▎W3 期间发现并解决的真实临床问题(业务方关心)

> 这些 case 来自真实患者数据,跑出来发现的边界,W3 一边跑一边修

| 真实 case | 临床问题 | PAC 处理 |
|---|---|---|
| 季根财(77 岁老人) | 全口拔得差不多,诊断后被拔的牙仍然在召回 → 客服会打扰 | ⑤c 闸:同牙位有拔牙 actual → 整条信号排除,**他从召回池消失** |
| 林菲菲(已预约正畸) | 已经预约了正畸方案沟通,但仍然在 K07 召回列表里 | ⑤d 闸:诊断后有"正畸"主诉的预约 → 视为已进入治疗链,**不重复召回** |
| 杨明昊(K04 做了部分牙髓切断术) | 临床上算完成治疗(VPT)但被误判"未做根管" | 加 pulpotomy 为正畸合法终末术式,**链直接判闭环** |
| 范萍莉(实际有 6 次种植) | host 字段叫"简单种植术",PAC 字典原来没收 → 看不到 | 字典补 100+ 高频术式,**真种过的患者不再误报** |
| 罗国标(14/15 已拔已种) | 旧的召回列表还有 K04 根管召回 | DW 数据流转后自动 supersede,**SQL 算 ⑤c 不再召** |

**业务方价值**:这些都是"如果不上真实数据永远发现不了的 bug",W3 跑通真实数据 = PAC 算法在临床上真正可信。

---

## Page 4 · 里程碑预告(W4 → W6)

### ▎W4 末(下次报告)· 试点对接启动 + DW 日增量自动跑

```
🎯 给管委会看
  1. DW 增量管道日级运行 — 今天的真实数据,明天早晨 PAC 自动可见
  2. 1 家试点诊所的真实召回名单(数据规模 ×N)+ 主管/客服角色权限分离
  3. 召回准度跟踪指标(本周召了多少 / 重复了多少 / 排除了多少)
  4. 5i5ya 前端联系人 / iframe 嵌入方案最终确认

🎯 需要资源到位
  - DW 团队启动每日全量刷新(明天预定)
  - 5i5ya 前端联系人(2 小时贴 iframe)
  - 试点诊所联系人确认(1 家先行)
```

### ▎W5 末 · 客服工作台正式嵌入 5i5ya + 联调

```
🎯 给管委会看
  - 客服在 5i5ya 自己界面里看 PAC 召回任务(单点登录,无感跳转)
  - 3-5 名客服真实使用,打第一批电话,实际回写结果
  - 客服反馈"算得准不准 / 顺不顺手 / 话术地不地道"
```

### ▎W6 末 ⭐ · 1 家试点诊所端到端演示

```
🎯 给管委会看
  - 累计召回 N 单 / 触达 M 单 / 成功转化 K 单
  - 转化患者带来的实际营收(对照基线)
  - 主管 dashboard:团队执行效果可视化
  - 业务方最终 GO / NO-GO 决策依据
```

---

## Page 5 · 风险 + 依赖

### ▎本周新发现 / 升级的风险

| # | 风险 | 等级 | 现状 | 求 CTO |
|---|---|---|---|---|
| 1 | **DW 数据新鲜度** | 🟢 已收敛 | 当前 DW 数据滞后 6 天;PAC 这边的增量管道已就绪,等明天 DW 启动日刷新 | 跟 DW 团队确认"明天起每日全量刷新"按时上 |
| 2 | **5i5ya 前端联系人** | 🟡 中 | W5 启动前必到位 | 本周内指定联系人 |
| 3 | **试点诊所联系人** | 🟡 中 | W4 末选 1 家先行 | 业务方建议选 |
| 4 | **召回准度业务方校准** | 🟢 已规避 | W3 跑真实数据已发现 5 类边界并修复(见 Page 3) | 持续 — W4 加场景化抽样审查 |
| 5 | **持续维护字典 / scenario** | 🟢 已规避 | 新增 host 术式 / 新临床场景按需 PR,流程顺畅 | 无 |

### ▎不报喜不报忧(W3 实际遇到的问题 + 怎么解的)

| 问题 | 现象 | 处理 |
|---|---|---|
| host 数据有隐藏 upsert 行为 | 同一行预约从"已约"到"已到诊"会被 DW 直接覆盖 | PAC 用 `updated_date` 做幂等键,host 每次 UPDATE 当新事件处理(版本流) |
| 真实临床有"姑息治疗"边界 | 部分牙髓切断术算不算"治完了"? | 引入"终末术式"概念,临床合法终末算闭环;字典持续扩 |
| 老人全口拔牙工作流 | 诊断后被拔的牙还在召回 → 骚扰 | ⑤c 同牙位 surgical 排除 |
| 已进入治疗链的患者还在新链召回 | 林菲菲预约了正畸还在召 | ⑤d 同口径排除 — chain 跟 SQL 完全对齐 |
| Palmer 乳牙记号(1A/1D等)在算法里互相误匹配 | 5 颗乳牙被当成 1 颗 | 牙位规范化升级,儿童 case 也精准 |

### ▎资源依赖矩阵

```
W3 ✅:1 人 + AI 全部完成(没借力)
W4   :PAC 1 人 + DW 1 人(启动日刷新) + 5i5ya 1 人(2 小时贴 iframe)(轻借力)
W5   :PAC 1 人 + 试点 1 家客服 3-5 人 (半天联调)(中借力)
W6   :PAC 1 人 + 客服培训 1 人 + 试点店长配合(重借力)
```

---

## ▎下一份报告(W4 末)预告

**承诺给管委会看**:
1. DW 日级增量自动跑(今天的真实数据,明天可见)
2. 1 家试点诊所的真实召回列表(数据规模 ×N) + 角色权限分离
3. 5i5ya iframe 嵌入方案最终确认
4. 召回准度跟踪指标(召回/排除/重复)

**汇报形式**:沿用"一页 Demo + 业务语言"风格,继续 Demo over Memo。

---

## ▎附件(留参考)

| 附件 | 内容 |
|---|---|
| algorithm/canonical-fact-layer.md | 数据规范化层 v2(9 道闸 + Layer A.5 transforms) |
| algorithm/treatment-chain-5-stages.md | 5 阶段治疗链模型(W3 末确立) |
| algorithm/potential-treatment-recall.md | 潜在新链召回算法(5 子场景 + 4 道排除闸) |
| dw-data-source-issues.md | 真实数据踩坑 + 字段语义勘误记录 |

---

> **核心信号**:真实数据真的跑通了 + W4 提前到位 + 边界案例边跑边修 + 下次见就是试点起步
