# ═══════════════════════════════════════════════════════════
# 共享字典 · 治疗 category 关键词兜底 —— 【actual(本次已做)语义变体】
# 与 planned 变体(treatment-category-planned-rules.yaml)是有意语义分歧:
#   actual 剥"建议/推荐/考虑/若"从句(那些=本次没做);planned 本就以建议措辞,只剥纯条件词。
# 规则顺序=优先级(首个命中即用);宿主本地规则(若有)自动排在本文件规则之前。
# 源出处:jvs-dw treatment_actual.yaml(含裁决顺序的全部推敲注释)。
# ═══════════════════════════════════════════════════════════
# 关键词分类兜底 —— 精确 enum_mapping 未命中时,按序含词匹配 → 赋 category。
# 治本长尾:treatName 2万+ distinct 精确字典覆盖不全,以前全靠 _default:'' 丢(→ 误召)。
# 引擎算法(切段 / 含词 / 按序裁决 / 剥离从句)host 无关;此处规则词 = 本 host 术式特征(host 差异)。
# 只覆盖【真治疗】10 大类;流程/无操作(观察/复诊/无治疗)不在此 → 落 _default 丢弃
# (review 噪音已由 transforms.route_by_pattern 上游分流,这里不重复)。
# 顺序 = 优先级:主操作/高价值在前 → 关键词赢复合(种植>冠、根管>冠、操作词>人群词)。
# ⚠️ 安全:只接管精确未命中的长尾,精确命中零影响;错配最坏退化=_default(现状),无回归。
keyword_mapping:
  category:
    # ⚠️ "二期" 必须限定到「种植二期」:裸"二期"会误吞"二期隐形矫正"(正畸)等 → 误判 implant。
    #    种植语境的二期都带"种植"(种植二期);ortho 的"二期隐形矫正/二期矫正"靠下面 orthodontic 兜住。
    - { value: implant,       any: [种植, 即拔即种, 植体, 种植二期] }
    - { value: endodontic,    any: [根管, RCT, 牙髓, 开髓, 根备, 根充, 盖髓, 摘髓, 根尖] }
    - { value: orthodontic,   any: [正畸, 矫治, 矫正, 托槽, 保持器, 粘附件, 隐适美, 隐形矫, 扩弓, 错颌, 错合] }
    - { value: cosmetic,      any: [贴面, 漂白, 美白] }
    # 修复/备牙/取模:收 C.10 治疗痕迹(修复后/修复术后/全瓷桥修复后/备牙后/重新取模后)。
    #   排在 implant/endo/ortho/cosmetic 之后 → 种植修复→implant、根管…修复→endo 仍被前面抢走。
    #   "嵌体修复"等 restorative 已由上方精确 enum 先命中,不受裸"修复"影响。
    - { value: prosthodontic, any: [冠, 桥, 义齿, 修复体, 修复, 备牙, 取模, 桩核, 桩冠, 戴牙, 全瓷, 烤瓷, 重新粘接] }
    # ⭐ 明确充填动作(充填/去腐/备洞/嵌体/垫底/补牙)压过 preventive:
    #   "去腐,备洞,...树脂充填,窝沟封闭"(dispose 散文)是补牙(restorative),不能因含"窝沟封闭"
    #   被误判 preventive → 非 resolver → 误召(马思煦@46)。注:"开髓去腐"等根管语境已被上方 endodontic 先收。
    - { value: restorative,   any: [充填, 补牙, 去腐, 备洞, 嵌体, 垫底] }
    # 纯封闭(无充填动作)→ preventive:玻璃离子常作封闭剂材料("玻璃离子窝沟封闭"≠充填)
    - { value: preventive,    any: [窝沟封闭, 封闭剂, 点隙封闭] }
    # 材料弱词:放 preventive 后 —— "玻璃离子窝沟封闭" 已被上面 preventive 收;裸"树脂/玻璃离子"→ restorative
    - { value: restorative,   any: [树脂, 玻璃离子] }
    # 牙周去裸"洁牙"(避开自由文本"清洁牙面"误命中);洁牙/全口洁牙等精确词由上方 enum_mapping 兜
    - { value: periodontic,   any: [洁治, 洗牙, 龈上, 龈下, 刮治, 牙周, 喷砂, 细洁] }
    - { value: preventive,    any: [涂氟, 防龋, OHI, 口腔卫生宣教] }
    - { value: surgical,      any: [拔除, 拔牙, 切开, 翻瓣, 切除, 系带, 脓肿, 囊肿, 植骨] }
    - { value: pediatric,     any: [乳牙, 儿童, 年轻恒牙] }

# actual 语义:这些词开头的从句 = 本次没做(条件/未来/建议)→ 切段丢弃后再匹配。
# 例 "充填,必要时根管治疗" → 丢"必要时根管治疗" → "充填" → restorative(不误判成 endodontic)。
keyword_strip_clauses: [必要时, 如需, 择期, 建议, 推荐, 考虑, 若]   # 若…=条件从句(若牙面脱矿,建议充填),非本次实际治疗
