Commit c479d07e by luoqi

refactor(ai-script): 删 teen/elder skill(归 2 分支)+ 页面 demo 同步 4 段

- 删 population/teen(14-17)/elder(65+):你的提示词是 2 分支(儿童≤12/成人≥13),
  二者都落在"成人",且正文还是旧 5 段 → 删之归并;老年/青少年沟通微调并入 adult skill,
  年龄适应性细节已由 script-facts ageFit(青年/中年/老年)注入,不丢东西
- 页面:script-viewer 本就是通用渲染(sections.map by label/markdown)→ 自动适配新 4 段;
  mock-data demo 段同步成 4 模块(开场白/告知漏诊项目/复查建议/结束回访语)短句版
- (诊断 skill 里几处 population-elder/teen 是注释性文字提及,无害,低优先后清)

web TS 0 + service TS 0 + build 通过。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
parent d2a02f0f
......@@ -46,3 +46,8 @@ professional(专业稳重);熟客可 warm;急性场景(K04 急性/K09 颌骨等)
## 节奏
成年人耐心有限,短句清晰、主动给时间选择;不冗长寒暄。
## 年龄微调(并入,原 teen/elder skill 已去)
- 青少年(13-17):可对患者本人沟通,但**重大决策、预约要带上家长**,语气更亲和。
- 老年(≥60):**语速放慢、关键信息可复述确认**;主动提"可以和家人商量""家人陪同来更方便";禁直接报年龄。
- 年龄适应性细节已由 user prompt「程序已算好的事实·年龄适应性」按档给出,融入关怀即可。
---
name: population-elder
description: 患者年龄 65 岁以上老年场景。慢节奏 / 大字 / 复述确认必带;家属可能参与决策(建议提"是否需要跟家人商量");牙周 / 缺牙高发,口齿沟通可能慢。tone warm 默认。当 patient.age >= 65 时加载。
priority: 100
applies:
ageMin: 65
version: 0.1.0
---
# 老年 (>=65) 沟通包
## 对话对象
- 患者本人,但**家人可能参与决策**
- 大方案(种植 / 多颗治疗 / 手术)默认主动提:"您是不是要跟家里人商量一下?"
- 不假设独居 / 不假设需要陪同(PAC 无字段);**保守 + 尊重**
## 称呼模式
- ✅ "X 先生" / "X 女士" 不变(尊重而非长辈化的"X 阿姨/叔叔",除非诊所政策明确)
- ❌ 不用"老人家""大爷大妈"(显冒犯)
## tone 默认
- **warm**(温和,语速明显放慢)— 默认
- ❌ 不能切 urgent(让老人焦虑)
## 沟通节奏(老年特化关键)
- **每句话稍短**,避免一口气讲长串信息
- **关键信息复述一次**:"我再跟您确认一下,X 月 X 号上午,对吗"
- **关键名词补一句解释**:"做牙周治疗,就是清理牙龈下面的牙石,跟洗牙类似但更深入"
- **听不清主动应对**:不催促,愿意重复;"没事您慢慢说" / "我再说一遍您听"
- **时间选项尽量** **白天 + 工作日**(老人晚上出门不便)
- ✅ "上午 10 点左右"(老人喜欢)
- ❌ "晚上 8 点"(强烈不建议默认)
## 临床场景特点(老年高发)
- **K08 缺牙**:老年极高发,本 skill + diagnosis-K08 协同,强调"咀嚼力关系到吃饭吃得下↔身体健康"
- **K05 牙周**:老年高发,本 skill + K05 协同,强调"早治才能保住自己的牙"
- 多基础病(无字段假设):**不主动问、不主动建议**,只在患者主动提时回应"是的,有基础病的话医生面诊时会综合评估方案"
## opening 段增量
- 自报家门**完整**(老人对陌生电话警惕):"您好,我是 X 诊所(完整诊所名)的客服,我姓 X(可以编个 default 姓 — ⚠️ 不,客服自己姓不能编;改为"我们诊所客服")"
- ⭐ 正确:"X 先生您好,这里是 X 诊所,我是诊所的客服,主要是想跟您聊聊上次到店医生发现的情况"
- 给老人**主动权**:"您现在方便讲两句吗?不方便我们可以约个时间再回您"
## followup 段增量
### 关怀向引诊断
- "那次 X 医生检查时,提到您 X 牙的情况;我们这边想跟您约个时间回来看看"
- 自然提家属:"您是不是要跟家里人**商量一下时间**?方便的话可以让家人陪您来"
### 大方案给方向不细节
- 老年人需要消化时间,**不要在电话里讲完整方案**;留 hook:"具体什么方案合适,您来面诊医生跟您讲清楚,您也可以带家人一起来听"
## 异议增量(老年特化)
- **"我都这岁数了,无所谓"** → 不接 framing;"您能吃饭吃得下,**身体才好**;牙的事情真不能凑合;您来听一下医生怎么说,不做也没关系"
- **"我儿子(女儿)不在身边"** → 共情;"那您方便联系上家人后,告诉他/她一声,看哪天能来陪您?我们这边帮您留好时间"
- **"听说做这个老人不安全"** → "现在的技术很成熟,**医生面诊时会**评估您的身体情况能不能做,做不了医生不会勉强;先看一下不亏"
- **"我家人说让我先观察"** → 尊重;"好的,您和家人商量好任何时候告诉我们都行;**身体感觉不舒服**随时来"
- **"我听不清楚 / 您说慢一点"** → 立刻减慢;"好的我说慢一些"(此条由 LLM tone 控制即可,不需要枚举所有变体)
## 回写要点增量
- 同意约 → 「成功约新预约」+ 标注"老年 + 询家属同行"
- 家人未确定 → 「考虑中,3-5 天家人沟通后回复」
- 拒绝 → 「明确拒绝」+ 标注"建议下次复查/体检季再回访"
- 沟通障碍(听不清/反复跑题) → 「需要重新沟通」+ 标注"建议家属代沟通"
## ⚠️ 老年人特别禁忌
-**不能逼问**("您今天能不能定下来" — 老人需要消化)
-**不能制造紧迫感**("再不来就严重了" — 老人本就焦虑健康)
-**不能跨过家属直接定方案**("您来就行,不用跟家人说" — 不合伦理)
---
name: population-teen
description: 患者年龄 14-17 岁青少年场景。半自主决策,家长同决策但患者本人有发言权。正畸黄金窗末段、运动牙外伤高发。tone 偏轻松不刻意亲昵,沟通对象优先患者本人,价格 / 大方案 cc 家长。当 patient.age 在 14-17 时加载。
priority: 100
applies:
ageMin: 14
ageMax: 17
version: 0.1.0
---
# 青少年 (14-17) 沟通包
## 对话对象
- **优先接通患者本人**,半自主沟通日常 / 复查类事项
- **大方案(种植 / 正畸 / 多颗治疗)必须 cc 家长**,患者表态后跟进:"那这个您打算跟爸妈商量一下吗?"
- 监护人电话如有(目前 PAC 无字段)优先用监护人;否则患者本人 → 转家长
## 称呼模式
- ✅ 直接姓 + 名("张 XX 您好" — 比"先生/女士"自然)
- ✅ 性别明确可叫"小张 / 张同学"
- ❌ 不用"亲""宝"
- ❌ 不用"小朋友"(已显幼态,青少年抵触)
## tone 默认
**warm**(温和)但**不刻意亲昵**;偶尔可稍轻松("您最近学业紧张吗")— **避免油腻 / 自来熟**
## 临床场景特点
- **K07 正畸**:14-17 是末段黄金窗(早一点更轻松,但仍可做);如 reason 含 K07,加强"现在做时间合适"
- **K01 阻生牙(智齿)**:18 岁前不一定要拔,医生评估;不主动建议手术
- **运动牙外伤**:青少年高发场景(K00/K03),通常急性来过 → 现在召回看后续修复 / 复查
- **K08 缺牙**:罕见(除非外伤),按外伤后修复方向沟通,**多为临时修复**(种植要骨发育完成,通常 18+)
## opening 段增量
- 直入主题:"上次 X 医生检查时提到..."
- 加学业共情:"我知道您可能学业比较紧,所以提前给您约个方便的时间"(只在 reason 反映过来过或有上次到诊)
## followup 段增量
- 时间倾向:**周末 / 假期 / 放学后**
- 强调便利性:"我们诊所周末也开,不耽误您上学"
- 大方案铺垫:"这个方案具体的医生面诊会跟您讲,**也建议家长一起来听一下**"
## 异议增量
- **"我有自习 / 补课"** → 共情;"那您方便周末吗?或者您看哪天放学后比较空"
- **"我跟我妈商量下"** → 鼓励;"好的,您和家长商量好了告诉我们,这边帮您把时间预留"
- **"现在不想做"** → 不强迫;"理解,您方便的时候随时告诉我们 / 我们到时候再跟进"
- **"贵吗"** → 不报价;"具体方案的费用要看医生面诊后的明细;您和家长一起来看一下方案"
## 回写要点
- 同意约 → 「成功约新预约」+ 标注"青少年,大方案 cc 家长"
- 患者同意 + 待家长 → 「考虑中,3-5 天家长跟进」
- 拒绝 → 「明确拒绝」+ 原因
......@@ -401,58 +401,38 @@ export const mockScript = {
sections: [
{
id: 'opening',
label: '开场',
label: '开场',
durationHint: '30 秒',
markdown: `**目的**:亲切自然地建立通话,以"牙周维护回访"作为切入,避免一上来就推销。
> "您好,请问是张先生吗?我是望京旗舰店的客服小刘。今天给您打电话,一是您下次牙周维护快到了(7 月),想跟您提前确认时间;二是看到 12 月份李医生给您拍过 CBCT,有点情况想跟您同步一下,您现在方便聊几分钟吗?"
**注意**
- 称呼用"张先生",不用全名
- 工作日 19:00 后是患者偏好窗口`,
markdown: `• 张先生您好,我是望京旗舰店的客服
• 李医生特意交代我来关注您的后续情况
• 自从去年12月检查后,您口腔情况怎么样?`,
},
{
id: 'followup',
label: '切入话题',
durationHint: '1–2 分钟',
markdown: `**目的**:把 5 个月前的诊断结论,自然回到"该启动了"。
> "上次您拍的 CBCT,李医生看了片子,左下 36 那颗缺了挺久了,旁边的牙有点往那边倒。如果再拖,后面想种植可能需要先做正畸或者补骨,流程更长成本更高。"
> "李医生当时建议 6 个月内安排种植,现在差不多到时间了。我们想约您本周来做个种植面诊,**这次只是评估和确认方案,不做任何操作,大概 30 分钟**,您看周几方便?"
**异议预判**
- "再等等" → 强调时间窗(再拖可能需正畸/补骨)
- "费用高" → 引导先面诊,方案出来后再算费用
- "在外院看过" → 提交「已在外院治疗」并关闭本次召回`,
id: 'informMissed',
label: '告知漏诊项目',
durationHint: '1 分钟',
markdown: `• 上次来检查的时候,李医生注意到您左下大牙有缺失牙的情况
• 缺牙的地方如果不处理,旁边的牙齿可能会慢慢歪掉,时间一长吃东西也不太舒服
• 趁现在牙槽骨条件还不错,早点处理效果更好
• 这个情况,李医生也特别嘱咐我们提醒您一下`,
},
{
id: 'objection',
label: '异议处理',
durationHint: '按需',
markdown: `### A. "我再考虑考虑"
> "完全理解,种植是个大决定。这样,我先帮您把李医生的面诊时间留出来,**周四晚上 7 点或者周六上午**,您选一个?到现场看了方案再决定也不晚。"
### B. "价格太贵"
> "种植的具体价格要看骨量和品牌,李医生面诊后会给您 2-3 个方案,从经济款到进口品牌都有。您先来评估,价格不合适咱们再聊别的修复方式,比如桥体。"
### C. "我牙周还在维护,等做完再说"
> "牙周维护和种植不冲突的,种植反而需要牙周稳定才能做,您现在正好是窗口期。"
### D. "已经在别的医院看了"
> "好的张先生,那我这边帮您把这条记录关一下,您牙周这块还是按原来的周期回来就行,**祝您一切顺利**。"
> → 提交结果选「已在外院治疗」`,
id: 'reviewAdvice',
label: '复查建议',
durationHint: '1 分钟',
markdown: `• 如果方便的话,您看最近有没有时间来院复查一下
• 让李医生帮您再仔细看看
• 复查检查约30分钟,了解缺失牙位目前状况
• 李医生【时间段1】和【时间段2】这两个时间段有空,您看哪个时间比较方便?`,
},
{
id: 'close',
label: '结束 · 信息确认',
id: 'closing',
label: '结束回访语',
durationHint: '30 秒',
markdown: `> "好的张先生,那我帮您约 **周四(5/21)晚 7:00 李医生**,到时候提前 10 分钟到前台就行。我会给您发个企微提醒,您注意接收。还有别的需要么?"
**回写要点**
- 成功约上面诊 → 提交结果选「成功转化为新预约」,填预约时间 + 医生
- 同意但未定日期 → 选「约定下次回访」,填预计时间
- 考虑中 → 选「考虑中近期再跟进」,7 天后系统提醒二次跟进`,
markdown: `【预约成功】
• 好的,那我们【具体预约时间】见,祝您生活愉快
【预约不成功】
• 没关系,我下周再联系您,祝您生活愉快`,
},
] as ScriptSection[],
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment