王丽芳 TS0M013040 牙42 是残根(医生计划残根拔除术),召回却给出"邀约启动缺失牙 修复(种植/桥/义齿)",分配矩阵也落在「种植治疗」列。 根因:源 ICD 用 K08.3 牙根残留(医学上没标错),std_code 截前 3 位后跟 K08.1 后天缺失挤进同一个 K08。而医生没填 std_code 时按中文名映射本来就落 K03 (全库 97,970 条)—— 填了码的这 932 条反而归错,少数派拉回多数派。 K03 的 categories 含 surgical、目标文案本就写着"残根/残冠 → 充填/嵌体/拔除 修复",POTENTIAL_LABEL_RULES 的 K03 + EXTRACTION_NAME_KEYWORDS → extraction (拔牙治疗)也正等着这批名字。⛔ 带反向闸:复合诊断("牙列缺损,残根"等 325 条)两个病挤在一个 name, 翻 K03 会丢掉缺牙那一半 → 保持 K08。 落点选 reconcileDiagnosisCode 而非 manifest recode:源里同概念已有 3 个码变体 (K08.300x002/K08.302/K08.300),精确匹配必漏;按(K大类+诊断名)判更稳,且共享层 将来对 FRIDAY 同样生效(今天 FRIDAY 无残根诊断,影响面为零)。 源码不丢 —— transaction.rawPayload 原样留着 stdCode。 影响面(生产实测):932 条诊断事实 / 776 位患者 / 149 条在池召回理由, 全部从 implant(种植治疗)列挪到 extraction(拔牙治疗)列,其中 6 条已分配、 会走 staleRows 收尾补 auto_release。上线需 reparse --subject-type=diagnosis。 测试:新增 22 条,全量 1465 条通过;type-check 17 个错为 main 既有,本次引入 0 个。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .claude | Loading commit data... | |
| .design-sync | Loading commit data... | |
| apps | Loading commit data... | |
| clickhouse/config.d | Loading commit data... | |
| deploy | Loading commit data... | |
| docs | Loading commit data... | |
| packages | Loading commit data... | |
| scripts | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .gitlab-ci.yml | Loading commit data... | |
| .npmrc | Loading commit data... | |
| .prettierrc | Loading commit data... | |
| README.md | Loading commit data... | |
| docker-compose.expose.yml | Loading commit data... | |
| docker-compose.managed.yml | Loading commit data... | |
| docker-compose.prod.yml | Loading commit data... | |
| docker-compose.yml | Loading commit data... | |
| eslint.config.mjs | Loading commit data... | |
| liu.cjs | Loading commit data... | |
| package.json | Loading commit data... | |
| pnpm-lock.yaml | Loading commit data... | |
| pnpm-workspace.yaml | Loading commit data... | |
| tsconfig.base.json | Loading commit data... | |
| turbo.json | Loading commit data... |