版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.绪论1.1课题背景伴随着时代的快速发展,互联网技术与医疗领域相融合。而在互联网的大数据时代背景下,各类数据出现爆炸式的增长。如何在这个背景下,利用互联网和这些相关的数据进行辅助疾病诊断,并为用户进行个性化的,符合用户需求的医生进行推送,也成为了当下互联网行业的一个重要的问题。所以,在线问诊系统的开发更能够贴合现代化技术,提供更加多元化的系统服务板块。医疗领域和互联网的融合正是趋势所向,利用互联网来进行在线问诊能够让用户通过系统端进行更加便捷式问诊,还能为医院中各门诊的管理工作提供更加有效的运行条件。1.2课题研究目的及意义得病是多数人一生无法避免的事,但是有些时候我们不方便或者来不及去医院看病,众所周知,医院不仅人数多,而且浪费时间和精力,因此,我们需要更简单、更快捷解决问题的方法。正处于移动互联网高速发达的时代,我们则可以采取更加有效的方式,即在线问诊。一方面,在线问诊系统顾名思义,可以在用户身体不舒服或遇到需要咨询的身体健康问题,可以通过在线问诊向医生自行咨询,或者直接选择指定医生,然后预约留言,就可以准备接受诊疗,可为大多数人提供给莫大的方便和快捷。另一方面,在线问诊平台对于日常小毛病就很多的患者来说无疑是一个更加方便的平台。人们经常在身体出现某些小问题的时候,阻止自行的心,不仅不能问题解决,还会给自己加重心理负担。而在线问诊平台提供了健康咨询的功能,这则使得一些用户可以获得更加顺心的体验。况且,面对2020年初新冠疫情的爆发,也体现出了线下问诊的局限性,面对线下问诊的诸多不便,在线问诊发挥出了其显著的功效。因此,开发一个在线问诊系统显得尤为重要。1.3国内外研究现状1.3.1国外现状由于疫情影响,国外的在线问诊在日益发展,美国CVS也在2020年12月26日联合Teladoc等公司出手在线问诊。而从有关互联网医疗的文献检索来看,2018年至2020年2月间,核心期刊发表文献就达285篇,可见在线医疗发展前景广阔,而在整个互联网医疗中,在线问诊可谓其门户型产品,故笔者选择了互联网的线上问诊平台进行开发和实现。1.3.2国内现状时至今日,对于线上问诊方面的研究和实现已经创造了很大的成果,在2015年12月7日,全国第一家互联网医院——乌镇互联网医院成立,开创了在线电子处方、电子病历、延伸医嘱共享等滥觞。在线医疗行业也在互联网的发展之下给人们的生产生活方式带来了巨大的冲击。截至2020年6月,我国网民数量就已达到9.40亿,人们对互联网的接受和依赖程度将持续加强,互联网医疗的普及程度将会持续增加。1.4系统特性此次疫情的爆发,也体现出了线下问诊的局限性,面对线下问诊的诸多不便,在线问诊发挥出了其显著的功效。因此,开发一个在线问诊系统显得尤为重要。在线问诊系统中,医生和患者可以达到更加灵敏的即时沟通的效果,整个系统的设计也可以更加贴合地满足用户需求。为了保证用户信息的安全性,系统引入了身份认证的功能。经过测试表明,系统使用简便、安全、方便维护、易于拓展,可以有效地填充在线医疗行业的空缺。本文针对互联网医疗的实际需求,且充分考虑并了解到系统的可维护性和开发效率等问题,最后决定采用SpringBoot进行系统的开发,利用SSM框架组进行分层的构建,框架与框架之间精确地负责处理所属层的业务。两层之间解耦合。避免了传统Web开发中存在的表示层数据与后台Java代码耦合、开发效率低、难于维护等问题[1]。1.5系统的发展前景及影响随着互联网的崛起和持续发展,科技与创新能力在持续升高的大环境中。“互联网+”模式已在各个行业广泛使用。2018年4月,国务院办公厅印发《关于促进“互联网+医疗健康”发展的意见》(国办发[2018]26号),明确要求推进和完善“互联网+”应用服务体系[2]。2020年初,随着新冠疫情爆发,互联网给医疗领域带来了新的机遇和挑战,在国家的优惠政策的扶持,其加速发展,使得以在线问诊为代表的互联网医疗不断地迭代发展。毋庸置疑,随着通讯行业5G技术的普及,国家在互联网医疗上面对政策展开、技术推广、人才建设等方面给予很大的支持。就目前“互联网+”在医疗领域中的发展现状来看,我国已初步走向实用化,尽管距离大规模临床应用还有一段距离,但随着高质量数据库建立、系统及功能的升级和人工智能等技术不断革新,以及在国家政策等积极引导下,以在线问诊为代表的智能医疗将会实现。2.相关技术介绍2.1SpringBoot简介SpringBoot可通过其自行装配的功能以及“约定可大于配置”的相关开发理念来极大地提高JavaEE项目的开发效率[3],其主要功能表现为如下几个方面:(1)无需自我进行定义XML的配置所需文件。(2)可利用多种starter启动器来简化项目中的Maven配置,大量优化并减少所添加依赖资源的配置数量。(3)可以将所有的所需资源打包成一个jar包,搭建出可独立运行应用的Spring项目。(4)提供大量的配置生产功能,如指标,外部配置以及健康检查。(5)提供相对于传统开发来说更多的功能和相关的应用开发模块。(6)内置Web服务器,项目的调试以及运行无需提供额外的war包。(7)开发中使用大量注解。2.2SSM简介SSM(Spring+SpringMVC+MyBatis)框架集是由面向切面编程的轻量级开源框架Spring、和一款持久层的框架MyBatis整合而成的。SSM常常被用作数据源较简单的web项目的框架。SpringMVC分离了模型对象、分派器、控制器以及处理程序对象的角色,使其可以更加容易地被定制。Spring则是一款轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,可令表现层进行调用,充当了表现层和持久层之间的接口[4]。MyBatis的主要工作是负责数据的持久化操作,支持普通的SQL查询、存储过程的使用和高级映射的应用,通过对象关系映射关系将Java对象与数据库中的数据记录进行相互转换,通过使用开源框架配置文件中的引用和项目中的依赖包的导入,即可将三个框架整合起来实现完整的前后端通信流程[5]。2.3前端技术介绍2.3.1JQuery的具体作用前后端的交互模式为人们所熟知的AJAX,起到辅助功能,使得辅助开发Web的工作人员能够更加专注于功能的设计,更容易创建出功能,信息,且高效的网站。如果是为了添加丰富动态效果,并为了实现交互的活动,用户必须向开发人员提供反馈信息,以此来提供视觉上的信息反馈,并以此方便制作简单且新视觉的工具包。响应体验的一些复杂的动态操作,当然前提必须是可控的,如果设计得再强大再优秀几乎没有瑕疵,也不会得到用户的认同。JQuery会提供多样的页面问题事件的处理方式。而且不会使代码出现紊乱的情况发生。同时会消除掉浏览器不一致性的问题[5]。当用户需要改变页面内容时,JQuery会使用一些简单少量的程序,不仅仅是简单的外观能够更深一层得改变其范围变化。它能够对列表进行简单的排序,同时可以改变文本的内容,对文档的内容进行编排和重写。这些仅仅只需要简单的API。2.3.2Vue的简介Vue.js是简单的框架,其目的是给用户提供一套构建界面。Vue是自底向上的设计模式。与其他的框架存在一些不同,Vue注重视图层,且简单易学,容易上手,同时进行项目整合和与其它库进行连接时,不会出现乱码情况。Vue.js会通过简便的API同时会实现数据绑定的响应。并且它本身不是一个整体的框架,同时会集中于视图层,所以它是很容易掌握并可以深入研究。与其它库的整合以及工具的使用,都为开发者和用户提供了方便。3.需求分析3.1设计目标一个完整、综合的在线问诊系统具有以下基本功能。接下来笔者将对系统功能进行介绍。1.系统登录功能:登录过程是通过web服务器,在后台的数据库通过用户名、密码进行比对查询。只有该系统的注册用户且密码正确方可使用该系统。并且密码会采用MD5加密技术,同时采用了分页技术,能够保证更多的用户登录此系统。2.信息查询功能:信息查询是使用网络对远程的信息库进行查询,例如用户的信息查询、病历的查询、在线问诊的查询等。3.信息采集功能:信息采集的功能是对系统中采集到的信息进行及时而高效地储存。系统可以采集到的内容包括:用户信息的采集、病历的的采集、在线问诊的采集等。3.2可行性分析3.2.1技术可行性此在线问诊系统使用了Java语言作为主语言,后端使用SpringBoot+SSM框架,前端采用BootStrap响应式框架+jQuery+Thymeleaf作为页面设计以及前后端交互。采用IDEA+MySQL+阿里云OSS作为基本的开发工具进行系统的开发。IDEA作为一款集成开发工具,有着“最强Java开发工具”的称号,关系型数据库MySQL轻量方便,阿里云OSS作为一款阿里云的对象存储产品,方便存储图片文件,节省了项目的服务器资源,方便管理。Java语言作为面向对象的一种语言,非常适合用于Web开发,可以方便地实现前后端的交互。使用Java语言和这些开发工具作为在线问诊系统的开发是完全可行的。3.2.2经济可行性每个系统的开发都有它的利用价值,此在线问诊系统的设计与实现的开发在建成后可以扩大网站的宣传,进而可以进一步获得大量用户,通过广告的接入获取网站运营方面开支。同时开发采用的软件都是开源软件,软件方面不必投入资金,硬件部分可先租用服务器,这在硬件方面可以节约大量成本,而系统运行使用后可以减少人力、物力、财力的投入,将会节约大量开销,减少多余的经济负担,在经济上显然是可行的。3.2.3操作可行性此在线问诊系统,后台简单易用,方便管理,界面设计简洁大方,容易上手。同时对于开发者的工作量不大,具备一定的技术能力就可以实现此系统的开发。用户在使用系统时可以做到上手即用的程度,对于新手比较友好。4.系统设计4.1功能模块设计通过对此在线问诊系统进行需求分析,本系统主要分为用户管理、健康咨询、在线问诊、离线留言等,这四大功能模块。以及管理员,医生,用户三种角色权限。应对每个模块与用户权限之间的对应关系作出相应的权限分配,分析得出此系统功能结构图如图4-1所示。图4-1系统功能结构图4.2系统用例图建立用例图的结构包含管理员、医生,用户并且系统封闭的一边用例和参与者之间的关系。在在线问诊系统的主流业务可以看出系统的主流服务包括问诊信息、健康咨询信息病历信息以及留言信息的处理等服务方式。如图4-2系统用例图所示。图4-2系统用例图4.3系统数据库设计数据库访问是在线问诊系统中的一项重要功能,于在线问诊系统的建设与运行中占有重要的地位。为了持久地将用户的各种信息保存下来,需要将这些信息存储在MySQL数据库中。4.3.1数据库设计原则明确应用程序的性质,应用程序主要包括两种类型,一种偏向于关注增删改查的操作,偏重于事务处理。一种是偏向于数据分析和趋势预测的分析型程序。根据数据库可得出简易的流程图。如图4-3所示。图4-3系统登录流程图4.3.2数据库概念模型根据数据库表的设计,将各个模块进行具体的分析,科室与医生之间属于一对多的关系;医生与健康咨询实体之间属于一对多的关系;医生与用户之间属于一对多的关系;用户与健康咨询实体之间属于一对多的关系;用户与离线留言之间属于一对多的关系。由此分析可得出E-R图,图4-4为系统实体关系E-R图。图4-4系统实体关系E-R图4.3.3数据库概念结构设计通过分析,从上述E-R图中我们可以得到以下实体:用户信息表(用户编号、用户名、密码、性别、生日、地址、邮箱、qq、电话、头像、注册时间、状态、年龄、用户编号、用户名);健康咨询表(问题短标题、问题名称、问题详情、创建时间、创建人编号);文章表(用户编号、文章名称、图片缓存、文章内容、详细内容、创建时间、创建人);问诊表(序号、用户名称、用户编号、消息类型、创建时间、对象编号);评论表(序号、用户编号、评论主题、评论内容、类型、创建时间、更新时间、状态);新增栏目表(序号、栏目名称、创建时间、栏目简介);病历表(序号、用户编号、编号、病历名称、描述、图片、病历详情、创建时间、状态);科室表(编号、类别名称、图片、描述、发布时间、更新时间);答疑表(编号、用户编号、问题编号、回答内容、创建时间、状态);4.3.4数据库逻辑结构设计通过上述的概念结构可得出数据库所有用例之间的关系表如下所示:系统用户信息表(users)中包括所有的用户信息。如系统用户信息表4-1所示:列名数据类型最大长度注释主键idmediumint8主键IDPRIusernamevarchar60用户名passwordvarchar32密码sextinyint1性别birthdaydate0生日addressvarchar128地址emailvarchar60邮箱qqvarchar20qqtelvarchar20电话thumbvarchar255头像typeint11类型createdvarchar255注册时间updatedvarchar32更新时间statustinyint4状态ageint11年龄fromidint11用户idfromnamevarchar255用户名表4-1系统用户信息表健康咨询表(question)中含有患者提出的关于健康方面的问题。如健康咨询表4-2所示:列名数据类型最大长度注释主键idint11序号PRItitlevarchar255问题短标题question_nametext0问题名称question_categoryint11问题详情createdvarchar255创建时间uidint11创建人id表4-2健康咨询表文章发布表(news)中含有医生或者管理员对健康知识的宣传文章。如文章发布表4-3所示:列名数据类型最大长度注释主键idint11序号PRIuidint11用户idtitlevarchar255文章名称thumbvarchar255图片缓存descriptionvarchar255文章内容bodytexttext0详细内容createdvarchar255创建时间clickint11创建人表4-3文章发布表问诊表(msg)中含有医生和患者交流的所有的消息记录。如问诊表4-4所示:列名数据类型最大长度注释主键idint11序号PRIusernamevarchar255用户名称uidint11用户idmsgtext0消息typeint11消息类型createdvarchar255创建时间toidint11对象id表4-4问诊表评论表(message)中含有用户对医生或管理员所发表文章的见解与评论内容。如评论表4-5所示:列名数据类型最大长度注释主键idint11序号PRIuidint11用户idmidint11评论主题contenttext0评论内容typeint11类型createdvarchar255创建时间updatedint11更新时间statustinyint4状态表4-5评论表新增栏目表(column)是管理员新增首页栏目所存储表,用于对栏目的新增修改的读写操作。如新增栏目表4-6所示:列名数据类型最大长度注释主键idint11序号PRItitlevarchar255栏目名称createdvarchar255创建时间attachtext0栏目简介表4-6新增栏目表 病历表(illness)是对患者病历存储所用的表。如病历表4-7所示:列名数据类型最大长度注释主键idint11序号PRIuidint11用户idcodevarchar255编号illnamevarchar255病历名称descriptionvarchar255描述thumbvarchar255图片contenttext0病历详情createdvarchar255创建时间updatedint11更新时间statustinyint4状态表4-7病历表科室表(cates)是对医生所属科室的存储用表。如科室表4-8所示:列名数据类型最大长度注释主键idint11编号PRItitlevarchar255类别名称imagevarchar255图片descriptionlongtext0描述createdvarchar255发布时间updatedint11更新时间表4-8科室表 答疑表(answer)是医生对患者所提问题的解答存储用表。如答疑表4-9所示:列名数据类型最大长度注释主键idint11编号PRIuidint11用户idqidint11问题idanswertext0回答内容createdvarchar255创建时间statusint4状态表4-9答疑表5.系统实现5.1系统登录实现项目启动:SpringBoot项目的启动,调用入口SpringApplication.run()。@SpringBootApplicationpublicclassSpringBootStudyConfigApplicationpublicstaticvoidmain(String[]args){SpringApplication.run(SpringBootStudyConfigApplication.class,args);}}项目启动成功标志如图5-1所示:图5-1项目启动成功用户登录的界面如图5-2所示:图5-2系统登录界面用户登录验证:用户登录的信息被发送到login.jsp,此页面用于进行验证,如图5-3所示。管理员与用户为同一用户界面登录,如果用户身份验证不通过,则需要重新登录或者放弃登录;如果验证通过,表单将会把视图派发到index.html页面。如图5-3所示。图5-3系统登录验证失败核心代码:<c:iftest="${!emptyinlogin}"><c:iftest="${user.username!=null}"><script>layer.alert("登录成功,正在跳转",{icon:1});setTimeout(function(){window.location.href="<%=basePath%>backendui/index.html";},1500);</script></c:if><c:iftest="${user.username==null}"><script>layer.alert("登录失败请检查账号密码",{icon:2});</script></c:if>5.2前台问诊管理模块实现问诊界面如图5-5所示,为在线问诊界面效果。本页面运用了websocket的长期连接特点,只需创建一次请求/反应信息对,之后都是以TCP连接的,避免了系统需要多次建立请求/反应信息对而产生的冗余头部信息,影响系统的性能。核心代码:functionconnect(){varsocket=newSockJS('/socket');stompClient=Stomp.over(socket);stompClient.connect({},function(frame){setConnected(true);console.log('连接中'+frame);stompClient.subscribe('/topic/notice',function(respnose){showResponse(JSON.parse(respnose.body).responseMessage);});图5-5在线问诊模块界面5.3病历管理模块实现如图5-6所示病历管理界面效果。图5-6病历信息管理模块界面进入在线问诊系统中的“我的病历”模块下的“病历管理”下单击“创建病历”按钮,录入新增病历信息。新增病历信息,单击“创建病历”按钮根据病历的资料填写“病历发布”病历信息录入结束后单击“保存数据”。对于已经录入的病历信息,可以返回“病历管理”界面,进行查询、修改等操作。核心代码:illnessService.update(modelX);
model.addAttribute("inpost",true);
model.addAttribute("model",modelX);
model.addAttribute("message","操作成功");
return"admin/illness/edit";
}5.4新增病历管理模块实现新增病历界面效果如图5-7所示,新增病历界面效果。图5-7新增病历界面进入在线问诊系统中的“我的病历”,在“病历管理”模块下的“新增病历”下单击“新增”按钮,录入新增病历。新增病历,单击“新增”按钮根据用户分享的资料填写“病历表”病历录入结束后单击“提交”。对于已经录入的病历,可以返回“病历管理”界面,进行查询、修改等操作。增病历查询操作流程:进入程序主菜单之后,单击新增病历查询子菜单便进入新增病历查询子菜单界面。新增病历查询子菜单的实现和主菜单的实现类似。核心代码:
GoodsmodelX=illdesssService.getIllnessById(id);
modelX.setStatus(status);5.5用户信息管理模块实现如图5-8所示,修改用户信息管理界面效果。图5-8修改用户信息界面进入在线问诊系统中的“个人信息”模块下的“用户信息管理”下单击“资料更新”,在资料更新界面可以修改个人信息,包括:姓名、性别、头像等。核心代码:publicStringpass(Stringid,Stringgrade,Modelmodel){
Usersusers=usersService.getUsersById(Integer.parseInt(id));
users.setGrade(grade);
usersService.update(users);
model.addAttribute("model",users);
model.addAttribute("message","审核成功");
return"admin/users/list";5.6健康咨询管理模块实现如图5-9所示,健康咨询管理界面效果。图5-9健康咨询模块界面进入在线问诊系统中的“健康咨询”模块下的单击“我要咨询”按钮,录入新增健康咨询。新增健康咨询,单击“新增”按钮根据评论的资料填写“健康咨询表”健康咨询录入结束后单击“提交内容”。对于已经录入的健康咨询,可以返回“健康咨询管理”界面,进行查询、修改等操作。核心代码:questionService.update(modelX);
model.addAttribute("inpost",true);
model.addAttribute("model",modelX);
model.addAttribute("message","Success");
return"admin/question/edit";6.系统测试6.1测试目的作为在线问诊系统运行维护的重要组成部分,数据测试以及信息资源管理包括数据的日常备份及备份介质的保存管理工作,数据的备份恢复工作,以及备份存储系统的测试工作等。以便保证系统数据的绝对安全。6.2测试用例6.2.1用户登录模块测试对登录的用户进行登录操作,填写用户名和密码,点击【登录】按钮,测试结果正常,如表6-1所示。表6-1用户登录测试表6.2.2信息发布模块测试管理员登陆后,点击首页【信息】按钮,发布信息,信息发布正常。信息发布测试过程如表6-2所示。表6-2信息发布测试表6.2.3后台管理登录测试后台登陆测试。管理员登录,填写用户名,密码,点击首页的【登录】按钮,登陆结果正常,后台管理登录测试过程如表6-3所示。表6-3后台管理登录测试6.3系统维护在线问诊系统软件维护包括基础软件维护和业务应用系统维护两部分。其中,基础软件维护主要是对操作系统、数据库和业务应用系统开发、运行的环境进行维护。在线问诊系统的应用系统维护工作则通常包括应用系统升级,应用系统功能的检查,以及应用系统运行中各种问题的及时报告和处理等。
结论毕业设计的完成也代表着要进入下一个阶段的学习了,在这次毕业设计中,我重新认识了下自己。大学四年的学习生活,我以为自己对所学知识有了完整的掌握。当毕业设计完成后,我才发现自己仅仅是学习到了软件工程行业的皮毛而已。这次毕业设计增强了我的实践能力和动手能力,也让我更加明白了,如果想要完成一个完美的设计需求,要全面了解当前要完成的需求软件的行业信息,做好市场调研,了解用户的使用体验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 发电厂发电机检修工操作规程竞赛考核试卷含答案
- 金属材酸洗工持续改进水平考核试卷含答案
- 热风炉工创新应用评优考核试卷含答案
- 塑料制品成型制作工岗前持续改进考核试卷含答案
- 粮食经纪人安全意识知识考核试卷含答案
- 肝硬化患者的腹水管理与护理查房课件
- 小学三年级英语教学设计:沪教版新教材秋季开学第一课核心素养导向实践
- 小学一年级《人·社会·自然》教学设计:单元导入与游戏规则建构-以《做游戏》为例
- 高中物理必修第三册 12.2-3 欧姆表原理教学设计
- 八年级化学氧气与二氧化碳性质第二课时探究教学设计
- 人教版四年级数学上册全册教学设计(2026秋新修订)
- 2026揭阳中职面试题及答案
- 产品安全管理培训资料
- 丽声北极星分级绘本第一级上Fox and Mother Hen课件
- 2025年城市地下管网改造研究报告
- 2026年陕西事业编制招聘在哪里看参考题库附答案
- 2025北京国际风能大会暨展览会(CWP2025):大型长柔风电叶片新型失效模式分析与设计验证方法
- 2025年河北西学中题库及答案
- 班主任职业能力大赛课件
- 肿瘤靶向药物治疗及护理讲课件
- 国家电网公司招聘高校毕业生应聘登记表
评论
0/150
提交评论