polish-implies-restoration.spec.ts
4.42 KB
-
fix(召回): 缺失牙位上的裸「抛光」= 修复体在位的证据 —— 牙都拔了,抛的是义齿 · e0a12c44
李钟瑜 TS0M006971 牙31: 2025-03-27 拔除 31 2025-06-26 K08 牙缺失 31 → 活动义齿戴牙 31 ← 真实修复证据 2026-02-12 复诊重记「牙齿缺失 31」+「抛光 31」← 新信号,把上面的戴牙挡在时间门外 当日唯一能过时间门的证据是那条抛光,而它归 preventive —— 不在结构家族 resolver 里 → 判「缺失牙未启动修复」,误召。 31 号牙 2025 年就拔了,牙不存在,抛光的对象只能是那副义齿。这是逻辑蕴含,不是 统计推断;生产实测也印证:裸抛光落在 K08 缺牙位上共 101 个(患者×牙位),94 个 (93.1%)在同一颗牙找得到 prosthodontic/implant 的 actual 治疗,患者级 98.0%。 (当年 REVIEW_IMPLIES_TREATMENT 上线的同口径是 88.2% / 95.2%。) 三条闸,少一条就会静默误销: ① 词形:只收光秃秃一个「抛光」(容尾标点)。生产 36 万条带牙位的含抛光记录里, 绝大多数是「全口龈上洁治,抛光」这类洗牙流程(periodontic,牙位动辄 28 颗)—— 针对天然牙,放行会把洗过牙的患者所有缺牙位一次性解光;其次是「树脂充填…修整 抛光」「试戴全瓷冠…抛光」这类别的治疗里的一个步骤,它们本来就带 restorative/ prosthodontic,本来就解得开。「义齿抛光」同理已是 prosthodontic。真正落单的 只有裸「抛光」→ preventive 这一支(带牙位 2,405 条)。 「抛光,涂氟」刻意不收 —— 涂氟是全牙列预防,针对天然牙。 ② 牙位数 ≤ 6:裸抛光里仍有 56 条挂了 7~32 颗牙,那是洁治语境漏进裸词的。 ③ 只对 K08 开闸(GAP_FLAGS_BY_PRIMARY.polishImpliesRestoration):牙还在时抛光 就是抛天然牙除渍,什么也不蕴含。 时间方向沿用 afterDxFor,与治疗排除同口径。 测试 96 suites / 1602 tests 全绿(新增 1 suite / 38 tests);tsc 0 error。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>luoqi committed