基于SSH框架的临床心音管理诊断系统设计与实现

时间:2023-05-22 18:50:34 手机站 来源:网友投稿

摘 要: 由于我国医疗资源分布不均,经济落后的小城市、农村以及基层社区医院不具备专业的医务人员和完善的心脏功能健康检查设备,不能及时为心脏病患者提供准确的诊断结果并进行病情监测。针对这一社会现状,研究整合了目前广泛应用的Struts2,Spring和Hibernate(SSH)框架技术,构建了临床心音动态网站以实现心音的在线听诊。在系统的设计实现中,首先根据需求分析,采用B/S架构选择MVC的开发模式,采用SSH框架技术对系统进行分层设计,层与层之间用接口连接。在构建系统的总体框架后,分别介绍系统各个模块(用户模块、心音数据模块、权限模块、人体健康指标评估模块、论坛模块)的实现流程。和传统Web开发技术相比,SSH框架技术在极大程度上提高了系统代码的可重用性和可移植性。最后通过Junit单元测试与系统性能测试,对动态网站进行测试。系统性能良好,各功能均能满足需求,达到了预期效果。

关键词: 心音; SSH; B/S模式; 分层设计

中图分类号: TN915.41⁃34 文献标识码: A 文章编号: 1004⁃373X(2016)21⁃0145⁃05

Design and implementation of clinical cardiac sound management and

diagnosis system based on SSH framework

ZHAO Xiao1, FANG Yu2, WANG Haibin1, GAN Fengping1, QIN Guojin1

(1. Key Laboratory of Signal and Information Processing, Xihua University, Chengdu 610039, China;

2. Graduate School of Science and Engineering, Yamaguchi University, Ube 755⁃8611, Japan)

Abstract: Some small cities, rural areas and community hospitals lack of the professional medical staffs and accurate inspection equipments for heart function detection, and can′t provide the accurate diagnosis results and monitor the illness for cardiopath. Aiming at this social situation, the Struts2, Spring and Hibernate (SSH) framework technologies are integrated to establish the clinical cardiac sound dynamic website for online auscultation of cardiac sound. According to requirement analysis, the B/S framework and MVC development mode are selected for system design implementation. The SSH framework technology is used for system′s hierarchical design, and the layers are connected with interfaces. The realization processes of user module, cardiac sound data module, permission module, health indicator evaluation module and forum module are introduced respectively after constructing the general framework of the system. In comparison with the traditional Web development technology, the reusability and portability of the system code are highly improved with the SSH framework technology. The dynamic website was tested with Junit test and system performance test. The system has good performance, satisfies the requirements for all functions, and achieves the desired effect.

Keywords: cardiac sound; SSH; B/S mode; hierarchical design

0 引 言

随着我国人口老龄化日益加剧,人们对医疗保健的需求继续增加。近年来心脏病的发病率居高不下,威胁人民生命健康。无论是心脏病的预防、及时治疗还是术后监护都已成为社会健康的热点问题。而我国医疗资源有限,经济发达的东部以及东南部沿海城市享有健全的心脏检测及监护资源,而在经济落后的小城市以及农村(例如卫生站)没有条件配备大型精确的心脏检测仪器。许多患者纷纷涌入二线乃至一线城市寻求高质量的医疗服务,加重了城市医疗负担,日常健康监护方面也不能得到保障,非常不利于心脏病防治问题的解决。

心脏听诊是临床常见的心脏病诊断手段。心音是一种具有振幅、周期等特征要素的机械振动信号,可以反映心脏机械功能状态。

针对以上社会现状,本文开发了一套基于临床心音管理与诊断系统,病人在家就能了解自己的心脏健康状况,达到早知道,早治疗的目的。

本系统通过接收患者的心音数据(由专业人员使用心音的采集仪器采集后直接上传),安全有序地存储患者信息,后台服务器自动分析患者心脏健康状况,对心脏健康状况初步诊断。

当下国内医疗环境现状以及网络的飞速发展,将医疗服务与网络结合已成为不可逆转的趋势。本文基于Java在网站设计维护方面的优势,与社区医疗服务相结合,致力于设计一款人性化的基于临床心音管理与诊断系统。

1 系统搭建前期准备工作

1.1 系统开发模式选择

常用的系统开发模式有两种:一种是C/S(Client/Server)即客户端/服务器模式。它是一种典型的两层架构,客户端包含一个或多个在用户电脑上运行的应用程序,服务器端主要是数据库服务器。一种是B/S(Browser/Server)即浏览器/服务器。B/S模式将显示逻辑和事务处理逻辑分离开来,增加一层Web服务器用于处理业务逻辑。这种模式统一了客户端,不再需要单独安装客户端系统,客户端只需要安装一个浏览器即可。

为了给居住在各地的患者提供服务,系统应建立于广域网上。为了让用户使用本系统可以随时随地查询自己的健康诊断结果,了解心脏健康状况,采用方便快捷的浏览器访问方式。综上,考虑系统跨平台性及二次开发问题,本系统选择B/S模式。

1.2 系统分层和开发框架的选择

本系统选用JaveEE三层架构[1],分别为表示层、业务逻辑层、数据访问层。层与层之间用接口隔离,各层之间相互不影响[2]。

本文整合比较成熟的框架技术(见表1),搭建心音管理诊断系统。

2 系统设计

2.1 系统总体架构设计

本系统总体分成5个模块,分别为用户模块、心音数据模块、权限模块、人体健康指标评估模块、论坛模块[3]。图1为各模块之间的关系图。

2.2 主页结构设计

系统主页选用蓝色为背景色,给人以清新自然之感。系统主页分为4个部分:标题栏、导航栏、显示区、页脚区。图2为系统登录页面。

主页设置导航栏是为了完成以下功能:引导用户完成系统各内容页面间的跳转;快速定位,帮助用户快速找到相应的内容;定位用户在系统中所处的位置。帮助用户识别当前浏览的页面与系统整体内容间的关系,以及与系统中其他内容的联系和区分。

本系统设计了简单的LOGO,标题栏上使用jQuery[4]技术设计了一个动态循环滚动播放的公告栏,用于系统公告通知。在公告栏旁设计切换帐号的按钮(退出按钮),方便用户操作。图3为系统的主页图。

2.3 用户模块设计

用户模块的主要功能是存储用户的基本信息(登录ID、姓名、身高、体重、联系方式等),密码使用MD5加密技术加密。数据库选用MySQL存储数据。表2为用户基本数据在数据库中的各字段设计,这里只列出部分字段,关联字段和其他字段没有列出。

另外,用户模块可以对用户数据进行增、删、查、改的操作并增加对用户数据进行搜索的功能。

2.4 心音数据模块设计

心音模块的主要功能是存储用户的心音数据。用户的心音数据可以通过在线上传和实时采集两种方式保存。在线上传是通过编写上传控件通过网页直接上传用户心音数据[5];另外,考虑到医务人员使用需求,可以直接将前端采集到的心音数据通过WiFi直接上传到服务器上,称为实时采集。

由于病人心音数据比较大(100~1 000 Kb左右),一般不直接存入数据库,而以存储文件的路径方式存储[6]。考虑到病人心音数据的安全性,存入数据库中的心音数据路径使用MD5加密技术加密。用户心音表设计见表3。

心音数据模块也具有增、删、查、改、搜的功能,具体实现和用户模块类似[7⁃8]。

2.5 权限模块

为了确保系统能够安全地运行,设计了权限模块管理系统。系统的权限由超级管理员统一分配,不同的角色拥有不同的权限。

通过覆盖Struts2的源码来控制标签的显示。在src目录下创建一个包名为org.apache.struts2.views.jsp.ui的包,创建一个Java文件AnchorTag.java,拷贝Sturts2源码进行修改。主要代码如下:

public int doEndTag() throws JspException{

// 准备显示权限的User

User user = (User)pageContext.getSession().

getAttribute("user");

String url = "/" + action;

if(user.hasPrivilegesByUrl(url))

{

return super.doEndTag(); //显示超链接

}

else {

return EVAL_PAGE; //不生成与显示超链接

}

}

通过不显示超链接可以阻止没有权限的用户在网页上点击进入,但是不能控制用户直接输入URL地址访问没有访问权限的网页,这显然是不安全的。

通过使用拦截器判断用户角色权限访问JSP页面,主要代码如下:

class="com.zhaoxiao.bio.util.checkPrivilegeInterceptor">

name="checkPrivilege">

2.6 人体健康指标评估模块

该模块的主要功能是评估用户的身体(心脏)健康程度,分为两种方法评估:一种是医生在线听诊之后给出诊断结论,供用户在线查询;一种是依靠后台服务器提供的基于心音的心脏功能评估方法为患者提供身体健康指标[5],供患者参考。图4为系统评估模块的界面。

由于心音分析应用程序使用Matlab编程语言实现,无法直接应用,须转化成可以直接应用的Java诊断包,供健康评估业务逻辑的调用。

Matlab分析程序打包成Java软件包的步骤如下:

(1) 在Matlab命令窗口中输入deploytool,弹出Deployment Project窗口,工程包命名为“Diagnose.prj”,选择目标类型为“Java Package”,单击“OK”按钮进行确认;

(2) 弹出Deployment Tool窗口,点击Class1选择需要打包的Matlab程序,点击“Build”编译;

(3) 编译完成后生成Diagnose.java诊断应用程序包。

利用打包好的Dia.java(由于与接口重名将Diagnose.java改名为Dia.java)设计诊断业务逻辑。通过在UserAction中的login()方法中写入业务逻辑进行诊断,主要代码如下:

public interface Diagonse {

public String diagnose(User u);

}

import com.zhaoxiao.bio.utils

...

class UserAction extends BaseAction {

...

public String login() {

...

//对用户的心音数据在登录时进行诊断,诊断结果直接插入数据库在网页上显示

//拿到当前用户

User user = userService.find(model.get LoginName(),model.getPassword());

if(user == null) {

addFieldError(″login″,″error″);

} else {

//Dia实现了接口

Diagnose dia = new Dia();

String desc = Dia.diagnose(User);

// 将诊断结果插入数据库

//让User为持久化状态

User user = userService.getById(

model.getId())

user.setdescription(desc);

//交给Service处理

userService.update(user);

...

}

}

}

由于后续需要综合多种分析方法以提高评估精度,所以设计接口,方法名取为diagnose(),返回值为String类型的诊断结果。

用户在每次登录的时候进行心音数据(txt类型)的分析,第二次登录时做校验,提高系统运行效率。图5为本系统数据库表设计图。

3 系统测试

Junit单元测试解决程序逻辑问题,这里不再赘述。下面介绍系统性能测试:

首先搭建测试环境,测试环境如下:

(1) 硬件环境: Dell成就5560笔记本电脑,64位WIN7操作系统,Core i5处理器,4 GB内存。

(2) 软件环境:IE11,MySQL数据库,MyEclipse10.0,tomcat7.0.57。

(3) 测试过程及结果:

① 将需要进行测试的项目利用MyEclipse导入Tomcat的webapps文件夹下。

② 点击MyEclipse中的start按钮启动tomcat服务器。

③ 打开IE11浏览器,在地址栏中输入http://

localhost:8080/Bio回车,出现登录页面。

④ 对系统各个功能模块(用户模块、心音数据模块、权限模块、人体健康指标评估模块、论坛模块)进行测试,各功能均已实现,系统运行良好。

经过系统性能测试,表明该系统性能良好,实现了上述各模块功能。

4 结 语

我国心脏健康检测设备大多分布在一二线城市的大型医院中,经济落后的农村和基层社区医院缺乏这样的医疗资源。本文从这一实际情况出发,开发了一套临床心音管理与诊断系统以便帮助病人了解自己的健康问题。

本系统整合了目前成熟的Struts2,Hibernate3,Spring2.5框架技术,搭建了上述心音管理诊断系统,经过系统性能测试,系统稳定且用户模块、心音数据模块、权限模块、人体健康指标评估模块、论坛模块功能均已实现。本系统为借助网络的心音听诊和心脏功能监护提供了基本框架。后续为了完善系统功能,心音处理算法的精确性和高效性还有待进一步提高。

参考文献

[1] 付更丽,曹宝香.SOA⁃SSH 分层架构的设计与应用[J].计算机技术与发展,2010,20(1):74⁃77.

[2] 白广元.Java Web整合开发完全自学手册:Struts2+Spring+Hibernate+Eclipse[M].北京:机械工业出版社,2009.

[3] 李刚.轻量级JavaEE企业应用实战:Struts2+Spring+Hibernate整合开发[M].3版.北京:电子工业出版社,2008.

[4] 刘斌.精通Java Web整合开发:JSP+AJAX+Struts2+Hibernate[M].2版.北京:电子工业出版社,2011.

[5] KRUSZELNICKI K. Persist data with Java data objects, Part I [J]. Java world, 2002(3): 20⁃25.

[6] 孙卫琴.精通Hibernate:Java对象持久化技术详解[M].2版.北京:电子工业出版社,2010.

[7] 孟晨,赵春亮,张建国.泛型DAO模式在Java Web开发中的应用[J].计算机应用与软件,2012,29(1):175⁃177.

[8] 李淑芳,胡克寒,张凤丽,等.基于SSH2框架的高校科研网络管理系统的实现[J].计算机应用与软件,2010,27(7):195⁃196.

[9] 计文柯.Spring技术内幕⁃深入解析 Spring 架构与设计原理[M].北京:机械工业出版社,2010.

[10] 王燕,王海滨,刘立汉.基于小波变换的心音信号降噪方法[J].信息与电子工程,2010(3):303⁃307.

推荐访问:心音 临床 框架 诊断 设计

版权声明 :以上文章中选用的图片文字均来源于网络或用户投稿 ,如果有侵权请立即联系我们 , 我们立即删除 。