肖永平
聯(lián)勤保障部隊第九七O醫(yī)院,山東 煙臺 264002
我國的國家范圍內(nèi)疫情上報網(wǎng)絡(luò)已建立十幾年,但目前各醫(yī)院在上報時,大都仍采取手工方式,傳染病、慢病的監(jiān)測、上報和統(tǒng)計等工作需先人工登記、感控科人員再到科室收集上報數(shù)據(jù)、然后以手工錄入的方式登陸國家疫情直報網(wǎng)絡(luò)上報。這種全流程手工操作的方式很容易造成漏報、誤報、遲報、重報等現(xiàn)象[1-2]。
對于疾病上報卡中的許多專業(yè)知識點來說,感控科人員一般不具備相關(guān)專業(yè)知識,例如對傳染病分類、腫瘤形態(tài)學編碼等,而接觸史、手術(shù)史等信息只在患者的病歷中體現(xiàn)出來,疫情管理人員無法掌握和填寫,所以上報卡必須由臨床醫(yī)生填寫,這也是目前國內(nèi)醫(yī)院通用的做法,而醫(yī)生平時要從事醫(yī)療工作,所以以前的手工方式給醫(yī)生增加了許多額外的工作量。
我國的疾病監(jiān)測與上報工作存在多部門管理的現(xiàn)狀,傳染病、慢病和食源性疾病等在省市和國家層面上分屬不同的上報平臺管理。目前國內(nèi)也有一些疾病監(jiān)測與上報的軟件系統(tǒng)[3-7],但大都監(jiān)測和上報的病種單一、有的僅限于傳染病的監(jiān)測,功能不全;大多只實現(xiàn)院內(nèi)監(jiān)測,跟多個國家相關(guān)疾病上報平臺沒有實現(xiàn)對接;疫情管理人員仍需將大量的報卡信息先行打印出來,然后再手工錄入到相應(yīng)的上報平臺中,耗費人力物力,信息化的優(yōu)勢并沒有充分得以發(fā)揮。
本文針對以上問題開發(fā)了一套完整的疫情實時監(jiān)測與上報管理系統(tǒng),一是通過信息化手段及時發(fā)現(xiàn)需上報的傳染病和慢病等,自動提取疾病上報的數(shù)據(jù),避免手工填寫,對疾病上報做到了及時、準確;二是免去了醫(yī)生手工打字、逐項填寫上報卡的困擾,減少了醫(yī)生的工作量,提高了醫(yī)院的公共衛(wèi)生管理水平;三是系統(tǒng)實現(xiàn)跟國家多個不同的上報管理平臺對接,實現(xiàn)傳染病、慢病、食源性疾病等多病種的實時監(jiān)測與跨平臺上報,監(jiān)測的病種多,自動化程度很高。
該系統(tǒng)使用的數(shù)據(jù)庫是SQL Server 2008,開發(fā)平臺是Visual Studio 2010,采用的后臺開發(fā)語言是C#,利用VS2010中的C#語言工具,可以直接實現(xiàn)對數(shù)據(jù)庫的增刪改查等操作。系統(tǒng)的開發(fā)采用的是ASP.NET MVC4.0技術(shù),該技術(shù)是微軟開發(fā)的一個使用MVC模式編寫ASP.NET Web應(yīng)用程序的開源框架,具有易維護、高擴展、高性能、代碼簡潔等優(yōu)勢。在ASP.NET MVC中,客戶端發(fā)出的請求會被映射到相應(yīng)的Controller去,由Controller來處理業(yè)務(wù)邏輯發(fā)送到Model,然后Model從數(shù)據(jù)庫中存取數(shù)據(jù),返回到Controller,然后再由Controller選擇合適的View返回給客戶端,具體的流程如圖1所示。

圖1 ASP.NET MVC請求處理流程圖
疫情監(jiān)測與上報管理系統(tǒng)主要用于管理國家或者政府規(guī)定的需要上報的各類疾病有關(guān)的報告卡[8-12]。系統(tǒng)通過HIS、LIS、PACS 系統(tǒng)采集監(jiān)測疾病和死亡病例相關(guān)的患者基本信息、診斷信息、檢驗、檢查結(jié)果等,經(jīng)過分析運算生成報卡提醒信息,提醒到醫(yī)生客戶端,督促醫(yī)生及時上報國家要求的疾病報卡。
上報卡中的基礎(chǔ)信息系統(tǒng)自動從各系統(tǒng)中抓取,醫(yī)生只需要在幾個專業(yè)填報欄目中用下拉菜單的方式,簡單的選擇,進行填寫。上報完成后,疾控管理人員可以進入疾病上報管理系統(tǒng)對報卡進行審核。如審核無誤,則可以導出報卡文件,然后通過疾病上報接口,將報卡文件上傳到省疾控中心管理平臺上,即可完成疾病上報工作。具體的工作流程如圖2所示。

圖2 疫情監(jiān)控與上報管理系統(tǒng)工作流程圖
疫情監(jiān)測與上報管理系統(tǒng)由系統(tǒng)登錄、消息提醒、疾病報卡、報卡審核、導出上傳、統(tǒng)計分析、學習培訓、系統(tǒng)管理八大模塊組成。其模塊設(shè)計如圖3所示。

圖3 系統(tǒng)的模塊設(shè)計圖
系統(tǒng)登錄主要涉及管理員、疾控人員和醫(yī)生三類用戶。管理員擁有所有權(quán)限,可以對疾控人員和醫(yī)生的賬號信息進行管理。醫(yī)生的賬戶與HIS系統(tǒng)相關(guān)聯(lián),關(guān)聯(lián)后醫(yī)生可以使用工號登錄到系統(tǒng)和客戶端。
醫(yī)生登錄消息提醒客戶端后,系統(tǒng)服務(wù)器會自動刷新采集信息,然后發(fā)送提醒消息到醫(yī)生的客戶端上。在提醒窗口中,醫(yī)生選擇上報,可以進入報卡上報頁面;如果該報卡上報過或不需要上報,可以選擇不再提醒,經(jīng)疾控管理人員確認后,就不會再接收到該報卡的提醒。消息提醒的功能解決了手工上報造成的遲報、漏報等問題。
消息提醒是通過ActiveMQ服務(wù)器進行傳送和接收的。ActiveMQ是在消息的傳輸過程中保存消息的容器,用來處理消息數(shù)據(jù)時具有高效的傳送速度和吞吐率。如果發(fā)送消息時出現(xiàn)錯誤如接收消息失敗,ActiveMQ會一直保留消息,直到可以成功地傳遞到接收者。
這一模塊主要包括對各種疾病報卡的新增、檢索、修改、刪除等功能。如果醫(yī)生通過被動方式上報的話,系統(tǒng)會自動提取出病人的基本信息;若是主動上報的話,輸入病人的住院號或門診號,也可以檢索出病人的相關(guān)信息,大大減少了醫(yī)生的工作量。各類疾病的報卡頁面嚴格按照國家和有關(guān)部門要求對各項信息進行限制,醫(yī)生必須嚴格按照相關(guān)要求填寫報卡,否則無法上報,從根本上保證了報卡信息的正確性和完整性。
疾控管理人員可以報卡類型、患者類別、病歷號、日期等條件查詢醫(yī)生上報的報卡信息,然后對報卡進行查詢、修改、刪除、審核、打印等操作。如果報卡填寫錯誤,可以駁回報卡,填寫駁回原因,系統(tǒng)自動發(fā)送駁回消息到醫(yī)生客戶端,提醒醫(yī)生修改報卡;若報卡無誤,則標記報卡已審核。
疾控管理員導出已審核的報卡,進入疾病上報接口,進行上傳。有國家疾控信息系統(tǒng)接口的可以通過接口程序?qū)С鑫募炕蛑鸫紊蟼鞯絿壹部叵到y(tǒng);無信息系統(tǒng)接口的通過XML文件數(shù)據(jù)加載也可完成報卡的自動填報[12-14]。通過接口上傳節(jié)省了管理人員上網(wǎng)填寫上傳的繁瑣步驟,減輕了工作量,避免了填寫過程中可能出現(xiàn)的錯誤。
據(jù)醫(yī)生填寫的報卡或登記記錄等,系統(tǒng)可以根據(jù)要求自動生成相關(guān)的登記簿等,匯總各種疾病報卡的詳細信息,便于管理人員及時對各種疾病信息進行統(tǒng)計分析。目前統(tǒng)計分析模塊主要包括疾病登記簿、疾病上報統(tǒng)計、腫瘤登記簿、腹瀉病門診登記記錄、質(zhì)控統(tǒng)計等功能,后續(xù)還有其他統(tǒng)計功能亟待實現(xiàn)。
這一模塊主要包括學習園地和通知公告兩部分。疾控管理員可以在該系統(tǒng)的學習培訓模塊發(fā)布學習資料或通知公告等供醫(yī)護人員閱讀、學習和下載,系統(tǒng)可以自動記錄醫(yī)護人員對各資料的閱讀情況,生成閱讀情況統(tǒng)計表,方便疾控管理員管理醫(yī)生的學習記錄。
系統(tǒng)管理員可以在該模塊設(shè)置LIS的過濾條件、管理用戶的賬戶信息、設(shè)置各類參數(shù)。系統(tǒng)管理員可以對用戶進行權(quán)限管理,醫(yī)生只擁有疾病報卡和學習平臺兩項權(quán)限,疾控管理人員除此還有審核統(tǒng)計的權(quán)限。系統(tǒng)管理員可以在參數(shù)設(shè)置中設(shè)置篩選疾病的關(guān)鍵字、消息提醒的時間間隔、強制填寫報卡天數(shù)等參數(shù)。
系統(tǒng)的主要功能包括系統(tǒng)登錄、消息提醒、疾病報卡、報卡審核、導出上傳、統(tǒng)計分析、系統(tǒng)管理、學習培訓,這些功能的實現(xiàn)都依賴于系統(tǒng)數(shù)據(jù)庫DRDB與HIS、LIS、PACS數(shù)據(jù)庫的關(guān)聯(lián)。通過在DRDB中建立關(guān)聯(lián)來獲取HIS、LIS、PACS中的數(shù)據(jù),系統(tǒng)依賴于這些采集到的數(shù)據(jù),對數(shù)據(jù)進行處理,實現(xiàn)各項功能。
通過在DRDB中建立視圖來獲取HIS、LIS、PACS中的數(shù)據(jù),包括病人信息、科室信息等。以病人信息的獲取為例,關(guān)聯(lián)HIS中的表PAT_VISIT,PAT_MASTER_INDEX,DEPT_DICT,獲取病人的基本信息、所在科室信息、住院信息等數(shù)據(jù),并存儲到DRDB數(shù)據(jù)庫中的V_patient表中。獲取住院病人信息的實現(xiàn)代碼如下:
select patin.patient_id patientId,//病歷號
patin.visit_id zycs,//住院次數(shù)
patin.dept_admission_to ksbh,//科室編號
pat.name patientName,//姓名
case pat.sex when ‘男’ then 1 when ‘女’ then 2 else 0 end sex,//性別
dept.dept_name ksmc,//科室名稱
to_char(pat.date_of_birth,’yyyy-mm-dd’) dateOfBirth,//出生日期
pat.birth_place czdbm,//常住地編碼
pat.nation,//民族
pat.id_no sfzh,//身份證號
pat.mailing_address czd,//常住地
pat.phone_number_home phone,//聯(lián)系電話
‘住院’ patientTypeName,//病人類型
2 patientType,//病人類型編碼
from PAT_VISIT patin join pat_master_index pat on pat.patient_id=patin.patient_id
join dept_dict dept on patin.dept_admission_to=dept.dept_code//表關(guān)聯(lián)
where pat.patient_id = patientid and patin.visit_id= zycs
系統(tǒng)服務(wù)器通過對HIS、LIS、PACS數(shù)據(jù)庫中的診斷信息、檢驗信息、檢查信息等進行分析運算,根據(jù)關(guān)鍵字篩選出需要上報的病人信息,對醫(yī)生客戶端發(fā)送消息提醒。提醒過程中的數(shù)據(jù)形成消息提醒記錄,保存到數(shù)據(jù)庫中的msg_tip_recoder表,msg_tip_recoder的數(shù)據(jù)結(jié)構(gòu)如表1所示。

表1 msg_tip_recoder數(shù)據(jù)表結(jié)構(gòu)
當系統(tǒng)發(fā)現(xiàn)了需要上報的疾病開始提醒后,會將該消息提醒記錄寫入表msg_tip_recoder中。隨著消息的不斷提醒,表msg_tip_recoder中的某行記錄的數(shù)據(jù)如最后提醒時間、一共提醒次數(shù)數(shù)據(jù)等會隨之更新,直到醫(yī)生上報報卡或選擇不再提醒后停止。系統(tǒng)會根據(jù)患者姓名、性別、年齡、身份證號碼、聯(lián)系電話、家庭住址等信息自動判斷是否屬于重復報卡,如果屬于重復報卡則會自動彈出之前的上報信息,由醫(yī)生決定是否需要再次上報。如果醫(yī)生超時仍未上報,疫情管理員可以電話通知醫(yī)生,并且在系統(tǒng)中備注何時、何人打的電話,該記錄為月底的績效考核、獎金發(fā)放提供參考依據(jù)。
系統(tǒng)于2014年8月份上線運行,取得了很好的應(yīng)用效果,系統(tǒng)上線之前,臨床醫(yī)生發(fā)現(xiàn)需上報的疾病時,需要將上報卡中的所有信息用手工打字的方式,整理成Word文檔,感控科人員到科室收集該文檔,醫(yī)生的工作量很大,所以常會造成漏報等情況。
系統(tǒng)上線后,患者已有的信息系統(tǒng)自動獲取,無須醫(yī)生再次重復錄入,填報形式以點選和下拉框形式進行規(guī)范,醫(yī)生只需要從各下拉菜單里選擇相應(yīng)的專業(yè)條目進行填報,免去手工打字匯總上報信息的困擾,提高了醫(yī)生的填報效率和準確率。完成報告卡后系統(tǒng)自動發(fā)送至疾病管理科。
系統(tǒng)每15 min會搜索最新的診斷、檢查和檢驗等結(jié)果,與系統(tǒng)的規(guī)則庫進行匹配,當發(fā)現(xiàn)符合疾病上報條件的值時,系統(tǒng)會在對應(yīng)科室的醫(yī)生端窗口彈出提示窗口,杜絕了漏報等情況,疾病管理科人員對報告卡進行審核,可修改報告卡或退回醫(yī)生重新填寫,審核通過后進行上報,全流程無手工錄入,減少了誤報、錯報。整個過程實現(xiàn)了數(shù)據(jù)監(jiān)測、報告卡填寫、審核及上報全過程的自動化。系統(tǒng)的部分上報卡如圖4所示,系統(tǒng)的部分界面如圖5所示。

圖4 艾滋病性病附卡
我院研發(fā)的疫情監(jiān)測與上報管理系統(tǒng)基于.NET框架開發(fā),以SQL Server數(shù)據(jù)庫作為數(shù)據(jù)載體,和醫(yī)院現(xiàn)有的HIS、LIS、PACS系統(tǒng)無縫連接[13-16]。系統(tǒng)應(yīng)用于醫(yī)院后,擺脫了目前許多醫(yī)院采取的手工填寫報告卡的方式,提高了臨床醫(yī)生的工作效率,減輕了工作量,確保了疾病上報的時效性,提高了準確性。經(jīng)疫情管理員審核通過的報告卡,可以指定文件格式導出,由上傳接口直接上傳到國家相應(yīng)的疫情管理平臺,免去了疫情管理員之前手工在國家疫情管理平臺二次錄入報告卡的重復工作,提升了報告上傳效率,也提高了報告的上報質(zhì)量,為醫(yī)院的疫情監(jiān)測上報工作帶來了顯著的效率和質(zhì)量雙提升。該系統(tǒng)已經(jīng)成為公共衛(wèi)生管理工作強有力的信息化工具,也已在多家醫(yī)院推廣使用,大大提高了醫(yī)院疾病上報工作的管理水平,值得繼續(xù)研究和探索。

圖5 疫情監(jiān)測與上報管理系統(tǒng)