一、引言
1.1 设计背景
紧张的工作节奏、教学和科研的压力、个人不良的工作生活习惯、以及伴随工作压力而来的家庭关系、人际关系紧张等因素使得高校群体成为慢性病的高发群体[1]。学生入学的定期体检,教职工人入职体检,以及所有学生和教职工的定期体检工作,甚至个人自愿定期进行身体健康检查等都离不开医院的体检。人们对体检工作越来越重视,目前,传统的体检一直延用手工管理的方式,对健康信息的可视化平台需求迫切。
实现对健康信息分析的可视化,根据高危人群的日常行为,建立由此引发的发病概率预测模型,对高危人群做出相应的行为干预。健康管理平台不仅包含对个体健康曲线的可视化,同时包含对某群体健康曲线的可视化及预测,并以此为基础对个体日常行为的干预显示,以此为背景我选择设计健康管理平台。
1.2 设计目的和意义
健康管理既是一个概念,也是一种方法,更是一套完善、周密的服务程序,其目的在于使病人以及健康人更好地拥有健康、恢复健康、促进健康并尽量节约经费开支,有效降低医疗支出。健康管理有如下几大作用:一是可以了解居民的身体年龄,判断疾病指向;二是可以根据日常行为判断发病概率,以此为基础由医生提供降低慢性病发生危险性的行为干预方案;三是可以长期(终生)跟踪高危人群的健康,最大限度减少重大疾病的发生;四是可以节省维护健康的时间和金钱,提高保健效率[2]。
建立面向教师的健康管理平台的目的,对于个人,是如何利用健康体检系统中的信息为人们的健康保驾护航。而健康信息信息管理系统的管理和利用,不仅需要具备基础医学知识、临床医学知识、流行病学知识、计算机技术、数学统计知识等综合素质的专业人员,同时需要有庞大的保健医学、预防医学、临床医学、康复医学等专业的资深专家团队的支持,才能够为个人提供一系列的健康管理服务。
当今世界,信息管理数字化非计算机莫属,只有利用计算机技术,使用我国各个高校统一标准的健康体检系统表格,开发高校健康体检系统的系统软件,设置教师健康体检系统的计算机编号,制作教师的健康体检档案,并详细记录其本次体检程中所发现的健康问题和处理情况等,实现用户的健康体检系统信息在学校范围内的网络信息交换和共享,利用计算机技术,对用户的健康体检系统实现连续的动态管理。健康信息管理系统以计算机为工具,通过对用户体检所得的数据进行信息管理,把管理人员从繁琐的数据计算处理中解脱出来,为更好的帮组用户身体健康监督检查,从而全面提高质量。具体通过本系统可以对用户的基本健康状况进行各种必要的统计和分析[3]。
本项目将针对高校群体研发多模态的健康数据采集系统,对历年体检数据、就诊数据、膳食结构、生活习惯等健康相关信息建立统一管理系统,并在此基础上采用数据挖掘方法对诸如心血管疾病、高血压、糖尿病等慢性病进行有效建模与评估,对高校群体内广泛存在的亚健康状态进行综合客观评价和风险预测,最终实现针对高校群体慢性病患者及其高危人群的动态跟踪健康管理与干预。
二、系统需求分析
2.1 系统目标
健康管理平台的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的教师健康管理平台。
具体的要求如下:
- 教师可以方便的使用五大基本功能;
- 独立于具体的数据库平台。对于与数据库交互的部分充分考虑兼容性;
- 容易在原先基础上进行二次开发;
- 中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行的效果。
为了达到以上的开发目的,健康管理平台应遵循一定的设计和开发与原则: - 模块接口定义清晰;
- 基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类;
- 数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽量集中在一起,以减少将来维护和移植的难度;
- 采用开放的标准和工具等。
2.2 系统的功能要求
2.2.1 前台功能
在前台的功能实现上,可以分为以下几个部分:
1.教师饮食管理:根据教师的相关信息,计算其每天所需热量,给出一周的推荐菜单。
2.教师健康日志:用户可以记录自己健康日记,记录每一天的睡眠,饮酒,吸烟,血压,体重等情况。
3.教师体检管理:教师可通过该平台查询每次的体检结果,显示部分项目随时间变化的曲线。
4.疾病预测评估:针对糖尿病和高血压两种疾病,利用数学线性回归的方法,模拟计算出教师患病概率。
2.2.2 后台功能
后台主要有四个功能:
1.管理员用户登录功能:通过编号登录系统。
2.管理员管理教师功能:可以增删改查教师基本信息。
3.管理员管理体检结果:可以增删改查教师体检记录。
4.管理员管理健康新闻:可以发布或删除新闻。
2.3 系统的性能需求
健康管理平台的特性要求网站系统需要具备以下几个主要特性:
- 多样性:健康管理平台在设计时必须遵循的一个重要原则,就是以用户为系统设计的中心。网络的发展大大降低了信息咨询的成本,用户面临更多的选择,所以,健康管理平台除了降低成本以外,还必须在外观,功能的多样性上下工夫,才能够得到用户的认可。具体来说,应用系统应能实现用户特定的需求,操作界面友好、方便,功能设置符合用户的习惯和要求。
- 易维护:管理员能够简单方便地管理系统,定义新的应用,并对系统进行日常维护;随着健康管理平台信息的变更或增加、数据规模的增大,系统升级、维护应易于操作;各子系统、功能模块的设计应具有良好的灵活性,保证在健康管理平台系统建设过程中后期系统功能的实现不影响前期已投入使用的系统功能。
- 安全性:系统应充分考虑信息、设备、运行和管理的安全性,建立完善的多层次的安全保障体系,保证用户的个人信息等资料的数据安全。
- 可扩展:健康管理平台的用户从事着各种行业,他们的需求各不相同,系统在设计时应充分考虑到用户需求不断变化的需要,降低系统在扩展新的业务功能时的复杂度[5]。
2.4 系统的数据要求
2.4.1 数据的性质
- 数据录入和处理的准确性和实时性。
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是用户的手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对用户操作进行实时的跟踪和错误提示。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。 - 数据的一致性与完整性。
由于网站的数据是共享的,所以如何保证这些数据的一致性,是网站必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,网站应该拒绝该数据。 - 数据的共享与独立性。
整个健康管理平台的数据是共享的。然而,从网站开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。
2.4.3 实体联系图
健康管理平台主要涉及的实体联系图有六个,实体有Teacher、Manager、Food、
Notice、Exam、Dairy。
三、系统概要设计
4.1 系统体系结构
基于B/S结构的健康管理平台,应由终端(用户主机/浏览器)、WEB服务器、数据服务器构成。健康管理平台的核心是中间的接入服务器和应用服务器部分。健康管理平台的总体结构图如图4.1所示:
4.1.1 设计原则
在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根据系统功能的实际需求,选择合适的开发工具及软件架构。
本系统设计时,比较主流的B/S设计有基于JSP、ASP、PHP、CGI及J2EE等模式。相比较而言PHP的功能相对简单,不适合做大程序;而CGI效率相对较低,所以也不考虑。由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统,所以选择Java技术作为健康平台的开发工具。
4.1.2 运行架构
首先要对系统进行分析,确定对系统的综合要求,分析系统的数据要求,导出系统的逻辑模型。再对系统分析后确定系统的模块,对每个模块进行研究,这也是该系统的一个主要解决的地方。本系统包括了用户,管理员等很多信息,所以对该系统要建立数据库。管理系统是基于WEB的,所以需要一定的网页支持以及与数据库的连接。该系统主要是以JSP技术为主来开发的,所以要对该技术进行了解,学习。除此之外采用的技术和环境要求如下:
数据库访问:oracle数据库
服务器访问:Tomcat系列服务器
网页编程技术:DIV+CSS、JAVASCRIPT、AJAX等
后台处理技术:Struts2+Hibernate+Spring
硬件需求:PIII/512M/10G 及以上配置
操作系统:Windows2000及以上操作系统
4.2 网站功能结构
网站前台功能结构图,如图4.2所示:
4.3 数据库设计
4.3.1 数据库详细设计
数据项和数据结构如下:
1.管理员表(Manager): 管理员编号,管理员名字,管理员密码;
2.新闻表(Notice):新闻编号,新闻标题,新闻内容,发布时间,图片路径,发布者;
3.食物表(Food):食物编号,食物名字,食物热量,食物类型,食物碳水化合物,纤维素,脂肪,蛋白质;
4.体检表(Exam):收缩压,舒张压,体重指数,腰臀比,尿素,尿酸,肌酐,甘油三酯,胆固醇,高密度脂蛋白胆固醇,低密度脂蛋白胆固醇,葡萄糖,同型半膀胱氨酸,微量白蛋白,微量白蛋白/尿肌酐;
5.教师表(Teacher):教师编号,教师昵称,教师密码,教师年龄,教师性别,教师邮箱,找回密码问题,找回密码答案,教师真实名字;
6.日志表(Dairy):日志内容,日志时间,睡眠时间,心情,抽烟,体重,压力,高压,低压,心率;
7.日志食物表(Dairy-food):日志编号,食物编号。
4.3.2 数据库逻辑结构设计
数据库逻辑结构设计汇总表,如表4.1所示:
表4.1 汇总表
表名 功能说明
Manager 管理员表
Notice 新闻表
Food 食物表
Exam 体检表
Teacher 教师表
Dairy 日志表
Dairy-food 日志食物表
4.3.3 数据库表设计
数据库中共涉及到七张表,分别是管理员表,新闻表,食物表,日志表,日志食物表,体检表以及教师表。
表4.2 管理员表
字段名称 字段含义 数据类型 长度 NULL 注释
id ID Number 10 NO 主键
name 用户名 Varchar2 20 NO
password 密码 String 20 NO
表4.3 新闻表
字段名称 字段含义 数据类型 长度 NULL 注释
id ID Number 10 NO 主键
title 用户名 Varchar2 50 NO
content 密码 Varchar2 2000 NO
datetime 发布时间 Timestamp 6 NO
imagepath 图片路径 Varchar2 30 NO
manager_id 发布者 Number 10 YES
表4.4 食物表
字段名称 字段含义 数据类型 长度 NULL 注释
id ID Number 10 NO 主键
name 食物名 Float 20 NO
heat 热量 Float 126 YES
carbohydrate 碳水化合物 Float 126 YES
fat 脂肪 Float 126 YES
fiber 纤维素 Float 126 YES
protein 蛋白质 Float 126 YES
type 类型 Number 10 NO
表4.5 日志表
字段名称 字段含义 数据类型 长度 NULL 注释
datetime ID Varchar2 20 NO 主键
text 日志 Varchar2 2000 YES
sleephour 睡眠 Float 126 YES
mood 心情 Varchar2 255 YES
cigrette 抽烟 Number 10 YES
weight 体重 Float 126 YES
pressure 压力 Varchar2 255 YES
bphigh 高压 Float 126 YES
bplow 低压 Float 126 YES
bs 心率 Float 126 YES
teacher_id 教师号 Number 10 YES
表4.6 日志食物表
字段名称 字段含义 数据类型 长度 NULL 注释
dairy_id 日志ID Varchar2 20 NO 主键
food_id 食物ID Number 10 NO 主键
表4.7 体检表
字段名称 字段含义 数据类型 长度 NULL 注释
id ID Number 10 NO 主键
datetime 体检时间 Varchar2 6 NO
sbp 收缩压 Float 255 YES
dbp 舒张压 Float 255 YES
bmi 体重指数 Float 255 YES
whr 腰臀比 Float 255 YES
bun 胆固醇 Float 255 YES
ua 尿素 Float 255 YES
crea 尿酸 Float 255 YES
tg 肌酐 Float 255 YES
chol 甘油三酯 Float 255 YES
glu 葡萄糖 Float 255 YES
hcy 同型半膀胱氨酸 Float 255 YES
m_alb 微量白蛋白 Float 255 YES
m_alb_crea 微量白蛋白/尿肌酐 Float 255 YES
teacher_id 教师ID Number 10 YES
表4.8 教师表
字段名称 字段含义 数据类型 长度 NULL 注释
id ID Number 10 NO 主键
name 教师名 Varchar2 20 NO
password 密码 Varchar2 20 NO
age 年龄 Number 10 NO
sex 性别 Varchar2 10 NO
email 邮箱 Varchar2 30 NO
question 找回密码问题 Varchar2 50 NO
answer 找回密码答案 Varchar2 50 NO
phone 电话 Varchar2 11 NO
realname 真实名字 Varchar2 20 NO
四、详细设计
5.1 系统流程图
在计算教师所需标准热量值得流程图,如图5.1所示:
5.2 前台功能设计
5.2.1 前台主页面设计
健康管理平台的主页面主要功能有教师的登陆,注册功能,后台界面的入口,四项主要功能的入口和简单介绍,健康新闻的展示,校园风景的动态展示以及相关部门的网站链接,此界面在实现登录时采用DWR异步刷新。主页面具体界面如图5.2所示:
5.2.2 教师饮食管理功能设计
教师饮食管理功能中,主要是根据教师身高,体重,年龄,性别,活动量来计算其每天所需热量,给出一周的推荐菜单。用到的计算式是[11]:
人体基础代谢的需要的基本热量(REE)精确算法如表5.1所示:
该功能具体界面如图5.3所示:
5.2.3 教师健康日志功能设计
用户可以记录自己健康日记,还可记录每一天的睡眠,饮酒,吸烟,血压体重,心情等情况,录入自己一天的饮食量,记录健康日志采用的是kindeditor这款文本编辑器健康日志功能界面具体如图5.4所示:
5.2.4 教师体检管理功能设计
校医院从后台导入体检结果,教师可通过该平台查询每次的体检结果,并且利用Highcharts 显示体检部分项目随时间变化的曲线,例如血压,血糖等。
Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。目前Highcharts支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表。Highcharts界面美观,由于使用JavaScript编写,所以不需要像Flash和Java那样需要插件才可以运行,而且运行速度快。另外Highcharts还有很好的兼容性,能够完美支持当前大多数浏览器[12]。体检管理功能具体界面如图5.5所示:
5.2.5 疾病预测评估功能设计
主要是针对糖尿病和高血压两种疾病,根据用户的体检相关项以及数据库近十年同类人患病情况,分析出致病的危险因素,利用数学线性回归的方法,建立预测模型,未来体检者可输入相关体检项来模拟计算出教师患病概率,预测模型如图5.6所示:
5.2.6 注册功能设计
新用户可以按提示进行注册,每一项都用具体的正则表达式进行表单验证,确保信息有效可用,注册界面具体如图5.8所示:
5.3 后台功能设计
5.3.1 管理员登录功能
管理员使用用户名密码登陆系统后台,登陆界面如图5.9所示:
管理员登陆后台后进入欢迎界面,此界面显示后台主要功能菜单以及登录时间,欢迎界面图5.10所示:
5.3.2 管理管理员功能
对管理员管理主要有查询、删除和添加操作,其中查询出来的管理员采用分页显示,调用的是Hibernate Template中的excutefind方法,此方法中的参数为一个回调函数,查询及删除管理员具体界面如图5.11所示:
5.3.3 管理员管理体检结果
教师体检结果管理可显示所有教师体检结果并可以删除不需要的记录,体检结果采用分页显示,每页默认显示10条记录,体检结果显示及删除具体界面如图5.13所示:
教师体检结果的添加使用POI读取Excel表格, POI 是apache的子项目,目标是处理ole2对象。目前比较成熟的是HSSF接口,处理Excel对象。它不仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,可以控制一些属性如sheet,cell等[13]。体检结果添加具体界面如图5.14所示:
5.3.4 管理员管理健康新闻
健康新闻管理中可以添加,修改以及删除新闻,修改和删除具体界面如图5.15所示:
五、联系与交流
q:969060742 完整代码、sql、报告、辅导视频