




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-9-基于医用预约管理子系统的设计与实现摘要近些年来,我国的医疗高新和医用检测设备技术的快速创新发展,医技设备检测技术在整个临床和诊疗服务流程管理中都发挥出了其关键性角色,医技设备检测技术的发展速度水平与检测质量将会直接影响关系到临床医院整体诊疗的医疗服务水平。为了能进一步的提高临床医技和检验技术科室人员的临床工作效率,以信息技术平台为支撑,建立医技预约平台,制作一个预约挂号系统,让患者在网上挂号,避免医院挂号缴费处人员大量聚集,在疫情不容忽视的今天,尤为重要。本文较为全面的剖析并设计了这个预约挂号系统。在系统中,管理员可以管理医护人员、患者、科室等基础信息,科室医护人员可以发布各自科室号源供患者挂号,亦可以到指定挂号处挂号。患者可以网上查看各科室在职医生,并且预约挂号,无需现场排队,有效的解决了挂号处人员聚集等问题。本系统在设计过程中使用了PowerDesignerUML设计工具,在产品研发的过程中采用到了JAVA编程语言。采用目前主流的SSM架构作为WEB架构,以及MYSQL作为开源的免费数据库。在软件系统开发的整个总体的设计思路与软件研发的流程设计中,根据整个软件的开发工作流程,先后独立完成包括了软件系统需求分析、系统总体的设计、编码测试等阶段,结合SSMweb框架,集成了ApacheShiro开源孵化项目作权限管理,使用Twitter设计师设计推出的Bootstrap作为UI基础框架,完成了该系统。经测试本系统达到了预期的效果,系统可以使用户简单快捷的了解各科室在职医生信息并进行挂号、取消挂号操作,挂号人员能够进行现场挂号、退号,医生可以修改患者就诊状态、撤销挂号,后台管理员能够进行人员管理、科室管理。关键词:医技预约平台;SSM应用;JAVAWEB开发;软件开发目录摘要…………=1\*ROMANIAbstract……………………=2\*ROMANII1绪论 11.1选题背景及目的 11.2国内外现状研究 21.2.1国内预约模式研究 21.2.2国外预约模式研究 31.3主要研究内容 42相关技术研究 62.1SSM框架 62.2前端所用技术 62.3后端所用技术 73系统分析 83.1可行性分析 83.1.1技术可行性 83.1.2操作可行性 83.1.3经济可行性 83.2需求分析 83.2.1系统总体业务流程 93.2.2功能性需求分析 93.2.3非功能性需求分析 103.2.4数据流程分析 114系统设计 134.1系统架构设计 134.1.1技术架构设计 134.1.2逻辑架构设计 144.2系统功能设计 154.3数据库设计 184.3.1ER实体关系分析 184.3.2物理数据生成 234.3.3面向对象数据生成 234.3.4数据库的建立 244.4程序流程设计 255系统的实现 275.1用户端的实现 275.2医生端的实现 325.3传统挂号端的实现 355.4后台管理端的实现 375.5测试 435.5.1白盒测试 435.5.2黑盒测试 446总结与展望 466.1总结 466.2展望 46参考文献……………………471绪论1.1选题背景及目的随着高新医疗设备技术的飞速发展,临床医生对医技检查的依赖程度越来越高,因此医院整体的服务质量直接受到医技检查的速度和质量的影响,医技检查在临床医疗过程中扮演着极其重要的角色。[1]进入21世纪,随着医院信息化和大数据化进程的加快,医疗保障体系得到了全面覆盖。目前待解决的问题是在医学技术检验中应用信息化技术,以提高检验工作的效率,减少技术检验工作的难度,减少病人的预约等待,使得有限的检测资源可以最大程度的满足病人的需要。[2]通过使用统一的平台,让数据在各个部门流通起来,这样可以共享数据,减少来回奔波的不必要。医院挂号科在网上预约挂号,有效的降低了线下患者的数量,减少了患者不必要的聚集行为。通过使用挂号平台,按次序叫号,患者只需在候诊区等候叫号,无需再到医生办公室门口排队等候,不给插队等不文明现象可乘之机。一体化医技预约管理系统一个集成的医疗技术诊断管理系统,能够实现多个门诊预约方式的集成平台。该平台支持各科室医生开展业务流程的多方协作,各科室下各项项目一键预约。平台包括传统的科室预约、诊间预约、自助预约等功能,还具有号源管理、床位预约、手术预约等功能。[3]从患者到医生再到医疗设备之间的信息都可以通过一体化医技预约管理系统实现信息的传递。患者可以通过系统在网上预约挂号。医生可以通过系统进行就诊叫号,也可以进行医疗设备检查预约。管理人员可以对医生、病人、科室和医疗设备等进行管理。该项目的所有工作内容都是紧密围绕于临床,面向于全院,服务于全院整个的临床医学领域。虽然临床医学技术科已自成学科体系,构成了整个该院重要的学科组成的部分,但实际上它主要的临床服务和工作重点主要还是在为其他临床医疗科人员进行诊断治疗、或提供配合的诊断,在积极服务于全院科研、教学工作的同时,直接地或间接有效地用于对各种门诊、急救、住院的病人家属提供医疗技术咨询服务。采用一体化的医技科室预约系统,节省了病人在预约和治疗整个流程中花费的一大部分时间,整合优化了医院系统内的各种医疗资源并实现按科室、医生进行号源统一管理,规范患者就医流程,提高医技人员工作效率,减少人员开支,营造舒适温馨的就医环境,使得医院更加便民、利民。[4]1.2国内外现状研究1.2.1国内预约模式研究天门市第一人民医院在2016年就成功上线了医技检查智能预约系统,成为湖北首家实行多科室、多项目、多系统、多种预约方式于一体的医技智能预约管理的医院。根据医院方面介绍,智能预约系统上线后该院CT拍片和超声从以前的动辄一两个小时的检查等待时间缩短到平均十分钟以内,普通拍片缩短平均五分钟内,患者检查等待时间大幅缩短。医院实现预约时间管理、医疗资源和技术资源的合理分配,使得预约病人的爽约率不断下降。医护人员通过预约系统的便利操作和科学分配,人员工作效率明显提升,给病人看病带来了极大的便利,使病人获得良好的就医体验。据不完全的数据,全国现有医院约2万余所,每年接待患者的人数可达30亿人次,平均下来每位医生需要接诊的病人一年大约是650位。[5]但其实许多发达国家的平均接诊人次都远超我们国家,其中主要原因是病人在我国的各类门诊业务中排队等待时间过长,目前很多医院接收到的医疗投诉都是由于病患在就诊过程中等候时间过长导致的。在医院传统的常规检查和预约的管理服务模式指导下,各大医院的检验技术科室目前仍然在实行着传统医院的常规人工检查收费、挂号预约、多项常规检测和患者就诊需要返诊多次的排队、多个检查环节、低效率检查的常规管理方法。根据预约与分诊系统性能,与医院HIS系统衔接紧密的PACS/RIS系统虽然能够有效在医院一定的程度上有效缓解检查病人排队查病房时排队与等候造成的拥挤无序的问题,但由于很多时候检查的病人都必须要反复多次来回的排队挂号缴费、排队等候预约,且对于在门诊、住院时等待的检查的病人也无法进行合理的分流管理与分流疏导,业务高峰时期人员的拥堵无序现象也仍是相对明显。[6]预约诊疗中心模式主要是指由各大医院统一组织抽调专人来成立的一个全国统一规范的医疗预约诊疗中心,由专业医技人员来承担医院对患者门诊、住院预约等医疗各项诊疗服务事项的审批。这个预约模式虽然减少了患者折返医院到其他各种临床医学技术科室就诊的排队道路时间与排队次数,但其实质意义上来说依然还是属于一个类似"人工预约"检测的检测模式,但在实际临床操作过程当中,这个检测模式却依然会面临存在着患者预约检测信息回执管理落后、检测诊疗项目时间无法得到统筹有效安排、患者重复缴费、预约检测后仍还需计算重复就诊排队道路时间次数等问题,而且检查对现场预约检查人员素质的培训要求也很高,增加了检查人员成本,所以我们在临床实际的调查研究中也发现,患者家属在现场预约进行检查治疗时往往还会存在采用门诊诊间预约/住院病房赴约的方式,医生需要与其他门诊、住院的医生同时站起来排队进行预约检查,采用现场取件系统人工排队预约检查或直接在诊间排队打印检查预约单,取消简化了临床医疗技术科室的排队和预约,但也加大了临床医务人员的检查工作量;门诊病人的缴费仍然需要排队,纸质预约信息静态,检查预约信息无法动态地显示和预知情况。[7]从当前的实际情况来看,传统检查预约模式已经不能满足病人的需要,被时代所抛弃;目前许多医院普遍采用PASC/RIS和中心预约模式,其中,中心门诊预约系统"和"门诊/诊间预约"在一定程度上提高了医院的服务效率,但从实践来看,流程还需要进一步优化,还需科学的统筹调度、算法和系统平台,特别是在"互联网+医疗"发展的这个大背景下,如何有效利用好"互联网+"的科技,使医疗检查和预约服务的使用效果达到最大化,完善医院诊疗服务,改善患者看病就医体验,打造起一个医技检查和预约体系,以各种形式的医技检查预约,实现“智能预约、动态分配、科学检查”,正是当下医院信息化建设的研究方向。[8]1.2.2国外预约模式研究在发达国家,医疗资源的信息化几乎可以覆盖所有的医疗机构,而国外的私立医院,一般都是通过PC和手机进行预约,部分患者通过手机预约自己聘请的家庭医生。在一些国家,不管是在何种现代服务业中都广泛存在使用着混合式自助的服务营业厅系统以及全自动化服务的自助营业厅,其中自助式服务营业厅系统早已逐渐得到了社会的广泛的认同,成为了现代服务行业中部分服务顾客群体的一种主要业务途径。[9]国外的一些研究医院医疗问题的学者,在某些预约调度问题的研究中发现存在着患者的爽约或患者到站排队的服务体系的不确定等症状,对门诊业务预约和卫生检查的调度问题进行了深入的探讨。[10]所以,制定预约报告的一些科学、恰当的规则,就显得十分必要。由于欧美国家在医疗资源的丰富程度上与我国存在体制上的差异和差距,这些国家医院资源基本都是一些私家的医院,因而他们在对医院资源的配置选择方式上也和其他国家相比有着相当大的区别。欧美的病人出去看病通常也都是采用电话预约的方式,就连去医院里看病时也是一般都是直接采用电话的预约挂号的方法。[11]在网上预约的医疗信息服务方面,欧美等地区提供的网上预约的医疗信息服务时间早于在我国50年左右。医疗服务预约的方式随着近几年的网络技术对于医疗传统医疗服务行业的全方位的覆盖,已经逐渐和网络联系结合到一起。信息化医疗时代的快速来临,使得谷歌和医疗中心形成合作关系,为其客户建立电子医疗档案,美国医疗服务行业与互联网行业的合作有了长足的发展。微软还推出了能够了解用户最新健康状况的全新信息化医疗服务平台。Inter和IBM在医疗信息化方面也有不少尝试。新加坡基本实现了基层综合诊所的全面预约,各大医院的预约系统均由各大医院自行实施建立,并未设立全国性的预约服务平台,而私营诊所、公里医院却未提供预约服务制度。日本目前只有少数几个专业如牙科、儿科已经实施预约制度。[12]经过对相关文献资料的梳理,不难发现,外国的医疗资源要比国内多得多,要么就是就医病人有自己的家庭医生或个人医生,要么就是直接电话预约去医院就诊,因此许多国外学者都选择了单一服务台的假设条件,很少考虑同时存在多个医生或者同时提供多个服务台的排队模式。国外的医疗现状对比国内具有较大差别,国外医疗水平相对较高,人口较少的国家可能不会遇到我国医疗现状中的一些人员过多的问题。想要在大环境下解决医疗问题,就必须加速医院信息化建设的速度,不仅要实现网上挂号、预约等功能,更要解决长时间的排队、人员不必要的聚集等问题。目前,我国一些大的综合性医院已经引入了自助医疗预约系统,主要是利用微信等方式,让患者进行自助预约、挂号、缴费、结果查询等,以提高医疗质量,缓解患者排队问题。但是,目前的某些系统由于其内在机制比较复杂,使用起来也不方便,有些患者可能会采取传统的预约就诊流程。故而我们国家的医疗机构需要结合自身工作流程特点,开服符合自身特色的信息化系统。1.3主要研究内容为了实现医疗资源的合理分配以及减少患者的就诊问题,本课题主要利用IDEA开发工具、JAVA语言、MYSQL数据库以及基于SSM的逻辑层框架技术开发一个医技预约WEB平台。为实现本系统的设计,本文的重点是下面几方面:WEB整体框架设计IDEA开发工具的环境搭建与部署数据库的管理与应用系统前后端数据交互
2相关技术研究2.1SSM框架相关研究SSM架构是由Spring的MVC,Spring以及Mybatis这三个架构的集成,是一种标准的MVC架构模式,该架构模式可以把整个体系分割成View层,Controller层,Service层以及DAO层共四层,利用了Spring的MVC来管理请求对象的转发管理以及视图的管理,Spring用来管理服务请求对象,Mybatis用来作为数据对象的持久化引擎。DAO层中的一个首要的工作任务是处理数据持久层,负责和数据库之间进行数据连接的其他一些重要任务也均被封装在此。Service层主要的设计功能之一是用于对商业模型进行逻辑和应用设计。Controller层是对特定的商业模块过程进行控制的。View层与控制层之间的联系更加紧密,两者需要结合在一起进行开发,View层主要处理前台页面的表示。SSM流程是:在客户端向分发机发送一个请求后,分发机控制器会询问Hander映射,然后找到该请求的Controller,该Controller调用服务业务逻辑层进行处理,然后返回该结果。流程原理如下图2-1所示:图2-1SSM框架流程原理图2.2前端所用技术该系统的前端采用了微信发布的WeUI作为前端架构,WeUI是一套与微信原有视觉体验相一致的基本风格库,专门为微信WEB开发量身打造。微信在多个内部小程序使用正常的前提下,将WeUI组件库开源供外部开发者使用。WeUI框架界面简洁大方,功能强悍,适合初学者学习使用。2.3后端所用技术系统的后端采用Bootstrap作为后台UI架构,Bootstrap提供了一些基本的框架,包含了网格系统、链接样式、背景等。Bootstrap拥有了以下的特性:CSS样式的全局设置,HTML元素的定义,CLASS对象的扩展以及其他一些更高级的网格系统。Bootstrap中还有其他很多可以被重复使用的小部件,比如创建图片、下拉菜单、导航、警告栏、弹出框等等。它还包括一堆定制jQuery插件,用户可以通过自定义Bootstrap组件、LESS变量以及jQuery插件来设计出合适自己的版本。
3系统分析一体化预约管理系统囊括了预约挂号、就诊会诊、医技检查、住院申请、手术预约等多方面功能,本人主要负责预约挂号子系统的设计与实现。对预约挂号子系统(医技预约平台)的系统分析将从可行性分析、需求分析两方面进行分析。3.1可行性分析可行性的分析也是系统设计开发中的一个重要的环节,利用系统可行性的分析结果来初步确定系统是否已具备设计开发医技预约平台系统所需具备的条件。经过前期对医技预约开发事项进行的比较详细的研究,确定出了所需要预约开发的系统应具备什么样的系统功能、特性、环境要求等,从技术可行性、操作可行性和经济可行性分析三个研究方向来展开。3.1.1技术可行性此系统的开发工具选择了IntelliJIDEA与MySQL数据库,采用WEB开发常用的JAVA作为开发语言,使用主流的SSM框架作为WEB开发架构,可以搭建出完善的开发环境,符合开发要求,使得项目具有切实的技术可行性。3.1.2操作可行性医技预约平台作为WEB平台,只要是能够连接到服务器均可使用,用户界面简洁直观、操作方便,管理端页面整洁大方、交互性强,均具有良好的操作性,符合操作可行性要求。3.1.3经济可行性系统基于SSM框架构建,一台电脑足以满足开发需求,极大的降低了开发成本和维护成本,使用MYSQL开源数据库,WEB平台开发教程详细易上手,开发经济成本低,投入使用后所带来的经济效益大于开发成本,满足经济可行性需求。3.2需求分析本系统通过对现有平台业务流程分析以及用户实际需要,绘制出关键功能的业务流程图,对流程分析后,将其中存在的数据直接的关系流向,通过数据流图展示,以建立功能模型,完善系统的逻辑功能。3.2.1系统总体业务流程医技预约平台总体的业务流程如图3-1所示:病人可以选择线上线下两种方式进行预约挂号。一是可以利用用户端程序进行提前挂号;二是到达医院后,在医院的挂号端进行传统的方式进行挂号。如果患者需要提前挂号预约,就需要进入用户端界面,进行注册登录操作后,选择科室-医生-日期进行预约。如果遇到紧急情况无法正常就诊,可以通过系统预约取消。如果患者没有提前预约的想法,那么可以到达医院后,在医院的挂号端进行挂号。医生通过医生端进行号源发放,发布号源后,用户端和挂号端才可以查询到该医生的号源并选择是否进行挂号就诊。图3-1系统业务流程图3.2.2功能需求分析根据对业务流程的分析,系统需要以下四个端口,功能需求如下:①管理端管理员要对平台整体功能配置,包括队科室的管理、对医护人员的管理、重置账户密码,统计分析等功能。②医生端医生需要基本的登录、注销登录、修改密码、修改个人信息、发布号源、诊治、使用设备等功能。③用户端用户需要注册、登录、修改密码、修改个人信息、添加患者、挂号、取消挂号等功能。④挂号端挂号端位于挂号收费部门,主要为病人提供挂号、销号等服务。当然还有基本的登录、注销、修改信息等基本功能。3.2.3非功能性需求分析①性能需求从系统架构角度分析,系统采用的框架应该是近年来持续稳定、并且漏洞较少、能够跨平台部署。从实时性角度分析,系统内功能的在并发情况下,响应时间应符合标准系统响应时间。一般来说响应时间超过4秒,但不超过9秒属于可接受范围,超过9秒可能导致用户流失。[13]②安全需求从网站安全角度分析,系统应该具备基本的网站安全策略,权限检查策略,对常见漏洞(例如SQL注入等)应该具有针对策略。③用户体验需求从用户角度来说,整体页面要美观大方,人机交互良好。界面响应即使,操作简单,按钮要明显。3.2.4数据流程分析分析系统业务流程图,绘制各层数据流图如下图3-2、图3-3、图3-4所示:顶层数据流图:医生通过预约系统发布号源,患者查看号源进行挂号登记。图3-2顶层数据流图功能数据流图:该系统功能数据流图系统中,细化描述了整个系统中的各种逻辑功能,主要是反映出了各种数据信息在整个系统范围内进行的各种逻辑的流动过程与信息转化流程。医生发出号源信息,由系统处理后,向患者及挂号端公布;患者查询号源后可以进行挂号,系统将挂号信息处理后输送至后台模块,凭借挂号信息进行就诊。图3-3功能数据流图在功能进一步分解的数据流图中,细化了系统的逻辑功能,细化了数据在系统内部的逻辑流向和变换过程。进一步细化后,患者的挂号信息输送至后台模块,患者可以进行取消操作,挂号人员也能进行销号操作。如果挂号就诊,则数据流向医生端进行诊治;如果取消就诊,则不会流入医生端,医生端患者就诊状态会发生由预约中到取消预约的转变。图3-4进一步细化的功能数据流图
4系统设计需求分析明确了“做什么”,总体设计则需要明确“怎么做”,通过对组成系统的物理元素的划分,确定系统框架,选择最佳的设计方案并进行数据库设计。4.1系统架构设计系统架构设计可以在整体上理解问题、规划整体设计,提供长远的可扩展性。4.1.1技术架构设计在需求分析的过程中,对数据流图进行研究,对系统进行结构划分,构建系统架构图。应网站可靠性需求,系统采用Web常用语言Java作为开发语言,该语言可跨平台部署,可靠性满足需求,日趋完善[14]。同时使用SSM框架作为系统基础开发框架,这也是Java语言开发Web项目最为主流的框架之一。整体系统采用Maven构建工具构建,该工具具有简化构建过程,提供统一构建系统的功效[15]。为了解决安全需求,采用ApacheShiro开源安全框架,该框架简便又不失功能强劲稳定,尤其作为Apache的孵化项目,教程资料也容易搜集。数据库方面,MYSQL主要负责存储、查询、修改数据信息,方便数据库操作业务。数据库交互方面使用MyBatis,将业务逻辑与数据逻辑相分离[16],使得数据库相关操作业务更加便捷。整体Web框架上基于SSM,整合了SPKngBoot,旨在简化SPKng的开发[17]。从用户体验方面出发,本系统采用Twitter设计师合作开发推出的Bootstrap作为后端UI框架,该框架可以让初学者快速掌握前端开发技术[18]。客户端,使用微信推出的WeUI为前端UI框架,界面简洁大方,功能强悍。具体系统构架图如图4-1所示:图4-1系统技术架构图4.1.2逻辑架构设计系统业务分为数据库操作层、模型层、服务层三层架构,如下图4-2所示:图4-2系统逻辑架构图数据库操作层:执行资料库存取服务,增加、删除、修改以及查询资料库中的资料或存放的数据。模型层:针对具体业务操作建立逻辑模型,该层处于第二层,作为数据交换的媒介,对数据库操作层来说,该层为调用者;对服务层来说,该层为被调用者。服务层:该层用于接收用户资料、为用户提供操作界面、完成数据传输等功能。4.2系统功能设计在系统结构设计中,根据需求分析,从用户端、医生端、传统挂号端、后台管理端四个方面进行了分析。用户端功能用户功能主要包括个人信息管理、信息查询、挂号、取消预约、历史查询功能。如图4-3所示:图4-3用户端功能模块图①个人信息管理:主要包括患者的注册与登录,以及患者可以修改账号密码、手机号等信息。②信息查询:患者可以在预约平台查询科室、医生的相关资料,也可以查询到预约的情况。③挂号:患者可以按科室、医生、日期来进行挂号,挂号后,医生端能够查看到患者的挂号信息。④取消预约:患者可以手动取消预约挂号,取消后,医生端显示的患者预约状态会从预约中转变为取消预约状态。⑤历史记录查询:患者可以在“我的”页面查询历史挂号记录。医生端功能医生端需要基本的登录、注销登录、修改密码、修改个人信息、发布号源、诊治、申请使用设备等功能。如图4-4所示:图4-4医生端功能模块图①登录:医生的登录信息由管理员统一发布管理,无法进行注册。②个人信息维护:医生可以修改个人资料,如修改密码、修改个人手机号等。③发布号源:医生在系统上按照日期选择最大号源数后发布号源,用户端和传统挂号端即可选择该医生进行挂号预约,医生还可以修改号源最大数量,修改后各端口信息同步更新。④诊治/取消就诊:当医生诊治患者或者由于特殊情况患者不能就诊,医生可通过该功能改变患者预约状态。⑤医技设备调用:医生可以使用医疗设备,当使用设备时,改变该设备状态至使用中,不能同时使用一台设备,使用结束通过该功能恢复设备空闲状态。后台管理端功能后台管理端是超级管理员使用的端口,管理员可以对平台整体功能配置,包括队科室的管理、对医护人员的管理、对医技设备的管理、重置账户密码等功能。如图4-5所示:图4-5管理端功能图①个人信息维护:管理员账户由系统编码实现,具有最高的登录权限,管理员可以修改自己个人资料。②用户管理:管理员可以更改用户的个人资料,因为医生和挂号人员是医院内部成员,所以只有管理员能够将他们的账户信息添加到系统中,无法进行注册登记。管理员既可直接对医师提供的基本信息资料进行简单更改,如医师职务、学历、毕业的学校、所在的部门、工号姓名等基本信息,也同样可直接对被挂号人提供的账户信息资料进行更改。③科室管理:管理员可以对科室信息进行增加科室、删除科室、修改科室信息等操作,还可以对科室进行排序分类。④医技设备管理:管理员可以管理设备信息,可以进行新增设备、删除设备、调整设备状态等操作。⑤数据字典管理:管理员对系统的数据字典能够进行修改,系统内数据字典有职位、学历、预约状态、预约类型等。传统挂号端功能传统挂号端定位位于医院挂号收费处,主要负责对在医院的患者提供挂号、销号等服务,也拥有基本的登录、注销登录、修改密码等基本功能。如图4-6所示:图4-6传统挂号端功能图挂号人员通过手动输入患者信息进行登记挂号操作,也可以进行预约取消/销号。4.3数据库设计数据库设计就是从特定的应用环境中提取出一个概念模型来描述用户的业务需求,构建最优的数据库逻辑架构和实体架构,并以此来构建数据库和应用系统,从而实现对数据的高效存储与管理,满足了用户对数据操作的实际需要。4.3.1ER实体关系分析为了更直观且准确的理解以及规范化用户的数据需求,将使用实体-关系图模型来重新构建概念模型。实体属性-关系图简称为E-R图,主要是由实体、属性关系和关联图三种图形基本构成要素组成。本系统中实体有医生、科室、患者和医疗设备这四个主要实体。医生可以发布多个号源,是1对N关系,医生属于一个科室,所以是1-N关系;医生有一个登录账户,是1对1关系;患者可以挂号多个医生,医生也可以接诊多个患者,所以是N-M关系;患者也有一个账户,是1对1关系;账户拥有一个角色,要么是医生,要么是患者,所以1对1关系;医生只能使用一台医疗设备,所以是1对1关系;医疗设备属于一个科室,所以是1-N关系。根据上述分析,绘制ER实体关系图如图4-7所示。图4-7ER实体关系图使用上述实体关系,生成数据字典,数据字典中PK表示主键,能够唯一区分表中的每一行。表app_doctor,主要用来存储医护人员信息,包括姓名、简介、部门、职位、学历、毕业院校、账户编号、医生工号、挂号最大数量等。表4-SEQ表\*ARABIC1医生信息表字段名称字段描述数据类型长度键值允许为空doctor_id医生编号bigintPKNOdoctor_name姓名varchar31YESdoctor_info简介text65535YESdepartment_dict部门bigintYESposition_dict职位biginteducation_dcit学历bigintgraduate_dict毕业院校varchar 255user_Id账户编号bigintdoctor_no医生工号varchar255max_quantity挂号最大数量intapp_doctor_settings:主要是医生挂号配置,详细说明某一天内、某个医生允许挂号的最大数量,以及当天内实际挂号数量。医生在发布号源的时候可以指定最大数量。表4-SEQ表\*ARABIC2号源信息表字段名称字段描述数据类型长度键值允许为空setting_id配置编号bigintPKNOdoctor_id医生编号bigintFKNOapp_date日期varchar255NOmax_quantity最大数量intNOactual_quantity实际使用数量int NOapp_patient:主要是存储患者基本信息,包括姓名、病例号码、证件号码、性别等信息。表4-SEQ表\*ARABIC3患者信息表字段名称字段描述数据类型长度键值允许为空patient_id病人编号bigintPKNOpatient_name姓名varchar31YESpatient_no病历号varchar31YEScard_no证件号码varchar31YESgender_dict性别bigintYEStel联系方式varchar31YESuser_id账户编号bigintFKYESAppointment:存储具体挂号信息,包括医生编号、患者编号、时间、状态、日期、类型。表4-SEQ表\*ARABIC4挂号信息表字段名称字段描述数据类型长度键值允许为空appoiment_id挂号编号bigintPKNOdoctor_id医生编号bigintFKYESpatient_id病人编号bigintFKYESperiod时间段varchar255YESstate_dict状态bigintYEScreate_date日期dateYEStype_dict类型bigintYESsys_dict:该部分为字典,详细存储类似职位、学历、状态描述等基本信息。包括字典编号,字典名称,字典详细介绍,上级ID,排序等。表4-SEQ表\*ARABIC5数据字典表字段名称字段描述数据类型长度键值允许为空dict_id字典编号bigintPKNOdict_name字典名称varchar31YESdict_description字典详细varchar255YESpid上级IDbigintYESsort排序intYESsys_role:该表为基本角色表,包括ID、角色名称,主要用来区分各种用户类型。表4-SEQ表\*ARABIC6用户类型表字段名称字段描述数据类型长度键值允许为空role_id角色IDbigintPKNOrole_name角色名称varchar255YESsys_users:该表为账户表、存储基本的用户ID、登录账户、密码、头像等基本信息。表4-SEQ表\*ARABIC7账号表字段名称字段描述数据类型长度键值允许为空user_id用户IDbigintPKNOlogin_name登录账户varchar31YESnick昵称varchar31YESavatar头像varchar255YEStel联系电话varchar31YESlogin_pwd密码varchar64YEScreate_date创建日期datetimeYESrole_id角色intYESMedicalequipment:该表为医疗设备信息表,存储基本的设备编号、设备名称、科室信息、使用状态等。表4-8设备信息表字段名称字段描述数据类型长度键值允许为空Mach_id设备编号bigintPKNOMach_name设备名称varchar31YESKs_dict所属科室varchar31YESstate使用状态varchar31YESUser_id用户bigintYES4.3.2物理数据生成使用PowerDesigner工具,根据上面分析的实体类属性以及实体之间的关系,同时抽象医生的属性(例如科室、学历、毕业院校等)到一个类数据字典中。形成数据模型如图4-8所示,该模型有助于系统后面的数据库建立。图4-8物理数据生成4.3.3面向对象数据生成PowerDesigner作为UML设计工具,自带生成面向对象模型生成如图4-9,能够生成JAVA语言中的实体类,方便后续开发。图4-9面向对象数据生成4.3.4建立数据库使用生成的物理模型,采用PowerDesigner自带的MySQL生成脚本,生成DBMS模型,并生成数据库对象(包括主键、外键)等信息[19]如图4-10所示。图4-10数据库建立4.4程序流程设计这里详细设计每个程序详细流程,就登录功能来说,首先填写基础登录信息,包括账户、密码,点击登录按钮。若账号存在,密码正确,则登入成功,并跳跃至首页,反之则会传回错误信息。流程图如下图4-11所示:图4-11登录流程图关于挂号功能,患者登录后首先选择科室-医生,点击挂号按钮,如果有号,则选择日期进行挂号,挂号成功,如果没有号则不显示日期,无法挂号。具体流程如图4-12所示:图4-12挂号流程图5系统的实现系统结构采用通用MVC模式,该模式被PHP,Java等语言广泛使用[14]。利用MAVEN构建工具,利用SPKngBoot快速脚手架,减少配置工作量。按照模块划分,可以划分为通用功能模块、病人模块、管理员模块等。根据功能划分,可以将模块内部分为:配置文件、控制器、数据库操作层、模型层、服务层等。5.1用户端的实现用户通过使用手机进入网址访问用户端口,进入网址后可以进行线上预约,达到自助预约的目的。5.1.1注册功能实现由于医护人员属于内部账户,所以不添加注册功能,只能由管理员在后台添加账户,只有患者才可以通过注册创建账户,如图5-1所示。图5-1注册功能5.1.2预约功能实现患者登录账户后,可以在首页查看目前医院设有的科室,如图5-2所示:图5-2科室查询选择准备挂号的科室,查看科室下的医生,列表页主要展示了医生的姓名、职称、毕业院校等基础信息,如图5-3:图5-3医生选择点击医生,查看医生详细情况,详细介绍了医生的职业经历,综合决定挂谁的号,如图5-4。图5-4医生信息查询5.1.3个人信息修改功能实现在这个页面内,患者可以修改自己的账号、密码和手机号,如图5-5。图5-5个人信息修改5.2医生端的实现医生通过管理员下发账号,在WEB端进行登录,成功登录后进行后续的发步号源、诊治、设备使用等操作。5.2.1医生端登录实现医护人员属于内部账户,是由管理员在后台管理中添加账户的,每位医生都拥有自己个人的账户。登录后页面显示如图,医生可以查看预约信息,发布号源,如图5-6。图5-6医生登录页面5.2.2发布号源功能实现医生自己按照日期-时间发布号源,可以选择发布号源数量,如图5-7。图5-7发布号源功能5.2.3预约查询功能实现医生可以选择患者信息、状态、时间来查看预约信息。就诊后可以点击就诊按钮改变病患预约状态,如果患者由于某些原因无法就诊,医生可以点击取消预约对预约进行取消操作,如图5-8。图5-8预约查询功能5.2.4个人信息修改功能实现医生可以对个人信息、账户信息进行修改,如图5-9。图5-9个人信息修改功能5.2.5设备使用功能实现医生可以使用自己科室的医疗设备,当使用时,设备状态由空闲中变为使用中,结束使用归还设备,设备状态又重新恢复为空闲状态。如图所示:图5-10设备使用功能5.3传统挂号端的实现挂号人员通过WEB网站访问系统,进入系统后进行挂号、销号等操作。5.3.1传统挂号端登录的实现传统挂号端是由挂号收费处人员登录进行操作,该端口账户同医生端一样,是由后台管理人员发布,不对外开放注册,如图5-11。图5-11传统挂号登录5.3.2传统挂号实现传统挂号操作是由挂号收费处人员通过询问患者个人信息得知需要挂号的科室时间等信息后,人工输入挂号信息进行挂号预约操作,如图5-12。挂号成功后医生端会显示预约信息。图5-12根据患者信息进行挂号挂号人员可以通过取消预约功能取消挂号,取消挂号也会改变患者预约信息,如图5-13。图5-13取消挂号功能5.4后台管理端的实现后台管理员通过WEB网站登入系统,进行后续的操作。5.4.1管理员登录实现管理员账户由后台管理员保存使用,账户具体信息在编码中查询修改,平台只提供修改密码功能,如图5-14、5-15所示。图5-14管理员登录界面图5-15管理员修改密码5.4.2管理员操作实现①科室管理主要对医院内部各个科室进行管理,主要有增删改查等功能,由管理员来管理,菜单上对角色进行了限制,如图5-16。图5-16科室管理②职位管理主要是指对医院内医生的职位进行管理,目前主要涵盖了普通医师、主治医师、副主任医师、主任医生等。该功能由管理员进行管理,如图5-17所示。图5-17职位管理③学历管理学历是医生的一个属性,为了减少数据库表的构建,系统内把类似这样的功能都击中到一个数据字典类中进行管理,学历就是其中一块,目前主要录制了专科、本科、研究生、博士生等,如图5-18所示。图5-18学历管理④预约状态管理系统内的预约状态主要是指挂号号码的状态,该状态主要包括预约中、取消预约、已会诊。同样,该功能在数据字典中由管理员维护,如图5-19所示。图5-19预约状态管理⑤预约类型管理预约类型管理,主要是指挂号的来源,包括现场挂号、网上挂号俩种,由管理员维护,如图5-20所示。图5-20预约类型管理⑥医生管理主要是对医护人员管理,为安全考虑,医护人员的账户不提供注册功能,由管理员统一管理,包括新增、账户信息修改、基本信息修改、编辑、删除、账户密码重置,如图5-21所示。图5-21医生管理功能基础信息管理包括医生的姓名、工号、部门、职位、学历、毕业院校、简介等,如图5-22所示。图5-22医生信息编辑功能⑦收费人员管理收费人员管理是指挂号收费处操作人员账户管理,同医护人员一样,该功能只有管理员管理,不对外开放注册,如图5-23所示。图5-23收费人员管理功能⑧医疗设备管理医疗设备管理是指对医疗设备的各种管理,如按科室需求增加医疗设备,更改医疗设备状态、删除医疗设备信息等。如图5-24所示。图5-24医疗设备管理5.5测试在本系统测试中采用了两种方法:白盒测试和黑盒测试。5.5.1白盒测试白盒测试主要测试软件内单元模块的功能是否正常运行,在该项目中,主要基于IDEA开发工具内部构建的JUnit测试工具,对单元模块测试。白盒测试针对单元模块测试,主要是因为单元模块是组成整体系统的基石,系统某个功能是由内部的很多单元模块组合而成,为了保证整体功能的稳定运行,单元模块必须可靠、有保障。由于Spring环境需要上下文加载才能正常运行,所以这里要在测试类上注解加载基本的上下文,然后再测试功能,测试如图5-25。图5-25白盒测试5.5.2黑盒测试在系统开发完成后,需要先对功能表做黑盒测试,区别之于白盒的测试,黑盒测试时仅按要求录入测试结果数据,观察其测量的结果数据能否准确达到期望结果。例如患者登录模块,就是为了判断账号是否存在,密码是否正确,角色是否正确。为了保证每个语句都有执行,也就是语句、条件覆盖,添加测试用例如下。测试账户:admin,密码123456。表5-1登录黑盒测试信息表编号输入内容预期结果实际结果是否符合预期账户密码1空空登录失败登录失败是2admin空密码错误密码错误是3空123456账户不存在账户不存在是4admin1密码错误密码错误是5admin123456登录成功登录成功是对挂号预约模块进行测试,这里的判断是号源是否发布,挂号是否成功,是否成功诊治,是否取消预约。由于不发布号源无法进行后续操作,故针对不发布号源只进行一次测试,测试信息如下:表5-2挂号黑盒测试信息表编号是否发布号源是否挂号是否就诊是否取消预期预约状态实际预约状态是否符合预期1否否否否无无是2是否否否无无是3是是否否预约中预约中是4是是是否已会诊已会诊是5是是否是取消预约取消预约是
6总结与展望6.1总结本文完成了“医技预约平台”WEB系统的设计与实现,课题主要完成工作如下:通过文献和社会调查,研究课题所在背景及开发意义;确保课题是有价值的。确定用户所需要的功能。通过对医技预约的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豫章师范学院《油画静物技法与表现》2023-2024学年第二学期期末试卷
- 珠海格力职业学院《藏文文法上》2023-2024学年第二学期期末试卷
- 辽宁石化职业技术学院《语文学科教育论》2023-2024学年第二学期期末试卷
- 西安欧亚学院《数据分析与可视化》2023-2024学年第二学期期末试卷
- 南京工业大学《建筑防火设计》2023-2024学年第二学期期末试卷
- 西安科技大学高新学院《汽车发展史》2023-2024学年第二学期期末试卷
- 辽宁工程技术大学《资产评估学》2023-2024学年第二学期期末试卷
- 四川航天职业技术学院《嵌入式系统设计与开发》2023-2024学年第二学期期末试卷
- 合肥信息技术职业学院《建筑类专业导论》2023-2024学年第二学期期末试卷
- 南华大学船山学院《素描半身带手及全身像实践教学》2023-2024学年第二学期期末试卷
- DL-T5704-2014火力发电厂热力设备及管道保温防腐施工质量验收规程
- JT-T-610-2004公路隧道火灾报警系统技术条件
- 初中英语比较级和最高级专项练习题含答案
- 鉴赏诗歌人物形象市公开课一等奖省赛课微课金奖课件
- 大坝安全监测系统验收规范
- 2024年南京铁道职业技术学院单招职业技能测试题库及答案解析
- 校园超市经营投标方案(技术方案)
- 康复医院建筑设计标准
- 社会稳定风险评估 投标方案(技术方案)
- 高层建筑火灾扑救面临问题及对策
- JC-T 738-2004水泥强度快速检验方法
评论
0/150
提交评论