動作
Feature #441
進行中
SC
Phase 2 ER:MAGI 檢傷 backend 串接(契約 v1.0) + 開窗 splash/視窗放大/殭屍防護(v0.9.0)
Feature #441:
Phase 2 ER:MAGI 檢傷 backend 串接(契約 v1.0) + 開窗 splash/視窗放大/殭屍防護(v0.9.0)
狀態:
New
優先權:
Normal
被分派者:
-
開始日期:
2026-08-11
完成日期:
完成比例:
0%
預估工時:
概述
Phase 2 ER:MAGI 檢傷 backend 串接(契約 v1.0) + 開窗 splash/視窗放大/殭屍防護(v0.9.0)¶
背景¶
跨專案協調公告第 18/19 號進入第二波(Phase 2)。①MAGI(急診部門資料 API)正式納入
協調,ER 開窗時由 backend 隨用隨撈檢傷資料,取代原「預跑程式先 POST context」;
②公告 18 §四 ER 改善票:開窗慢、視窗尺寸偏小、殭屍行程。MAGI 契約 v1.0 已凍結、
兩份官方樣本到位,ER 依契約 + 樣本 mock 獨立開發(最後於部屬機整合測試)。
變更內容¶
1. MAGI 檢傷串接(公告 19 契約 v1.0,方案 A:後端適配成前端已會讀的 v2 結構)¶
-
backend/magi_service.py(新): -
fetch_triage(reg_seq):httpx GET/visits/by-registration/{reg_seq}/triage,
5s timeout;狀態碼 200 帶入、404/422/401/502/503/504 皆降級;任何例外不冒泡、
一律回 None(契約 §4 紅線);502 的 requestId 記 log 供對帳。 -
to_context():MAGI 回應 → 前端 v2 context 結構。只填前端 applyContext 實讀
路徑(age/sex 扁平、triage.chief_complaint/mechanism_text、
history.past_history_text/allergies.other_text);vitals/gcs/patient.* 前端未讀故不填。 -
型別寬鬆(str/int/float/None 皆容忍,不用嚴格 model 綁定);
history 否定字串「無」「無已知用藥過敏史」原樣保留、不當 null。 -
main.pyGET/plugin/context?reg_seq=:MAGI 為主 → 預存(預跑程式)備援 → 404
(決策 1)。MAGI_BASE/MAGI_API_KEY只存 server.env。 -
前端小改:
page.tsxfetch context 帶?reg_seq;PluginAssessment
composeAllergies + type 加other_text(承載 MAGI 自由過敏字串)、type 加
triage_completed;檢傷進行中橫幅(triage_completed:false → 提示資料可能不完整)。 -
requirements.txt補httpx;兩份官方樣本存backend/samples/當 fixture。
2. 開窗改善(公告 18 §四 批次 1,純 ER)¶
-
splash:開窗先秒顯 loading 畫面(spinner +「開啟中…」),GUI 就緒後才
load_url真實病歷頁,遮住 WebView2 冷啟延遲。 - 視窗尺寸放大:1180×860 → 1400×960(config 範本 + 程式 fallback;人體圖免捲動)。
-
殭屍行程防護:打包 exe(frozen)關窗後
os._exit強制終止,防 WebView2
COM/背景執行緒殘留累積;開發/測試(非 frozen)用可捕捉的sys.exit。
3. 版本¶
-
version.ts→ v0.9.0 + CHANGELOG(Phase 2 里程碑)。
驗收標準¶
-
magi_service_test.py22 PASS(trauma 完整 / in_progress 大量 null 容忍 /
降級實測「真的連不上→None」/ 型別寬鬆 / _norm_sex) -
test_startup.py69 PASS(splash 改載入方式 → 同票更新 3 個斷言)、
test_contract_v11.py41 PASS - smoke 59 PASS(含新增 9.4b:reg_seq query 相容不破壞;backend API 測試門檻)
- 前端 build + lint 全過
- MAGI 部屬機整合測試(接 live MAGI,等 API 金鑰 + 部署;公告 19 §一)
- 實機開窗實測:splash 切換 / 視窗尺寸 / 殭屍行程(frozen 才 os._exit) / 開窗置前(等 SyncHUD S3)
沒有任何資料可供顯示
動作