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