陶 然,陳建波,何 君,胡朝暉,李 娜,王永松,王家健△
(1.海南金域醫學檢驗中心有限公司實驗診斷部,海南海口 570311;2.廣州金域醫學檢驗中心實驗診斷部,廣東廣州 510330;3.北京金域醫學檢驗實驗室實驗診斷部,北京 100015)
近年來,得益于信息自動化技術的飛速發展,自動審核技術在醫學檢驗領域具有效率提升、質量保證的優勢,被越來越多的醫療機構引入[1-2]。使用方式從完全依賴中間件[3]到實驗室(檢驗科)信息系統(LIS)、中間件各承載部分功能[4]到脫離中間件完全自行開發[5],數據廣泛性、功能靈活性的不斷提升使其前景愈加廣闊。目前各種自動審核培訓班、文獻報道都顯示,越來越多的醫療機構開始自建自動審核程序,只有更多的檢驗項目使用自動審核,以臨床為導向、多項目的關聯審核才能真正實現。目前鮮見自建自動審核程序風險評估的報道,《CNAS-CL02:2012》[6]中風險要求僅3條。本實驗室自2013年開始建立自動審核程序,截止目前已應用至13個實驗室的8個技術平臺,基于龐大的數據量和結構復雜度,筆者深切感受到項目構建過程中風險管理的重要性,風險內容未考慮周全或應對方案不完整均可能導致患者結果報告錯誤。本研究旨在介紹項目進程中的風險及應對方案。
1.1材料 Java 1.7、Oracles及Mongo DB數據庫、C /S結構、JavaScript引擎,Loadrunner11.0壓力測試工具。
1.2方法 風險評估由項目管理組采用風險矩陣完成,所有策略測試有效后投入使用。
2.1風險1 規則執行負荷。2016年12月開始啟用時規則呈每月30%的速度遞增,達到1 500條規則后程序響應速度開始變慢,2 000條時引起生產抱怨。解決方案:(1)執行“哨兵”[7]、多線程異步[8]的規則查找方式,規則池按項目切割,規則建立隨即劃入相應項目規則池,縮小規則的查找范圍;單線程即時查找改為多個線程同步并發;(2)數據庫規則每日凌晨7:00由Mongo DB數據庫同步更新到redis緩存(基于內存的高性能Key-value數據庫)大幅提升響應速度;(3)CPU長期監控,若平均負荷超出90%,考慮增加服務器;(4)實驗室上線前行壓力測試,關注CPU使用率、內存空閑量、磁盤使用率等關鍵指標,符合要求方可上線。效果:優化前單個報告自動審核平均時間8.3 s,CPU平均耗用55%,高峰時段95%,優化后,自動審核中位數時間2.3 s,80%的報告單在3.5 s以內,CPU平均耗用23%,高峰時段50%以內,程序負荷有效緩解。
2.2風險2 規則執行有效性。包括運行有效性和臨床有效性。前者表示規則設置后能否被程序識別,程序執行效果是否符合實驗室人員設置的目的,與程序功能有關;后者表示規則執行的結果是否具有最佳的臨床報告判斷決策,這部分與程序功能無關,僅與設置的規則判斷值相關。運行有效性不足帶來的風險:程序中存在大量的,未能執行且占用空間的“僵尸”規則,執行結果不符合人員預期的“無效”規則,實際生產中,實驗室人員誤認為所有規則已執行,實際上僅有部分規則執行,報告單未被充足的規則審核,出現漏檢、錯檢。解決方案:引入“規則周期”,規則具有“正式”、“待轉正”兩種狀態,“待轉正”規則執行后,批單人員查看系統的執行結果和人為判斷是否一致,若一致,說明系統能夠正確識別、執行規則,“待轉正”規則效果正確度加1分,若不一致,說明設置錯誤導致系統無法正確讀取規則,質疑規則有效性。若某“待轉正”規則的執行效果正確度得分達到要求,實驗室管理人員 “轉正”該規則;若未達到“轉正要求”,刪除規則重新建立。另外,若某項目存在“待轉正”規則,涉及該項目的報告單必須由人工審核,只有該項目的所有規則均為“轉正”狀態,方可允許程序自動審核。方案效果:相比手工記錄,每條規則線上節約10 min,某實驗室發現“僵尸”規則26條,“錯誤”規則32條。臨床有效性不足帶來的風險:程序報警的報告,但人員最終未干預,導致假陽性,浪費人員復核精力與成本;程序未報警的臨床報告人員卻施加干預,報告單漏檢的假陰性風險。解決方案:建立“基于操作軌跡反向決策”模式:若程序報警(紅色),理應干預報告,實際人員直接批準報告,記錄規則“偽紅”+1;若程序報警通過(綠色),理應直接批準報告,實際干預報告,記錄項目“偽綠”+1。程序周期性統計規則的報警百分比和“偽紅”百分比,若某規則報警概率大于80%且偽紅率大于80%,需修改規則;任一項目“偽綠”百分比大于20%,提示需增加規則。結果:以生化崗位為例,251條規則中,63條規則被提示可修改閾值, 62個項目中,5個項目被提示需增加規則。
2.3風險3 程序故障防范。包括2個方面:急停開關、規則日志。程序急停的風險:一旦程序環境出現問題,需緊急停止自動審核確保充沛的CPU供給。解決方案:自動審核程序加入個人開關和實驗室開關,前者控制個人,后者控制實驗室,均可選擇性關閉/開啟自動審核。方案效果:2016-2017年由于CPU耗用異常急停2次,2018年未有出現異常。規則執行日志包括實時顯示自動審核執行進度、記錄自動審核的觸發規則和違背規則。規則執行日志不足的風險:人員無法得知自動審核進度和程序處理邏輯,等待時間過長導致人員焦慮且無法得知需繼續等待還是系統故障。解決方案:程序實時顯示自動審核進度:待審核報告/已完成報告,兩者相等表明自動審核執行完畢,若后者逐步增加且小于前者,表明程序正在執行,若后者數值停滯增長,表明程序故障需聯系IT人員。若批單人員不認可程序審核判斷,可根據日志線索記錄自助查因。方案效果:相比2017年,新上線實驗室呼叫IT支援次數減少90%,自助查因確保實驗室人員快速理解程序,自動審核實驗室培訓周期由3個月降低到平均15 d。
自動審核通過計算機執行規則,降低差錯、提升效率、縮短檢驗結果回報時間(TAT)[9];另一方面,多學科的實施也為以疾病為導向的整合報告解讀提供可能[10]。但是,程序功能的提升也伴隨著復雜度、風險的增大。程序構建和運營的各個階段,風險評估不可或缺。本實驗室的13家實驗室截至2017年底,設置10 127條規則,自動審核程序每天處理58 000張報告,測試數約290 000,按照每個測試觸發4條規則,每天自動審核程序將執行110萬次規則,至少220萬次計算。
基于龐大的數據處理量帶來的報告隱患,本文的風險在使用廠家中間件的實驗室體現不顯著,原因在于:(1)中間件多配置流水線,多用于生化、血液學科[11],報告基數較小,不同學科的項目無法使用自動審核(如發光法與免疫法行乙肝檢測、電泳法與雜交法行地中海貧血檢測)。反之,一旦用于多個學科,項目關聯性、結果報告方式差異對自動審核功能的多樣化、靈活化開始有一定要求;(2)獨立檢驗所面對的分析前要求,自動審核不僅僅局限于結果,還需在分析前階段進行資料信息的預審核;(3)自動審核是異常數據的有力抓手,其靈魂不僅局限在結果審核,陽性率分析、病例分析都可來源于此。所以,若完全自建自動審核程序,不能僅著眼于接口或者服務器的擴充,整體流程設計和持續優化是確保自動審核可持續性發展的必要條件。
規則執行負荷在所有風險中影響評級最高且鮮有文獻報道。之前本實驗室自動審核曾導致2次大規模LIS宕機,實驗室人員抱怨強烈。調查后發現,規則查找和歷史數據比對消耗大量內存。異步多線程和哨兵模式前期改善結構,后期規則同步緩存改善運維,結合后顯著降低CPU耗用。
規則執行有效性中包含臨床有效性和執行有效性,筆者認為執行有效應受到首要重視,ISO15189 CNAS-CL02 5.9.2中明確要求[6]:在使用前應確認該標準可以正確應用,并對可能影響功能的系統變化進行驗證。既往的研究采用人機一致性的方式[12]。此法基于報告單維度進行比對,若有異常,查因繁瑣難度大。執行顧問提出建立“模擬程序”運行批量數據比較雙程序效果的方式因成本高放棄。最終,筆者引入了“規則生命周期”直接使用患者報告,直接進行規則效果的人機對話,此法工作量適中,游戲化操作顯著提升人員測試積極性,在此基礎上再行報告單比對消除風險。
在以上基礎進行臨床有效性改善,醫療機構之間交流溝通聯合制定自動審核規則即為改善方式之一。筆者使用了“基于操作軌跡反向決策”的方法,程序根據審核人員更改結果痕跡得出規則改善建議,若在此基礎上,增加內部、客戶投訴的結果錯誤,程序根據結果分布趨勢識別異常,將是臨床有效性的巨大突破。
程序故障防范在ISO15189 CNAS-CL02 5.9.2中明確要求[6]:有過程可快速暫停自動選擇和報告的功能。基于此筆者建立了2層開關,同時,開關也可用于員工批單的培訓。規則日志是筆者建立程序以來使用最多的功能,該功能廣泛用于規則運行異常的原因查找。同時,記錄的觸發規則和運行數據可用于陽性率等質量監控工作[13]。基于該記錄的血液病提示也有報道[10]。
以上的哨兵模式、多線程異步、緩存更新、規則周期、操作軌跡反向決策、雙層開關、規則執行進度、規則日志共計8項風控措施均依照“實施-評估-反饋-再決策”的模式確立,經過2年的系統改善,目前程序得以平穩運行。隨著數字化技術的發展,目前的自動審核還存在寬廣的功能拓展空間[14-16],例如建立適應各級實驗室的類似阿里云的自動審核程序包,圍繞“性能、功能、體驗”的風險控制將是成功實施的必要條件。