# ═══════════════════════════════════════════════════════════
# 共享字典 · 诊断中文术语 → ICD K 码(enum 精确 + keyword 含词兜底)
#
# 【临床通用层】口腔标准术语与 K 码的对应是医学知识,不随宿主变 —— 所有宿主经
# `dict_includes` 引入本文件;宿主用词怪癖/判例(如 jvs-dw "牙齿缺少"→K08)留各宿主
# yaml 本地(本地同 key 覆盖共享,本地 keyword 规则优先于共享)。
#
# ⚠️ 治理纪律:
#   - 改本文件影响【所有】引入它的宿主 → 改完对受影响宿主跑 `pnpm reparse` 重衍生;
#   - 新词归层判断:标准临床术语 → 这里;某宿主的用词判例/价格表名 → 该宿主 yaml;
#   - `_default` 禁止出现在本文件(loader 强校验),由宿主本地声明。
# 源出处:抽取自 jvs-dw diagnosis.yaml(2026-07,含全部临床注释与故意不映射决策)。
# ═══════════════════════════════════════════════════════════
enum_mapping:
  code:
    # K 大类直通
    K00: K00
    K01: K01
    K02: K02
    K03: K03
    K04: K04
    K05: K05
    K06: K06
    K07: K07
    K08: K08
    K09: K09
    K10: K10
    K11: K11
    K12: K12
    K13: K13
    K14: K14
    # ── 中文术语 → K 码(高置信草案,trim 已去尾部标点)──
    # K05 牙周 / 牙龈
    慢性牙龈炎: K05
    牙龈炎: K05
    慢性龈炎: K05
    龈炎: K05
    菌斑性龈炎: K05
    菌斑性牙龈炎: K05               # W4 末补,DW top 200 漏配("牙龈"vs"龈"长写)
    慢性牙周炎: K05
    牙周炎: K05
    重度牙周炎: K05
    中度牙周炎: K05
    侵袭性牙周炎: K05
    # K02 龋
    龋: K02
    龋齿: K02
    龋坏: K02
    浅龋: K02
    中龋: K02
    深龋: K02
    继发龋: K02
    # ⚠️ 深窝沟 故意不映射(落 _default → code=null,不召、病历照原文显示):
    #    它是龋【风险】(窝沟深易蛀,无龋洞),对症是窝沟封闭(preventive 预防),
    #    不属于"应治未治(龋洞没补)"召回范畴。归任何疾病码都会误召(预防治疗满足不了"已治"闸)。
    # K04 牙髓 / 根尖周
    牙髓炎: K04
    慢性牙髓炎: K04
    急性牙髓炎: K04
    根尖周炎: K04
    慢性根尖周炎: K04
    慢性根尖炎: K04
    急性根尖周炎: K04
    牙髓坏死: K04
    # K03 牙体硬组织其他(楔缺 / 缺损 / 残根冠)
    楔状缺损: K03
    楔形缺损: K03
    楔缺: K03
    牙体缺损: K03
    残根: K03
    残冠: K03
    # K01 阻生 / 埋伏
    阻生齿: K01
    阻生牙: K01
    阻生: K01
    埋伏牙: K01
    # K07 牙颌面异常 / 错颌
    错颌畸形: K07
    牙列不齐: K07
    牙列拥挤: K07
    安氏I类错颌畸形: K07
    安氏II类错颌畸形: K07
    安氏III类错颌畸形: K07
    # K08 缺牙 / 缺失
    牙缺失: K08
    缺失: K08
    缺失牙: K08
    牙列缺损: K08
    牙列缺失: K08
    后天性牙齿缺失: K08
    全口牙列缺失: K08
    上颌牙列缺损: K08
    下颌牙列缺损: K08
    废用牙: K08             # 临床功能性缺失
    无功能牙: K08

    # ── W3 末扩 K00-K08 全覆盖(源 DW 数据驱动,见 dw-data-source-issues #15)──

    # K00 牙发育 / 萌出障碍 — 只收"真病种",不收"乳牙列 / 混合牙列"等正常生理态(走 _default 不入诊断)
    乳牙滞留: K00
    滞留乳牙: K00
    乳牙早失: K00
    乳牙松动: K00            # 替换期非自然脱落
    替换期乳牙松动: K00
    松动乳牙: K00
    多生牙: K00
    额外牙: K00
    埋伏多生牙: K00
    根方多生牙: K00
    间多生牙: K00
    腭侧多生牙: K00
    前牙区埋伏多生牙: K00
    先天缺失: K00
    先天缺牙: K00
    釉质发育不全: K00        # = K00.2 釉质形成
    釉质发育不良: K00
    牙釉质发育不全: K00
    牙釉质发育不良: K00
    氟斑牙: K00              # K00.3 牙齿氟中毒着色
    四环素牙: K00            # K00.3 内源性着色
    迟萌: K00                # K00.6 萌出障碍
    恒牙迟萌: K00
    萌出迟缓: K00
    萌出不全: K00
    异位萌出: K00
    萌出间隙不足: K00
    部分萌出: K00
    未萌出: K00
    牙萌出障碍: K00
    牙萌出延迟: K00

    # K01 阻生 / 埋伏(补 host 真实用词)
    智齿: K01                # host 大量直接录"智齿"作为诊断,实际是阻生齿
    阻生智齿: K01
    近中阻生: K01
    垂直位阻生齿: K01
    垂直位智齿: K01
    异位阻生: K01

    # K03 牙体硬组织其他(补复合 / 不良修复体 / 牙齿磨耗)
    牙齿楔状缺损: K03
    牙体磨耗: K03
    牙磨耗: K03
    重度磨耗: K03
    不良修复体: K03          # 已存在 host 数据,主要走 restorative / prosthodontic 重做
    不良充填体: K03
    死髓牙: K03              # 牙体已失活,临床走 prosthodontic 桩冠 / surgical 拔除
    修复体脱落: K03
    充填脱落: K03
    冠折: K03
    简单冠折: K03
    复杂冠折: K03
    根折: K03
    牙外伤: K03
    # ⚠️ 脱矿 / 牙本质敏感 故意不映射(落 _default → code=null):
    #    脱矿=早期龋【风险】(对症涂氟,预防)、牙本质敏感=【症状】(对症脱敏,非修复缺损)。
    #    跟已 null 的"牙釉质脱矿/釉质脱矿"口径统一,均不作"应治未治"召回信号。

    # K05 牙周 / 牙龈(补 host 真实高频用词)
    牙周病: K05
    全口慢性牙周炎: K05
    萌出性龈炎: K05          # 实际牙龈炎,临床路径同 K05
    # ⚠️ 牙菌斑堆积 不映射(卫生/菌斑【风险】,对症洁治/宣教=预防);菌斑性龈炎是真龈炎,保留 K05

    # K06 牙龈 / 牙槽嵴疾患(原本走 _default → code=null,W3 末归 K06)
    牙周脓肿: K06
    慢性牙周脓肿: K06
    急性牙周脓肿: K06
    冠周炎: K06              # K05.2 / K06 边缘,临床归 K06 (智齿冠周特化)
    智齿冠周炎: K06
    急性冠周炎: K06
    慢性冠周炎: K06
    牙龈萎缩: K06
    龈萎缩: K06
    牙龈增生: K06
    龈增生: K06
    药物性牙龈增生: K06
    牙龈瘤: K06
    龈瘤: K06
    龈息肉: K06
    根分叉病变: K06          # K05.x 并发,但临床上独立标
    重度根分叉病变: K06
    # ⚠️ 食物嵌塞 不映射(【症状】,对症调牙合/牙周处置,非"应治未治"病灶)→ 落 _default code=null
    附着丧失: K06
    附着龈缺如: K06
    牙槽骨缺损: K06
    牙槽骨骨尖: K06
    牙槽嵴: K06
    唇系带附着低: K06
    唇系带附着过低: K06
    唇系带附丽过低: K06
    唇系带附着异常: K06
    上唇系带附着低: K06
    上唇系带附着异常: K06
    舌系带过短: K06
    舌系带短: K06
    舌系带附着低: K06
    舌系带附着异常: K06
    舌系带附着过前: K06
    系带异常: K06

    # K09 牙发生囊肿(根尖囊肿/含牙囊肿/颌骨囊肿)— DW 真实数据 ~170 条,临床必摘除
    根尖囊肿: K09
    根尖周囊肿: K09
    慢性根尖囊肿: K09
    含牙囊肿: K09
    颌骨囊肿: K09
    上颌骨囊肿: K09
    下颌骨囊肿: K09
    牙源性囊肿: K09

    # K07 错颌畸形(补"合"字版本 + 安氏分类异写)
    错合畸形: K07            # host 用"合"而非"颌"也很多
    错合畸形安氏Ⅰ类: K07
    错合畸形安氏Ⅱ类: K07
    错合畸形安氏Ⅲ类: K07
    错合畸形安氏II类: K07    # 阿拉伯数字版本
    错合畸形安氏III类: K07
    安氏I类: K07
    安氏II类: K07
    安氏III类: K07
    安氏Ⅰ类: K07
    安氏Ⅱ类: K07
    安氏Ⅲ类: K07
    前牙反合: K07
    前牙反颌: K07
    深覆合: K07
    深覆颌: K07
    牙位置异常: K07
    骨性I类: K07
    骨性II类: K07
    骨性III类: K07
    骨性Ⅰ类: K07
    骨性Ⅱ类: K07
    骨性Ⅲ类: K07
# ─────────────────────────────────────────────────────────
# 含词兜底 —— 精确 enum 未命中时,按序含词匹配 → K 码。
# 治本长尾:诊断常是复合/变体("埋伏阻生;"、"前倾位阻生,颌面龋"、"牙齿缺失"、"窝沟龋"…),
# 精确白名单永远漏(沈建锋 28/38 阻生智齿 → null → 漏召)。引擎按 canonicalKey 通用。
# 顺序=优先级:阻生/缺失/牙髓 在 龋 之前 → 复合"阻生+龋"判 K01(智齿该评估拔除,非补)。
# ⚠️ 龋:any=[龋] + none=[风险,可疑,脱矿] —— 排除"高龋风险/可疑龋"(=风险,非龋洞,同深窝沟不召);
#    深窝沟/食物嵌塞/牙本质敏感 不含上述关键词 → 仍落 null,故意不召(无回归)。
keyword_mapping:
  code:
    - { value: K08, any: [缺失, 缺牙, 牙列缺损] }
    - { value: K01, any: [阻生, 埋伏, 智齿] }
    - { value: K09, any: [颌骨囊肿, 含牙囊肿, 根尖囊肿] }
    - { value: K04, any: [牙髓炎, 牙髓坏死, 根尖周, 根尖炎, 牙髓] }
    - { value: K03, any: [楔状, 残根, 残冠, 隐裂, 牙体缺损, 牙折] }
    - { value: K05, any: [牙周炎, 龈炎, 牙周袋] }
    - { value: K02, any: [龋], none: [风险, 可疑, 脱矿] }
    # 牙磨耗 → 牙体损伤 K03(过度/中度/重度/牙齿磨耗… 一次收全 host 变体,补 enum 精确词漏的)。
    #   放 K02/K05 之后:复合名"龋+磨耗""磨耗+牙周炎"让位给更主要的龋/牙周。
    #   none 排:生理性/轻度磨耗(正常生理,无需修复)+ 活动义齿/人工牙磨耗(假牙磨损=修复体重做,非牙体)。
    - { value: K03, any: [磨耗], none: [生理, 轻度, 义齿, 人工牙] }
    # K07 错颌/正畸族 含词兜底 —— 精确白名单总漏变体(错牙合/开颌/反颌/深覆/间隙/拥挤/安氏…)。
    # 放最后:K08(缺牙间隙)/K09(颌骨囊肿)等已在前面先吃;none 再兜一层防"缺牙间隙"误判正畸。
    # 注:反合/开合/对刃合 = 反牙合/开牙合 的"合"简写(host 高频:反合 120+),crossbite/openbite 都是正畸。
    - { value: K07, any: [错颌, 错合, 错牙合, 锁颌, 偏颌, 开颌, 反颌, 开牙合, 反牙合, 反合, 开合, 对刃合, 深覆, 龅, 前突, 拥挤, 安氏, 间隙], none: [缺牙, 缺失, 牙列缺损, 嵌塞] }
