動作
Feature #390
進行中
SC
ICD Direct-Map 票 A:對照表建置 — 草表產生器 + 1081 列全數定稿(臨床八題定案固化)
Feature #390:
ICD Direct-Map 票 A:對照表建置 — 草表產生器 + 1081 列全數定稿(臨床八題定案固化)
狀態:
New
優先權:
Normal
被分派者:
-
開始日期:
2026-07-30
完成日期:
完成比例:
0%
預估工時:
概述
ICD Direct-Map 票 A:對照表建置 — 草表產生器 + 1081 列全數定稿(臨床八題定案固化)¶
背景¶
Direct-Map 新功能立案(設計:docs/icd10-directmap-design.md,本票一併入庫):
表單「部位+傷情」查表直接出碼(0 秒、確定性),AI 退居掃尾——更快、更準、
AI 不分散注意力。先例:#293 牙齒寫死、#330 B1 點名補漏。
本票為分票計畫的 票 A:對照表建置——整個功能的地基。原則:不手刻,
以離線腳本從 reference/icd10_clean.csv(7.3 萬碼)自動比對產表,特殊部位由
急診醫師臨床拍板,決策固化進腳本(重跑永遠一致、有跡可循)。
變更內容¶
1. backend/scripts/gen_directmap_draft.py(新)— 對照表產生器¶
- 從
BodySvgPaths.tsx抽 125 個軟組織區域(左右側正確拆分)+ 骨骼分段定義 - 單詞邊界關鍵字比對(初版子字串比對誤傷:ear ⊂ forearm、male ⊂ female)
- 圖上用語 → ICD 用語同義層(abdomen→abdominal wall、big toe→great toe、
calf→lower leg、上背表淺→back wall of thorax…) - 皮膚裂傷鎖「laceration without foreign body」整句(否則比中血管/肌肉裂傷碼)
- 無側別區域(胸/背/臀等)強制落 unspecified 碼
- 內建側別稽核:列側別與比中碼側別矛盾即報警(抓出 8 條 bug 後歸零)
2. docs/directmap_draft/ 三張定稿表(1081 列,全數出碼)¶
| 表 | 列數 | 內容 |
|---|---|---|
| soft_draft.csv | 771 | 125 區域 × Abrasion/Laceration/Contusion/Burn×3度/Sprain(關節) |
| skeletal_draft.csv | 267 | 骨/分段 × 側 × 未特定/移位/未移位(fallback 標記完備) |
| joint_spine_draft.csv | 43 | 12 關節脫臼(含雙踝/三踝)+ 脊椎逐節(胸椎 T5 起成對) |
3. 臨床八題定案(2026-07-30 使用者拍板,已固化進腳本)¶
頰/額燒傷→T20.x6 合併碼|胸→T21.x1 胸壁|口腔燒傷→T28.0(不分度)|
眼→T26.0x 眼瞼眼周|骨盆/恥骨燒傷→依性別 T21.x6/x7|臀部→下背及骨盆碼|
恥骨表淺傷→依性別外生殖器碼|臉部子區擦挫→頭部其他部位
4. flag 語意(票 B resolver 依此實作)¶
-
BY_GENDER(12 列):code=男碼、alt1=女碼,依表單性別擇一 -
USE_DISPLACED:變體無碼 → 落移位碼(ICD 慣例:未註明視為移位) -
USE_UNSPECIFIED:分段僅次分類(Colles 家族等)→ 落該段未特定碼 -
NA_DENTAL:牙齒區走既有 #293
5. docs/icd10-directmap-design.md(新)— 完整設計文件¶
15 條決策紀錄(症狀五種→contusion、note 非空交 AI、Burn 程度複選、
關節熱區 12 顆座標已審定、骨分段子選單、子選單關閉=取消(病安)、
脊椎確定性多候選、rollback 雙保險)+ 分票計畫 A–E
驗收標準¶
- 三張表 0 列 NEED_MANUAL(初版 197+105+10 → 迭代修正後歸零)
- 側別稽核 0 矛盾(左列不得比中右碼、無側別列不得比中側別碼)
- 抽驗關鍵列:左耳燒傷=T20.312(非前臂)、前臂裂傷=S51.812(非血管)、
骨盆裂傷=S31.011(非肌肉)、上背挫傷=S20.22x 後胸壁 - ICD 事實查證修正:坐骨=S32.6(非 S32.8)、胸椎 T5 起成對編碼、
ICD 無「未特定掌骨」碼、肘脫臼=ulnohumeral joint
備註¶
-
零 runtime 變更:本票僅離線工具+參考資料+文件,未動任何 API/前端流程
→ smoke test 門檻不適用(維護規約判定);表載入與測試表為票 B 範疇 - 下一步票 B:backend Stage 0 resolver(查表引擎、structured_injuries payload、
AI prompt 修改、ICD_DIRECTMAP flag、表完整性自動化測試)
沒有任何資料可供顯示
動作