叢松
廣州特勤療養中心 信息經管科,廣東 廣州 510515
特勤療養中心統計規章制度要求準確、及時、完整填報上級規定的各類圖表,用數字反映特勤療養工作的實際情況,為上級部門及時了解情況、分析研究問題、總結階段工作、做到科學決策提供依據。隨著特勤療養中心數字化進程的不斷推進,統計員的工作量越來越大,統計圖表按統計截止日期,分為日統計時間、月統計時間、季統計時間、年統計時間和期內統計時間。周期短的,要求資料上報迅速,填報的項目比較少,周期長的,內容要求全面一些,年報具有年末總結的性質,內容要求全面和詳盡。記錄的數據難以查詢,給所記錄數據的統計和追溯工作帶來巨大困難[1]。因此,運用PL/SQL程序設計語言,根據特勤療養統計工作需求設計實現自動統計圖表的程序,在工作中簡化工作流程,提高工作效率。統計圖表程序操作簡單,數字化分析特勤療養工作情況,為上級提供具有及時性、可靠性和思想性的報表[2]。
特勤療養中心日常科室指標統計圖表內容包括特勤療養床位使用率、療養效果評定、療養服務滿意率、特勤療養落實率、醫技科室工作量、健康體檢落實率、康復療養治療、療養訓練落實、體育訓練出勤等27項統計指標。統計圖表的數據來源于療養院信息管理系統,報表數據涉及與療養院信息管理系統相關聯的10張表,如療養員入院主記錄(PAT_VISIT),臨床診療項目與價表項目對應表(CLINIC_VS_ITEM),工作量統計表(STAT_WORK)等。程序架構圖如圖1所示。統計員運用PL/SQL Developer 12把療養院信息管理系統數據庫中的相關數據通過數據交換傳遞到Excel 2010應用程序中,統計生成特勤療養圖表。

圖1 程序架構圖
服務器端操作系統:Windows 2008 Server R2;數據庫:Oracle 11.0.2;客戶端操作系統:Windows 7;開發工具:PL/SQL Developer 12。
2.2.1 窗口功能
PL/SQL Developer 12 是一個集成開發環境,用于開發、測試、調試和優化存儲程序單元。SQL窗口、報告窗口的功能全面,能提高工作效率,縮短統計員統計數據的周期。統計報表為后續的信息化建設、運維和績效考核提供量化依據[3],27項統計指標按不同的圖表需求設計了9個窗口,便于統計員更快捷的查看。其中,特勤療養窗口中構造SQL查詢語句,如圖2。

圖2 特勤療養窗口中構造SQL查詢語句
2.2.2 PL/SQL Developer 12和Excel 2010數據交換
Oracle數據庫開發PL/SQL塊中使用的SQL分成靜態SQL語句和動態SQL語句。靜態SQL指在PL/SQL中使用的SQL語句在編譯時是明確的,執行的是確定對象。動態SQL是指在PL/SQL塊編譯時SQL語句是不確定的,根據用戶輸入的參數的不同而執行不同的操作。編譯程序對動態語句部分不進行處理,只是在程序運行時動態的創建語句、對語句進行語法分析并執行該語句。動態SQL是使用EXECUTE IMMEDIATE語句來實現的,根據用戶輸入的表名及字段名等參數動態建表。也可先將要執行的SQL語句或一個語句塊放到一個字符串變量中。使用DBMS_SQL包的parseFloat()來分析該字符串,使用PROC1過程來綁定變量,使用EXECUTE函數來執行語句。
CURSOR由用戶以變量的形式定義。一個CURSOR變量可以參數傳遞給程序或函數,通過傳遞引用結果集來共享該CURSOR結果[4]。CURSOR用于臨時存儲從數據庫中提取的數據塊,每個CURSOR至少引用數據庫的一個表,最后將處理結果寫入數據庫,這樣數據處理的速度才會高,否則頻繁的數據交換會降低效率。CURSOR有兩種類型:顯式CURSOR和隱式CURSOR。在用到查詢語句時,一次只能從數據庫中提取一行數據,會使用一個隱式CURSOR,能夠使統計員在PL/SQL程序塊中手工控制一個或多個CURSOR,但會導致代碼的多個地方出現相同或類似的SELECT[4]。如果要提取多行數據,由用戶定義一個顯式CURSOR,通過與CURSOR相關聯的語句進行處理,返回多行多列的SELECT語句。CURSOR打開,將數據從數據庫中傳送到CURSOR變量中,然后統計圖表程序再從CURSOR變量中提取出需要的數據,并進行處理。建立起服務器端和客戶端程序的連接之后,可以在客戶端用SET REMOTE_PROC_TRANSACTIONS過程函數向特勤療養報表中發送數據庫數據,呈現出客觀準確的報表。例如過程函數PLAN_WORK傳遞特勤療養落實率的方法PROC1_PLAN_WORK(RY_REST_MODE,SD_COMP_VALUE,RP_IMPLEMENT_RATE)。參數的含義分別是:RY_REST_MODE:療養方式代碼,SD_COMP_VALUE體育訓練完成值,RP_IMPLEMENT_RATE特勤療養計劃落實率。PLSQL中使用動態SQL來執行DDL語句、DML語句、事務控制語句及系統控制語句,在DDL中使用綁定變量是非法的,直接將輸入的變量加到字符串中即可。以直方圖表等形式顯示,對不同時段的在院情況進行統計[5]。
Excel 2010是進行電子數據記錄和分析的常用軟件,更適于圖表數據分析與處理,廣泛地應用于數據管理、統計分析[6]。Excel 2010中可實現多種統計分析功能,比Excel 2003增加了常規統計函數如Countifs,用來計算滿足多個給定條件的單元格個數,還增加了多個有效統計分析工具。Excel 2010可依據單元格描述自動生成計算結果,呈現有效的、最真實的數據[7],確保原始數據采集的完整性,提高了病案首頁填報的準確率[8],實現更準確、高效、靈活的統計目標。
每日統計員根據住院數據進行信息核查,加強源頭數據的監控和核對[9]。在需要提供統計數據圖表時,統計員按照統計時限和內容,統計圖表中基礎字段就自動從PL/SQL Developer中提取數據,非標準字段手工錄入,計算后的結果顯示在Excel 2010圖表中,將數據查詢結果與統計分析集成,保證數據的保密性和安全性[10]。例如統計2019年1月特勤療養收治情況,見圖3。

圖3 1月份收治情況
統計發現2019年1月份特勤療養計劃收治90人,實際收治82人,療養計劃落實率為91.11%。
PL/SQL Developer的特勤療養統計圖表的使用實現了科學化分析特勤療養工作的情況,主要有以下效果。
(1) 科室高質量收集數據,加強數據的審核,填報的數據更加準確,避免了特勤療養訓練記錄不完整的情況再出現,提高統計信息的完整性、全面性和可靠性。
(2) 統計圖表的自動生成,縮短了統計員的搜集、整理、分析周期,提高工作效率,實現數據數字化處理。以月統計時間為例:從2019年1月1日起,至2019年1月31為止。統計圖表應用前統計周期要32 h,應用后4 h就可以完成任務。年度工作效率指標值也顯著提高,見表1。

表1 年度工作效率指標(分)
(3)及時為中心首長提供統計分析資料,實時性強、數據安全,運行穩定[11]。而且,數據更新及時,實現動態化管理和實時數據分析[12],提高了特勤療養工作質量和為兵服務滿意率。兩年來,收治特勤療養員近兩千人,為兵服務滿意率達到99.8%。
(4) 能夠為醫療崗位績效津貼管理系統提供數據支撐,考核指標更加合理化,實現業務與技術的有機融合、相互促進[13],建立科學合理的經濟管理體系[14],提升醫務人員主動擔當的作為。
現階段各科室原始登記、統計資料匯總到統計員手中后,統計員以特勤療養統計報表整理為主,手工整理為輔,大部分統計圖表自動生成,結合嵌套的統計指標計算公式,及時、準確、高效地完成統計分析和報告。統計上報實現了數據智能化處理,科學的描述特勤療養工作情況,為中心領導提供可靠的建議,充分反映決策的真實性與準確性[15]。統計工作努力做到了規范化、制度化和數字化。在新的起點上了解統計工作發展動態,合理揚棄、自主創新和協同發展,希望利用新技術不斷加強、加快信息化建設步伐,進一步提高保障特勤療養服務的能力。