張曉麗,張家康,張莉莉,張藍寧,鄭媛憬,鐘方虎
(空軍特色醫學中心,北京 100142)
航空醫療后送又稱空運醫療后送,是醫療后送的重要方式,具有機動、敏捷、時效性高的優點,適合危重傷員的快速轉運和遠距離后送[1]。“在正確的時間,選擇正確的空運后送工具,對傷員進行正確的處置,將其送到正確的救治地點”是英、美等發達國家軍隊空運醫療后送普遍遵循的原則和理念[2]。少量傷員的空運后送較為簡單,按照救治階梯逐級后送或越級后送到合適的救治機構即可,而批量傷員空運后送的組織和規劃較為復雜,涉及的因素較多,如根據航線規劃傷員的后送地點、根據救治機構的能力規劃空運后送的路線、根據傷情對空運傷員進行分類、根據傷員的需求申請衛生物資和專業人員等[3]。如何針對戰場環境和災害情況,傷員數量、傷情、傷勢等科學調派衛生資源,做好批量傷員航空醫療后送過程的統籌與決策,一直是空軍衛勤保障的重難點問題。仿真技術的日趨發展完善為醫療后送的決策形成提供了一種新的選項。目前,我軍還沒有基于仿真技術的專用航空醫療后送決策支持系統。本文對災害救援、大規模作戰等場景下的批量傷員空運醫療后送的決策過程進行模擬,設計基于離散事件仿真的平戰時批量傷員航空醫療后送衛勤決策支持模擬系統,針對衛生資源合理配置和科學調派的問題提供決策支持工具,能夠科學統籌航空醫療后送的過程管理,大大提升衛勤指揮人員的決策水平和能力[4]。
決策支持系統是一種通過數據、模型和知識以人機交互的方式輔助決策者進行半結構化或非結構化決策的計算機應用系統[5]。決策者能夠在系統中分析問題、整理數據、建立模型、模擬決策實施過程,并通過調用各種分析工具對決策實施效果進行評估,尋找較優的決策方案,以提高決策的水平和質量。決策可按性質分為3類:一是結構化決策。決策場景的復雜度較低,能夠通過確定的模型來描述決策場景及規則,并能夠通過適當的算法計算出最優決策方案。二是非結構化決策。決策場景具有很高的復雜度,無法通過確定的模型來描述決策場景及規則,也無法通過適當的算法計算出最優決策方案。三是半結構化決策。決策場景的復雜度介于以上二者之間,能夠通過確定的模型來描述決策場景及規則,并能夠通過適當的方法評估決策方案的實施效果,以尋找相對較優的決策方案[6]。
批量傷員通過分級救治體系進行救治與后送的決策過程無法通過建立簡單明確的模型及適當的算法直接計算出最優決策方案。結構化決策的思路和方法不適合用于空運醫療后送的決策過程,采用半結構化決策的思路來設計決策支持系統較為合適。航空醫療后送衛勤決策支持模擬系統不僅能對航空醫療后送的決策進行建模,包括建立任務場景模型和擬訂決策方案等,還要能夠對決策的實施情況進行定量分析,以評估其效果,用戶可在效果評估的基礎上對決策方案做出改進,并通過多次迭代上述過程得到最優方案[7]。
本系統支持模擬航空醫療救援決策場景,并對決策實施過程進行仿真推演,用戶基于仿真結果對決策方案進行完善和改進,而后可基于改進后的方案再次建模和推演,經過多次迭代后得出較優的決策方案。系統輔助用戶進行決策的運行流程如圖1所示。

圖1 系統決策過程
系統采用瀏覽器/服務器(Browser/Server,B/S)架構開發,用戶通過PC客戶端瀏覽器訪問系統。系統網絡架構如圖2所示。

圖2 系統網絡架構圖
客戶端與服務端之間的交互使用超文本傳輸協議(hyper text transfer protocol,HTTP),采用超文本標記語言(hyper text markup language,HTML)訪問與Ajax交互方式相結合的方式,Ajax交互數據需要符合 JSON(JavaScript object notation)格式標準。Ajax異步交互能力使得用戶界面的呈現更加平滑,響應速度比傳統頁面更快。低冗余度的JSON格式數據可以降低客戶端與服務端數據交互的帶寬占用,有利于提高系統的訪問性能。
服務端包含應用服務器與數據庫服務器。應用服務器用于部署系統,數據庫服務器則部署MySQL數據庫系統,用于存儲系統數據。數據庫服務器可以選擇性地部署集群或雙路熱備等。應用服務器與數據庫服務器的分離有利于提高系統的安全性,同時有利于提高系統的穩定性和負載能力。如果對數據庫服務器進行集群部署或雙路熱備,數據存儲的安全性和穩定性都會得到有效保障,同時數據訪問的性能也會明顯提升。應用服務器、數據庫服務器可以分布到多個物理主機上,也可以集中在一臺物理主機上,以便于節約部署成本,同時具備擴展能力。
系統的技術架構如圖3所示。系統架構分為PC客戶端、服務端兩部分,采用B/S結構部署,其中應用服務器采用Tomcat 9.0。整個系統采用Java語言開發,符合J2EE規范。

圖3 系統技術架構圖
1.4.1 PC客戶端
客戶端通過瀏覽器訪問系統,系統界面以Web頁面的形式呈現,使用基于HTTP的Ajax異步通信技術實現與服務端之間的通信,數據傳輸采用JSON格式。
客戶端頁面使用HTML5、JavaScript(ES6)、UmiJS、ReactJS、Ant Design等技術或框架構建。HTML5實現頁面的基本元素和布局。JavaScript(ES6)實現頁面的動態響應和與后端的Ajax異步通信。ReactJS用于渲染和控制頁面所需全部UI組件。Ant Design是系統的基礎Web UI組件庫,基于ReactJS環境運行,提供頁面的大部分基礎UI組件。
1.4.2 服務端
服務端采用J2EE技術體系構建,采用經典3層架構設計,將系統分為展示層、業務層和數據層。
展示層基于SpringMVC框架構建,實現系統的頁面展示、頁面流轉并響應用戶交互請求。Spring-MVC框架主要包含View視圖和Controller控制器2個部分,View視圖用于完成頁面展示,Controller控制器則用于控制頁面流轉和響應交互請求。
業務層基于SpringIOC框架構建,實現系統的所有業務邏輯,以Service服務的形式向展示層提供業務邏輯調用接口,展示層通過向下調用Service服務實現宏觀業務操作。
數據層基于Mybatis持久層框架構建,以數據庫訪問對象(data access object,DAO)數據訪問接口的形式向業務層提供數據訪問能力,業務層通過向下調用DAO數據訪問接口實現數據讀寫。數據層還整合Spring框架的事務管理模塊以實現數據一致性。
系統架構中采用了成熟先進的Shiro安全認證框架,對 URL(uniform resource locator)路徑、展示層接口、Service服務接口等多個層級進行訪問權限控制,確保系統的安全性。
航空醫療后送衛勤決策支持模擬系統功能結構圖如圖4所示,包含決策建模、仿真推演、基礎數據管理、系統管理等主要功能模塊。決策建模模塊支持建立傷員批量后送的決策場景模型,模型包括傷員如何批量生成、傷員的預期生存曲線、救治鏈如何構建、衛生資源如何配置等要素。仿真推演模塊支持在已建立的決策模型基礎上對后送過程進行模擬仿真。基礎數據管理和系統管理模塊為系統運行提供基礎支撐。用戶首先建立決策場景模型,然后基于模型進行仿真推演,再依據仿真結果對決策方案進行效果評估并優化決策方案。

圖4 系統功能結構圖
2.1.1 傷員生成建模
該功能模塊用于模擬批量傷員的生成情況,可以管理和配置傷員生成器,并使用傷員生成器生成批量傷員的模擬數據;還可以預設戰役類型并基于戰役類型配置傷員生成器。
(1)戰役類型管理。該模塊用于管理戰役類型并預設各類戰役的基礎參數,系統可根據預設參數自動構建傷員生成器。
(2)傷員生成器管理。該模塊用于管理傷員生成器。用戶可在該模塊創建傷員生成器,并在生成器中預設救援任務時長、傷員到達率及變化趨勢、傷員救治狀態、傷情碼構成比例等參數[8]。系統調用傷員生成器后自動生成隨時間軸分布的批量傷員模擬數據,即傷員流。用戶可基于傷員流進行模擬訓練或將傷員流輸入決策模型進行仿真推演。批量傷員模擬數據(傷員流)樣例如圖5所示。

圖5 批量傷員模擬數據(傷員流)樣例
2.1.2 傷員生存建模
該模塊用于對傷員生存情況進行建模。用戶在該功能模塊中配置傷員生存模型的基礎參數,主要包括生存預測參數和保障任務參數(保障任務類型及發生率)。
(1)生存預測參數管理。該模塊用于配置生存預測參數。系統實現了基于韋布爾公式的傷員生存算法,該算法可以基于生存預測參數對傷員在未來時間軸上的生存概率進行估算,生成基于時間軸的傷員生存概率曲線。生存概率曲線是用戶形成救援后送決策方案的重要依據。需要針對低、中、高三級風險,現場急救、緊急救治(早期救治)、早期治療、專科治療四級救治階梯,在30~720 min之間的若干時間節點,分別配置生存預測參數。
(2)保障任務參數管理。該模塊用于配置保障任務參數,主要是設置各類保障任務的發生率。傷員救治和后送過程中,每次進入一個救治機構或后送機構,傷員都要陸續接受一系列的保障任務(救治措施),傷員接受每一種保障任務的概率不同,此功能模塊就是用來設置保障任務發生的概率。需要針對現場急救、緊急救治(早期救治)、早期治療、專科治療四級救治階梯分別設置保障任務的發生率,其中保障任務包含檢傷分類、醫技保障、重癥監護、手術、病房治療。
2.1.3 救治鏈建模
該模塊用于對救治鏈進行建模。救治鏈模型由一系列機構模型(含救治機構與后送機構)及機構間的路由關系組成,其中機構模型由若干保障單元模型組成。
(1)保障單元模型管理。該模塊可對保障單元進行建模,支持創建檢傷分類、X射線檢查、醫技保障、重癥監護、手術、病房治療等多種類型的保障單元模型[9]。
(2)機構模型管理。該模塊可對機構進行建模,支持創建機構模型并配置各項模型參數,支持在機構模型中添加各類保障單元模型。
(3)救治鏈模型管理。該模塊可對救治鏈進行建模。救治鏈模型描述承擔分級救治后送任務的機構鏈條,由若干救治機構、后送機構以及機構之間的路由關系組合而成。該模塊支持創建救治鏈模型并配置各項模型參數,支持在救治鏈模型中添加若干機構并設置機構間的路由關系。仿真推演時,用戶預先配置傷員流和救治鏈模型,系統將模擬每個傷員到達救治鏈并沿救治鏈向后流動直到離開的全過程。救治鏈模型樣例如圖6所示。

圖6 救治鏈模型樣例
2.1.4 衛生資源建模
該模塊用于對救治鏈各節點中的衛生資源配置情況進行建模。仿真推演過程中,系統將基于衛生資源模型模擬傷員在救治過程中等待、占用、消耗衛生資源的情況[10]。
該模塊能夠對批量傷員救治后送的總體過程進行仿真推演。首先構建仿真腳本,包括設置任務時間、傷員流、救治鏈模型、衛生資源模型等。然后系統基于仿真腳本進行仿真推演,模擬批量傷員依次到達救治鏈并接受救治后送的總體過程。系統會記錄任務過程中各時間節點上的傷員救治、后送、治愈、死亡情況,救治鏈各節點的運行情況、衛生資源消耗情況,并最終生成數據報告,為用戶提供決策支持[11]。仿真推演的運算邏輯如圖7所示。

圖7 仿真推演運算邏輯
2.2.1 仿真腳本
該模塊用于定義仿真腳本。包含定義仿真時長、傷員流、救治鏈模型、衛生資源模型等內容,支持檢索、查看、新建、刪除仿真腳本。
2.2.2 仿真作業
該模塊基于離散事件仿真引擎構建,支持基于預先定義的仿真腳本進行仿真推演,可加載仿真腳本、執行仿真作業、記錄仿真數據并生成數據報告。仿真作業執行過程如圖8所示。具體如下:

圖8 仿真作業執行過程
首先,執行初始化。即加載救治鏈模型和衛生資源模型并創建虛擬沙盤,然后將傷員流數據導入虛擬沙盤。而后,執行仿真推演,即以事件驅動的方式不斷推進時間軸并更新沙盤狀態。沙盤中的傷員在事件驅動下沿著救治鏈節點向后流動,用于模擬傷員接受救治與后送的過程。每次更新沙盤狀態時,系統會通過傷員生存模型自動計算傷員的生存狀態。同時,伴隨傷員救治后送的流動過程,系統會持續更新衛生資源的調度與消耗情況。
2.2.3 仿真報告
該模塊支持用戶查閱仿真報告。系統將仿真推演的數據以數據報表的形態呈現給用戶,用戶通過查閱仿真報告評估救治鏈構成和衛生資源配置的合理性,并對決策方案進行改進。用戶可以基于改進后的方案在系統中再次進行建模和仿真推演以驗證改進效果。
該模塊用于管理系統進行模擬仿真時用到的基礎數據,包含基礎數據字典、傷情碼、資源品類。2.3.1 數據字典
該模塊用于對系統運行所需的基礎性數據進行標準化、編碼化管理,為系統各模塊提供結構化的數據支撐。系統的各個功能模塊可通過字典編碼調用數據字典中的數據項。該模塊允許用戶查看、新建、編輯、刪除、啟用、禁用、排序字典及字典項。數據字典管理界面如圖9所示。

圖9 數據字典管理界面
2.3.2 傷情碼
該模塊支持新建、編輯、刪除、啟用、禁用、排序、檢索傷情碼。傷情碼是在對傷員的傷情、傷勢、傷部、傷類等信息進行歸納、整理和劃分的基礎上生成的。傷情碼管理界面如圖10所示。

圖10 傷情碼管理界面
2.3.3 資源品類
該模塊用于管理資源品類,包含衛生人員、衛生裝備、醫用消耗品等。該模塊支持檢索、查看、新建、編輯、復制、刪除、排序資源品類。資源品類管理界面如圖11所示。

圖11 資源品類管理界面
2.4.1 用戶管理
該模塊用于管理用戶賬戶及賬戶的角色權限,允許對用戶賬戶信息進行檢索、查看、新建、編輯、刪除等操作以及對用戶賬戶進行啟用、禁用和角色限定等權限管理。
2.4.2 日志管理
該模塊支持對用戶操作日志進行查詢和管理。可按照用戶名、時間段、日志類型等多個條件綜合查詢用戶操作的日志信息,支持批量清除歷史日志和查詢日志記錄的詳情信息。
傷員生成模擬功能用于模擬批量傷員的生成情況。系統使用泊松分布函數隨機生成隨時間推移持續生成的傷員模擬數據,并根據預設的傷情構成、傷勢比例等參數隨機生成傷員的傷情、傷勢等[12]。傷員流的生成步驟如下:
(1)將時間軸切分為若干連續時間段,然后利用泊松分布概率公式獲得每個時間段內的傷員到達的隨機數,并生成相應數量的傷員對象,進而獲得一系列沿時間軸分布的傷員對象。泊松分布概率公式如下:

式中,λ為強度參數,代表單位時間內隨機事件的發生次數;k為時間變量。系統以傷員平均到達數作為強度參數λ,獲得某時間段內的傷員到達隨機數。
(2)基于平均已負傷時間、已接受的救治分級、平均已救治時間、傷情碼構成比例等預設參數,為傷員對象的屬性賦值,并輸出賦值后的傷員對象。
傷員生存模擬功能用來模擬傷員對象在分級救治過程中的生存情況。傷員在某個時刻的生存概率由基于韋布爾概率分布原理推導出的公式計算得出[13]。韋布爾分布的概率密度公式如下:

式中,t為時間變量;λ為比例參數;k為形狀參數。
基于韋布爾分布概率密度公式,可以推導出韋布爾分布的累積分布公式:

再根據韋布爾分布的累積分布公式推導出傷員生存概率公式:

該公式能夠計算傷員在某個時間點之后仍然存活的概率。
傷員生存概率公式需要預先配置λ、k參數才能進行計算,配置傷員生存模型,也就是配置傷員生存概率公式中的λ、k參數,而后即可通過輸入時間變量t來計算傷員在某個時間點的生存概率。λ、k參數的取值和傷勢分級、已負傷時間、已采取的救治措施及采取措施的時間等要素相關,因此,要分別為不同的傷勢分級、不同的救治階段、不同的接受救治時間配置不同的λ、k參數。傷員生存模型配置界面如圖12所示。

圖12 傷員生存模型配置界面
λ、k參數的取值通過專家調研法獲得。專家依據經驗和歷史數據,對不同傷勢分級的傷員在不同的時間節點接受不同分級的救治措施后第t分鐘仍然存活的概率進行評估,然后利用數學分析軟件將概率數據與傷員生存概率公式的概率曲線進行擬合,最終找到擬合度較高的λ、k參數,用于建立傷員生存模型。傷員生存概率模擬樣例圖如圖13所示。

圖13 傷員生存概率模擬樣例圖
由圖13可知,某傷勢為中度風險的傷員,如果在第30分鐘獲得現場急救,則在第285分鐘仍然存活的概率為39.88%;如果在第120分鐘獲得現場急救,則在第285分鐘仍然存活的概率為25.43%(數據僅供演示使用,與現實有差距)。
仿真引擎采用事件驅動方式進行推演。傷員進入機構、離開機構、傷員按照工作序列進行救治或后送、救治任務單元的狀態變化、傷員生存狀態的變化等,都會在時間軸的相應時間點產生離散事件,仿真引擎依照時間順序處理這些事件并推進仿真時鐘。離散事件仿真引擎的事件驅動流程如圖14所示。

圖14 離散事件仿真引擎的事件驅動流程
使用系統中的仿真方法對某救治鏈在假想場景中的保障效果進行評估,找出其資源配置中可能存在的短板,并形成優化方案。優化方案與專家組采用經驗評估法得出的結論相近,說明通過系統中的仿真方法形成決策支持具有一定的現實意義。
首先,使用系統對已有救治鏈資源配置情況進行建模,再使用系統的仿真引擎對批量傷員到達該救治鏈并接受救治與后送的過程進行推演,得到的仿真結果數據如圖15所示。傷員通過率僅有87.89%,低于預期水平。分析認為資源配置中的固定翼飛機的飛行數量可能不足,考慮將固定翼飛機每日飛行數量增加若干班次。

圖15 基于原有救治鏈模型得到的仿真結果
對原有救治鏈模型進行修改,將固定翼飛機每日飛行數量增加1個班次。基于修改后的模型再次仿真推演,得到的仿真結果數據如圖16所示。傷員通過率提升到93.85%,與原有救治鏈模型相比有了明顯提升。

圖16 固定翼飛機每日飛行數量增加1個班次后的仿真結果
再次對救治鏈模型進行修改,將固定翼飛機每日飛行數量增加2個班次。再次仿真推演,得到的仿真結果數據如圖17所示。傷員通過率為93.52%,雖然與原有模型相比有了明顯提升,但是與增加1個班次后的通過率相近,沒有明顯差異。說明將固定翼飛機每日飛行數量增加2個班次并不比增加1個班次效果更好。

圖17 固定翼飛機每日飛行數量增加2個班次后的仿真結果
最終,為了以較低的成本達到更好的保障效果,提出了將原有救治鏈中的固定翼飛機每日飛行數量增加1個班次的優化方案。該方案與專家組采用經驗評估法得出的意見相近。
隨著醫療救護飛機的發展和時效救治的要求,航空醫療后送將成為傷員醫療后送的首選方式[6]。針對戰場環境、災害情況、傷員數量、傷情、傷勢等科學調派衛生資源,做好批量傷員航空醫療后送過程的統籌與決策,是提高航空醫療后送效率的關鍵因素[13]。本課題組設計的航空醫療后送衛勤決策支持模擬系統能夠對抗震救災、大規模作戰等環境背景下的批量傷員航空后送過程進行仿真推演,并依據推演結果對救治鏈構成及衛生資源配置進行優化,為決策者科學決策提供依據,為提升航空醫療救援能力提供有效的支撐。
本文設計的系統在建模細化方面還存在不足,不利于得出更加貼近實際的仿真結果。如:救治鏈模型不夠細致導致救治過程推演細節不足;系統基于傷勢等級對傷員進行歸類并預測其生存狀態,而沒能在傷勢登記中進一步細分具體傷類,因此,獲得的結果仍然不夠精準。這些不足容易導致仿真推演數據與現實情況的貼合度降低。未來還需要對建模場景進行更加深入的研究,找到更加細化的建模方法,以提升系統的應用效果。