隨著信息技術的快速發(fā)展, 我國傳染病防控工作也日益依賴于信息技術的先進性和高效性。2003年SARS暴發(fā)后, 中國疾病預防控制中心研發(fā)了中國疾病預防控制信息系統(tǒng) (以下簡稱“中疾控系統(tǒng)”) , 內(nèi)含26個子系統(tǒng), 覆蓋我國各級各類醫(yī)療衛(wèi)生機構和衛(wèi)生行政部門, 旨在將傳染病疫情發(fā)生情況及時從醫(yī)療機構源頭采集上報至各級疾病預防控制中心, 實現(xiàn)傳染病防控快速響應、準確決策、有效干預的目的, 有效遏制重大傳染病疫情及群體性不明原因疾病的暴發(fā)[1]。但各級系統(tǒng)用戶只能作為使用者參與系統(tǒng)的應用, 被動地熟悉和掌握系統(tǒng)現(xiàn)有的功能, 未能獲得任何個性化定制權限, 無法使相關功能更加契合實際工作需要。
目前, 系統(tǒng)的省級管理員知曉突發(fā)公共衛(wèi)生事件發(fā)生情況的方式有以下2種:通過查詢“中疾控系統(tǒng)”中的突發(fā)公共衛(wèi)生事件信息管理系統(tǒng) (以下簡稱“突發(fā)系統(tǒng)”) ;通過下級疾控機構疫情管理員電話或者短信上報。疫情接報的時間直接影響疾控部門對事件干預和處理的進度。因此, 人為定時關注系統(tǒng)中突發(fā)事件報告與實時監(jiān)控相比, 其時效性可能存在較大差距。為此, 設計開發(fā)一套突發(fā)公共衛(wèi)生事件管理輔助軟件, 實現(xiàn)計算機代替人工進行實時在線自動監(jiān)控和采集“突發(fā)系統(tǒng)”中事件的基本信息并及時提醒, 可促進傳染病疫情日常監(jiān)控管理工作的信息化和智能化, 有效提高疫情報告信息處置效率。
1 主要做法及程序設計思路
“突發(fā)系統(tǒng)”是B/S架構的Web應用系統(tǒng), 各級疾病預防控制中心的業(yè)務管理員根據(jù)不同的權限可以查詢到所屬轄區(qū)內(nèi)報告的突發(fā)公共衛(wèi)生事件的匯總及個案明細信息??紤]不依托“中疾控系統(tǒng)”開發(fā)商提供數(shù)據(jù)或服務接口的前提, 采用MicroSoft.Net平臺下的WebBrowser瀏覽器控件, 開發(fā)一個可以實現(xiàn)對系統(tǒng)中相關數(shù)據(jù)頁面進行自動監(jiān)控和數(shù)據(jù)采集的應用程序軟件, 改善了基于B/S架構的Web應用程序在用戶端“弱控制”的不足?;谛畔踩筒渴鸨憷缘男枨? 本軟件采用C/S架構, 使用MicroSoft.Net平臺下的C#語言編寫開發(fā), 集成WebBrowser、Office API、短信平臺等多種成熟技術, 實現(xiàn)對“突發(fā)系統(tǒng)”關鍵頁面的數(shù)據(jù)抓取和應用。
1.1 設計思路
本軟件通過WebBrowser瀏覽器控件對“突發(fā)系統(tǒng)”的頁面進行操作和控制, 利用定時器設置定時每隔60秒模擬觸發(fā)頁面上的查詢按鈕[2], 以實現(xiàn)對事件管理頁面數(shù)據(jù)的自動刷新, 同時避免因長期無操作導致系統(tǒng)認證超時。當頁面加載執(zhí)行完畢后, 根據(jù)軟件程序中默認的文檔清理算法, 解析HTML網(wǎng)頁格式文檔, 對當前頁面上所有的突發(fā)事件基本信息進行抓取, 然后以突發(fā)事件名稱和事件ID兩個字段作為聯(lián)合主鍵, 逐條與本地數(shù)據(jù)庫中的已有記錄進行比對, 判斷是否屬于新發(fā)的突發(fā)事件。同時啟動巡檢函數(shù), 查詢到數(shù)據(jù)庫中的信息提醒字段標注為未提醒的突發(fā)事件, 則對用戶進行程序彈窗或者短信提醒。如未發(fā)現(xiàn)新事件, 軟件則自動執(zhí)行循環(huán)執(zhí)行以上操作直至發(fā)現(xiàn)新事件, 以此來實現(xiàn)不間斷的在線監(jiān)控。最后, 通過調(diào)用Office API, 抽取突發(fā)事件的關鍵字段信息對預先植入WORD報告模板的書簽進行匹配更新, 即可自動、快速地生成報告格式文檔。
1.2 可行性分析
通過對頁面源文件的分析, 發(fā)現(xiàn)突發(fā)公共衛(wèi)生事件列表頁面文檔為標準化的HTML文檔格式, 需要監(jiān)控和采集數(shù)據(jù)的頁面由查詢條件區(qū)域和數(shù)據(jù)顯示區(qū)域組成, 具備頁面分析和數(shù)據(jù)采集利用的可能性。通過對頁面元素進行分析, 發(fā)現(xiàn)需要獲取的信息元素均集中在數(shù)據(jù)顯示區(qū)域事件列表的TABLE元素中, 包含有:突發(fā)公共衛(wèi)生事件級別、事件名稱、報告地區(qū)、狀態(tài)、創(chuàng)建時間、最近修改、發(fā)病數(shù)、死亡數(shù)、審核狀態(tài)等字段。上述所有字段信息均存在頁面中每一個<tr></tr>記錄行標簽內(nèi), 每一個關鍵字段占用一個<td></td>單元格, 需要抓取的關鍵信息字段均以文本和占位符形式存儲在單元格內(nèi)部[3]。
2 主要功能和成效
根據(jù)上述設計思路, 軟件開發(fā)過程中主要實現(xiàn)了單點登錄、頁面自動刷新、頁面數(shù)據(jù)抓取、報告自動生成四個方面的功能, 主要技術要點和實現(xiàn)方式具體列舉如下:
2.1 單點登錄
“中疾控系統(tǒng)”登錄門戶現(xiàn)已實行數(shù)字證書認證登錄, 插入證書介質(zhì)后只需要在頁面上輸入證書口令即可實現(xiàn)登錄。在完成頁面加載后, 在程序中進行循環(huán)查找, 定位到ID或者NAME屬性值為“UserPwd”的INPUT標簽[4], 然后將用戶的數(shù)字證書口令進行賦值, 并在程序內(nèi)部通過WebBrowser對頁面進行控制, 調(diào)用頁面表單提交函數(shù), 完成對“登錄”按鈕提交事件函數(shù)的模擬人工觸發(fā), 通過密碼驗證后即可登錄系統(tǒng)。
2.2 自動刷新查詢
突發(fā)公共衛(wèi)生事件查詢頁面上設置有“查詢”按鈕, 用于查詢報告的突發(fā)事件信息。根據(jù)自動查詢的需求, 需使用程序模擬人工觸發(fā)該按鈕。頁面中該按鈕使用的是INPUT標簽, VALUE屬性值為“查詢”, onclick事件調(diào)用JS查詢函數(shù)。利用該元素的唯一屬性值篩選過濾掉其他標簽元素, 再逐層嵌套循環(huán)查找, 利用GetAttribute (“value”) 屬性在頁面中唯一定位該按鈕元素, 然后在程序內(nèi)部調(diào)用單擊查詢函數(shù), 完成對“查詢”按鈕的模擬人工觸發(fā)。完成操作后會顯示相應時間段內(nèi)的所有突發(fā)公共衛(wèi)生事件列表。
2.3 頁面元素抓取
突發(fā)公共衛(wèi)生事件關鍵基本信息全部集中存儲于頁面中的TABLE標簽內(nèi)部, 因頁面中存在多個TABLE標簽, 可以唯一定位到目標是CLASS屬性值為“tbMain”的TABLE標簽, 然后依次循環(huán)查詢CLASS屬性值為“tbMain_data”的TR行標簽, 截取行標簽內(nèi)部所有單元格TD的內(nèi)容, 最后利用正則表達式或者其他預設好的文檔清洗算法對內(nèi)容進行篩選取值, 直至讀取到當前TABLE結束標簽后完成所有事件信息的采集。
2.4 自動填寫生成事件報告
突發(fā)公共衛(wèi)生事件報告需由業(yè)務人員根據(jù)事件關鍵信息填寫生成WORD文檔并打印審批, 通過在突發(fā)事件報告模板中對需要賦值的位置插入對應信息的書簽標識, 讓程序使用Office API的相關方法, 找到模板中的書簽名, 并在書簽處寫入要插入的數(shù)據(jù), 操作完成后便可在指定操作系統(tǒng)路徑下自動生成以事件名稱命名的WORD文檔。
3 討論
該輔助軟件經(jīng)廣西疫情管理人員在實際工作中測試和使用, 極大地減輕了系統(tǒng)業(yè)務管理員的工作量。如:改進了人為監(jiān)控模式存在的弊端, 實現(xiàn)了實時數(shù)據(jù)采集和分析、自動預警新發(fā)事件, 有效地緩解值班工作人員壓力;可快速、準確地生成突發(fā)公共衛(wèi)生事件報告, 既能減少人為手工操作產(chǎn)生的錯誤, 又能極大地提高工作效率。該軟件雖然實現(xiàn)了對“突發(fā)系統(tǒng)”進行自動監(jiān)控和數(shù)據(jù)采集的目的, 但依賴于對頁面HTML格式標簽文本的識別和抓取, 如系統(tǒng)開發(fā)商因業(yè)務工作需要對相關頁面進行了變更, 那么軟件也要做相應的調(diào)整, 才能保證信息獲取準確。
基于WebBrowser的突發(fā)公共衛(wèi)生事件信息管理系統(tǒng)自動監(jiān)控和告警應用軟件開發(fā), 通過多種成熟信息技術的整合利用, 有效改進了工作模式, 提高了工作效率。據(jù)統(tǒng)計, 廣西現(xiàn)有省、市、縣級疾病預防控制中心120余家, 各地疾病預防控制機構業(yè)務工作人員均有類似的工作需求。該軟件針對性強、操作簡單, 具備大范圍推廣使用的需求和可能性。同時, 這種基于網(wǎng)頁數(shù)據(jù)采集的軟件設計思路為公共衛(wèi)生和醫(yī)療行業(yè)各類大型網(wǎng)絡信息系統(tǒng)數(shù)據(jù)采集和二次開發(fā)應用提供了依據(jù)。
本文地址:http://www.islandpacificappraisals.com//article/5726.html