基于java+SpringBoot+VUE+Mysql社区家庭医生服务系统_哔哩哔哩_bilibili
源码+论文获取请私信获取
·1 前言
1.1.1 研究背景
随着生活水平提高以及开节奏的生活,无论儿童、成年人还是老年人都出现各种健康问题,许多成年人处于亚健康[1]状态。2016年,卫计委印发《卫生计生委关于印发推进家庭医生签约服务指导意见的通知》要求加快推进家庭医生签约服务。根据第七次人口普查数据推算,我国将比预测时间提前四年进入深度老龄社会。而老龄化,是人们生活水平提高和寿命延长的必然结果,也是人类社会发展所经历的必然阶段,其对各个国家来说也是一大难题。而慢性病治疗周期长,且有些慢性病于早期治疗想过更好[2]。
1.1.2 研究意义
在这种背景下,该课题所设计的系统提供健康信息管理、家庭-医生互相绑定以及健康知识查询等功能,并以安全实用、提高社区家庭健康服务效率、宣传健康知识和家庭医生服务为目标,为广大家庭医生服务需求的居民、家庭医生队伍和社区相关工作人员提供一个便捷的管理平台,减轻相关工作人员及服务人员的工作负担。
1.2 国内外研究现状
1.2.1 国外研究现状
家庭医生制度在国外已经发展的很成熟。如美国,持有医疗保险的一部分人看病先找自己的家庭医生。早于2017年英国便对50万人的基因和医疗健康信息进行大数据收集及分析,并形成了一套精准化大数据健康管理体系。苹果公司也推出了一系列IPhone应用,通过数据信息等给予健康锻炼等指导,实现远程医疗模式的优化升级[2]。
1.2.2 国内研究现状
而在国内,目前国内关于家庭医生签约服务已经逐渐成熟,但由于我国起步较晚,并且由于我国人口数量大,医疗资源紧缺以及国家和社会医疗患者无法享受在家里治疗的报销政策,因此我国的家庭医生队伍发展缓慢,目前主要是在上海等经济发达城市,出现了家庭医生队伍,主要的服务对象是中高收入家庭。从2017年开始推行家庭医生签约服务以来,重点人群签约率已经超过60%。七部委共同制定的《关于推进家庭医生签约服务的指导意见》已通过中央全面深化改革领导小组审议,并正式对外公布[3]。
根据第七次全国人口普查数据,截至2021年9月,全国有149市已进入到深度老龄化。而我国也是世界上失能老年人口(指生活完全不能自理,必须依赖他人照料)最多的国家,人口老龄化,老人数量大,老年抚养比大。近几年来,国家大力倡导家庭医生签约服务,实现控制高昂医疗费用,以及完善我国人口老龄化带来的社会医疗等各方面福利保障。再者成年人健康问题同样不可忽视,来自各方面的压力以及快节奏无规律的生活方式,使得年轻人处于亚健康状态甚至患病。目前我国慢病病患较高,医疗费控制不住。因此开展家庭医生服务,为居民健康把关,控制过度服务。做到无病防病,有病早发现。防治结合,控制医疗费用至关重要。
社区家庭医生服务系统是面向社区居民、社区工作人员以及家庭医生队伍的,为社区居民提供健康信息的建档和管理,以及方便社区工作人员对社区居民的健康信息进行管理维护、方便家庭医生队伍查询社区居民的健康信息并给予建议留言。其中健康档案等信息的管理是系统的主要功能。社区居民健康信息的建存档和管理对社区工作人员来说是很大的负担,而且必须保证居民健康信息的准确无损。社区工作人员还需要对社区居民和家庭医生两者绑定关系及其签约服务进行管理,这关系到医生对其所属的居民家庭应尽的责任。所以实现管理员对其关系信息的管理维护,保证两者关系的正确性能够使得系统及业务正常运行。再者现在许多居民健康意识提高了,但任然有一些存在盲区,增加健康知识模块可以提高居民健康意识,丰富且宣传健康知识。
1.5 技术路线
图1.1 技术路线图
2 相关技术简介
2.1 总体架构
本系统采用SSM框架,后端架构采用MVC设计模式,即MVC模式。社区家庭医生服务系统正是使用现在应用广泛的这种模式,并对本系统进行分层开发。MVC的设计模式一般是指MVC类型的框架,本系统通过数据的模型,视图模型和控制器这三层来完成这个框架,以实现对本系统数据的维护和实现在对用户上的服务流程。社区家庭医生服务系统采用MVC设计模式的主要目的是将数据模型和视图模型相关的代码分离。在社区家庭医生服务系统项目的实际开发中,保证及时且正确地响应用户的请求以及保证数据交互的正确是非常重要的。本社区家庭医生服务系统的用户在网页上输入http://localhost:21126/#/地址,点击登录按钮用户向部署了本系统的服务器发送了一个请求。而获取请求后如何解析用户的输入,并执行数据查询加工、视图模型建立等相关处理逻辑,最终跳转至正确的页面并显示反馈结果。在请求的过程中,用户的信息被封装在 User 实体类中,也就是数据模型(Model)。在返回请求结果并渲染页面时,跳转的结果网页就属于视图层。而利用Controller控制器来连接Model模型和View视图,使两者分离开且各自分工明确,Controller控制经过Service服务层获取到经过加工的数据流向Model对象,并在此过程中可以对数据进行第二次加工,并将包含数据及其可视化的模型更新到模型上并在前端页面渲染。而使用控制器来负责前台以及后台交互,数据模型封装各类用户相关的输入以及输出的数据,视图层则是用来选择恰当的视图并在页面上显示最终执行结果,本系统开发时便使用视图层是负责格式化数据、数据展示、页面交互、数据上下传流畅、界面样式设计等功能。控制器来负责接收视图层格式化后传来的数据,以及转发请求,并且在对请求进行处理后指定视图,并将结果传输前端页面。数据模型层:模型对象拥有最多的处理任务,是程序主要的部分,它主要用来负责数据的逻辑的处理以及在数据库中各类存取数据。
2.1.1登录框架
管理员输入通过账号、密码点击登录校验账号密码,校验成功进入系统,校验失败弹出登陆失败提示。管理员登录流程如图所示。
2.2 前端技术简介
社区家庭医生服务系统使用Vue来编写前端用户界面,并且,使用Vue前端框架可以进行渐进式的开发,可以在本系统的实际开发中,根据本系统需求引入了vue-router用于路由跳转,axios进行数据请求。使用Vue还可以将前端页面依照功能进行模块化,比如左侧菜单和头部信息展示模块,提高系统前端代码的复用率,力求以最简单方式或组件来实现本系统中的响应数据的绑定及其组合的视图组件。
由于Vue是MVVM模式的JS前端框架,因此本系统使用Vue可以很容易的与本系统所用到的BootStrap库进行整合,并完美的驱动使用相关工具和支持库的复杂的单页应用,同时,本系统使用Vue后,在获取数据更新方面也很方便,也能够通过内部特定的方法,也即是MVVM模式实现前端页面数据更新。
社区家庭医生服务系统使用的bootstrap响应式框架是目前市场上应用十分广泛且发展成熟的一个开源前端框架库。在开发系统时可以直接用已经预编好的CSS文件快速开发前端页面,并且由于BootStrap是响应式布局,因此使用其开发的前端页面能够有效地适应PC、PE、平板等设备。
2.3 后台技术简介
社区家庭医生服务系统在后端上采用Spring Boot框架,其在系统开发中使用的是自动进行大量配置来集成各种开发环境或组件,并对它们进行版本控制,因此在开发本系统时开发的人员不再需要各类型自定义样板配置,而且在实际开发中能够快速完成配置和第三方框架配置。并且使用该框架进行开发能够快速的搭建起一个系统项目,大大减少了工作量。而SpringBoot本身就是一个Java框架,因此在其搭建的环境下再进行Java开发十分得心应手。Java不仅可以编写各类桌面的应用程序、Web类应用程序、分布式的系统和嵌入式的系统程序等等,其应用中的JDBC能够有效连接、发送、操作数据库的数据,包括其中的对数据库语句的处理,特别是存储在关系型数据库当中的数据。再者,SpringBoot框架也能够很好地兼容Tomcat服务器,只需对其进行一些简单的配置,便能够很好地部署承载开发的项目,是开发和调试各类程序的一个很好的选择。
2.9 本章小结
本章主要介绍了整个开发中需要用到的环境以及相关的技术,包括JDBC的相关介绍、tomcat的相关使用介绍、为什么选用springboot作为开发框架,以及spring boot框架的详细介绍等内容。通过本章的介绍,明确了自己开发过程中用到的技术框架。
3 系统可行性与需求分析
3.1 需求分析
社区家庭医生服务系统是面向社区居民、社区工作人员以及家庭医生队伍的,为社区居民提供健康信息的建档和管理,以及方便社区工作人员对社区居民的健康信息进行管理维护、方便家庭医生队伍查询社区居民的健康信息并给予建议留言。其中健康档案等信息的管理是系统的主要功能。社区居民健康信息的建存档和管理对社区工作人员来说是很大的负担,而且必须保证居民健康信息的准确无损。社区工作人员还需要对社区居民和家庭医生两者绑定关系及其签约服务进行管理,这关系到医生对其所属的居民家庭应尽的责任。所以实现管理员对其关系信息的管理维护,保证两者关系的正确性能够使得系统及业务正常运行。再者现在许多居民健康意识提高了,但还是一些存在盲区,增加健康知识模块可以提高居民健康意识,让居民了解更多健康知识。
3.2 功能分析
社区家庭医生服务系统为社区健康管理提供便利,主要包括三个角色:分别是系统管理员、家庭医生以及居民;家庭医生则可以查询居民健康档案信息和个人信息,和进行随访记录。而居民用户在登陆之后,可以维护自己的个人信息,查询健康档案及查找浏览健康知识信息。
按照开题报告中设计的功能需求,可以将整个社区家庭医生服务系统拆分为管理后台以及用户前台两个模快,根据不同模块的功能设计。总体功能结构如图3.1所示:
图3.1 总体框架图
3.3 功能用例设计
(1)系统管理员:
系统管理员拥有对所有数据信息的维护权限,其中包括所有用户信息(管理员、居民、家庭医生)、居民健康档案信息、随访记录以及康康知识库等数据信息;拥有对管理员、居民和家庭医生用户的管理权限。管理员对所有用户信息进行管理,并对居民健康档案进行记录、管理维护等操作,同样能够对健康知识进行增删改查等管理操作。
1、系统管理员登录系统:系统管理员输入账号以及密码登录系统;
2、系统管理员管理:系统管理员信息的增加、删除、修改、模糊查询;包括:姓名、管理员账号、密码、性别、年龄、家庭详细地址、联系方式、身份证号码等信息;
3、家庭医生管理:家庭医生信息的增加、删除、修改、模糊查询;包括:姓名、账号、密码、性别、年龄、家庭详细地址、联系方式、身份证号码等信息;
4、居民档案:居民信息的增加、删除、修改、模糊查询;包括:姓名、账号、密码、性别、年龄、家庭详细地址、联系方式、身份证号码等信息;
5、随访记录:走访信息的记录以及维护;包括居民信息、随访内容的维护;
6、签约管理:管理员录入居民和医生的签约信息并管理维护;
7、健康知识管理:管理员对健康知识进行管理维护;包括,标题以及内容的增加、删除、修改、模糊查询;
家庭医生用户拥有查询个人信息,查询居民健康档案,查询健康知识的权限,并进行随访记录。
1、签约居民:签约居民的浏览;包括:姓名、账号、密码、性别、年龄、家庭详细地址、联系方式、身份证号码等信息;
2、健康档案:医生维护绑定的居民健康档案;包括居民信息、健康状况、留言信息等增加、删除、修改、模糊查询;
居民用户能够查询个人信息,查询个人的健康档案信息,查找阅览健康知识。
1、我的签约医生:我的签约家庭医生信息浏览;包括:家庭医生的姓名、家庭医生的电话、家庭医生的身份证;
(4)健康知识:阅读以及搜索健康知识;包括:标题以及内容;
(5)家庭健康档案:查看以及搜索家庭的健康的档案:包括;健康状况;留言信息等信息;
(6)家庭随访记录:查看以及搜索家庭的随访记录:包括:居民信息、随访内容。
3.4 本章小结
本章介绍了功能的整体框架,系统的角色分配,整体分为家庭医生、社区管理员、以及居民三个角色;框架整体分为前台以及后台;后台台功能包括了管理员管理、家庭医生管理、居民档案、随访记录、签约管理以及健康知识管理、签约居民、健康档案等内容的管理;前台包括了签约医生、健康知识、家庭健康档案、家庭随访记录等相关功能;通过本章的介绍基本确定了整个系统的整体框架。
4 数据库设计
4.1 数据库需求分析
设计数据库系统时应首先充分了解本系统各方面的需求,包括现有的以及将来可能增加的需求。用户需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。通过社区家庭医生服务系统内容和数据流程分析,设计数据项和数据结构。
通过与社区以及家庭医生的沟通和需求分析,通过对社区家庭医生服务系统的理解,我们分析到,社区家庭医生服务系统的要求就是实现家庭医生的线上的管理,这种管理就是从一个社区家庭医生服务系统的居民信息管理,居民家庭医生的签约、管理员管理、家庭医生管理、居民档案、随访记录、签约管理以及健康知识管理、签约居民、健康档案等内容的管理、签约医生、健康知识、家庭健康档案、家庭随访记录等相关功能需求。
4.2 数据库设计
数据库详细设计如下图所示。
图4.1 系统功能模块E-R图
人员信息字典:姓名、管理员账号/医生账号/家庭账号、密码、性别、年龄、家庭详细地址、联系方式、身份证号码、绑定家庭医生姓名、绑定家庭医生电话、绑定家庭医生身份证、绑定家庭医生账号、角色(系统管理员,家庭医生,居民)。
图4.1 用户人员实体属性图
健康知识信息字典:标题、内容。
图4.2 健康知识实体属性图
随访记录信息字典:用户姓名、用户id、随访记录内容。
图4.3 随访记录实体属性图
健康档案信息字典:用户姓名、年龄、家庭账号、性别、电话、家庭详细地址、随访时间、健康状况、备注、绑定家庭医生姓名、绑定家庭医生电话、绑定家庭医生身份证、绑定家庭医生账号。
图4.4 健康档案实体属性图
4.3 数据库表详细设计
表4.1 表汇总
表名 | 说明 |
ysyh | 人员表 |
ysxw | 健康知识表 |
ysly | 随访记录表 |
ysda | 健康档案表 |
表结构如下表所示。
列名 | 数据类型 | 长度 | 是否主键 | 说明 |
Id | varchar | 255 | 是 | 主键id |
Xm | varchar | 255 | 否 | 姓名 |
Sfz | varchar | 255 | 否 | 管理员账号 |
Sex | varchar | 255 | 否 | 密码 |
Age | varchar | 255 | 否 | 性别 |
Dz | varchar | 255 | 否 | 年龄 |
Jk | varchar | 255 | 否 | 家庭详细地址 |
Tw | varchar | 255 | 否 | 联系方式 |
Jw | varchar | 255 | 否 | 身份证号码 |
Xcm | varchar | 255 | 否 | 绑定家庭医生姓名 |
Jkm | varchar | 255 | 否 | 绑定家庭医生电话 |
Bz | varchar | 255 | 否 | 绑定家庭医生身份证 |
yszh | varchar | 255 | 否 | 绑定家庭医生账号 |
js | varchar | 255 | 否 | 角色 |
列名 | 数据类型 | 长度 | 是否主键 | 说明 |
Id | varchar | 255 | 是 | 主键id |
bt | varchar | 255 | 否 | 标题 |
nr | varchar | 255 | 否 | 内容 |
列名 | 数据类型 | 长度 | 是否主键 | 说明 |
Id | varchar | 255 | 是 | 主键id |
xm | varchar | 255 | 否 | 用户姓名 |
yhid | varchar | 255 | 否 | 用户id |
nr | varchar | 255 | 否 | 随访记录内容 |
图4.7 随访记录表
列名 | 数据类型 | 长度 | 是否主键 | 说明 |
Id | varchar | 255 | 是 | 主键id |
Xm | varchar | 255 | 否 | 用户姓名 |
Sfz | varchar | 255 | 否 | 家庭账号 |
Sex | varchar | 255 | 否 | 年龄 |
Age | varchar | 255 | 否 | 性别 |
Dh | varchar | 255 | 否 | 电话 |
dz | varchar | 255 | 否 | 家庭详细地址 |
sj | varchar | 255 | 否 | 随访时间 |
zk | varchar | 255 | 否 | 健康状况 |
bz | varchar | 255 | 否 | 备注 |
ysxm | varchar | 255 | 否 | 绑定家庭医生姓名 |
ysdh | varchar | 255 | 否 | 绑定家庭医生电话 |
yssfz | varchar | 255 | 否 | 绑定家庭医生身份证 |
yszh | varchar | 255 | 否 | 绑定家庭医生账号 |
图4.8 健康档案表
4.4 本章小结
本章详细介绍了本系统的数据库设计,包括了数据库的需求分析的功能、数据库的逻辑设计、数据库的表设计等模块,详细的介绍了本系统包含了哪些数据表以及每个表的表结构人员表:姓名、管理员账号/医生账号/家庭账号、密码、性别、年龄、家庭详细地址、联系方式、身份证号码、绑定家庭医生姓名、绑定家庭医生电话、绑定家庭医生身份证、绑定家庭医生账号、角色(系统管理员,家庭医生,居民)等信息。健康知识表:用来存储健康知识的基本信息,包括商品的标题、内容基本信息;随访记录表:用来存储随访记录的基本信息,包括:用户姓名、用户id、随访记录内容等健康档案表:用来存储健康档案的基本信息,包括:用户姓名、年龄、家庭账号、性别、电话、家庭详细地址、随访时间、健康状况、备注、绑定家庭医生姓名等信息。通过本章的内容详细的了解本系统的数据库设计。
基于java+SpringBoot+VUE+Mysql社区家庭医生服务系统_哔哩哔哩_bilibili