疫情监测与上报管理系统的设计与实现引言我国的国家范围内疫情上报网络已建立十几年,但目前各医院在上报时,大都仍采取手工方式,传染病、慢病的监测、上报和统计等工作需先人工登记、感控科人员再到科室收集上报数据、然后以手工录入的方式登陆国家疫情直报网络上报。这种全流程手工操作的方式很容易造成漏报、误报、迟报、重报等现象[1-2]。 对于疾病上报卡中的许多专业知识点来说,感控科人员一般不具备相关专业知识,例如对传染病分类、肿瘤形态学编码等,而接触史、手术史等信息只在患者的病历中体现出来,疫情管理人员无法掌握和填写,所以上报卡必须由临床医生填写,这也是目前国内医院通用的做法,而医生平时要从事医疗工作,所以以前的手工方式给医生增加了许多额外的工作量。 我国的疾病监测与上报工作存在多部门管理的现状,传染病、慢病和食源性疾病等在省市和国家层面上分属不同的上报平台管理。目前国内也有一些疾病监测与上报的软件系统[3-7],但大都监测和上报的病种单一、有的仅限于传染病的监测,功能不全;大多只实现院内监测,跟多个国家相关疾病上报平台没有实现对接;疫情管理人员仍需将大量的报卡信息先行打印出来,然后再手工录入到相应的上报平台中,耗费人力物力,信息化的优势并没有充分得以发挥。 本文针对以上问题开发了一套完整的疫情实时监测与上报管理系统,一是通过信息化手段及时发现需上报的传染病和慢病等,自动提取疾病上报的数据,避免手工填写,对疾病上报做到了及时、准确;二是免去了医生手工打字、逐项填写上报卡的困扰,减少了医生的工作量,提高了医院的公共卫生管理水平;三是系统实现跟国家多个不同的上报管理平台对接,实现传染病、慢病、食源性疾病等多病种的实时监测与跨平台上报,监测的病种多,自动化程度很高。 1 系统概述1.1 开发技术该系统使用的数据库是SQL Server 2008,开发平台是Visual Studio 2010,采用的后台开发语言是C#,利用VS2010中的C#语言工具,可以直接实现对数据库的增删改查等操作。系统的开发采用的是ASP.NET MVC4.0技术,该技术是微软开发的一个使用MVC模式编写ASP.NET Web应用程序的开源框架,具有易维护、高扩展、高性能、代码简洁等优势。在ASP.NET MVC中,客户端发出的请求会被映射到相应的Controller去,由Controller来处理业务逻辑发送到Model,然后Model从数据库中存取数据,返回到Controller,然后再由Controller选择合适的View返回给客户端,具体的流程如图1所示。 图1 ASP.NET MVC请求处理流程图 1.2 系统流程疫情监测与上报管理系统主要用于管理国家或者政府规定的需要上报的各类疾病有关的报告卡[8-12]。系统通过HIS、LIS、PACS 系统采集监测疾病和死亡病例相关的患者基本信息、诊断信息、检验、检查结果等,经过分析运算生成报卡提醒信息,提醒到医生客户端,督促医生及时上报国家要求的疾病报卡。 上报卡中的基础信息系统自动从各系统中抓取,医生只需要在几个专业填报栏目中用下拉菜单的方式,简单的选择,进行填写。上报完成后,疾控管理人员可以进入疾病上报管理系统对报卡进行审核。如审核无误,则可以导出报卡文件,然后通过疾病上报接口,将报卡文件上传到省疾控中心管理平台上,即可完成疾病上报工作。具体的工作流程如图2所示。 图2 疫情监控与上报管理系统工作流程图 2 模块设计疫情监测与上报管理系统由系统登录、消息提醒、疾病报卡、报卡审核、导出上传、统计分析、学习培训、系统管理八大模块组成。其模块设计如图3所示。 图3 系统的模块设计图 2.1 系统登录模块系统登录主要涉及管理员、疾控人员和医生三类用户。管理员拥有所有权限,可以对疾控人员和医生的账号信息进行管理。医生的账户与HIS系统相关联,关联后医生可以使用工号登录到系统和客户端。 2.2 消息提醒模块医生登录消息提醒客户端后,系统服务器会自动刷新采集信息,然后发送提醒消息到医生的客户端上。在提醒窗口中,医生选择上报,可以进入报卡上报页面;如果该报卡上报过或不需要上报,可以选择不再提醒,经疾控管理人员确认后,就不会再接收到该报卡的提醒。消息提醒的功能解决了手工上报造成的迟报、漏报等问题。 消息提醒是通过ActiveMQ服务器进行传送和接收的。ActiveMQ是在消息的传输过程中保存消息的容器,用来处理消息数据时具有高效的传送速度和吞吐率。如果发送消息时出现错误如接收消息失败,ActiveMQ会一直保留消息,直到可以成功地传递到接收者。 2.3 疾病报卡模块这一模块主要包括对各种疾病报卡的新增、检索、修改、删除等功能。如果医生通过被动方式上报的话,系统会自动提取出病人的基本信息;若是主动上报的话,输入病人的住院号或门诊号,也可以检索出病人的相关信息,大大减少了医生的工作量。各类疾病的报卡页面严格按照国家和有关部门要求对各项信息进行限制,医生必须严格按照相关要求填写报卡,否则无法上报,从根本上保证了报卡信息的正确性和完整性。 2.4 报卡审核模块疾控管理人员可以报卡类型、患者类别、病历号、日期等条件查询医生上报的报卡信息,然后对报卡进行查询、修改、删除、审核、打印等操作。如果报卡填写错误,可以驳回报卡,填写驳回原因,系统自动发送驳回消息到医生客户端,提醒医生修改报卡;若报卡无误,则标记报卡已审核。 2.5 导出上传模块疾控管理员导出已审核的报卡,进入疾病上报接口,进行上传。有国家疾控信息系统接口的可以通过接口程序将导出文件批量或逐次上传到国家疾控系统;无信息系统接口的通过XML文件数据加载也可完成报卡的自动填报[12-14]。通过接口上传节省了管理人员上网填写上传的繁琐步骤,减轻了工作量,避免了填写过程中可能出现的错误。 2.6 统计分析模块据医生填写的报卡或登记记录等,系统可以根据要求自动生成相关的登记簿等,汇总各种疾病报卡的详细信息,便于管理人员及时对各种疾病信息进行统计分析。目前统计分析模块主要包括疾病登记簿、疾病上报统计、肿瘤登记簿、腹泻病门诊登记记录、质控统计等功能,后续还有其他统计功能亟待实现。 2.7 学习培训模块这一模块主要包括学习园地和通知公告两部分。疾控管理员可以在该系统的学习培训模块发布学习资料或通知公告等供医护人员阅读、学习和下载,系统可以自动记录医护人员对各资料的阅读情况,生成阅读情况统计表,方便疾控管理员管理医生的学习记录。 2.8 系统管理模块系统管理员可以在该模块设置LIS的过滤条件、管理用户的账户信息、设置各类参数。系统管理员可以对用户进行权限管理,医生只拥有疾病报卡和学习平台两项权限,疾控管理人员除此还有审核统计的权限。系统管理员可以在参数设置中设置筛选疾病的关键字、消息提醒的时间间隔、强制填写报卡天数等参数。 3 系统功能实现系统的主要功能包括系统登录、消息提醒、疾病报卡、报卡审核、导出上传、统计分析、系统管理、学习培训,这些功能的实现都依赖于系统数据库DRDB与HIS、LIS、PACS数据库的关联。通过在DRDB中建立关联来获取HIS、LIS、PACS中的数据,系统依赖于这些采集到的数据,对数据进行处理,实现各项功能。 3.1 数据获取通过在DRDB中建立视图来获取HIS、LIS、PACS中的数据,包括病人信息、科室信息等。以病人信息的获取为例,关联HIS中的表PAT_VISIT,PAT_MASTER_INDEX,DEPT_DICT,获取病人的基本信息、所在科室信息、住院信息等数据,并存储到DRDB数据库中的V_patient表中。获取住院病人信息的实现代码如下: select patin.patient_id patientId,//病历号 patin.visit_id zycs,//住院次数 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,//联系电话 ‘住院’ 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//表关联 where pat.patient_id = patientid and patin.visit_id= zycs 3.2 消息提醒的实现系统服务器通过对HIS、LIS、PACS数据库中的诊断信息、检验信息、检查信息等进行分析运算,根据关键字筛选出需要上报的病人信息,对医生客户端发送消息提醒。提醒过程中的数据形成消息提醒记录,保存到数据库中的msg_tip_recoder表,msg_tip_recoder的数据结构如表1所示。 表1 msg_tip_recoder数据表结构 序号 字段 类型 长度 备注1 id INT 主键2 patientId VARCHAR 50 病历号3 patientName VARCHAR 50 病人姓名4 patientType VARCHAR 1 病人类型5 zycs VARCHAR 100 住院次数6 firstTime DATETIME 开始提醒时间7 lastTime DATETIME 结束提醒时间8 totalCount INT 一共提醒次数9 reportCardType INT 报卡类型10 doctor VARCHAR 50 诊断医生11 deptment VARCHAR 200 科室12 state TINYINT 状态13 not_tip_time DATETIME 不再提醒时间14 zdmc VARCHAR 250 诊断名称15 dhtz VARCHAR 50 是否电话通知16 lssbxx VARCHAR 1000 历史上报信息17 tip_type INT 提档状态18 nl VARCHAR 50 年龄19 bed_no VARCHAR 50 床号20 beizhu VARCHAR 500 备注 当系统发现了需要上报的疾病开始提醒后,会将该消息提醒记录写入表msg_tip_recoder中。随着消息的不断提醒,表msg_tip_recoder中的某行记录的数据如最后提醒时间、一共提醒次数数据等会随之更新,直到医生上报报卡或选择不再提醒后停止。系统会根据患者姓名、性别、年龄、身份证号码、联系电话、家庭住址等信息自动判断是否属于重复报卡,如果属于重复报卡则会自动弹出之前的上报信息,由医生决定是否需要再次上报。如果医生超时仍未上报,疫情管理员可以电话通知医生,并且在系统中备注何时、何人打的电话,该记录为月底的绩效考核、奖金发放提供参考依据。 4 系统应用效果系统于2014年8月份上线运行,取得了很好的应用效果,系统上线之前,临床医生发现需上报的疾病时,需要将上报卡中的所有信息用手工打字的方式,整理成Word文档,感控科人员到科室收集该文档,医生的工作量很大,所以常会造成漏报等情况。 系统上线后,患者已有的信息系统自动获取,无须医生再次重复录入,填报形式以点选和下拉框形式进行规范,医生只需要从各下拉菜单里选择相应的专业条目进行填报,免去手工打字汇总上报信息的困扰,提高了医生的填报效率和准确率。完成报告卡后系统自动发送至疾病管理科。 系统每15 min会搜索最新的诊断、检查和检验等结果,与系统的规则库进行匹配,当发现符合疾病上报条件的值时,系统会在对应科室的医生端窗口弹出提示窗口,杜绝了漏报等情况,疾病管理科人员对报告卡进行审核,可修改报告卡或退回医生重新填写,审核通过后进行上报,全流程无手工录入,减少了误报、错报。整个过程实现了数据监测、报告卡填写、审核及上报全过程的自动化。系统的部分上报卡如图4所示,系统的部分界面如图5所示。 图4 艾滋病性病附卡 5 总结我院研发的疫情监测与上报管理系统基于.NET框架开发,以SQL Server数据库作为数据载体,和医院现有的HIS、LIS、PACS系统无缝连接[13-16]。系统应用于医院后,摆脱了目前许多医院采取的手工填写报告卡的方式,提高了临床医生的工作效率,减轻了工作量,确保了疾病上报的时效性,提高了准确性。经疫情管理员审核通过的报告卡,可以指定文件格式导出,由上传接口直接上传到国家相应的疫情管理平台,免去了疫情管理员之前手工在国家疫情管理平台二次录入报告卡的重复工作,提升了报告上传效率,也提高了报告的上报质量,为医院的疫情监测上报工作带来了显著的效率和质量双提升。该系统已经成为公共卫生管理工作强有力的信息化工具,也已在多家医院推广使用,大大提高了医院疾病上报工作的管理水平,值得继续研究和探索。 图5 疫情监测与上报管理系统 [1] 齐琼丽.浅谈基层医院传染病上报工作存在的问题与对策[J].基层医学论坛,2013,17(24):3130. [2] 张星,王洪亮.临床报告卡管理系统的应用[J].电脑技术与知识,2016,12(9):142. [3] 颜红,李保杰.基于HIS的传染病报告管理系统的实现与应用[J].医疗卫生装备,2013,34(10):44-46. [4] 崔菲菲,万振,刘晓龙.传染病上报辅助管理系统的设计与实现[J].医疗卫生装备,2016,37(8):68-71. [5] 李苑,叶郁辉,张晓阳,等.疾病预防控制智能上报管理系统设计与应用[J].医学信息学杂志,2014,35(3):21-25. [6] 缑文海,姜冰,邵耀来.医院疾病监测上报系统的设计和应用[J].中国医疗设备,2018,33(5):130-132. [7] 袁小山,李初民,李军.基于可扩展标记语言的传染病上报系统设计与实现[J].医疗卫生装备,2015,36(7):53-55. [8] 陈坤,马宗庆,邱艳,等.基于数据仓库的疾病上报系统建设[J].医院管理论坛,2016,33(5):69. [9] 李苑,黄春希,熊田甜,等.基于区域卫生信息平台的疾病监测智能信息采集系统设计[J].医学信息学杂志,2013.34(9):17-19. [10] 彭友杏.医院信息系统在传染病疫情报告中的应用效果[J].公共卫生与预防医学,2012,23(6):78. [11] 杨毕辉,王继伟,吴业毅,等.基于C/S 结构的医院传染病报告管理系统开发与应用[J].电子设计工程,2012,23(20):56-59. [12] 苌晨,吴东东,封麟卓,等.基于XML编码和解析技术的传染病管理报告系统设计和应用[J].中国医学装备,2016,13(12):128-130. [13] 王静,张越巍,王韬,等.信息化建设在医院传染病管理中的作用[J].中华医院感染学杂志,2015,25(21):4996-4998. [14] 林文斌.综合性医院传染病疫情报告全过程管理[J].中国现代医生,2014,52(6):123-125. [15] 李言飞,马家奇.中国疾病预防控制信息系统问题分析与对策[J].中国卫生信息管理杂志,2013,10(3):230-232. [16] 刁琰,单清,张民,等.基于HIS系统的传染病监测报告管理系统的设计与实现[J].中华肺部疾病杂志,2017,10(4):506-508. Design and Implementation of Epidemic Monitoring and Reporting Management System |