面向社区服务的呼吸科辅助诊疗系统的研制
2012-01-04吴月芳孙培莉胡勇朱豫川于海瑛
吴月芳,孙培莉,胡勇,朱豫川,于海瑛
面向社区服务的呼吸科辅助诊疗系统的研制
吴月芳,孙培莉,胡勇,朱豫川,于海瑛
目的借助于计算机技术来统一、有序、高效地对患者就诊信息进行处理,对就诊资料进行有效的统计分析,找出和发现与疾病密切相关的危险因素,提高常规手工管理作业效率。方法以南京医科大学第一附属医院与南京理工大学医院开展的支气管哮喘社区干预研究项目为背景,在近2年的实践和全面分析需求的基础上,完成面向社区服务的呼吸科辅助诊疗系统的设计与实现。结果所实现的辅助诊疗系统采用先进的AJAX(Asynchronous JavaScript XML)技术,应用JSP(Java Service Page)技术开发,后台数据库使用MS-SQL Server。系统由病例资料录入、字典维护、就诊预约、数据库操作、查询统计、疾病危险因素智能分析、权限管理和系统设置八个主要功能模块组成,系统界面友好、操作方便、稳定可靠。结论实现了社区呼吸科诊疗工作的简单化、程序化、智能化,显著减少医师的工作量,提升工作效率。本系统的特色之处在于应用数据挖掘技术实现了疾病危险因素智能分析功能,能给医师诊断病情、总结病因提供智能分析建议。
面向社区服务;呼吸科;辅助诊疗;智能分析;浏览器/服务器
随着社会经济的发展和人民群众日益增加的卫生需求,社区卫生服务在京、津、沪等城市迅速发展[1-2],并逐步推进到其他中小城市。社区卫生服务的发展不仅提高了卫生保健的公平性和效率,并且在提高居民的健康水平和控制医疗费用增长方面起到了卓有成效的作用[2]。然而,社区卫生服务有着其自身的特殊性,社区医院需要针对实际情况,在软硬件等方面开展相应的变革创新,以适应人民群众对卫生服务的需求。在这种新形势下,南京医科大学第一附属医院与南京理工大学医院针对社区特性,开展了呼吸疾病的相关研究。在研究中发现,呼吸科门诊登记项目繁多,工作量大,常规手工管理作业效率低下,亦不便于从就诊资料中进行有效的统计分析,找出和发现与疾病密切相关的危险因素。虽然已有很多软件系统可以用于辅助医师开展工作〔例如医院信息系统(HIS)[3-4]〕,但是很多社区医院采购能力有限。此外,由于HIS本身非常复杂,在此基础上做特定目的(如针对呼吸科诊疗)的二次开发,除了需要熟悉HIS架构的软件工程师,还需要专门的医学人才梳理业务流程,因而需要耗费较大的人力财力,这些都是社区医院所不能承受的。鉴于此,本研究针对社区卫生服务的特性,在综合考察呼吸科临床诊疗特性的基础上,借助于计算机技术来统一、有序、高效地对患者就诊信息进行处理,研发了面向社区服务的呼吸科辅助诊疗系统。
1 研究方法
1.1 全面分析系统需求以南京医科大学第一附属医院与南京理工大学医院开展的支气管哮喘社区干预研究项目为背景(2009年8月—2011年7月),在充分实践的基础之上,完成了面向社区服务的呼吸科辅助诊疗系统的全面需求分析。
1.2 运用先进技术,研发稳定、高效系统为使得所开发的系统稳定、高效,项目组采用了先进的AJAX(Asynchronous JavaScript XML)、JSP(Java Service Page)及MS-SQL Server技术。之所以采用该技术,旨在达到以下目标。
1.2.1 使用AJAX技术可以提高系统运行效率,增强用户体验AJAX是基于标准化、规范化并且能够被广泛支持的技术,不需要下载任何插件,更不需要虚拟机的支持。AJAX将成为未来Web发展标准和Web应用的可用性理论的统一,它极大地改善了Web应用的可用性和用户的交互体验,提高了客户端的利用效率,减轻了服务器的负担,在Web应用的发展中占据了重要位置。应用AJAX[5]技术的面向社区服务的呼吸科辅助诊疗系统,仍然采用B/S模式的三层构架,只是在交互方式上采用异步交互方式,大大减轻了服务器的压力,缩短了用户等待时间,提高了该系统工作效率,带来了良好的用户体验。
1.2.2 使用JSP技术提高系统的跨平台扩展能力JSP标准是由Sun公司主导[6],并采纳了计算机软硬件、通信、数据库领域多家厂商的意见而共同指定的技术。JSP是一种基于Java的动态Web页面技术。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回客户端。程序片段可以操作数据库、重新定向网页以及发送E-mail等。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,JSP对客户浏览器要求很低,无插件、ActiveX、Java Applet,甚至无Frame的浏览器均可以访问它。JSP秉承了Java的“一次编写,到处运行”的精神,既同硬件平台无关,也同操作系统和Web服务器无关,是一种与平台无关的技术。正是由于JSP的开放性,所以很多的厂商开发了多种平台下的JSP开发工具、JSP引擎,使JSP的平台无关性具有了现实的基础。为提高系统的跨平台能力,我们选用了JSP技术来开发服务端应用。
1.2.3 使用高级关系数据库系统,提高系统处理数据能力本系统单机版中[7]使用的是ACCESS小型数据库,不能满足日益增长的数据处理需求。2005年11月,微软公司发布了其数据库软件的升级版本SQL Server 2005,它在企业级支持、商业智能应用、管理开发效率等方面有了显著增强[8]。它提供集成的数据管理和分析平台,可以帮助组织更可靠地管理来自关键业务的信息、更有效地运行复杂的商业应用;而通过其中集成的报告和数据分析工具,企业可从信息中获得更出色的商业表现力和洞察力。从SQL Server 2000到SQL Server 2005,不仅仅是数据库系统具有更高的性能、处理能力,新版本的系统还带来了许多新的、在旧版本中从未出现的特性。而这些新特性也都是和现代数据库的发展方向一致的。由于该数据库系统具有易部署、易维护、性价比高等诸多优良特性,因此,在本研究中使用了MS SQL Server 2005作为后台数据库系统。
2 结果
2.1 系统整体结构基于AJAX技术的面向社区服务的呼吸科辅助诊疗系统的体系架构见图1。共分为三层:第一层是位于Web浏览器端的展示层,负责和用户之间的交互,如将系统运行结果展示给用户,收集用户的数据传递给AJAX引擎并进而传送到服务器端。第二层是Web服务层,也是本系统的核心,所有功能模块的业务逻辑均在此层实现。第三层是后台数据库,负责数据的存储及各种业务对象的持久化。
2.2 系统功能模块实现面向社区服务的呼吸科辅助诊疗系统主要由病例资料录入、就诊预约、字典维护、查询统计、疾病危险因素智能分析、数据库操作、系统帮助以及系统设置八个功能模块组成(见图2)。本系统运行的初始界面:八个功能模块相应的功能按钮在界面的左侧依次排列。点击相应的按钮则进入相应的功能模块界面。此外,当用户进入系统时,和该用户相关的一些信息会以“院内公告”的形式在界面中央提示,方便用户及时获取和自己密切相关的信息(见图3)。
图1 基于AJAX技术的面向社区服务的呼吸科辅助诊疗系统体系架构Figure 1 System architecture of the community service oriented respiratory assisted treatment system based on AJAX technique
图2 系统功能模块划分Figure 2 System functional modules
图3 诊疗系统首页画面Figure 3 Welcome page of the respiratory assisted treatment system
2.2.1 病例资料录入当接诊医师点击界面左侧的病例资料录入按钮时,则出现相应的界面(见图4)。在病例资料录入界面中,提供了多种功能供使用,以提高病例资料录入的效率,如初诊、复诊录入以及病例资料的修改。此外,实践中我们发现,患者就诊信息的完善与否对后续的诊断治疗以及疾病的危险因素分析至关重要。鉴于此,本系统在实现就诊病例资料录入模块的功能时,着重考虑了以下几点:(1)录入方便性:对于再次就诊的患者,系统自动提供患者的历次诊疗信息,方便医师了解患者的诊疗历史,提高诊疗的针对性。接诊医师也可以根据需要自定义查询患者既往的就诊信息。(2)数据严密性:病例信息录入完成后,原则上不允许修改,尤其是医嘱用药部分。如确需修改,则需由上级用户授权,并且每个医生只能修改自己记录的诊疗信息,后台日志完整记录修改痕迹,从而能够提供真实的诊疗历史信息。(3)灵活的慢性病管理支持:提供慢性病诊治需要的常用表格、分级诊治指南,且可以随着疾病诊治进展不断更新。数据录入中,可根据录入症状与检查化验资料,点击所需指南或公式,给出患者的疾病诊断、分期、级别,进行相应的级别治疗,以协助医生、护师严格规范执行疾病的规范化诊断与治疗。
图4 患者就诊信息录入界面Figure 4 Interface for inputting the diagnostic data of the patient
2.2.2 就诊预约为方便患者预约就诊,提高医院工作效率,本系统还实现了一个基于工作流的社区医院网上门诊预约系统,任何患者可以通过Internet接入本系统开放的预约界面进行就诊预约。系统采用轻量级工作流引擎来分配、调度、管理和监控任务的执行。本预约系统将用户分为三种类别:患者用户、医师用户及系统管理员用户。患者类用户主要是查询医生信息、查询病历信息以及查询和修改自己的预约信息;医师类用户登录后,可以依据自己的实际情况,提供预约时间信息表,对接受自己治疗的患者病历进行创建、修改和删除等维护工作;管理员用户只能添加、删除和管理医师账户,不能修改医师和患者的接诊预约信息。
2.2.3 数据字典为提高系统的可扩展性,系统功能模块与数据结构的独立性,进而增强系统的通用性,本系统使用了一种可扩展的数据字典体系的结构设计方法,用UML对系统进行分析和建模[9]。例如,为了减少医师录入的工作量,对特定字段的常用值做一个相应的数据字典。典型的字段包括病史、药物、危害物、家族史、诱因、过敏原、病因(症状)、接诊医师等。数据字典中这些字段的内容均可添加、删除和修改。对于配备了数据字典的字段,医师在录入患者资料时只需要简单的选择合适的数据项即可,不再需要打字录入。通过应用数据字典,既提高了软件的易用性,也使得系统具有良好的扩展性。
需要注意的是,数据字典体系结构的设计非常重要,很关键的一点是要从系统的客观需要出发,分析各功能模块需要共享的公用数据和需要提供的接口,从而确定数据字典的类型。
2.2.4 查询统计本系统提供了强大的查询及统计功能,用户可以自定义查询条件、查询结果。查询统计结果既可以用图表的形式形象展示,亦可方便地导出到Excel文件做进一步处理。此功能模块也是危险因素智能分析功能模块的预处理模块。
本系统充分利用了AJAX技术,并采用数据联动框方法。所谓“联动下拉框”,即若干个下拉列表组合在一起,让用户依次选择其中的条目,这样逐步地缩小范围,逐渐得到最精确的选项,这样用户只要知道某一方面的信息即可查找它的相关信息。
采取这种联动下拉框的优势有以下三个方面:(1)提高程序效率:客户端只从服务器端获取所必需的这一部分数据,大大减少了程序的加载时间。(2)降低网络流量:相对于将查询相关联的信息均一次性发给客户端而言,不但减少了服务器资源的使用,也减少了网络流量。(3)良好的用户体验:减少了用户等待页面加载的时间。
2.2.5 危险因素智能分析如何找到疾病的相关危险因素,对于疾病的预防、诊断以及治疗都具有重要的意义。为此,在本系统的智能危险因素分析模块,采用了数据挖掘技术来实现疾病的相关危险因素智能分析功能。
数据挖掘要得以有效实施,高质量的基础数据是必要条件。为此,我们在设计呼吸科辅助诊疗系统时,考虑到后续数据挖掘工作的需要,录入的就诊信息非常全面,并且在数据的一致性、完整性方面加以特别地控制。为了发现其中哪些因素和某种疾病是密切相关的,应用了数据挖掘技术。数据挖掘是采用适当的机器学习算法来进行数据分析、揭示数据内部蕴藏知识的技术,能够从大量的含有噪声的数据中挖掘出隐含其中的知识和信息[10],是当前数据分析的先进手段之一。
危险因素智能分析模块由三部分构成:数据预处理、知识挖掘、知识可视化。数据预处理进行数据的清洗、整理和规则化,在尽量不丢失数据所含信息的前提下用利于后续数据挖掘的形式来表示数据;在数据挖掘阶段,首先使用粗糙集理论进行数据的属性约简,然后使用Apriori[11]算法来挖掘出关联规则(知识),通过症状与诊断疾病共同出现的频率与规则设定的最小置信度和最小支持度进行比较,判定频繁项集,从而发现这些常见症状与疾病的关联规则。知识可视化则是以用户易于理解的图形方式来显示挖掘所得到的知识。
2.2.6 数据库设计由于本系统采用的是关系型数据库,为了构建适合用户需求的数据库,保证数据表结构合理,数据存取有序,便于查询和修改。本系统采用了以下步骤进行数据库的设计:(1)分析整个系统的需求,确定数据库中必须包含的信息。在对面向社区服务的呼吸科辅助诊疗系统数据流程进行分析的基础上,获取目前数据处理过程中所需要的表格和报表的副本,从而能够明确数据库中需要包含的字段和表。(2)确定面向社区服务的呼吸科辅助诊疗系统需要记录的元素。列出系统所有需要记录的数据项,并在其旁边给出相应的示例,从而便于确定数据类型。(3)识别表和字段。确定实体,建立实体关系图:为每个数据表分配字段,并赋予有意义的名称;为每一字段指定示例数据、数据类型和估计的字段容量。字段及表名用英语来描述,尽量使用实际业务流中的专业词汇。(4)定义键码和关系。根据实体关系图设置主键和外键,并根据可能的业务操作设置参照完整性。(5)进行数据规范化。根据系统用户规模和数据需要,数据表设计为满足第三范式准则。但在部分情况下,为了提高数据库的查询效率,采用了折中原则,增加了数据冗余。
2.2.7 权限管理出于系统安全性的考虑,系统的权限管理显得尤其重要。传统的权限控制是通过将访问权限直接和用户对应起来的方式实现的。随着网络的普及,用户可访问的信息资源的结构日趋复杂,规模日益增大,使用这种传统的访问权限控制机制,使得对信息存取权限的管理变得十分复杂和繁重,难以满足现实的要求,由此产生了基于角色访问控制机制(role-based access control,RBAC)[12]。在我们开发本系统的时候,通过引入RBAC模型,提出了一套适用于医疗信息管理系统的基于角色权限控制应用模型。应用这种模型,可以直接将企业的组织结构映射到信息系统中,使得对用户的管理更加直观,在很大程度上简化了权限管理工作。在实际应用中的情况表明,该权限控制的管理方式具有简单、高效和安全的特点,能够很好地满足实际应用的需要。
2.3 知识产权本研究成果已经申报了软件著作权《呼吸科门诊登记系统V1.0》。
3 讨论
本研究介绍了基于AJAX和JSP的面向社区服务的呼吸科辅助诊疗系统的设计与实现。所实现的系统具有低成本、部署便捷、稳定性高、扩展性强的特点。目前,该系统已经在南京医科大学第一附属医院及南京理工大学医院的呼吸科临床与科研中得到应用,也适合其他社区医院推广使用。本系统的研发具有以下几个方面的意义:
首先,建立了疾病诊治流程规范、技术先进的面向社区服务的门诊应用系统,综合考虑了呼吸科门诊的特性和社区业务的特殊性,系统具有较强的应用针对性。其次,本系统采用了先进的技术,所实现的系统稳定性高,可扩展性强,并预留了HIS接口,可和每家医院现有的门诊软件或是实验室检查报告系统连接,易于资料保存,省去了辅助化验检查输入的繁琐工作,并具备图片存储、发布与共享的功能。在界面风格与操作方式上与常用的办公软件如OFFICE保持一致,并提供了强大的帮助功能,使得用户可以快速掌握本系统的使用。查询功能模块设置了灵活的自定义的检索功能,可通过姓名、身份证号码、就诊卡号快速搜索到已登记的库内患者。可根据需要设置了不同目标的统计数据导出功能,便于临床研究与卫生统计。再者,基于数据挖掘技术的疾病危险因素分析是一个重要功能,对于呼吸疾病的预防、诊断以及后续的治疗具有重要的意义。基于挖掘技术得到的疾病危险因素决策规则,具有科学性、客观性以及实用性。通过对所获取的决策规则的定性分析可以发现,决策规则所包含的知识与人类的认知是相符的。
该系统的推广应用可以使社区呼吸科诊疗工作的简单化、程序化、智能化,显著减少接诊医师的工作量,提升工作效率,也有助于提高就诊患者的满意度。
1 鲍勇.社区卫生服务实用指南[M].上海:上海科技出版社,2004:289.
2 胡红濮,雷行云,陈荃,等.社区卫生服务监督管理信息系统的构建[J].中国全科医学,2011,14(9):2847-2849.
3 钟建亮.关于医院统计人员参与医院HIS系统管理的几点思考[J].中国医院统计,2007,14(4):333.
4 金伟.实施医院信息化建设管理的几点体会[J].中国医院统计,2006,13(1):78-79.
5 吴吉义,平玲娣.Web 2.0主流应用技术-AJAX性能分析[J].计算机工程与设计,2008,29(8):913-945.
6 李安强.JSP/Servlet技术在管理信息系统中的应用[J].青海大学学报(自然科学版),2004,22(4):66-68.
7 吴月芳,孙培莉,于海瑛.呼吸科辅助诊疗系统的设计与实现[J].中国数字医学,2011,6(8):60-62.
8 庞娅娟,房大伟.SQL Server应用与开发范例[M].北京:人民邮电出版社,2009.
9 谭敏,刘连臣,倪晚成.基于UML的信息模型中数据字典的设计与实现[J].计算机工程与设计,2008,29(4):849-854.
10 郭珉江.数据挖掘技术在辅助临床诊断中的应用现状研究[J].中国数字医学,2010,5(3):67-69.
11 张萌,梁正,祝思清.基于关联规则的数据挖掘在医疗诊断中的应用[J].山东科学,2008,21(1):80-82.
12 林磊,骆建彬,邓宪.管理信息系统中基于角色的权限控制[J].计算机应用研究,2002,19(6):82-84.
Community Oriented Computer-assisted System of Diagnosis and Treatment of Respiratory Diseases
WU Yue-fang,SUN Pei-li,HU Yong,et al.Nanjing University of Science and Technology Hospital,Nanjing 210094,China
ObjectiveTo reduce the workload and improve the work efficiency of medical staff,and investigate the risk factors of diseases through unified,orderly and efficient computed-aided diagnostic tools.MethodsBased on the collaborative project"Research on Community Intervention of Bronchial Asthma",we designed and implemented a community-oriented computer-assisted diagnosis and treatment system of respiratory diseases after nearly two years'trial and improvement.ResultsThe advanced AJAX and JSP techniques are used to develop the system and MS-SQL Server is used as the database server.The system has eight modules including clinical data input,dictionary maintenance,appointment,database operation,query statistics,risk factors intelligent analysis,user access control,and system configuration.In addition,the implemented system achieves high stability,friendly interface and easy operation.ConclusionThe system significantly reduces the workload of physicians.Simplicity,effectiveness and intelligence of respiratory diagnosis can be obtained by applying the system.The most outstanding characteristic of the system is that it can provide intelligent analysis of risk factors for disease,which will help doctors to improve their capability of diagnosing the illness.
Community service oriented;Respiratory department;Assisted treatment;Intelligent analysis;Browser/Server
R 194.2
A
1007-9572(2012)11-3602-04
10.3969/j.issn.1007-9572.2012.11.012
江苏省卫生厅支撑项目《支气管哮喘社区干预研究》(XK13 200904)
210094江苏省南京市,南京理工大学医院(吴月芳,胡勇,朱豫川);南京医科大学第一附属医院呼吸内科(吴月芳,孙培莉);南京理工大学计算机科学与技术学院(于海瑛)
孙培莉,210029江苏省南京市,南京医科大学第一附属医院呼吸内科;E-mail:njyudj@njust.edu.cn