基于Spring Boot的医疗病历交互系统开发指南

第2章 设计技术与开发环境

2.1 相关技术介绍

2.1.1 B/S模式分析

C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据组件交互。服务器程序负责系统资源,如管理信息数据库的有效管理,其主要工作是当多个客户端同时请求同一个服务器上的资源,以优化这些资源的管理。中间件是负责连接客户端应用程序和服务器管理器,一个合作作业完成,以满足用户的查询的管理数据的要求。

B/S模式首先简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。

再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使 MIS系统维护的限制因素更少。

最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代用户所需的。这使得用户的电子文件可以取代大部分的纸质文件,从而使用户工作的效率得以提高,简化用户工作的手续,节约了物力和人力。

鉴于B/S比C/S的具有更先进性,B/S逐步的成为了当今流行的一种MIS平台系统。本系统也采用B/S结构开发。

2.1.2 mysql简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条"授权政策"),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

2.1.3 Spring Boot 简介

SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

2.2 开发环境介绍

2.2.1 eclipse简介

eclipse 是一个十分优秀的用于开发J2EE和Java,的 Eclipse 插件集合,eclipse的功能十分强大,支持也非常广泛,特别是对多种不同的开源产品的支持十分不错。eclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说eclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。

eclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,eclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。eclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说eclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。[1]

2.2.2 Tomcat简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于小量级的应用服务器,广泛应用于中小型系统和并发访问用户不是很多的场合,是JSP程序首选的开发方式和调试方式。对于一个初学者,这可能是因为当一个好的Apache服务器上配置了一台机器,你可以用它来访问HTML页面的请求作出回应。 Apache Tomcat的实际上是服务器的扩展的一部分,但它是独立运行的,所以当你运行tomcat的,它实际上是作为与Apache单独运行的一个单独进程。

诀窍是,当配置正确时,Apache来提供HTML页面,但实际上运行Tomcat JSP页面和Servlet。另外,Tomcat和IIS,Apache和其他Web服务器,具有处理功能的HTML页面,而这是一个Servlet和JSP容器,独立的Tomcat Servlet容器是默认模式。不过,Tomcat是不如来处理静态HTML的Apache服务器的能力。目前Tomcat最新版本为8.0.0-RC1 (alpha) Released。

第4章 系统设计

4.1 系统总体设计

系统不仅要求功能完善,而且还要界面友好,因此,对于一个成功的系统设计,功能模块的设计是关键。由于本系统可执行的是一般性质的学习信息管理工作,本系统具有一般适用性,其所实现的功能满足用户对日常性学习信息的管理。首先,整个系统分成几个小的模块,小的问题,然后,进一步细分模块,添加细节。

管理员功能模块如图4-1所示:

图4-1管理员功能模块图

医院功能模块如图4-2所示:

图4-2医院功能模块图

用户功能模块如图4-3所示:

图4-3用户功能模块图

医生功能模块如图4-4所示:

图4-4医生功能模块图

4.2 系统开发步骤

一般说来,信息管理系统的应用和成立可以分为三个阶段的:开发系统,总体规划和操作系统,可进一步划分为系统开发系统实施,系统设计和系统分析和工作等方面的阶段。每个发展阶段安排在一个严格的线性序列来开发,在每一个阶段所产生的工作指导和依据每个阶段处理文件审查下一阶段的完整的技术文档,相信这个阶段已经完成,之后实现要求进入下一个阶段,而在以后的工作中不能轻易对以前的评估结果有所改变。

上述开发的方法是有便于进行设计开发工作的管理和组织的最大优点,而且在最大程序上减少了开发信息管理系统的复杂性。国内外有很多已经开发好的系统的实际例子都能证明这是一个效果非常不错的开发方法。

4.3 概要设计

在系统需求分析阶段,搞清楚了要开发的这个软件需要"做什么"的问题,形成一个系统目标的逻辑模型来。然后我们所要做的就是要把软件需要"做什么"的这个逻辑模型转换成"怎么做"的一个物理模型,最后再着手实现系统的需求。首先,我们需要描述的是系统的总的体系结构。

4.4 数据库概念结构设计

在每一个应用程序中,数据库的设计是其中非常重要的部分,选择合适的数据库并创建合计的结构式开发程序时首要的问题。数据库将用mysql进行设计和管理。数据库安全性就是保证数据库信息的保密性,完整性,一致性和可用性,防止非法用户越权使用数据库从而窃取,更改或破坏数据库中数据[6],将提供一些安全措施来保证数据库的安全。根据以上章节对系统所做的需求分析和系统设计.

医院ER图

管理员ER图

文章类型ER图

4.5 数据库逻辑结构设计

模式设计的目的是确定物理数据结构。它的主要问题是处理具体的数据库管理系统的结构约束。第三范式形式的实体及关系模型是模式设计过程的输入。我们通常用"范式"定义来对数据冗余的程度进行消除。第一范式(1NF)数据冗余很大程度上,第五范式(5NF)最小的数据冗余水平。但是,范式级别越高,则需要存储相同的数据被分解成多个表,随着范式水平的提高,数据结构的存储结构和问题的域之间的匹配程度也在不断变化的数据需求下降的时候,因此,不太稳定。第三范式是需要提高访问表中增加的水平,因此性能(速度)将减少。从实际的角度来看,选择在大多数情况下,第三范式是比较合适的。该系统的大致轮廓确定以下,一个重要的步骤就是设计一个数据库的内容以及表的设计直接影响了开发的系统的质量。在设计的过程中,考虑了设计数据表范式规则,但更重要的考虑了用户使用的方便性。根据E-R模型,该软件建立了以下逻辑数据结构。

数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。本系统的数据结构比较清晰,依据基于B2B平台的医疗病历交互系统的功能要求,主要设计出数据库的表如下:

表4.1 病人病历

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

zhanghao varchar(200) 是 NULL 账号

xingming varchar(200) 是 NULL 姓名

yiyuanbianhao varchar(200) 是 NULL 医院编号

xingbie varchar(200) 是 NULL 性别

hunyin varchar(200) 是 NULL 婚姻

nianling varchar(200) 是 NULL 年龄

xianzhudizhi varchar(200) 是 NULL 现住地址

ruyuanriqi varchar(200) 是 NULL 入院日期

zhusu longtext 是 NULL 主诉

xianbingshi longtext 是 NULL 现病史

jiwangshi longtext 是 NULL 既往史

gerenshi longtext 是 NULL 个人史

jiazushi longtext 是 NULL 家族史

tigejiancha longtext 是 NULL 体格检查

binglizhaiyao longtext 是 NULL 病历摘要

chubuzhenduan longtext 是 NULL 初步诊断

yishengzhanghao varchar(200) 是 NULL 医生账号

yishengxingming varchar(200) 是 NULL 医生姓名

表4.2 医生展示评论表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

refid bigint(20) 否 关联表id

userid bigint(20) 否 用户id

nickname varchar(200) 是 NULL 用户名

content longtext 否 评论内容

reply longtext 是 NULL 回复内容

表4.3 医院文章评论表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

refid bigint(20) 否 关联表id

userid bigint(20) 否 用户id

nickname varchar(200) 是 NULL 用户名

content longtext 否 评论内容

reply longtext 是 NULL 回复内容

表4.4 院区展示评论表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

refid bigint(20) 否 关联表id

userid bigint(20) 否 用户id

nickname varchar(200) 是 NULL 用户名

content longtext 否 评论内容

reply longtext 是 NULL 回复内容

表4.5 收藏表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

userid bigint(20) 否 用户id

refid bigint(20) 是 NULL 收藏id

tablename varchar(200) 是 NULL 表名

name varchar(200) 否 收藏名称

picture varchar(200) 否 收藏图片

表4.6 管理员表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

username varchar(100) 否 用户名

password varchar(100) 否 密码

role varchar(100) 是 管理员 角色

addtime timestamp 否 CURRENT_TIMESTAMP 新增时间

表4.7 文章类型

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

wenzhangleixing varchar(200) 是 NULL 文章类型

表4.8 医疗安排

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

yiyuanbianhao varchar(200) 是 NULL 医院编号

zhanghao varchar(200) 是 NULL 账号

xingming varchar(200) 是 NULL 姓名

ruyuanriqi datetime 是 NULL 入院日期

ruzhukeshi varchar(200) 是 NULL 入住科室

ruzhufanghao varchar(200) 是 NULL 入住房号

yishengzhanghao varchar(200) 是 NULL 医生账号

yishengxingming varchar(200) 是 NULL 医生姓名

yongyaoanpai longtext 是 NULL 用药安排

yongyaojindu varchar(200) 是 NULL 用药进度

jianchaxiangmuanpai longtext 是 NULL 检查项目安排

xiangmujianchajindu varchar(200) 是 NULL 项目检查进度

hulianpai longtext 是 NULL 护理安排

hulijindu varchar(200) 是 NULL 护理进度

表4.9 医生

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

yishengzhanghao varchar(200) 否 医生账号

mima varchar(200) 否 密码

yishengxingming varchar(200) 否 医生姓名

xingbie varchar(200) 是 NULL 性别

chushengriqi date 是 NULL 出生日期

shouji varchar(200) 是 NULL 手机

youxiang varchar(200) 是 NULL 邮箱

shenfenzheng varchar(200) 是 NULL 身份证

nianling varchar(200) 是 NULL 年龄

keshi varchar(200) 是 NULL 科室

zhicheng varchar(200) 是 NULL 职称

zhiwu varchar(200) 是 NULL 职务

gerenjianjie longtext 是 NULL 个人简介

zhuanyetezhang varchar(200) 是 NULL 专业特长

yiyuanbianhao varchar(200) 否 医院编号

zhaopian varchar(200) 是 NULL 照片

sfsh varchar(200) 是 否 是否审核

shhf longtext 是 NULL 审核回复

表4.10 医生展示

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

yishengzhanghao varchar(200) 是 NULL 医生账号

yishengxingming varchar(200) 是 NULL 医生姓名

xingbie varchar(200) 是 NULL 性别

chushengriqi varchar(200) 是 NULL 出生日期

nianling varchar(200) 是 NULL 年龄

keshi varchar(200) 是 NULL 科室

zhicheng varchar(200) 是 NULL 职称

zhiwu varchar(200) 是 NULL 职务

gerenjianjie longtext 是 NULL 个人简介

zhuanyetezhang varchar(200) 是 NULL 专业特长

yiyuanbianhao varchar(200) 是 NULL 医院编号

zhaopian varchar(200) 是 NULL 照片

thumbsupnum int(11) 是 0 赞

crazilynum int(11) 是 0 踩

表4.11 医院

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

yiyuanbianhao varchar(200) 否 医院编号

mima varchar(200) 否 密码

yiyuanmingcheng varchar(200) 否 医院名称

fuzeren varchar(200) 是 NULL 负责人

fuzerenshouji varchar(200) 是 NULL 负责人手机

youxiang varchar(200) 是 NULL 邮箱

fuzerenshenfenzheng varchar(200) 是 NULL 负责人身份证

表4.12 医院公告

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

biaoti varchar(200) 是 NULL 标题

neirong varchar(200) 是 NULL 内容

gonggaoshijian datetime 是 NULL 公告时间

gonggaowenjian varchar(200) 是 NULL 公告文件

gonggaotupian varchar(200) 是 NULL 公告图片

yiyuanbianhao varchar(200) 是 NULL 医院编号

表4.13 医院工作人员

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

xingming varchar(200) 否 姓名

xingbie varchar(200) 是 NULL 性别

nianling varchar(200) 是 NULL 年龄

chushengriqi date 否 出生日期

xueli varchar(200) 是 NULL 学历

bumen varchar(200) 否 部门

zhiwu varchar(200) 是 NULL 职务

keshi varchar(200) 是 NULL 科室

shenfenzheng varchar(200) 是 NULL 身份证

shouji varchar(200) 是 NULL 手机

touxiang varchar(200) 是 NULL 头像

yiyuanbianhao varchar(200) 是 NULL 医院编号

表4.14 医院科室

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

keshimingcheng varchar(200) 是 NULL 科室名称

keshileixing varchar(200) 是 NULL 科室类型

keshijianjie longtext 是 NULL 科室简介

keshirenyuan longtext 是 NULL 科室人员

keshitupian varchar(200) 是 NULL 科室图片

yiyuanbianhao varchar(200) 是 NULL 医院编号

表4.15 医院科室预约

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

keshileixing varchar(200) 是 NULL 科室类型

yiyuanbianhao varchar(200) 是 NULL 医院编号

keshimingcheng varchar(200) 是 NULL 科室名称

yuyueshijian datetime 是 NULL 预约时间

zhanghao varchar(200) 是 NULL 账号

xingming varchar(200) 是 NULL 姓名

sfsh varchar(200) 是 否 是否审核

shhf longtext 是 NULL 审核回复

表4.16 医院列表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

yiyuanbianhao varchar(200) 否 医院编号

mima varchar(200) 否 密码

yiyuanmingcheng varchar(200) 否 医院名称

fuzeren varchar(200) 是 NULL 负责人

fuzerenshouji varchar(200) 是 NULL 负责人手机

youxiang varchar(200) 是 NULL 邮箱

fuzerenshenfenzheng varchar(200) 是 NULL 负责人身份证

zhanghao varchar(200) 是 NULL 账号

xingming varchar(200) 是 NULL 姓名

zhuceshijian datetime 是 NULL 注册时间

表4.17 医院文章

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

biaoti varchar(200) 是 NULL 标题

wenzhangleixing varchar(200) 是 NULL 文章类型

neirong longtext 是 NULL 内容

zuozhe varchar(200) 是 NULL 作者

shipin varchar(200) 是 NULL 视频

fabiaoshijian datetime 是 NULL 发表时间

wenzhangtupian varchar(200) 是 NULL 文章图片

yiyuanbianhao varchar(200) 是 NULL 医院编号

thumbsupnum int(11) 是 0 赞

crazilynum int(11) 是 0 踩

表4.18 医院注册

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

yiyuanmingcheng varchar(200) 否 医院名称

mima varchar(200) 否 密码

fuzeren varchar(200) 是 NULL 负责人

fuzerenshouji varchar(200) 是 NULL 负责人手机

youxiang varchar(200) 是 NULL 邮箱

fuzerenshenfenzheng varchar(200) 是 NULL 负责人身份证

zhanghao varchar(200) 是 NULL 账号

xingming varchar(200) 是 NULL 姓名

sfsh varchar(200) 是 否 是否审核

shhf longtext 是 NULL 审核回复

表4.19 用户

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

zhanghao varchar(200) 否 账号

mima varchar(200) 否 密码

xingming varchar(200) 否 姓名

xingbie varchar(200) 是 NULL 性别

shouji varchar(200) 是 NULL 手机

youxiang varchar(200) 是 NULL 邮箱

shenfenzheng varchar(200) 是 NULL 身份证

zhaopian varchar(200) 是 NULL 照片

表4.20 院区展示

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

yiyuanbianhao varchar(200) 是 NULL 医院编号

yuanqumingcheng varchar(200) 否 院区名称

yuanqujianjie longtext 是 NULL 院区简介

yuanqudizhi varchar(200) 是 NULL 院区地址

yuanqudianhua varchar(200) 是 NULL 院区电话

yuanquzongmianji varchar(200) 是 NULL 院区总面积

zhuanjia longtext 是 NULL 专家

keshi longtext 是 NULL 科室

yuanqutupian varchar(200) 是 NULL 院区图片

相关推荐
Buleall4 分钟前
期末考学C
java·开发语言
重生之绝世牛码6 分钟前
Java设计模式 —— 【结构型模式】外观模式详解
java·大数据·开发语言·设计模式·设计原则·外观模式
小蜗牛慢慢爬行12 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
Allen Bright19 分钟前
Spring Boot 整合 RabbitMQ:手动 ACK 与 QoS 配置详解
spring boot·rabbitmq·java-rabbitmq
A小白590834 分钟前
Docker部署实践:构建可扩展的AI图像/视频分析平台 (脱敏版)
后端
新手小袁_J37 分钟前
JDK11下载安装和配置超详细过程
java·spring cloud·jdk·maven·mybatis·jdk11
呆呆小雅37 分钟前
C#关键字volatile
java·redis·c#
Monly2138 分钟前
Java(若依):修改Tomcat的版本
java·开发语言·tomcat
Ttang2340 分钟前
Tomcat原理(6)——tomcat完整实现
java·tomcat
goTsHgo41 分钟前
在 Spring Boot 的 MVC 框架中 路径匹配的实现 详解
spring boot·后端·mvc