基于.NET的军卫体检系统的设计与实现

2016-07-19 02:07陆燕琴
计算机应用与软件 2016年6期

陆燕琴 傅 蓉

(南方医科大学生物医学工程学院 广东 广州 510515)



基于.NET的军卫体检系统的设计与实现

陆燕琴傅蓉*

(南方医科大学生物医学工程学院广东 广州 510515)

摘要针对现有军卫体检系统不能满足军区机关医院体检工作需求的现状,提出一种基于.NET的军卫体检系统的解决方案。该系统在总体设计上考虑多种就医模式,设计了部队体检者和地方体检者两种操作入口,可满足不同医疗机构需求,增强了系统的适应性;在系统功能实现上注重提高体检中心的工作效率以及体检信息的完整性,增设体检结果智能分析、PACS接口等功能,使部队健康档案管理更规范化,具有较好的实用价值;在系统架构上采用C/S三层架构+抽象工厂模式,降低代码间的耦合性,提高了系统的可维护性。

关键词军卫体检系统.NETPACS接口C/S三层架构+抽象工厂模式

0引言

随着社会的进步和经济的快速发展,人们生活质量不断提高,全社会健康意识和疾病防范意识不断增强,健康体检作为防患于未然的主动防御措施越来越融入人们的生活和工作[1,2]。“医院体检信息管理系统”是为医院体检中心量身定制的计算机自动化管理系统。该系统从医院体检的实际应用出发,结合医院信息系统(HIS)、医学图像存储与传输系统(PACS)[3]、检验信息系统(LIS)、临床管理信息化(CIS)的综合应用,利用计算机网络管理的优势,将信息采集点遍布医院活动的每一个角落,形成各诊疗科室体检信息的互联共享,实现电子化管理、无纸化工作、网络化服务的目标,是建设现代体检中心的必经之路。

军卫体检系统属于“医院体检信息管理系统”体系的一部分,它遵循全军信息系统一体化体系结构标准和军队门诊信息系统建设规定,以“军卫”数据结构为基础支撑,主要为军区机关医院体检中心提供服务。系统自2007年投入使用起,在机关各级医院取得较好的使用效果。但系统至今已投入使用逾8年,由于缺乏后续的升级与改造,系统已逐渐不能满足当今体检中心的需求。经过调研发现,原军卫体检系统存在的主要问题有:(1) 应用需求上不能跟进医院体检中心发展:系统主体流程设计没有考虑军地人员的体检与管理的区别,已不能适应当前用户需求;缺乏对体检结果的智能分析、PACS接口等功能,导致体检中心工作效率没有得到明显的提高,同时体检信息图文完整性也没得到保证。(2) 技术上不能达到用户对系统维护性、升级性以及用户体验性的要求:采用PowerBulder语言和一层架构进行开发,导致了原系统升级与维护的困难;而界面采用的是Windows2000/XP界面风格,与Win7系统界面不匹配,造成系统美观性和操作简易性方面的不足。

本系统从系统主体流程设计、功能实现、实现技术等对原系统进行改进并重新开发:重新设计系统主体流程,使流程适用于军地人员的体检与管理;增设体检结果智能分析、PACS接口等功能,注重提高体检中心的工作效率以及保证体检信息的完整性;采用基于.NET[4]的三层C/S架构+抽象工厂模式来降低代码之间的耦合性,提高系统的可维护性并使系统适用于不同的数据库平台;采用Win7界面风格和MicrosoftOfficeFluent用户界面导航栏界面风格,使得系统用户体验性得到了很大的升级。通过上述改进,可使系统在功能性、可维护性、可升级性、用户体检等方面达到现今军区机关体检部门的需求。

1系统总体设计

目前军队医院、疗养院和机关门诊部等单位都承担着军地各类体检保障任务,如:机关首长健康体检、地方单位健康体检、个人体检等,就医模式灵活多变。为了满足不同医疗机构的需求,本系统在体检工作流程、系统功能流程以及功能模块设计上考虑了多种就医模式,以增强系统的适应性。

1.1体检工作流程

体检系统是以受检者为服务对象,体检信息为主线的信息管理系统[5]。军卫体检系统的受检者身份包括部队人员与地方人员,而两种身份人员在体检信息登记、收费类别、统计信息等存在着较大的区别。如何能更好地管理两种身份人员的体检信息,是本系统需要研究的一个重要问题。

针对上述问题,本系统从体检者登记开始提供两个不同的入口,使得体检人员的身份从登记时就得以区分,并贯穿整个体检流程。详细的体检流程设计如图1所示。

图1 体检工作流程图

本系统工作流程主要涉及体检者、登记护士、体检医生这三类用户群:(1) 体检者来到体检中心,先在护士工作站登记个人信息以及体检项目信息,缴费并打印体检指引单;然后根据体检指引单的各个项目(内科、检验科、放射科等)依次到分检工作站检查;检查完毕则可等待取体检报告。(2) 登记护士根据体检者的类别(部队个人、部队单位、地方个人、地方单位)对体检者的基本信息以及体检项目信息进行登记,并向HIS发送收费申请、检验申请以及检查申请。(3) 体检医生分为科室体检医生与审核医生。体检医生负责分检工作站的检查工作:直接录入体检者体检结果,采集体检者化验标本,为体检者进行影像检查等。审核医生在体检者完成所有体检项目后,对体检者的检查结果给出综述建议,并审核体检报告。

1.2系统功能流程

原军卫体检系统在功能模块上没有提炼出医院的一般体检流程相似点以及不同医院间体检管理的需求差异,因此导致系统在不同医院使用时需重复开发,造成系统自身升级困难,系统的普适性和可扩充性无法得到满足。此外,由于外部应用环境和用户需求的多变性,迫使软件频繁变更,维护成本和时间急剧增加,因此在设计系统功能模块的时,需分离用户稳定需求和变化需求,以便开发者能够高效低耗地动态调整软件以应对用户需求的变化[6]。

根据上述分析,本系统在功能流程设计上分离出用户的稳定需求和变化需求,如图2所示。根据1.1节所述工作流程得出系统的稳定需求,主要包括:体检登记、体检录入、报告打印,此稳定需求适用于一般的体检中心。系统的可变需求为体检系统的辅助流程,包括:费用结算、成本核算、字典设置、统计查询,此变化需求可根据各体检中心的需求而做出改动。

图2 系统功能流程设计图

1.3系统功能模块设计

通过上述流程分析,我们确定了本系统应具备七大功能模块:体检登记功能模块,体检录入功能模块,报告打印功能模块,费用结算功能模块,费用核算功能模块,字典设置功能模块以及统计查询功能模块。考虑到军区机关医院主要服务对象的特殊性,以及机关人员体检与地方人员体检的区别,在体检登记、费用结算、成本核算这三个功能模块中分别设计了部队与地方两种操作入口,如图3所示。

图3 体检系统功能模块设计图

2系统功能实现

本系统在总体设计上考虑了多种就医模式,可满足不同医疗机构的需求,增强了系统的适应性。在系统功能实现上,本系统较原系统更注重提高体检中心的工作效率以及体检信息的完整性,改进体检登记、接口功能,新增科室综述与体检建议、成本核算、历史结果查询等功能。

2.1体检登记

部队人员体检缴费类型属于军免类,不必进行缴费则可进行体检;地方人员则需根据费别类型缴纳相关费用后方可进行体检。根据部队与地方人员在体检收费与信息填写上的不同需求,体检登记分别设有部队体检登记与地方体检登记两个子模块,子模块下面都包含有个人体检登记与团体体检登记。

团体登记是指体检者以集体的方式来进行登记体检,需要登记所在单位的基本信息(名称、联系人、联系电话等),对单位人员的情况进行分组,然后选择每个分组的体检项目,当单位人员录入到该分组时,就给当前人员录入了该分组包含的体检项目,可避免重复录入单位体检人员的体检项目。单位体检人员录入时,本系统提供了批量导入人员信息和单个录入人员信息两种方式,批量导入人员信息可以选择全部导入与分组导入两种方式。

2.2科室综述与体检建议

体检科室综述与体检建议是体检报告的核心内容,而实现对体检结果的自动分析,智能生成科室综述与体检建议则是提高体检工作效率的有效途径。针对原系统在体检结果自动分析的设计上没有绑定体检结果、体检异常情况与体检建议的问题,本系统在数据库设计上绑定了体检结果-结果异常判定条件-体检建议三者的关系,实现了对各项体检结果的自动分析,提供诊断意见,智能生成科室小结,并根据结果分析给出生活指导和建议,如图4所示。

图4 体检结果异常判别过程

在体检结果异常判定的设计中,本系统将体检结果类型分为数值型与字符型,设定项目结果异常的判定条件,通过项目结果与判定条件进行匹配可对体检结果进行自动分析。数值型的结果采用普通的数值比较法进行判断,而字符型的结果则采用“最长字符判别法”进行匹配,当项目结果与异常判别条件相匹配时,判断异常结果成立并写入科室综述,同时与异常结果关联的体检建议内容也会自动生成。如表1示例,总胆固醇的结果若满足大于5.8并且小于6.7则判定为“胆固醇偏高(CH)>5.8mmol/L”;甲状腺的结果若含有肿大,则判定为甲状腺肿大。

表1 异常结果判别以及建议示例

2.3成本核算

在数据统计中,科室的绩效情况是体检中心管理者较关心的一方面。本系统从管理者的角度设计了成本核算功能模块,并根据部队与地方体检人员的收费差异,设置了两个子模块,使得机关医院能更直观地了解到部队建康体检的开销情况。管理者进入操作界面后,可选择月、季、年进行统计,也可以自定义时间段进行统计。系统针对成本核算功能设计了PE_RCPT_RECORD(体检收款总览表)与PE_BILL_DETAIL(收款明细表)两个表结构,用于储存体检收费情况。通过获取界面的搜索条件(部队、地方、个人、团体、时间段),利用SQL查询中的SUM函数,对此两个表进行查询统计,则可实现成本核算功能。本功能提供表格数据分析以及图表分析两种分析视图,使得统计结果更加直观可靠。

2.4历史结果查询

体检系统对体检信息进行信息化管理,通过建立体检者的个人健康档案,根据对历史结果统计分析,有利于更加深入地了解体检者的健康状况,尤其对于军区机关医院跟踪部队首长健康问题能起到关键性的作用。系统数据库针对体检者体检信息存储设计两个表结构,分别为PE_PATIENT_INFO(体检者信息表)与PE_MASTER_RECORD(体检者主记录表),两个表为一对多关系,分别储存体检者基本信息和每次体检产生的体检信息。当体检者第二次来医院进行体检时,PE_PATIENT_INFO则不再增加记录,只在PE_MASTER_RECORD中增加外键记录。因此通过PE_PATIENT_INFO的主键记录则可查询该体检者在医院进行多次体检的结果,可实现历史结果查询的功能。

本功能模块采用表格、图表的形式呈现体检历史结果。若体检结果类型是字符型,历史结果用表格形式呈现;体检结果类型是数值型的,则用表格形式与折线图呈现,其中折线图如图5所示。

图5 历史结果数据分析模板

2.5接口设计

体检信息系统不是一个独立的信息系统,它与医院的其他信息系统之间存在千丝万缕的联系[7]。体检系统中检验信息、检查信息需要分别与LIS、PACS进行交互,而HIS既是收费申请的处理站又是体检系统与LIS、PACS交互的桥梁[7,8]。因此,为保证医院业务的正常运行和医院信息数据的一致性以及体检报告的信息的完整性与准确性,需建立体检系统与HIS、LIS、PACS的接口。

如图6为本系统接口设计,接口过程分为申请信息的发送与结果信息回传。申请信息的发送:体检系统中的收费申请、检验申请以及检查申请需发送到HIS系统中,收费信息在HIS被处理,检验申请与检查申请分别被LIS系统、PACS系统提取。结果信息回传:收费结果直接从HIS提取并保存到体检系统数据库。检验结果出来后,由LIS回传到HIS,再由体检系统提取至本地数据库。由于在PACS存储的检查结果是大量的图片信息,为减轻HIS服务器的负载,PACS的影像信息仍旧存在于PACS数据库中,只有检查的文字结果信息先回传至HIS,再回传到体检信息系统,而在体检报告中最后所附的影像图片仍旧来源于PACS信息系统。

图6 接口设计示意图

实现本接口设计的关键在于体检系统如何准确地与HIS、LIS、PACS中的信息进行交互,而准确交互的保证就是体检系统的收费字典、诊疗字典等字典信息与HIS、LIS字典信息需做好对照,保持信息一致,原系统申请信息发送出现缺漏情况就是由于字典对照功能不完善。因此,为保证体检信息可以在各系统传输正确,本系统增设了字典对照功能。本系统采用视图的方式,由HIS、LIS按照需要提供字典对照视图,把体检系统的字典记录的ID与HIS、LIS系统收费字典记录ID、诊疗字典记录ID一一对应,为信息发送的正确性奠定了基础。而发送申请和回传结果发生操作时,同样也是由HIS、LIS等获取信息的视图以及接收信息的视图,然后体检系统通过建立与各系统数据库的连接来实现数据的对接。

3系统实现与测试

原军卫体检系统界面采用的是Windows2000/XP界面风格,与Win7系统界面不匹配,使得系统美观性和操作简易性方面存在不足,且在技术上采用PowerBulder语言、一层架构进行开发,导致了原系统升级与维护的困难。根据上述问题,本系统基于Visualstudio.net平台的C#WindowsForms[9]技术+Oracle11g数据库平台实现系统功能,从界面与系统框架上进行改进,从根本上为功能的实现提供便利。

3.1界面布局

MicrosoftOfficeFluent用户界面导航栏具有如下优点:(1) 所有功能有组织地集中存放,不再需要查找级联菜单、工具栏;(2) 提供足够空间来显示更多命令;(3) 丰富的命令布局可以帮助用户更容易地找到重要且常用的功能。本项目应用MicrosoftOfficeFluent设计出具有Win7风格的程序界面,如图7所示。在导航栏设计中,功能区把命令组织成多组“标签”,每个应用程序都有一个不同的标签组,展示了程序所提供的功能,如体检登记、体检录入等,每一组标签包含了相关的命令,如“体检登记”包含了 与“个人登记”和 “团体登记”。系统主界面采用左右栏设计,左栏窗提供选择信息,右栏窗为详细信息显示窗与操作窗。本系统界面设计充分利用了界面空间,方便用户操作,提高了系统的用户体验性。

图7 系统界面截图

3.2架构搭建

三层C/S架构对易变、核心的业务逻辑以组件的形式加以封装,在逻辑上将应用分成独立的三层:用户表示层、应用逻辑层、数据访问层,三层间的逻辑划分明确,使各层间的耦合性降到最低,架构具有较好的灵活性、易维护和可重用性[10]。抽象工厂模式是向客户提供一个接口,使得客户在不必指定具体产品类型的情况下,创建多个产品系列中的某个产品对象。通过将抽象工厂模式应用于数据访问层,并结合反射技术,可以根据需要创建合适的一系列数据访问使用的对象,降低业务逻辑层和数据访问层之间的耦合,在一定程度上提高系统的易维护性和可扩展性[11]。

根据上述分析,本系统采用如图8所示的三层C/S架构+抽象工厂模式,可达到以下优点:(1) 三层架构从逻辑上对代码进行了分类,使得代码之间的耦合性降低,更利于系统维护与升级,如当因需求变更需改动表结构时,只需要改动实体层与数据访问层的少量代码,并不需要对界面层与业务逻辑层进行改动,避免了原系统牵一发而动全身的代码改动缺点,大大减轻了开发人员的工作量。(2) 把抽象工厂模式应用到数据访问层使得系统可适用于多个数据库平台的应用,当系统使用的数据库平台发生变更时,并不需要重新开发,只需要再建立一套数据访问使用的对象,增强了系统的适应性。

图8 工程目录与三层C/S架构+抽象工厂对照图

3.3功能测试

本系统得到军区机关医院门诊部的认可,在该门诊部进行测试并投入使用。本系统较原系统在功能上更适合医护人员的需求,满足了医护人员对体检信息批量录入、体检结果快速匹配录入以及智能辅助诊断的需求。医护人员测试使用后,对系统的满意度为90%。对于体检信息管理而言,由于完善接口设计及增设字典对照功能,使得系统管理员维护字典时更加方便,接口间的字典数据也更准确;PACS接口的增加,使得体检信息可以获取以往不能获取到的图像信息,保证了体检信息的图文完整性。

表2为在门诊部进行单位批量录入以及体检报告打印的测试数据表。由表中数据可看出,批量录入功能可以大大提高医护人员的工作效率;原系统由于字典对照不能及时更新,导致信息准确性不能达到100%,经测试,本系统很好地解决了HIS、LIS、PACS间的交互准确性的问题,信息传输准确性可达100%;报告信息方面,原系统由于缺少PACS接口导致报告信息中均缺乏图像结果信息,本系统增设了PACS很好地解决了原系统报告信息缺失的问题。

表2 单位批量录入以及体检报告打印测试结果

4结语

军卫体检系统着眼于解决机关干部、家属、地方单位、个人的体检信息管理问题。本文为改善原军卫体检系统的不足重新开发出本军卫体检系统。本系统的主体流程设计、功能实现、实现技术等与原系统相比较实现了质的改变,使得系统在可维护性、可升级性、用户体检、界面布局等方面都满足了现今军区机关体检部门的需求。本系统的主要特色是:完善系统主体流程,可适用于军地人员的体检与管理;增设PACS接口,保证了体检者体检信息的图文完整性;基于Visualstudio.net平台的C#WindowsForms技术实现系统功能,使得开发人员编码更加得心应手;Win7界面风格和MicrosoftOfficeFluent用户界面导航栏风格,使得系统用户体验性得到了很大的升级;三层C/S架构+抽象工厂模式降低代码之间的耦合性,系统升级与维护容易,并可适用于不同的数据库平台。目前本系统已在军区机关医院门诊部进行测试运行,并取得了良好的效果。

参考文献

[1] 王丽霞.基于B/S模式的孕妇儿童体检系统的设计与实现[J].计算机应用与软件,2013,30(10):223-225,242.

[2]FangFang,GeYaowu,ZhangMingyu.OnDesignandDevelopmentofHealthExaminationSystem[J].ValueEngineering,2014(22):219-220.

[3] 王剑,于淼.PACS系统概述[J].生物技术世界,2014(2):196.

[4] 吴胜斌.基于.NET框架的驾驶员体检系统的开发及实现[J].电脑开发与应用,2014(1):68-70.

[5] 迟琳琳.基于HIS的健康体检信息系统的设计与应用[D].内蒙古:内蒙古大学,2011.

[6] 申利民,王俊飞,杨永涛.面向用户的柔点柔变范围定量度量技术研究[J].计算机集成制造系统,2010,20(10):2617-2631.

[7] 王浩,周芃,李硕.医院体检信息系统与HIS,PACS,LIS系统的衔接与应用[J].电脑知识与技术,2012,36(35):8341-8342.

[8] 李彩明,白帆,李卫元.体检信息系统与HIS收费接口的分析和设计[J].计算机与现代化,2011(8):77-80.

[9]ErikBrown.WindowsForms编程实战[M].北京:机械工业出版社,2008.

[10] 宗梅,马小平.基于.NET的三层client/server结构及其应用[J].计算机工程与设计,2005,26(2):520-522.

[11] 魏一搏,郭友.抽象工厂模式在.NET数据访问层中的应用[J].信息系统工程,2010(2):62-63.

DESIGN AND IMPLEMENTATION OF MILITARY HEALTH EXAMINATIONINFORMATIONSYSTEMBASEDON.NET

Lu YanqinFu Rong*

(School of Biomedical Engineering,Southern Medical University,Guangzhou 510515,Guangdong,China)

AbstractIn the light of the existing Military Health Examination Information System fails to satisfy the requirement of the health examination of military medical departments, a .NET-based solution is proposed. In the overall design, considering of various medical treatment modes, the system firstly provides two operating entrances for both military and local health examination to meet the needs of various medical institutions and enhances the adaptability of the system. In the implementation, focusing on improving both working efficiency of medical examination center and the integrity of health examination information, the system then adds several functions such as intelligence analysis of physical examination results, PACS interface in order to standardize the management of the military health archives and lead the system to a good practical value. In the system architecture, the system finally adopts the C/S three-tier structure and abstract factory pattern to reduce the coupling between codes and improve the maintainability of the system.

KeywordsMilitary Health Examination Information System.NETPACS interfaceC/S three-tier structure and abstract factory pattern

收稿日期:2015-07-09。广东省科技计划项目(2013B0404010 08)。陆燕琴,硕士生,主研领域:医院信息系统研发。傅蓉,副教授。

中图分类号TP3

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.06.022