專案

一般

配置概況

動作

Feature #395

進行中
SC

Direct-Map 票 C/D:前端接上查表出碼 — 燒傷程度、Sprain、骨折分段子選單(v0.6.0)

Feature #395: Direct-Map 票 C/D:前端接上查表出碼 — 燒傷程度、Sprain、骨折分段子選單(v0.6.0)

是由 Sashiba Chou約 24 小時 前加入.

狀態:
New
優先權:
Normal
被分派者:
-
開始日期:
2026-08-01
完成日期:
完成比例:

0%

預估工時:

概述

Direct-Map 票 C/D:前端接上查表出碼 — 燒傷程度、Sprain、骨折分段子選單(v0.6.0)

背景

#393 完成 backend Stage 0 resolver 後,前端尚未送 structured_injuries,
網頁上點人體圖仍走純 AI 老路。本票把整條鏈路接通:
醫師在圖上點選 → 前端送結構化傷情 → 後端查表 → 檢視頁出現「確定」碼(免等 AI)。

同時補上兩個「出碼必要」的表單維度:燒傷程度(ICD T2x 第 4 碼)與骨折分段
(ICD 原生分類)。設計:docs/icd10-directmap-design.md §5(本票同步定稿)。

變更內容

1. frontend/src/lib/structured-injuries.ts(新)— payload 產生器

  • buildStructuredInjuries(values):表單傷情 → backend structured_injuries
  • 軟組織 → kind=soft;骨骼 → kind=skeletal(帶 segment)
  • 脊椎子區(cervical_spine…)→ kind=spine,partId 轉 cervical/thoracic/lumbar
  • joint_ 前綴 → kind=joint(關節熱區預留)
  • 燒傷標籤正規化:2nd degree burnBurn-2nd(對照表用語)
  • formSex(values):未填則 undefined → BY_GENDER 列男女兩碼並陳供醫師勾選
  • 三處送出點皆已接:ReviewTab「AI 擷取」、軟組織圖快查(只送 soft)、
    骨骼圖快查(只送非 soft)
  • 此模組只做格式轉換,不含任何編碼判斷(出碼規則全在 backend 對照表)

2. 軟組織圖(票 C)

  • Burn 點下展開程度子選單(1/2/3 度);keepOpen 讓對話框留著,
    同部位可複選多個程度(= 多筆記錄 = 多個碼)
  • 關節部位(isJointPart)新增 Sprain 按鈕(與 ROM 同一顯示條件)
  • 同部位同傷型同備註不重複記錄

3. 骨骼圖(票 D)

  • BONE_SEGMENTS(10 根骨)+ getBoneSegments();SkeletalInjurysegment?
  • 有分段的骨 → 點下先跳分段選單(選項=ICD 原生分類,含「未特定」),
    選定後才顯示骨折型態;已選分段以徽章顯示並可「重選部位」
  • 無分段的骨(髕骨/跟骨…)→ 行為與過往完全相同
  • 對話框直接關閉(ESC/點外)= 取消標記,不自動當未特定(病安,決策 11)
  • rollback:刪掉 BONE_SEGMENTS 中某骨的陣列即回到「整根骨」行為

4. frontend/src/lib/version.tsv0.6.0 + CHANGELOG

驗收標準

  • e2e 13 項全 PASS(Playwright,真實 UI 操作):
  • Burn 展開程度子選單、複選保持開啟
  • 關節部位出現 Sprain 鈕
  • 股骨先跳分段選單、分段未選前不顯示骨折型態、選定後才顯示
  • 髕骨(無分段)直接顯示骨折型態
  • payload 含 structured_injuries / segment=轉子間 / Burn-2nd+Burn-3rd / sex
  • 檢視頁實際出現確定碼:股骨轉子間 S72.14x、膝二度燒傷 T24.2
  • 回歸全綠:smoke 51、外掛 e2e 18、帶回 e2e 21npm run build 通過
  • ESLint:本票修改檔案零新增問題(既有 3 項為他檔舊債)

備註

  • smoke_test.py 無需增修:未動任何 API endpoint(/predict_icd10
    structured_injuries 契約已由 #393 的檢查 7.0 覆蓋);前端點選流程為純瀏覽器端,
    HTTP 煙霧測試無法覆蓋,以 Playwright e2e 13 項實測替代(同 #380/#385/#386 前例)
  • 部署:啟用確定碼需部署機 backend/.envICD_DIRECTMAP=on;
    不設時前端照送、後端忽略,行為與過往相同(逐位元 rollback)
  • 票 D 尚未完成的部分(另票):關節熱區 UI(脫臼入口,座標已審定於設計 §5.2)、
    腳趾大/其他二選
  • 待辦:票 E 整合驗證(330 案 A/B 回歸,確認表定碼不退步)

沒有任何資料可供顯示

動作

匯出至 PDF Atom