基于SpringBoot框架的大学生电子健康档案管理系统

目录
1.项目介绍 1
1.1设计背景 1
1.2 设计目的和意义 1
1.3 国内外研究现状 2
1.4软件架构 3
2 系统需求分析 3
2.1 系统目标 3
2.2 系统的功能要求 3
2.2.1 前台功能 3
2.2.2 后台功能 4
2.3 系统的性能需求 4
2.4 系统的数据要求 4
2.4.1 数据的性质 4
2.4.2 数据字典 5
2.4.3 实体联系图 9
3.项目实现 9
4.项目展示 23
登录页 23
4.1医生用户 23
首页 23
健康建议 24
健康阅读 24
添加文章 25
健康档案管理 25
查看档案 26
修改密码 26
4.2普通用户 27
主页 27
个人信息 28
查看个人档案 28
健康阅读 28
4.3管理员用户 29
主页 29
角色管理 29
新增角色 30
用户管理 30
权限管理 31
5.系统测试 32
5.1 编写测试用例 32
登陆测试用例 32
注册测试用例 32
5.2 单元测试 32
5.3 系统和集成测试 33
6 结论 33
1.项目介绍
大学生健康档案管理系统,通过电子健康档案管理系统这个平台,可以实现人员健康情况的信息化、网络化、系统化、规范化管理,从繁杂的数据查询和统计中解脱出来,更好的掌握人员健康状况。系统的主要功能包括:人员档案管理、体检管理与疾病信息管理。
本系统前台主要使用Vue作为开发语言,后台使用mysql作为数据库管理系统,开发环境是Idea,开发出的一个基于Web技术的C/S结构的电子健康档案管理系统。
本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能:
(1)系统具有简洁大方的页面,使用简便,友好的错误操作提示
(2)管理员用户具有人员档案管理、健康体检管理、疾病信息管理、系统管理功

(3)具有较强的安全性,避免用户的恶意操作
1.1设计背景
紧张的工作节奏、教学和科研的压力、个人不良的工作生活习惯、以及伴随工作压力而来的家庭关系、人际关系紧张等因素使得高校群体成为慢性病的高发群体。学生入学的定期体检,教职工人入职体检,以及所有学生和教职工的定期体检工作,甚至个人自愿定期进行身体健康检查等都离不开医院的体检。人们对体检工作越来越重视,目前,传统的体检一直延用手工管理的方式,对健康信息的可视化平台需求迫切。
实现对健康信息分析的可视化,根据高危人群的日常行为,建立由此引发的发病概率预测模型,对高危人群做出相应的行为干预。健康管理平台不仅包含对个体健康曲线的可视化,同时包含对某群体健康曲线的可视化及预测,并以此为基础对个体日常行为的干预显示,以此为背景我选择设计健康管理平台。
1.2 设计目的和意义
健康管理既是一个概念,也是一种方法,更是一套完善、周密的服务程序,其目的在于使病人以及健康人更好地拥有健康、恢复健康、促进健康并尽量节约经费开支,有效降低医疗支出。健康管理有如下几大作用:一是可以了解居民的身体年龄,判断疾病指向;二是可以根据日常行为判断发病概率,以此为基础由医生提供降低慢性病发生危险性的行为干预方案;三是可以长期(终生)跟踪高危人群的健康,最大限度减少重大疾病的发生;四是可以节省维护健康的时间和金钱,提高保健效率。
建立面向大学生的健康管理平台的目的,对于个人,是如何利用健康体检系统中的信息为人们的健康保驾护航。而健康信息信息管理系统的管理和利用,不仅需要具备基础医学知识、临床医学知识、流行病学知识、计算机技术、数学统计知识等综合素质的专业人员,同时需要有庞大的保健医学、预防医学、临床医学、康复医学等专业的资深专家团队的支持,才能够为个人提供一系列的健康管理服务。
当今世界,信息管理数字化非计算机莫属,只有利用计算机技术,使用我国各个高校统一标准的健康体检系统表格,开发高校健康体检系统的系统软件,设置大学生健康体检系统的计算机编号,制作大学生的健康体检档案,并详细记录其本次体检程中所发现的健康问题和处理情况等,实现用户的健康体检系统信息在学校范围内的网络信息交换和共享,利用计算机技术,对用户的健康体检系统实现连续的动态管理。本文转载自http://www.biyezuopin.vip/onews.asp?id=14684健康信息管理系统以计算机为工具,通过对用户体检所得的数据进行信息管理,把管理人员从繁琐的数据计算处理中解脱出来,为更好的帮组用户身体健康监督检查,从而全面提高质量。具体通过本系统可以对用户的基本健康状况进行各种必要的统计和分析。
本项目将针对高校群体研发多模态的健康数据采集系统,对历年体检数据、就诊数据、膳食结构、生活习惯等健康相关信息建立统一管理系统,并在此基础上采用数据挖掘方法对诸如心血管疾病、高血压、糖尿病等慢性病进行有效建模与评估,对高校群体内广泛存在的亚健康状态进行综合客观评价和风险预测,最终实现针对高校群体慢性病患者及其高危人群的动态跟踪健康管理与干预。

3.项目实现
3.1项目说明
项目是采用SpringBoot + Mybatis + Shiro 的搭建的单体后台服务。同时通过引入通用mapper减少代码量,已达到重点关注业务
的开发。
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>${mapper-starter-version}</version>
    <exclusions>
        <exclusion>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>
实体
在创建实体时,首先定义了一个BaseEntity的类,所有的实体均集成该类,同时该类需要加上@MappedSuperclass注解。BaseEntity里面
包含了所有实体的公共字段,如:id、createTime、updateTime。这样做是为了减少代码的冗余。
实体上配置了@Table注解,以及实体字段配置了 @Column注解是为了搭配jpa的自动建表,已达到添加字段时,重新运行项目,数据库表字段也会自动添加。
但是存在缺点: 更改字段类型或删除字段,数据库表不能自动修改或删除字段,需要手动去变更。
Dao层
再创建相关的dao层接口时,需要接口继承自定义的BaseDao接口,该接口集成了通用mapper相关的接口和注解,便于我们自定义一些通用接口。
Service层
所有的service接口需要继承自定义的BaseService接口,该接口定义了一些常用到的接口,例如增、删、改、查等等。
package com.cqjtu.studentdocument.service;

import com.cqjtu.studentdocument.utils.dto.Condition;
import com.github.pagehelper.PageInfo;
import tk.mybatis.mapper.entity.Example;

import java.io.Serializable;
import java.util.List;

/**
 * @author pengyangyan
 */
public interface BaseService<T> {

    /**
     * 查询所有数据
     * @return      结果List
     */
    List<T> selectAll();

    /**
     * 主键查询
     *
     * @param key   主键
     * @return      T
     */
    T selectByKey(Serializable key);

    /**
     * 插入数据
     * @param entity   传入实体
     * @return  受影响行数
     */
    int insert(T entity);

    /**
     * 主键删除
     * @param key   主键
     * @return   受影响行数
     */
    int deleteByKey(Serializable key);

    /**
     * 批量删除
     * @return      受影响行数
     */
    int deletes(List<String> keys);

    /**
     * 删除数据
     *
     * @param entity 实体
     * @return       受影响行数
     */
    int delete(T entity);

    /**
     * 更新数据
     *
     * @param  entity 实体
     * @return       受影响行数
     */
    int update(T entity);

    /**
     * mapper Example原生查询方式
     *
     * @param example  example
     * @return         结果List
     */
    List<T> selectByExample(Example example);

    /**
     * 条件排序查询
     * 1.查询条件clauses和排序条件sortMap都可以为空
     * 2.如果查询条件和排序map都为空,则返回所有数据
     * 3.pageSize和pageNum该方法无效
     * 4.clauses定义查询条件
     * 5.sortMap定义排序条件,key为属性字段,value="DESC" 为倒序,value="ASC"为正序。
     *
     * @param     condition 条件
     * @return    结果List
     */
    List<T> select(Condition condition);

    /**
     * 条件分页排序查询
     * 1.查询条件clauses和排序条件sortMap都可以为空
     * 2.如果查询条件和排序map都为空,则返回所有数据
     * 3.clauses定义匹查询条件
     * 4.sortMap定义排序条件,key为属性字段,value="DESC" 为倒序,value="ASC"为正序。
     *
     * @param condition   条件
     * @return         结果List
     */
    PageInfo<T> selectPage(Condition condition);

}
同时创建接口实现类时需要继承自定义的BaseServiceImpl类,该类实现了BaseService接口的所有方法,这样可以达到不用书写这些接口,就可在需要的时候
调用,如果需要自定义某个方法时,只需要实通过@Override重写某个方法即可。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sheziqiong/article/details/127133203