前言
在急性病房中,病患病情的惡化(Clinical Deterioration)往往不是毫無預警的驟變,而是一段有跡可循的生理生理代償過程——可能先是呼吸頻率悄悄上升至 26 次/分,接著心率爬升至 110 次/分,血壓隨後開始驟降。研究顯示,超過 80% 的心跳停止事件在發生前 6 至 8 小時,就已經能從病患的常規生命徵象中觀察到異常走勢。
然而,在護理師一人照護 8 至 12 位病人的高壓環境中,單一指標的微幅波動很容易被埋沒在零碎的紀錄中。若等到病患休克(Shock)或昏迷才進行急救,預後往往極差。
今天我們將在 Node.js 後端實作一套臨床早期預警引擎(Clinical Early Warning Engine),引進全球重症與急性照護廣泛採用的 NEWS 2(National Early Warning Score 2) 評分演算法,並結合 WebSocket 即時推播,在體徵寫入資料庫的瞬間完成危急判斷與護理站聲光警示!
一、認識 NEWS 2(國家早期預警評分系統)
NEWS 2 是由英國皇家內科醫師學會(RCP)制定、全球醫療院所通用的臨床評分工具。它整合了 6 項常規生命徵象與意識狀態,針對偏離正常生理範圍的程度賦予 0 至 3 分的加權權重:
臨床處置警示階層(Clinical Risk Tiers)
-低度風險(總分 1–4 分): 維持常規觀察,每班(4–6 小時)重新量測。
-中度風險(總分 5–6 分,或任一單項達 3 分): 護理師需於 1 小時內重新評估,並通報責任專科護理師或值班住院醫師。
-高度風險(總分 ≥ 7 分): 紅色危急警戒,即刻通報院內急救團隊(Medical Emergency Team, MET / RRT),準備床邊搶救。
二、實作 NEWS 2 計算引擎
建立 src/services/news-score.service.ts,以純函式(Pure Function)實作評分邏輯,保證效能與易測性。

三、整合 WebSocket 即時廣播警示
當床邊平板上傳數據時,若評估結果為 MEDIUM 或 HIGH,系統必須毫秒級推播至護理站看板與主治醫師手機。
建立 src/services/alert-broadcast.service.ts(使用 Socket.io):
四、將評分引擎融入體徵儲存管線
將昨天 Day 16 的批次量測控制器升級:在資料寫入 PostgreSQL 後,立即執行 NEWS 評分與廣播派發。
五、單元測試驗證(Jest 測試案例)
建立 tests/services/news-score.service.spec.ts,驗證邊界值與危急評分:
小結
今天我們成功為 NIS 注入了臨床智慧判讀能力:
1.落地實作了國際公認的 NEWS 2 早期預警評分演算法,兼顧各項生理權重與單項極端值防護。
2.劃分了低、中、高臨床處置層級,給予護理團隊清晰的行動處置建議。
3.整合了 Socket.io 房間分流廣播,實現了床邊一送出、護理站白板與警示燈即刻響應的零時差通報。
有了精確的體徵與即時評分後,明天 Day 18 我們將聚焦於護理交接班的靈魂環節:護理交班(Shift Handover)模組設計——基於 SBAR 模式的時序資料聚合與結構化交班摘要生成!