1、河北农业大学本科毕业论文 题 目: 基于 jsp 的社区居民健康档案管理系统 摘要随着信息技术的进步和医疗水平的提高,健康档案信息管理系统在医院中发挥越来越重要的作用。健康档案信息管理系统能够提高工作效率,增加经济效益,提高医疗服务水平,受到人们越来越多的重视。本文通过对社区门诊部工作人员和其他相关人员进行需求调研的基础上,根据用户对数据安全,操作人性化,功能完善性等方面的需求,设计了社区居民健康档案管理系统的物理框架,技术框架,功能框架等,进而进行了数据库的相关设计,最终采用JSP编程语言完成整个系统的实现。本系统通过居民健康档案管理模块,实现了对居民个人信息和个人体检信息的记录;通过疾病信
2、息管理模块,实现了具体的针对不同人群的信息管理和记录;通过系统信息管理模块,实现了对该系统的设置操作;通过健康教育模块,实现了对一些健康教育活动的记录;通过个人健康档案模块,实现了对病人的有关住院记录的管理。关键词:社区;医院;信息管理系统;JSP;系统开发AbstractWith the increase in information technology and medical standards, health records information management systems play an increasingly important role in the hospita
3、l. Health records information management system to improve efficiency, increase economic efficiency and improve the level of medical services, more and more attention by people.Through community-based clinic staff and other relevant personnel needs of research, according to the user for data securit
4、y and operational needs of humanity, and other functional aspects of the design of the physical framework for community health records management systems, technology framework, functional frameworks, and thus for the relevant database design, and ultimately completed using JSP programming languages
5、implement the entire system.The system through health records management module, the realization of personal information and personal medical residents information recorded; through disease information management module to achieve the specific information and records management for different groups
6、of people; through the system information management module, the realization of set the operation of the system; through health education modules, to achieve a record number of health education activities; through personal health records module implements the management of the hospital to the patien
7、t records.Keywords : Community; Hospital; information management system; JSP; system development 目录1 概述11.1 背景介绍11.2 系统目标11.3开发可行性11.3.1技术可行性11.3.2操作可行性21.3.3经济可行性21.3.4时间可行性21.4开发环境介绍22系统技术介绍32.1 jsp 技术32.2 jsp的运行环境42.3安装和配置jdk42.4数据库介绍43系统分析与设计63.1系统功能分析63.2系统功能模块图63.3系统实体对象分析73.4数据库表的分析与设计124系统实现
8、164.1系统登录模块的实现164.2居民健康档案管理模块的实现184.3疾病信息管理模块的实现244.4系统信息管理模块的实现254.5健康教育管理模块的实现274.6个人健康档案管理模块的实现285系统的调试与测试305.1 程序调试305.2 程序测试305.3 测试的步骤30总结32致谢33参考文献341 概述1.1 背景介绍随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在社区居
9、民健康信息管理之中的应用日益收到人们的关注。近年来我国医疗事业发展迅速,手工管理方式在社区居民健康信息管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。目前,对外开放必然趋势使医疗行业直面外国同行单位的直接挑战,因此,医院必须提高其工作效率,改善其工作环境。这样,社区居民健康信息管理的信息化势在必行。在传统的社区居民健康信息管理中,其过程往往是很复杂的,繁琐的,居民健康信息管理以患者挂号、诊治、开药为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题
10、,因此该过程必须实现信息化。1.2 系统目标本课题的目的是使社区医院健康信息管理清晰化,透明化,便于操作,易于管理。通过功能模块的优化组合实现不同的管理细节,使管理过程实现最大程度的自动化与信息化,并能自动对人工操作环节进行复查,使社区医院健康管理信息系统出错率降至最低。在传统的医院健康信息管理中,各种管理工作往往是很复杂烦琐的。社区医院健康信息管理的特点是信息处理量比较大,所管理的种类比较繁多,而且由于挂号、开药等单据发生量特别大,关联信息多,查询和统计的方式不尽相同。在管理过程中经常会出现信息的重复传递,因此社区医院健康信息管理必须实现计算机化处理。我们系统开发的总体任务是实现社区医院健康
11、信息管理的系统化、规范化、自动化、信息化与智能化,从而达到提高社区医院健康信息管理效率的目的。1.3开发可行性1.3.1技术可行性本系统采用软件工程的理论和方法,对系统进行分析与设计,采用面向对象程序设计的思想,对系统进行自顶向下的设计,对设计需求进行抽象,分层,然后依次构建每一个模块,并使每一个模块相对独立,利用多态、继承、封装、抽象的编程思想,实现每一个模块的功能,最后将每一个模块结合,达到高内聚,低耦合的效果。社区健康档案管理系统的总体设计,从需求分析开始,先了解社区居民健康和医疗方面的知识,列出自己所做系统的需求,从而建立软件系统的模型,设计出软件的系统框架。从该健康档案信息管理系统的
12、主要功能,确定大概的操作流程,构建出相应的操作界面,完成每一个对应的模块功能,做到一步一步的完善自己的系统。1.3.2操作可行性本设计力求界面简单明了,操作简单,便于上手,使用户可以在最短的时间内熟练掌握各功能。所以在操作上是可行的。1.3.3经济可行性鉴于本次系统是毕业设计,所以本系统不需要多余的额外开发成本,硬件配置和软件配置环境在自己的电脑上可完全胜任,所以在经济上是可行的。1.3.4时间可行性从时间上看,给自己详细的规划了进度安排,知道自己每一个时间段应该完成的任务,能够充分合理的利用时间学习知识和开发系统,所以在时间上是可行的。1.4开发环境介绍使用 Eclipse6.0 +MYSQ
13、L数据库开发,使用IE浏览器作为客户端软件,tomcat6.0作为服务器端软件。硬件:PC一台 开发平台/工具:操作系统:Windows 7开发环境:Eclipse 6.0、MYSQL数据库2系统技术介绍本系统采用eclipse开发工具编码,利用了jsp技术设计页面和MySQL数据库做数据处理。本章主要介绍JSP开发环境的搭建,介绍JSP对运行环境的要求,讲述J2EE开发和运行环境的安装配置,并且介绍当今流行的JSP运行环境的安装和配置,以及集成开发环境的设置以及数据库的安装和配置。2.1 jsp 技术JSP技术是由Servlet技术发展起来的,自从有了JSP后,在Java服务器端编程中普遍采
14、用的就是JSP,而不是Servlet。因为JSP在编写表示页面时远远比Servlet简单,并且不需要手工编译,目前Servlet主要用于做视图控制器,处理后台应用等。由于JSP构建在Servlet上。所以它有Servlet所有强大的功能。JSP基于强大的Java语言,具有良好的伸缩性,与Java Enterprise API紧密地集成在一起,在网络数据库应用开发领域具有得天独厚的优势,基于Java平台构建网络程序已经被越来越多的人认为是未来最有发展前途的技术。从JSP这几年的发展来看,JSP已经获得了巨大的成功,它通过和EJB等J2EE组件进行集成,可以编写出处理具有大的伸缩性,高负载的企业级
15、应用。JSP技术在多个方面加速了动态Web页面的开发。通过分析和总结,列出了以下几点说明JSP的特点。(1)绝大多数JSP页面依赖于可重用的,跨平台的组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使用这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(2)JSP能提供所有的Servlets功能,与Servlet相比,JSP能提供所有的Servlets功能,它比用Println书写和修改HTML更加方便。此外,您可以更明确地进行分工,Web页面设计人员编写HTML,
16、只需要留出空间让Servlets程序员插入动态部分即可。(3)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,随处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,但并不影响当前的应用。(4)很多数据库系统带有JDBC驱动程序,Java程序通过JDBC驱动程序与数据库相连,执行查询,提取数据等操作。Sun公司还开发了JDBC-ODBC Bridge,用此技术Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能够访问如Oracle,Sybase,MS SQL Serv
17、er和MS Access等类型的数据库。(5)JSP的平台适应性更广,这是JSP与ASP的优越之处。几乎所有的平台都支持Java,JSP+Beans,它们可以在任何平台下通行无阻。Windows NT下的IIS通过一个插件就能支持JSP,例如JRUN或者ServletExec,著名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在Windows NT,UNIX和Linux上,因此JSP有更广泛的运行平台。2.2 jsp的运行环境硬件环境:由于Java具有跨平台的特点,所以只要能够安装JDK,就能在此安装JSP服务器和。JSP服务器和能够运行在目前绝大多数的操作系统上,目前
18、在普通用户中用到的系统绝大多数为Windows系列。软件环境:浏览器要支持HTML元素的表达,WEB服务器为Apache Tomcat 系列,开发工具为Eclipse。2.3安装和配置jdkJDK中包含了Java开发中必需的工具和Java程序运行环境(JRE)。可以从SUN公司网站免费下载。JDK的安装特别简单,和安装应用程序软件没什么区别,不过JDK的安装路径一定要设好,方便以后环境变量的设置。安装好JDK后,还需要在环境变量中进行对应的配置。 主要进行以下配置:(1)设置JAVA_HOME环境变量(2)设置CLASSPATH环境变量JAVA_HOME表示Java安装目录,其他的应用程序如果
19、需要使用Java运行环境,首先获得JAVA_HOME变量的信息,然后确定执行的路径。2.4数据库介绍本系统采用的数据库是MySQL数据库,MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。MySQL的优点: 1 它使用的核心线程是完全多线程,支持多处理器。 2 有多种列类型:1、2、3、4、和8字节长度自有符号无符号整数、FLOAT、D
20、OUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM类型。 3 它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。 4 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN()。你可以在同一查询中混来自不同数据库的表。 5 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。 6 所有列都有缺省值。你可以用INS
21、ERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。 7 MySQL可以工作在不同的平台上。支持C、C、Java、Perl、PHP、Python和TCL API。MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的MySQL能很容易充分利用CPU。3系统分析与设计3.1系统功能分析本系统的功能分析如下:登陆界面:实现管理员登陆和普通用户登陆,管理员登陆拥有最高使用权限,可以进行增删改查等操作;而普通用户登陆只能浏览和查询其中内容,拥有较低的权限;可以从登陆界面进行用户注册。健康档案信息管理网站的模块
22、主要有:居民健康档案管理模块、疾病信息管理模块、系统信息管理模块、健康教育活动模块、个人健康档案模块等。本系统通过居民健康档案管理模块,实现对居民个人信息和个人体检信息的记录;通过疾病信息管理模块,实现具体的针对不同人群的信息管理和记录,如针对儿童、孕产妇、老年人等人群,具体的疾病管理如针对高血压、糖尿病等疾病管理;通过系统信息管理模块,实现对该系统的设置操作;通过健康教育模块,实现对一些健康教育活动的记录;通过个人健康档案模块,实现对病人的有关住院记录的管理。退出系统:实现保存信息记录并注销退出系统。3.2系统功能模块图本系统的功能模块图如图3-1和图3-2所示:登陆模块语言选择角色选择用户
23、名密码验证码注册图3-1系统功能模块图(1)图3-2系统功能模块图(2)居民个人信息管理居民健康档案管理居民个人体检管理操作界面模块疾病信息管理系统信息管理健康教育个人健康档案修改密码健康教育活动住院记录糖尿病健康管理高血压健康管理老年人健康管理孕产妇健康管理儿童健康管理3.3系统实体对象分析根据系统功能分析和对系统模块分析,得出本系统的实体对象有:居民个人信息、居民个人体检信息、儿童健康信息、孕产妇健康信息、老年人健康信息、高血压健康管理信息、糖尿病健康管理信息、健康教育活动信息、住院记录信息等。设计出ER图如下:1、居民个人信息主要用来记录居民档案编号、姓名、身份证号、家庭住址等身份属性的
24、信息;居民个人体检信息主要用来记录居民的身高、体重以及身体器官检查值等属性信息,具体信息内容如图3-3所示:居民个人信息录入员档案编号出生日期身份证号家庭住址本人电话性别姓名拥有居民个人体检信息姓名其它慢性病脊柱甲状腺药物过敏史四肢关节收缩压皮肤心率舒张压体重身高图3-3居民健康档案信息ER图2、儿童健康信息主要用来记录儿童的姓名、出生日期、出生身长、出生体重、妊娠疾病等属性信息,具体信息内容如图3-4所示:儿童健康信息档案编号姓名建档日期建档人父亲姓名出生日期母亲姓名第几胎妊娠疾病性别出生身长出生体重图3-4儿童健康信息ER图3、孕产妇健康信息主要用来记录孕产妇的孕次、产次等属性信息,具体信
25、息内容如图3-5所示:产次孕产妇健康信息档案编号姓名建档日期建档人难产早产足月产性别孕次图3-5孕产妇健康信息ER图4、老年人健康信息主要用来记录针对老年人群的基本健康信息,可以使得本系统的管理和记录更加方便快捷,具体信息内容如图3-6所示:出生日期老年人健康信息档案编号姓名建档日期建档人药物过敏史慢性病身份证号性别现住址本人电话图3-6老年人健康信息ER图5、高血压健康管理信息和糖尿病健康管理信息主要是针对一些具有特殊疾病的人群,可以使本系统记录工作更加有效率,两个实体的属性信息基本相同,具体信息内容如图3-7所示:高血压健康信息档案编号姓名建档日期建档人药物过敏史慢性病身份证号性别现住址出
26、生日期本人电话图3-7高血压健康信息ER图 6、健康教育活动信息主要包括有关活动的活动时间、活动地点、活动形式、组织者、负责人等属性信息,具体信息内容如图3-8所示:健康教育活动信息活动时间活动地点填表时间负责人接受健康教育人员类别活动形式组织者接受健康教育人数图3-8健康教育活动ER图7、住院记录信息主要包括人员ID、人员名称、医院名称、开始时间、结束时间、病因等属性信息,具体信息内容如图3-9所示:住院记录信息人员ID人员名称病因医院名称开始时间结束时间图3-9住院记录信息ER图3.4数据库表的分析与设计数据库表设计的原则是在方便用户使用的情况下,尽力的减少数据冗余。合理的数据结构以及表的
27、设计,对应用程序的稳定性和查询效率影响也是巨大的。因此,在设计数据库时,需要考虑如何设计表结构来提高查询,插入,删除以及修改效率,同时方便应用程序的操作并使程序从数据库设计层面也具有一定的扩展性。本系统所用到的数据库表如下:1、居民个人信息管理表,主要包含档案编号、姓名、性别、出生日期、身份证号等信息,具体信息如图表3-1所示:表3-1居民个人信息管理表序号字段名类型长度允许为空主键外键说明1record_idvarchar30否是档案编号2human_name varchar60是姓名3human_sexvarchar60是性别4birth_timedatetime是出生日期5human_i
28、dvarchar60是身份证号6human_addressvarchar60是家庭住址7human_telvarchar60是本人电话8recorder_namevarchar60是录入员2、居民个人体检管理表,主要包含姓名、身高、体重以及心率等体检信息,具体信息如图表3-2所示:表3-2居民个人体检管理表序号字段名类型长度允许为空主键外键说明1human_nameVarchar60否是姓名2shengaoVarchar60是身高3tizhongVarchar60是体重4shousuoyaVarchar60是收缩压5shuzhangyaVarchar60是舒张压6xinlvVarchar60是
29、心率7pifuVarchar60是皮肤8jiazhuangxianVarchar60是甲状腺9jizhuVarchar60是脊柱10sizhiguanjieVarchar60是四肢关节11manxingbingVarchar60是慢性病12yaowuguominVarchar60是药物过敏史13qitaVarchar60是其它3、儿童健康管理表,主要包含出生日期、出生身长、出生体重、妊娠疾病等信息,具体信息如图表3-3所示:表3-3儿童健康管理表序号字段名类型长度允许为空主键外键说明1record_idVarchar60是档案编号2human_nameVarchar60是姓名3birth_ti
30、medatetime是出生日期4human_sexVarchar60是性别5chushengshenchangVarchar60是出生身长6chushengtizhongVarchar60是出生体重7renshenjibingVarchar60是妊娠疾病8dijitaiVarchar60是第几胎9muqin_nameVarchar60是母亲姓名10fuqin_nameVarchar60是父亲姓名11jiandangrenVarchar60是建档人12jiandangriqidatetime是建档日期13cir_idsmallint4否是4、孕产妇健康管理表,主要包含姓名、孕次、产次等信息,具体
31、信息如图表3-4所示:表3-4孕产妇健康管理表序号字段名类型长度允许为空主键外键说明1record_idvarchar60是档案编号2human_namevarchar60是姓名3human_sexvarchar60是性别4yuncivarchar60是孕次5chancivarchar60是产次6zuyuechanvarchar60是足月产7nanchanvarchar60是难产8zaochanvarchar60是早产9jiandangrenvarchar60是建档人10jiandangriqidatetime是建档日期11yir_idsmallint4否是5、老年人健康管理表,主要包含姓名、
32、性别、身份证号、慢性病、药物过敏史等信息,具体信息如图表3-5所示:表3-5老年人健康管理表序号字段名类型长度允许为空主键外键说明1record_idvarchar60是档案编号2human_namevarchar60是姓名3human_sexvarchar60是性别4xianzhuzhivarchar60是现住址5birth_timedatetime是出生日期6human_idvarchar60是身份证号7manxingbingvarchar60是慢性病8yaowuguominvarchar60是药物过敏史9human_telvarchar60是本人电话10jiandangrenvarcha
33、r60是建档人11jiandangriqidatetime是建档日期12oir_idsmallint4否是6、高血压健康管理表和糖尿病健康管理表,主要是针对一些具有特殊疾病的人群,记录了病人的基本信息,具体信息如图表3-6和表3-7所示:表3-6高血压健康管理表序号字段名类型长度允许为空主键外键说明1record_idvarchar60是档案编号2human_namevarchar60是姓名3human_sexvarchar60是性别4xianzhuzhivarchar60是现住址5birth_timedatetime是出生日期6human_idvarchar60是身份证号7manxingbi
34、ngvarchar60是慢性病8yaowuguominvarchar60是药物过敏史9human_telvarchar60是本人电话10jiandangrenvarchar60是建档人11jiandangriqidatetime是建档日期12gir_idsmallint4否是表3-7糖尿病健康管理表序号字段名类型长度允许为空主键外键说明1record_idvarchar60是档案编号2human_namevarchar60是姓名3human_sexvarchar60是性别4xianzhuzhivarchar60是现住址5birth_timedatetime是出生日期6human_idvarch
35、ar60是身份证号7manxingbingvarchar60是慢性病8yaowuguominvarchar60是药物过敏史9human_telvarchar60是本人电话续表3-7糖尿病健康管理表序号字段名类型长度允许为空主键外键说明10jiandangrenvarchar60是建档人11jiandangriqidatetime是建档日期12tir_idsmallint4否是7、健康教育活动表,主要包括有关活动的活动时间、活动地点、活动形式、组织者、负责人等信息,具体信息内容如图表3-8所示:表3-8健康教育活动表序号字段名类型长度允许为空主键外键说明1shijiandatetime是活动时间
36、2didianvarchar60是活动地点3xingshivarchar60是活动形式4zuzhizhevarchar60是组织者5renshuvarchar60是接受健康教育人数6leibievarchar60是接受健康教育人员类别7fuzerenvarchar60是负责人8tianbiaoshijiandatetime是填表时间8、住院记录表,主要包括人员ID、人员名称、医院名称、开始时间、结束时间、病因等属性信息,具体信息内容如图表3-9所示:表3-9住院记录表序号字段名类型长度允许为空主键外键说明1human_idvarchar60否是人员ID2human_namevarchar60是
37、人员名称3hospital_namevarchar60是医院名称4starttimedatetime是开始时间5endtimedatetime是结束时间6bingyinvarchar60是病因4系统实现4.1系统登录模块的实现本模块实现了用户的登录功能,新用户可以通过该界面进行注册,已经注册的用户可以通过该界面修改用户密码;用户可以有高级管理员权限登录、普通管理员权限登录、普通用户权限登录,高级管理员权限拥有使用本系统的最高权限,可以添加、删除普通管理员;普通管理员可以管理普通用户;普通用户只能查看记录信息;实现使用验证码登录的功能,如果验证码看不清还可以刷新验证码的显示,使系统登录更加安全。
38、系统登陆模块操作流程图如图4-1所示:N输入用户名、密码、验证码、选择权限开始注册密码正确?进入操作界面Y图4-1系统登陆模块操作流程图 本系统的登陆模块操作界面如图4-2所示:图4-2登录模块操作界面登陆模块实现的关键代码:function login()if(infchk()document.forms0.action=document.forms0.action+?operate=doLogin;document.forms0.submit(); function toEditPwd() document.forms0.action=document.forms0.action+?ope
39、rate=toEditPwd; document.forms0.submit(); function infchk()var name = document.forms0.elementsitem.UName;var pwd = document.forms0.elementsitem.UPassword;var num = document.forms0.elementsvalidatorNum;if(name.value = ) alert (请填写用户名);name.focus();return false;else if(pwd.value = )alert (请填写密码);pwd.f
40、ocus();return false;else if(num.value = )alert (请填写验证码);num.focus();return false;elsereturn true; function show(o) /重载验证码 var timenow = new Date().getTime(); o.src=random.jsp?d=+timenow;4.2居民健康档案管理模块的实现本模块实现了对居民个人信息的管理和对居民个人体检信息的管理,可以按照姓名查找居民的个人信息,也可以添加、变更、删除居民的个人信息和体检信息。居民健康档案管理模块操作流程图如图4-3所示:居民健康档案管理选择居民个人信息管理居民个人体检管理搜索变更添加删除删除搜索添加变更显示所查信息更改所选信息添加新信息删除所选信息显示所查信息更改所选信息删除所选信息添加新信息操作成功操作成功返回居民个人信息管理返回居民个人体检管理图