fix(召回): 「种植/正畸/牙周复查」按类目解除对应缺口 —— 复查是修复体在位的证据
宋志宏 TS0M001982 牙46;36;37:三颗种植冠在位、按约复查,却被判"缺失牙未启动
修复"。那次就诊里四处表述都说明修复体存在(诊断「种植术后」/ 本次治疗「种植复查」/
检查所见「种植冠无松动」/ 主诉「种植戴牙术后1年余」),PAC 一处也没接住 ——
唯一带牙位的证据「种植复查」落在 review 类目,而 review 被刻意排除在
STRUCTURAL_RESOLVER_CATEGORIES 之外。
那个排除本身是对的:生产带牙位的 review 共 4.4 万条,「观察」11,165 /
「观察,必要时拔除」928 /「无治疗」623 —— 这些恰恰说明还没治,整类放行会误销。
做法:新增 REVIEW_IMPLIES_TREATMENT(复查词 → 蕴含的治疗类目),
resolvedTeethSql 加一条 UNION 分支,两道闸都不能松:
① 词形闸:必须「治疗词 + 复查/复诊」——「正畸复诊」(在做)vs「正畸会诊」(还在谈)
只差一字,生产各 35 / 103 条;泛指「复查/常规复查/定期复查」刻意不收。
② 类目闸:按 resolverCategoriesFor 过滤 —— 生产实测 19 条候选里 9 条是跨类目
错配(牙周复查去解 K02 龋齿 4 条 / 种植复查去解 K06 牙龈 1 条 /
正畸复查去解 K01 阻生 1 条),必须挡住。
生产验证前提:带牙位「种植复查」覆盖 3,893 个牙位,3,434(88.2%)在同一颗牙上
找得到 implant/prosthodontic 的 actual 治疗,患者级 95.2% —— 蕴含关系成立。
剩下 11.8% 正是本规则要救的(外院种的 / 摄入窗口之前 / 治疗记录漏牙位)。
影响面:窄口径 19 条候选 → 类目闸后实际约 10 条生效。宽口径(subtype 含「复」)
391 条**未采纳** —— 那 372 条差额混着"一颗从没治过的牙上做了常规复查",
误销的代价不对称(少召不报错)。全口场景(K05/K07)实测无一命中,gapWhere 不动。
测试:新增 39 条(词形闸 24 / 类目闸 7 / 表自洽 3 等),全量 1526 条通过;
type-check 17 个错为 main 既有,本次引入 0 个。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Showing
Please
register
or
sign in
to comment