版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告门诊挂号管理系统班级:学号:姓名:教师评语:教师签名:课程设计题目门诊挂号管理系统目的和背景随着我国人口的不停增加和生活物质水平的提高,越来越多的人选择去医院看病,从而获得更加好的医疗效果。为了避免医院因挂号的人太多而造成困扰,医院迫切地需要一套更加好的门诊挂号系统。本作品致力于解决该问题,实现了部分重要功效。重要内容本系统的重要功效有三个:患者信息的创立和管理,医院药品信息和医院医生信息的管理。初诊患者先进行注册,已注册患者登录后能够进行挂号、修改信息、查看病例和缴费这四个操作;管理医院药品的信息,登录了医生账号后,有权限增删改查数据库中的药品信息,将药品开给患者后,对应药品也会对应的减少。管理医院医生的信息,通过特定的管理员账号,能对医生的信息进行增删查,也能对患者账号增加和删除。医生本身能够更改自己的信息。另外,医生能对已挂号的患者添加病例。采用的工具办法MySQL8.0,VisualStudio,C++进度安排6.17之前完毕选题及需求分析,拟定程序要实现的重要功效。6.19之前完毕数据库设计,建立重要数据库表实现信息存储。6.20之前完毕各模块设计及基本框架,并实现重要逻辑代码。第一周实现重要逻辑代码。第二周进行程序的DEBUG调试修改,并撰写报告。参考资料[1]Visualc++andMFCApplicationinSafetyMonitoringSystemofAirplaneDepot[M]..[2]Modeling,analysis,andcontrolofMFCsandwichedlaminatepanelflutterwithgenerallayupsandarbitraryboundaryconditions[M],.[3]BenForta.MySQL必知必会[M].北京:人民邮电出版社.1目的和背景随着我国人口的不停增加和生活物质水平的提高,越来越多的人选择去医院看病,从而获得更加好的医疗效果。而传统的人工挂号效率低、速度慢,经常会出现排长队的现象,严重影响了患者的就医体验。为理解决上诉状况,就得将人工挂号转换为患者自主挂号的模式,而普通的门诊挂号管理系统也要变化为能让患者自主操作的系统。本系统不仅含有普通门诊挂号系统的基本功效,并且界面简洁,操作简朴,普通患者能在本系统直接进行挂号、缴费等操作。2数据库设计2.1概念构造设计E-R图:图2.12.2逻辑构造设计2.2.1数据库表:表2.1患者信息表字段名字段类型备注与否可为空id_paint(10)患者编号(主键)否pa_namevarchar(225)姓名否pa_passvarchar(225)密码否pa_usernamevarchar(255)同户名(主键)否guahao_statuevarchar(1)挂号状态否moneydouble(100)账户余额否表2.2医生信息表字段名字段类型备注与否可为空id_docint(10)职工编号(主键)否doc_namevarchar(225)姓名否doc_passvarchar(255)密码否doc_usernamevarchar(255)顾客名(主键)否is_adminvarchar(1)与否为管理员账号否enter_yearvarchar(10)入职年份否表2.3患者病例信息表字段名字段类型备注与否可为空usernamevarchar(255)患者顾客名(外键)否diseasevarchar(255)病名是medicinevarchar(255)药品是medi_numvarchar(255)数量是pay_statuevarchar(1)缴费状态否pay_numdouble(10)缴费金额是 表2.4药品信息表字段名字段类型备注与否可为空id_medint(10)药品编号(主键)否med_namevarchar(255)药品名称(主键)否med_numint(255)库存数量否med_pricedouble(10)单价否2.2.2触发器设立(1)数据库于pa_case表处设立触发器,实现患者缴费完毕将pa_case表中缴费状态pay_statue置为‘Y’表达已缴费后,把patient表中的患者挂号状态guahao_statue置为‘N’,表达患者从挂号状态装变为非挂号状态,其代码如图2.2所示:图2.2 (2)数据库于patient表中设立触发器,实现患者在挂号后,数据库自动在pa_case表中插入一行,并为其usernamea和pay_statue赋值,其代码如图2.3所示:图2.32.2.3视图设立数据库于patient和pa_case表连接建立视图实现程序中对于每个患者对应病例数据的展示,应无需修改且数据存在于不同数据库表中因此才用视图,视图的可视化表格和实当代码如图2.4和图2.5所示。图2.4图2.52.2.4索引设立数据库重要使用主键索引,确保唯一性约束,pa_case表还含有username列的外键索引,实现使用代码如图2.6。图2.62.2.5存储过程设立数据库设计登录医生账号后,通过在doctor表中搜索登录的顾客名来查找is_admin列成果的存储过程,如果成果为‘Y’则是管理员账号,否则是普通的医生账号,代码实现如图2.7。图2.73系统设计与实现3.1系统功效1)登录模块该模块对应的界面中,有下拉框控件listcontrol,其中包含两个属性——患者和医生,分别对应患者账号的登录和医生账号的登录。2)注册模块该模块实现了普通的注册账户的功效,且只能针对患者账号进行注册。3)个人信息模块该模块在患者端和医生端均存在。在该模块中,顾客能够看到账号的个人信息,在医生端能够看到账号类型、姓名、顾客名和入职年份这几类信息,在患者端能够看到账号类型、姓名、顾客名、挂号状态和账号余额信息。另外,该模块还存在修改密码这一功效。4)挂号管理模块(患者端)在该模块中,首先会显示出现在账号的挂号状态,若以挂号则会弹窗显示“无需挂号”,另外还会显示出账号的余额,尚有提示挂号费为5元,便于判断与否余额充足。若余额局限性则会弹出对应提示。5)添加药品模块(医生端)该模块是专门设计给医生,为了实现对已挂号的病人添加病例的功效。若患者未挂号,则会弹出对应的提示。该模块首先要输入患者的病名,并添加,然后能在下拉框中选择药品,接着输入对应药品的数量,最后确认即可。(该模块一次只能添加一种药)6)缴纳费用模块(患者端)当患者成功挂号并且有医生为其添加了病例后,患者进入该模块会看见病情和处方(上诉两种信息均在editcontrol控件中显示),接着系统会自动根据处方中的药品和数量计算出患者的缴费金额。若患者余额充足,则能成功缴费,否则会提示余额局限性造成缴费失败。7)账号充值模块(患者端)患者在该模块输入需要充值的金额后点击拟定,即可充值完毕。8)历史病例模块这个模块在患者端和医生端均存在,其中在患者端时,系统能根据顾客登录时所统计的顾客名在数据库中查询到患者的全部病例。患者账号一进入这个模块就能看见历史病例;而在医生端中,医生必须得通过输入患者的顾客名才干在数据库中查找到全部的历史病例并输出。另外,该模块会统计查找到的病例条数,然后在界面的右下角输出。9)药品管理模块(医生端)在该模块中,有添加药品个数和增加药品种类这两个功效。在添加药品个数这个功效中,顾客在下拉框listcontrol中能够选择需要增加个数的药品名称,然后输入需要添加的个数。另外,该模块能够显示出指定药品的库存和单价,便于医生对药品的管理;在增加药品种类这个功效中,输入新药品的名称、单价和添加的数量再点击拟定即可。10)管理顾客模块(医生端)在该模块中,进行任何的操作时,都会先判断账号的类型与否为管理员,只有当账号类型为管理员时才能够进行操作。该模块实现了添加和删除账号的功效。在进行操作前要选择添加或删除账号的类型,这样便于系统对于顾客名的查询。在选择完类型后,删除功效只需要再输入顾客名即可完毕,若是需要添加顾客,则需要管理员再输入该顾客的姓名和密码。3.2患者病例中药品和数量的添加和计算缴费金额的问题 由于医生为患者添加的药品个数含有不拟定性,因此我在数据库中将病历表中的药品属性设立为varchar,直接将全部的药品都存在一种属性中,并且每种药品都用‘;’隔开。为了与药品相对应,患者病例中的数量也用相似的办法保存。 在代码部分,为了计算患者缴费的金额,我先用CString类型的值保存药品和数量,并建立CString类型的数组和int类型的数组,通过循环语句遍历保存的值,碰到然后分号就进行下一次循环,分别用于保存药品的名称和数量。其代码以下图所示:然后再通过循环语句对存在数组中的药品名称在medicine表进行其价格的查询,对其成果乘与其数量后进行相加,成果即为患者的缴费金额,其代码以下图:3.3程序中的复杂查询语句 1)在缴费窗口对患者的病例进行查询时,需要满足两个条件,分别为支付状态为未支付和挂号状态为已挂号,它们是存在于不同表的数据,此时则需要进行连接查询,其sql语句在代码中以下:sprintf_s(sql,"selectdisease,medicine,medi_numfrompa_case,patientwhereusername='%S'andpa_username=usernameandpay_statue='N'andguahao_statue='Y'",name); 2)在医生添加药品和数量的过程中,也需要满足1)中所诉的条件,其sql语句在代码中以下:sprintf_s(sql,"selectmedicine,medi_numfrompa_case,patientwherepa_username=usernameandpay_statue='N'andusername='%S'andguahao_statue='Y'",name);3.4主界面设计重要系统框架与前台UI设计集成在一起通过VisualStudio中的MFC实现,系统核心功效是对数据的分析解决,前台重要用于输入输出数据及成果,因此UI界面比较朴素。 主界面分为患者端和医生端。 在患者端中,涉及个人信息、挂号管理、缴纳费用、账号充值和历史病例这五大功效,患者登录成功后默认进入挂号管理界面,其主界面以下图所示: 在医生端中,涉及个人信息、添加药品、查找病例、药品管理和管理顾客这五大功效,医生在登录后默认进入添加药品的界面,其主界面以下图所示: 3.5系统登录和注册界面及打包生成 系统的主界面出现前,会有登录窗口出现,未成功登录之前无法进入主界面,其登录界面以下图所示: 若顾客未注册,则可点击注册按钮进入注册界面(注册界面仅能注册患者账号),其中注册界面为模态窗口,登录界面死锁。注册界面以下图所示: 上诉功效实现之后,通过VisualStudio对程序进行编译,生成了exe文献,名称为Hospital.exe,以下图所示:综上,为本系统重要系统设计与实现,详见代码实现。4结论通过这两周的学习,加深了我对数据库的理解和应用。之前只是在课本上理解和学习有关数据库的知识,而这两周的学习和亲身操作,不仅使我对数据库的理论知识理解的更加深刻,也让我实际的理解了数据库的视图、索引和物理存储过程的创立和其在项目中的应用,让得我真正入了数据库的大门。除了对数据库的学习之外,这两周我最大的收获就是学会了C++中MFC的应用。第一周我在网上学习了VisualStudio中MFC的基本操作,再通过我对其不停地学习,终于学会了用MFC制作简朴的界面。这对于两周前没有任何前段基础的我来说是一项十分大的进步,也加深了我对C++的学习。5参考文献[1]
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业秘密保密义务协议书(2篇)
- 二零二五年度屋顶绿化草皮采购与生态修复合同3篇
- 2025版软件开发及授权许可合同2篇
- 2025年度砂石料设备采购与设备性能调控服务合同3篇
- 2025白酒年份酒收藏品鉴会举办合同范本3篇
- 二零二五年度挖掘机租赁合同纠纷处理办法3篇
- 2025年沪科版九年级物理下册月考试卷
- 2025年度电子商务平台合同履行监管与服务保障协议3篇
- 2025年粤教沪科版七年级科学下册阶段测试试卷
- 《外周血液细胞学》课件
- 石油化工管道布置设计规范
- 阿尔茨海默病(AD)的影像学诊断
- JJF 1622-2017太阳电池校准规范:光电性能
- GB/T 31.1-2013六角头螺杆带孔螺栓
- 西交大少年班英语考试试题
- 初中生物人教七年级上册(2023年更新) 生物圈中的绿色植物18 开花和结果
- 水电解质及酸碱平衡的业务学习
- CSCEC8XN-SP-安全总监项目实操手册
- 口腔卫生保健知识讲座班会全文PPT
- 成都市产业园区物业服务等级划分二级标准整理版
- 最新监督学模拟试卷及答案解析
评论
0/150
提交评论