为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

医院门诊管理系统

2017-09-18 50页 doc 95KB 76阅读

用户头像

is_511210

暂无简介

举报
医院门诊管理系统医院门诊管理系统 毕业论文(设计) 题 目: 基于.NET框架的医院门诊管理 系统的设计与实现 院(系): 专业年级: 姓 名: 学 号: 指导教师: 2012年04月1日 原 创 性 声 明 本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对 本声明的法律责任由本人承担。 关于毕业论文使用授权的声明 本人在指导老师...
医院门诊管理系统
医院门诊管理系统 毕业论文(设计) 题 目: 基于.NET框架的医院门诊管理 系统的设计与实现 院(系): 专业年级: 姓 名: 学 号: 指导教师: 2012年04月1日 原 创 性 声 明 本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对 本声明的法律责任由本人承担。 关于毕业论文使用授权的声明 本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属XXX。本人完全了解XXX院有关保存、使用毕业论文的,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权XXX可以将本毕业论文的全部或部分 日 期: 指导老师签名: 日 期: XXX本科毕业设计 基于.NET框架的医院门诊管理系统的设计与实现 摘 要 随着计算机性能不断提高,价格不断下降,计算机已在医疗、教学、科研、管理等方面得到越来越广泛的应用。为了减轻事务人员的劳动强度,辅助医院管理,使医院能够以较少的投入获得更多的效益,科学有效的医院信息系统已成为当今时代必需。而作为整个医院信息系统的重要组成部分,医院门诊管理系统可以用来实现门诊医务的各种信息处理。 此次开发的医院门诊管理系统基于C/S模式,主要应用了Visual Studio 2005 .net 技术结合SQL Server 2005数据库。采用面向对象技术,方便而简洁地操作数据库的智能化对象来实现所需功能。本系统具体实现了门诊对患者挂号、检查、缴 费的系统管理。门诊医生可以对个人登录密码进行修改;也可以对医生信息、检 查项目信息、药品信息等系统信息进行查询,从而实现对患者挂号、检查、缴费 的信息添加。系统管理员则可以对用户信息、医生信息、检查项目信息、药品信 息等系统数据信息进行管理;也可以对医生用户添加的患者挂号、检查和缴费信 息进行维护。该系统门诊医生只有添加和查询信息的权限,而管理员有包括查删 改等各种管理信息的权限。当门诊部门发生差错时,医院领导可通过管理员用户 方便定位出错的环节和信息。 本系统是一个典型的信息管理系统,解决了传统门诊患者挂号,初步检查,缴 费等手工劳动强度大的问题,满足了当代信息化的要求,给门诊工作及管理带来 了前所未有的方便。但代码执行效率问题考虑较少,界面布局不够美观,用户交 互设计还不够合理,仍需进一步完善。 C#,.NET, SQL Server 2005 关键词:医院门诊,C/S, 基于.NET框架的医院门诊管理系统的设计与实现 The design and Implementation of Hospital out-patient management system based on .NET Framework Abstract As computer performance continues to increase, prices continued to fall, the computer is more widely used in hospital care, teaching, research, management. In order to reduce the labor intensity of the Service, the auxiliary hospital management, hospitals can get more benefits with less input, Scientific and effective hospital information system has become necessary for the present era. As the importance of the hospital information system component of Hospital outpatient management system can be used for a variety of outpatient medical information processing. The graduation project based on C / S mode, having main application of the Visual Studio 2005 .net technology combined with SQL Server 2005 database. Using of object-oriented technology simply and easily to manipulate intelligence database objects to achieve the desired functionality. The hospital out-patient management system concretely realizes the out-patient clinic for patients registered, check payment system management. Outpatient doctor can be modified for personal login password; can also query the doctor information, check information, drug information and other system information, In order to achieve the patient registration, inspection, and payment information is added. The system administrator or user information, doctor information, check the project information, drug information and other system data information management; Registered patients to doctors users to add, inspection and payment of maintenance. The system only add outpatient doctor and check the permissions of the information, the administrator has permission to check excision and other management information. When an error occurs,hospital leaders by the administrator user to facilitate the positioning error links and information. This system is a typical information management system, to solve the traditional outpatient registration, the initial inspection, payment and other manual labor intensity, meet the demands of contemporary information technology, brought unprecedented convenience to out-patient work and management. But the efficiency of code execution to consider less, the interface layout is not beautiful, user interaction design is not reasonable and still further improved. Key words: Hospital outpatient service, C / S, C #, .net, SQL Server 2005 XXX本科毕业设计 目 录 1 绪论 .............................................................. 1 1.1 系统研究背景与意义 .......................................... 1 .................................................... 1 1.2 发展现状 1.3 本设计所做工作 .............................................. 2 1.4 2 相关技术及工具 .................................................... 4 2.1 B/S模式和C/S模式 ........................................... 4 2.2 Visual Studio 2005 和 C# .................................... 4 2.3 SQL Server 2005 ............................................. 5 3 需求分析 .......................................................... 6 3.1门诊工作流程 ................................................. 6 3.2功能需求 ..................................................... 6 .......................................................... 9 4 系统设计 4.1功能模块设计 ................................................. 9 4.2数据库设计 .................................................. 12 4.2.1数据库概念结构设计 .................................... 12 4.2.2数据库逻辑结构设计 .................................... 15 4.3接口设计 .................................................... 19 4.3.1 ADO.NET简介 .......................................... 19 4.3.2数据连接 .............................................. 19 5 详细设计与实现 ................................................... 21 5.1功能流程图 .................................................. 21 5.2类库设计 .................................................... 22 5.3登录模块设计 ................................................ 23 5.3.1登录模块概述 .......................................... 23 5.3.2登录流程图 ............................................ 23 5.3.3登录窗体实现 .......................................... 24 5.4医生界面设计 ................................................ 25 5.4.1医生界面模块概述 ...................................... 25 5.4.2挂号添加流程图 ........................................ 26 5.4.3挂号添加窗体实现 ...................................... 27 5.4.4检查信息添加流程图 .................................... 28 5.4.5检查信息添加窗体实现 .................................. 29 5.5管理员界面模块 .............................................. 30 5.5.1管理员界面模块概述 .................................... 30 5.5.2用户信息管理流程图 .................................... 30 5.5.3用户信息管理窗体实现 .................................. 31 6 系统测试 ......................................................... 33 6.1测试环境 .................................................... 33 6.2功能测试 .................................................... 33 7 结束语 ........................................................... 35 7.1总结 ........................................................ 35 7.2展望 ........................................................ 35 附 录 ............................................................. 36 参考文献 ........................................................... 41 致 谢 .............................................................. 42 XXX本科毕业设计 1 绪论 本章首先论述论文研究的背景、意义、研究现状以及论文要完成的工作。其次 通过对国内外现有研究现状分析,并结合实际门诊管理的需要,提出了本课题的 研究方向。最后将给出 1.1 系统研究背景与意义 随着我国经济的发展以及人们自身健康观念的不断改变,医疗行业正处于一个 高速发展时期[1]。近年来,我国医疗行业改革逐步深入[2],各级医院管理者也 越来越认识到:要进一步提高医院管理水平,向全民提供最优质的医疗保健服务, 医院管理计算机化是最好的途径[3]。但我国仍有部分医院的信息管理,尤其是 信息处理停留在手工方式,劳动强度大且工作效率低,医师护士和管理人员大量 时间都消耗在事务性工作上,致使"人不能尽其才";病人排队等候时 间长,辗转过程多,影响医院的秩序;病案、临床检验、病理检查等许多宝贵数 据资料的检索比较复杂;手工方式无法进行对这些资料深入的统计分析,不能充 分被医学科研利用,经济管理上也因此存在漏费、跑费、错费现象[4]。 由此看来,计算机化的医院信息系统已成为现代化医院运营必不可少的基础设 施与技术支撑环境[5],它大大改善了医生的工作条件,提高了各方面效率,同 时也为医院各级管理人员的科学管理提供了基本统计数据,产生良好的社会与经 济效益。 医院信息系统主要对医院各部门进行综合管理:把医疗活动中产生的数据进行 采集、存储、处理、提取、传输、汇总,加工生成各种信息,从而为医院的整体 运行提供各种服务[6]。门诊作为医院的第一个窗口,是病人到医院就诊要做的 第一项工作,所以门诊管理系统成为了医院信息系统中一个重要的分支。本次设 计医院门诊管理系统,将提高医院门诊方面工作的效率和质量:它既可以减轻门 诊事务性工作的劳动强度,从而使医生利用更多的精力和时间服务病人;也可以 改善经营管理,堵塞漏洞,保证病人和医院的经济利益。 1.2 发展现状 1985年美国全国医院数据处理工作调查表明,100张床位以上的医院,80%实 现了计算机财务收费管理,70%的医院可支持病人挂号登记和行政事务管理。 25%的医院有了较完整的医院信息管理系统,即实现了病房医护人员直接用计 1 基于.NET框架的医院门诊管理系统的设计与实现 算机处理医嘱和查询实验室的检验结果。10%的医院(2530)有全面计算机管理的医院信息管理系统。欧洲的医院信息管理系统发展比美国稍晚,大多是70年代中期和80年代开始,实现了一些区域信息系统[7]。 对于我国,70年代末期计算机就进入了医疗行业, 80年代中期,一些医院开始建立小型的局域网络,并开发出便于部门管理的小型网络管理系统,如住院管理,药房管理等。但医院门诊管理系统软件相对其他部门管理软件较少,原因一方面忽视门诊部门的工作量;另一方面门诊部门的数据处理,可以由其他部分代为完成,如财务缴费系统,药方管理系统等[8]。 医院信息系统的开发过程,不但要精通软件的开发,还要熟悉医院管理理论与管理业务,熟悉医疗行业运行模式。唯有把业务流程再造理论、IT技术和医院业务紧密结合起来组织开发和实施,才能实现信息系统应用的预期目标[9]。 1.3 本设计所做工作 由于本科阶段所作的调查和研究时间有限,本设计只能实现基本的信息处理和管理功能,但可以帮多个部门分担工作量,如医生人事信息管理、药品信息管理、患者病历信息管理等。另外医院信息系统的日常运行,日积月累便会造成大量的数据冗余,该系统注意对每部分信息的管理,方便管理员及时清理数据库,如对无效患者信息的删除,无效医师信息的更新或删除。现在对系统大体功能简介如下: 在日常门诊事务处理过程中,医生用户对信息管理只有添加的权限,没有修改和删除权限,方便日后有问题时及时查询,定位出错人或信息源。管理员负责数据库的管理与维护,并负责定期维护医生日常的数据信息。 该系统还采用一定的安全机制:数据表加密,如数据库用户表密码字段进行了加密处理;窗体界面加密,如当外人接触管理员界面,进行用户信息管理时,需要二次输入当前的用户密码并进行验证后,才可获得该功能权限。 1.4 1 绪论:介绍设计的研究背景、发展现状、所做工作及论文的结构安排。 2 相关技术及工具:介绍本次设计采用的结模式、开发环境及数据库连接工具。 3 需求分析:介绍医院门诊实际业务流程、功能需求。 4 系统设计:介绍功能模块设计、数据库设计(概念结构和逻辑结构设计)及 2 XXX本科毕业设计 数据库与前台的接口设计。 5 详细设计与实现:介绍系统核心功能模块设计及实现结果。 6 系统测试:介绍系统测试目的、测试环境、及核心功能测试。 7 结论:介绍此次设计实现的结果和一些。 3 基于.NET框架的医院门诊管理系统的设计与实现 2 相关技术及工具 软件开发的实践过程离不开理论的指导和工具的应用。本章将主要介绍医院门诊管理系统设计和实践过程中使用到的数据库架构模式,C#.NET和SQLSEVER 2005等开发工具。通过对开发技术知识和工具的深入研究,为该系统的设计与实现做好充分的知识准备。 2.1 B/S模式和C/S模式 随着医院信息管理系统的发展:现在众多医院采用C/S模式管理信息系统加强对数据的集中控制,以维护数据的完整性[4]。本系统也选取C/S模式架构进行系统设计。C/S模式可以对数据集中分析和集中控制,允许对整个数据库进行数据完整性的验证;可以更好的划分客户端与服务器的工作,使程序结构更加合理;可以利用大多数数据服务器提供高级数据完整性的控制功能,提供事务控制。 C/S模式即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,可将任务合理分配到Client端和Server端。数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。特点是能充分发挥客户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器:客户端响应速度快,应用服务器运行数据负荷较轻,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。 /服务器)结构,利用不断成熟和普及的浏览器 B/S模式即Browser/Server(浏览器 技术实现原来需要复杂专用软件才能实现其强大功能,但可节约开发成本,是一种全新的软件系统构造技术。特点是用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑仍在服务器端实现。 2.2 Visual Studio 2005 和 C# 本次设计在Visual Studio 2005上采用C#语言编写完成。Visual Studio.NET 是.NET平台下最为强大的开发工具,它提供了包括设计、编码、编译调试、数据库联接操作等基本功能和基于开放架构的服务器组件 4 XXX本科毕业设计 开发平台。 C#是微软公司设计的一种编程语言,为生成在 .NET Framework 上运行的多种应用程序而设计的。它简单、功能强大、类型安全、面向对象[10]。凭借其许多创新,在保持 C 样式语言的表示形式和优美的同时,实现了应用程序的快速开发。Visual Studio 支持 Visual C#,这是通过功能齐全的代码编辑器、项目模板、设计器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。通过 .NET Framework 类库,可以访问多种操作系统服务和其他有用的精心设计的类,这些类可显著加快开发周期[11]。Visual C# 集成开发环境 (IDE),描述如何在开发周期的所有阶段(从设置项目到将已完成的应用程序分发到最终用户)进行使用。 2.3 SQL Server 2005 数据库安全是关系数据库中非常重要的一个方面,也是每个数据库管理员都必须认真考虑的问题。SQL Server 2005为维护数据库系统的安全性提供了完善的管理机制和简单而丰富的操作方法。因此此次设计采用SQL Server 2005创建和管理数据库。 SQL Server 2005是基于结构化查询语言的可伸缩的关系数据库,以其卓越的性能逐渐成为Windows操作系统平台下进行数据库应用开发中较为理想的选择之一。它是一个后台数据库管理系统,其功能强大、操作简便,日益为广大数据库用户所喜爱,越来越多的开发工具提供了与SQL Server的接口。它支持Internet应用程序的可扩展标记语言,并由数据库、关系数据库、结构化查询语言和可扩 展标记语言等部分组成。其中SQL Server采用C/S体系结构把所有的工作负荷分解为服务器上的任务和客户机上的任务,客户机应用程序负责商业逻辑和向用户提供数据,服务器对数据库的数据进行操作和管理。 5 基于.NET框架的医院门诊管理系统的设计与实现 3 需求分析 需求分析是软件开发的基础,需求分析得出的结论是软件开发后续阶段的工作依据,直接决定着最终软件能否满足用户的需求。本章将主要完成医院门诊管理系统的需求分析。 3.1门诊工作流程 根据绪论所述,门诊作为医院服务病人的第一扇窗口,患者来到门诊部门,首先进行挂号,建立患者信息;根据患者需要挂号的科室信息和医嘱,进行初步常规检查,如血糖、血常规、眼底检查等;接着科室医生根据患者反馈的检查结果,进行详细诊断,并开出处方;病人根据处方到门诊部进行缴费,最后到药品处领取自己药品。 3.2功能需求 由上述门诊工作流程所述,患者需要进行挂号并进行初步检查,所以门诊管理系统应满足患者挂号、初步检查等功能;当患者进入医生科室做详细检查后,需要凭借处方到门诊缴费,所以门诊管理系统应满足缴费登记功能。 门诊系统既需要添加患者的挂号、检查、缴费信息等,还需要对以往的过程进行查询和数据维护,如数据冗余时就需要对以往添加的信息进行更新或者删除,并对操作医生的工作规范性提供数据资料。这就需要设置门诊操作医生和数据维护管理两种用户。门诊医生可以进行添加日常的患者信息。而系统管理员则对门诊医生增添的信息进行日常的维护;而且对一些系统信息进行数据维护。 经过上述分析,门诊管理系统应具有以下功能。 1. 系统用户管理:根据角色权限,可以对用户信息进行相应的维护。 2. 医生信息管理:包括对医生信息的查询和维护。 3. 药品信息管理:包括对药库信息的查询和维护。 4. 检查项目信息管理:包括对检查项目信息的查询和维护。 5. 患者信息管理:包括对患者添加的挂号信息、项目检查信息、处方缴费信 息进行查询和维护。 对上述各需求进行用例分析如下: 6 XXX本科毕业设计 医生用户主要实现患者挂号添加、患者检查项目添加、患者处方缴费添加、修改密码及退出功能。其中医生可以修改本用户的密码,为便于对患者添加挂号信息,可对某科室的某位医师进行查询,添加之后还可对以往患者挂号信息进行查询;为便于对患者添加检查信息,可对检查项目进行查询,添加之后还可对以往患者检查信息进行查询;为便于对患者添加缴费信息,可对药库药品进行查询,添加之后还可对以往患者的缴费信息进行查询。管理员用户主要实现用户信息管理、门诊信息管理、数据维护等。其中用户信息管理包含所有用户信息的维护;门诊信息管理主要对医生用户添加的挂号信息、检查信息、缴费信息进行查询和 删除;数据维护主要对系统本身的数据信息(医师信息、检查项目信息和药品信息)进行插入、修改和删除。用例图如图3-1所示。 图3-1 医生管理界面用例图 其中患者挂号添加用例描述如表3-1所示: 7 基于.NET框架的医院门诊管理系统的设计与实现 表3-1 患者挂号添加用例描述 患者检查添加和缴费添加的用例与患者挂号添加类似,在此不再赘述,门诊信息管理用例描述如表3-2所示: 数据维护用例描述如表3-3所示: 表3-3 数据维护用例描述 8 XXX本科毕业设计 4 总体设计 功能设计是系统开发的重点和难点,严格影响着软件的质量。而数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。一个信息系统的各个组成部分能否紧密的结合在一起,关键在数据库。只有对数据库进行合理的概念设计和有效的逻辑设计才能开发出完善和高效的信息系统[13]。因此数据库设计本系统开发的基础。本章将主要完成医院门诊管理系统的功能设计和数据库设计,是 4.1功能模块设计 根据功能需求及用例分析,此次系统需设计两种用户权限来实现其不同功能:一种是用户权限,即门诊医生。一种是管理员权限,即数据监督维护人员。对于上述两种用户,实现的功能操作差异较大,因此设置为两种操作界面:医生界面和管理员界面。 医生用户应包含的功能权限有: 1.挂号管理 (1) 医师查询 (2) 患者挂号添加 (3) 统计查询 2.检查项目管理 (1) 检查信息添加 (2) 统计查询 3.处方缴费管理 (1) 药品查询 (2) 患者缴费添加 (3) 统计查询 修改密码 4.用户退出 (1) 重新登录 (2) 结束 管理员用户应包含的功能权限有: 1.用户信息管理 9 基于.NET框架的医院门诊管理系统的设计与实现 2.门诊信息管理。 (1) 挂号信息管理 (2) 检查信息管理 (3) 缴费信息管理 3.数据维护 (1) 医生信息管理 (2) 项目信息管理 (3) 药品信息管理 4.退出 (1) 重新登录 (2) 结束 对上述各功能进行集中、分块、按照结构化程序设计的要求,可画出功能结构图如下: 1.医生界面主要实现挂号管理、检查项目管理、处方缴费管理、修改密码及退出功能,如图4-1所示。 图4-1 医生管理界面 其中挂号管理实现医师查询、挂号添加、统计查询功能,如图4-2所示。 图4-2 挂号管理 10 XXX本科毕业设计 检查项目管理实现项目添加、统计查询功能;处方缴费管理实现药品查询、缴费添加、统计查询等功能,如图4-3所示。 -3功能管理 图4 2.管理员界面主要实现用户信息管理、门诊信息管理、数据维护及退出功能如图4-4所示。 图4-4 管理员界面 用户信息管理实现修改密码、修改用户功能;门诊信息管理实现挂号信息管理、检查信息管理、缴费信息管理功能;数据维护实现医生信息管理、项目信息管理、药品信息管理功能如图4-5所示。 图4-5 功能管理 11 基于.NET框架的医院门诊管理系统的设计与实现 4.2数据库设计 数据库设计是医院门诊管理系统开发过程中的一个重要阶段也是工作量比较大的一项内容。根据前述功能模块设计,该系统应包括7张表:“用户信息表”、“患者信息表”、“挂号信息表”、“医生信息表”、“检查项目信息表”、“药品信息表”、“缴费信息表”。对于医生用户和管理员用户,两个界面数据操作功能如下: 医生用户: 1.挂号管理:挂号信息的添加、查询。 2.检查项目信息管理:检查项目类型信息的查询、患者检查项目信息的添加、患者检查项目的查询。 3.药品缴费信息管理:药品信息的查询,患者缴费信息的添加、患者缴费信息的查询。 4.系统管理员对药品信息的添加、修改、删除等操作。 5.修改密码:只支持用户密码属性的修改,不得修改账户属性。 管理员用户: 1.用户信息管理:本用户密码属性的修改,以及其他用户信息的添加,修改,删除。 2.门诊信息管理:挂号信息的查找,修改,删除;检查信息的查找,修改,删除;缴费信息的查找,修改,删除。 3.数据维护:医生信息的查找,修改,删除。项目信息的查找,修改,删除;药品信息的查找,修改,删除。 4.2.1数据库概念结构设计 概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程,它是整个数据库设计的关键。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更稳定。 概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的。概念模型是表达概念设计结果的工具。它应该能够真实、充分地反映现实世界中事物和事物之间的联系;应该简洁、清晰、独立于机器,容易理解,方便数据库设计人员和应用人员进行交流;应该易于变动,便于修改;应该很容易向关系、层次或网状等各种数据模型转变,方便地导出与DBMS有关的逻辑模型。从而使概念模型成为现实世界到机器世界的一个过渡的中间层次。 概念模型有很多模型,其中最常用的方法之一是“实体—联系模型”,即使 12 XXX本科毕业设计 用E-R图来描述某一组织的概念模型。E-R模型是指直接从现实世界中抽象出实体类型间联系,是一种描述静态数据结构的概念模型。它的主要成分是实体、联系和属性。可用E-R图模型进行数据库概念设计: 1.矩形框:表示实体类型(考虑问题的对象); 2.菱形框:表示联系类型(实体间的联系); 3.椭圆形框:表示实体类型和联系类型的属性; 4.直线:联系类型与涉及的实体类型之间以直线连接,并在直线旁标注联系 种类(1:1,1:N,M:N) 本系统的数据库实体型表如下表4-1所示。 13 基于.NET框架的医院门诊管理系统的设计与实现 续表4-1系统各实体型图表 其中各个实体的属性如下。 用户信息实体包含三个属性:账号、密码和权限。其中账号作为主键; 医生信息实体包含6个属性:医生编号、姓名、性别、科室、职称、电话,其中医生编号作为主键。 挂号信息包含两个属性包括:挂号编号、挂号类型,其中挂号编号作为主键。 缴费信息包含3个属性包括:缴费编号、金额、时间,其中缴费编号作为主键。 检查信息包含5个属性:编号、名称、费用、病种、备注,其中编号作为主键。 药品信息包含7个属性:编号、名称、规格、单位、种类、效期、价格,其中编号作为主键。 患者信息包含7个属性:编号、姓名、性别、年龄、民族、身份证、电话其中编号作为主键。 本系统实体主要有:用户信息实体、医生信息实体、挂号信息实体、检查信息实体、药品信息实体、患者信息实体、缴费信息实体。其具体的描述E-R图如下图4-6所示。 14 XXX本科毕业设计 图4-6医院门诊管理系统E-R图 4.2.2数据库逻辑结构设计 本系统中逻辑结构设计主要是将概念结构设计阶段设计好的E-R图转换成 具体的数据库管理系统支持的数据模型。E-R图向关系模式转换的结果如下所 示(加下划线的为关系模式的主码)。 用户信息(账号、密码、权限); 医生信息(医生编号、姓名、性别、科室、职称、电话); 挂号信息(挂号编号、挂号类型、患者编号、医生编号、挂号时间); 检查项目信息(编号、名称、费用、病种、患者编号、医生编号、备注); 药品信息(编号、名称、规格、单位、种类、效期、价格) 患者信息(编号、姓名、性别、检查编号、医生编号、年龄、民族) 缴费信息(缴费编号、金额、患者编号、时间) 数据库包括用户信息数据表、医生信息数据表、挂号信息数据表、检查项 目信息数据表如图、药品信息数据表、患者信息数据表、缴费信息数据表。 1、用户信息数据表 用户信息表中包括账号,密码,权限。医生用户可以对用户密码属性进行 修改,管理员可以对用户信息进行查询、添加、修改、删除,如表4-2所示。 15 基于.NET框架的医院门诊管理系统的设计与实现 表4-2用户信息表 2、缴费信息数据表 缴费信息表包括缴费编号、缴费金额、患者姓名、时间。门诊医生可以对缴费信息进行添加,也可以根据患者姓名对缴费信息进行查询,管理员可以根据患者姓名对缴费信息进行查询、删除,如表4-3所示。 表4-3缴费信息表 3、挂号信息数据表 挂号信息表中包括挂号编号,挂号类型,患者编号,医生编号,挂号时间。门诊医生可以对挂号信息进行添加、查询,管理员可以对挂号信息进行查询、删除,如表4-4所示。 表4-4挂号信息表 4、检查项目信息数据表 检查项目信息表包括编号、名称、费用、病种分类、医生编号、患者编号、备注。门诊医生可以根据编号对检查项目信息进行查询,管理员可以根据编号 16 XXX本科毕业设计 对检查项目信息进行查询、添加、修改、删除,如表4-5所示。 表4-5检查项目信息表 5、药品信息数据表 药品信息表包括编号、名称、规格、单位、种类、效期、价格。门诊医生可以根据名称对药品信息进行查询,管理员可以根据名称对药品信息进行查询、添加、修改、删除,如表4-6 所示。 表4-6药品信息表 6、患者信息数据表 患者信息表包括编号、姓名、检查名称、检查医生、性别、年龄、民族。门诊医生可以对患者信息进行添加,也可以根据姓名对患者信息进行查询,管理员可以根据姓名对患者信息进行查询、删除,如表4-7所示。 17 基于.NET框架的医院门诊管理系统的设计与实现 表4-7患者信息表 7、医生信息数据表 医生信息表中包括医生编号、姓名、性别、科室、职称、电话。门诊医生用户可以根据姓名对医生信息进行查询,管理员可以根据姓名对医生信息进行查询、 添加、修改、删除,如表4-8所示。 本系统的各数据表都是在SQL Server 2005中创建, 为了使数据表与实体间的对应关系相一致,定义了若干个外键。“挂号信息表”和“检查信息表”中的“医生编号”属性是 “医生信息表”中“医生编号”主属性的外键,两个表中的“患者编号”属性是“患者信息表”中“编号”主属性的外键。“缴费信息表”中的“患者编号”属性是“患者信息表”中“编号”主属性的外键。而患者信息表中的“检查编号”属性是检查项目信息表中“编号”主属性的外键,“医生编号”属性是医生信息表中“医生编号”主属性的外键。各数据表之间的关系如下图4-7所示。 18 XXX本科毕业设计 图4-7数据表关系图 4.3接口设计 经过前一节内容,后台数据库数据设置已经完成,此时需要建立前台界面与后台数据库的连接,本设计采用ADO.NET进行数据连接。 4.3.1 ADO.NET简介 ADO.NET是一组向.NET程序员公开数据访问服务的类。ADO.NET为创建分布式数据共享应用程序提供了一组丰富的组件,它提供了一系列方法。用于支持对Microsoft SQL Server和XML等数据源进行访问,还提供了通过OLE DB和XML公开的数据源提供一致访问的方法。数据客户端应用程序可以使用ADO.NET来连接这些数据源,并查询、添加、删除和更新所包含的数据[10]。 ADO.NET包含常用的组件,例如Connection、Command、DataReader、DataAdapter等,用于建立前台与后台连接,并执行相应的数据操作。 4.3.2数据连接 Visual Studio 2005中建立完“医院门诊管理系统”项目时,需手动连接在SQLSEVER上设置好的数据库。方法如下:点击视图|服务资源管理器,在服务器资源管理窗口:右键数据连接|添加连接,选择Microsoft SQL Server, 19 基于.NET框架的医院门诊管理系统的设计与实现 在服务器名下拉表中选择应用的服务器,在连接到一个数据库“选择或输入一个数据库名”下拉表中选择前节建好的数据库,测试连接:若连接成功,点确定。此时已建立好后台与前台的连接,还需右键添加好的数据连接,选择“属性”,记录“连接字符串”。代码设计中便可调用相应ADO.NET中的常用组件。如: SqlConnection conn = new SqlConnection(Box.Show("连接字符串"); SqlCommand cmd=new SqlCommand(); cmd.Connection=conn; conn.Open(); cmd.CommandText = "UPDATE 患者 SET 检查名称=„" + textBox3.Text + "?,检查医生=„" + textBox4.Text + "?WHERE 姓名=„"+textBox2.Text+"?"; 20 XXX本科毕业设计 5 详细设计与实现 在SQL SEVER 2005中创建数据库及逻辑结构后,将产生需要的所有表。有关数据库结构的所有后台工作已经全部完成。现在将通过门诊信息管理系统中各个功能模块的实现,来编写数据库系统的客户端程序。 5.1功能流程图 图5-1功能流程图 系统运行的第一个窗体是登录窗体,需要通过对用户输入的用户账号、密码以及选择的权限,对用户信息进行验证,如果验证不成功,那么系统将一直停留在登录界面,如果验证成功,则根据相应的权限跳转到相应的用户界面。 当进入医生主界面时,医生用户会有4个主要菜单选项:挂号管理、检查项目管理、药品缴费管理、修改密码。任选其中一个开始,跳转到相应的执行 21 基于.NET框架的医院门诊管理系统的设计与实现 窗体,若4个功能选项其中一个窗体执行结束,则跳转到医生主界面,重复上述步骤执行任意一个主要菜单选项,进行循环,直至选择退出菜单,程序结束。 当进入管理员主界面时,管理员用户会有3个主要菜单选项:用户信息管理、门诊信息管理、数据维护。任选其中一个开始:若执行用户信息管理,则跳转到用户信息管理窗体开始执行,若该窗体执行结束,则跳到上述3个主要菜单选项,任选其中一个执行。若执行门诊信息管理,则三个菜单选项:挂号信息管理、检查信息管理、缴费信息管理任选其中一个执行,结束后,跳到门诊信息管理选项界面,重复执行上述步骤。若执行数据维护,则医生信息管理、项目信息管理、药品处方信息管理任选其中一个执行,结束后,跳到数据维护选项界面。3个主要菜单选项功能其中之一执行结束,则跳转到管理员主界面,重复上述步骤,执行主菜单或者各级子菜单选项,进行循环,直至选择退出菜单,程序结束。 5.2类库设计 在Visual studio 2005中可以使用类库模板创建其他窗体可再次使用的类和组件。整个项目的任何地方都可以调用公用类库的类和组件。这样可以极大地提高代码的效率。在解决视图中右键单击项目名称添加类库,命名为SQLHELP, 该类库里包含有所需要使用的方法:F_连接函数SQL、F_MD5加密函数、F_SQL查询函数等: public static SqlConnection F_连接函数SQL() { string str = @"Data Source=WISH\SQL2005;Initial Catalog=医院门诊管理;Integrated Security=True"; SqlConnection conn = new SqlConnection(str); conn.Open(); return conn; } public static string F_MD5加密函数(string str_text) { MD5 m5 = new MD5CryptoServiceProvider(); byte[] srctext = Encoding.Unicode.GetBytes(str_text); byte[] tartext = m5.ComputeHash(srctext); string str = null; for (int i = 0; i < tartext.Length; i++) { str += tartext[i].ToString("x"); 22 XXX本科毕业设计 } return str; } public static DataSet F_SQL查询函数(string str_sql) { DataSet ds = new DataSet(); SqlDataAdapter sda = new SqlDataAdapter(str_sql, F_连接函 数SQL()); sda.Fill(ds); return ds; } 5.3登录模块设计 5.3.1登录模块概述 登录窗体作为用户进入系统的第一个窗体,是整个系统的门户,在系统运行中起着非常重要的作用。主要用于实现用户的登录功能:只有合法用户才可以进入系统;合法用户权限不同,则登录到不同界面。 5.3.2登录流程图 该窗体主要实现用户的登录功能。系统流程如图5-2所示。 图5-2登录窗体流程图 23 基于.NET框架的医院门诊管理系统的设计与实现 5.3.3登录窗体实现 单击 文件|新建|项目 菜单,在新建项目中选择Visual C#项目,在模块中选择Windows 窗体应用程序,并命名为“登录”,解决方案命名为“医院门诊管理系统”。对新建的登录窗体进行界面设计,如图5-3所示。 图5-3用户登录窗体图 该窗体界面放置两个textBox,用来实现用户账号和密码信息的填写。放置两个radiobutton,用来实现不同权限用户的区分。放置两个button,用来实现用户登录功能的跳转和文本框内容的清空。然后为窗体设计及写入代码。 1.设置一个label控件,其visible属性设置为False:根据用户是否填写用户账号及密码,来动态地变化该Visible属性为TRUE或FALSE,并显示对应的Text属性为“账号不能为空”或“密码不能为空”。 2.当前账号文本框和密码文本框有值时,系统就通过SQLHELP类中定义的查询函数方法,把数据库“用户信息表”中对应前台账号文本值的数据集取出传递到DataSet中:如果DataSet中的行数集小于等于零,则不存在该用户;反之则继续验证该行数集的密码字段。 3.验证密码信息时,从上一步行数集中取出密码的字段值和当前密码文本框的值比较,如果不相等则密码输入错误,反之继续下一步 4.该系统有两种用户:医生和管理员。本系统设计判别用户种类的方法机制是:在数据库用户信息表里面添加“权限”属性作为标识,只取“0”和“1”两个值:医生用户元组的权限属性值取“0”;管理员用户元组的权限属性值取 24 XXX本科毕业设计 “1”。在窗体中设计医生和管理员两个radiobutton, 当选择医生radiobutton时,根据用户输入的账号、密码,确定该元组的权限字段值是否为0,由此判断权限类型是否正确;同理在选择管理员radiobutton时,做相应的判断。 5.4医生界面设计 5.4.1医生界面模块概述 主窗体作为展示给用户的主要窗体,在系统运行中起着重要的桥梁作用。使用户对整个系统的大体功能有一个初步认识,登录窗体设计结束后,就开始对跳转后的主界面进行设计。右键单击医院门诊管理系统添加|windows窗体,添加两个,依次命名为“医生界面”和“管理员界面”,对医生窗体进行界面设计,如图5-4所示。 图5-4医生界面窗体 该窗体界面放置多个mainmenu控件,用来实现主界面到各个窗体之间的跳转 根据菜单项 { 药品信息查询 m = new 药品信息查询(); m.ShowDialog(); return; } 25 基于.NET框架的医院门诊管理系统的设计与实现 根据数据库设计所述,医生界面主要实现添加数据和查询数据功能,如下所示。 医生信息查询 挂号信息添加 挂号结果统计查询 检查项目内容信息查询和患者检查信息的添加 患者检查信息的统计查询 药品信息查询 患者缴费信息添加 患者缴费信息的统计查询 修改本用户密码 由于该界面几个功能模块实现功能比较类似,特举两例“挂号添加”和“检查信 息添加”进行阐述。 5.4.2挂号添加流程图 该窗体主要实现患者信息和挂号信息的数据插入功能。如图5-5所示。 图5-5挂号添加流程图 26 XXX本科毕业设计 5.4.3挂号添加窗体实现 右键单击医院门诊管理系统| 添加windows应用窗体,命名为:“挂号添加”对新 建的挂号添加窗体进行界面设计,如图5-6所示。 图5-6挂号添加窗体 放置多个textBox、comboBox,用来输入或选择患者的姓名、性别、年龄、民族等,其中textBox的ReadOnly属性值为TRUR和FALSE两种,TRUE表示只能看不可填写,而FALSE则表示可填写,以此来区分需要输入和自动呈现的textbox信息。 另外,如姓名,电话等几个textBox的BackColor设置区分色,来区分用户必填和选填的 SqlCommand cmd = new SqlCommand("select 姓名 from 医生信息 where 科室= „" + comboBox4.Text + " „",SqlHelp.F_连接函数SQL()); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { 27 基于.NET框架的医院门诊管理系统的设计与实现 comboBox5.Items.Add(dr.GetValue(0).ToString()); } 3.新增button的click事件执行前需判断当前所有区分色的textBox的文本值不为空。添加数据时,首先定义一个数据库的连接对象,其次定义数据库相应的命令对象,用来执行SQL插入指令。 4.该窗体对患者信息和挂号信息两个数据表插入数据时,在代码中引用SqlCommand的ExcuteNonQuery成员方法,通过定义一个整形变量,来接收ExcuteNonQuery所返回的数据集中变化的行数,若此变量大于零,则说明数据集对应的数据表里信息有变动,从而简单判断出是否添加数据成功。 int val = cmd.ExecuteNonQuery(); if (val > 0) { MessageBox.Show("患者数据添加成功"); } 5.4.4检查信息添加流程图 该窗体主要实现数据的查询和插入功能,如图5-7所示。 图5-7检查信息添加流程图 28 XXX本科毕业设计 5.4.5检查信息添加窗体实现 右键单击医院门诊管理系统| 添加windows应用窗体,命名为:“项目添加”对新建的项目添加窗体进行界面设计,如图5-8所示。 图5-8项目添加窗体 放置两个DataGridView、两个查询button、一个添加button,以及多个textBox。其中两个DataGridView分别显示数据库里的患者表和检查项目表里的信息。然后为窗体设计及写入代码。 1.两个DataGridView绑定数据表的方式不相同。一种是通过DataGridView的控件自身实现添加数据源,以此来显示到可视化界面;在窗体的Load事件中,系统自动生成如下代码: 检查信息TableAdapter.Fill(this.医院门诊管理DataSet.检查信息); 另一种是额外添加一个bindsourse控件,并通过代码动态绑定bingsource和DataGridView的数据源来显示到可视化界面中。在该窗体的load事件中,填写如下代码: sda = new SqlDataAdapter("SELECT * FROM 患者", SqlHelp.F_连接 函数SQL()); SqlCommandBuilder scb = new SqlCommandBuilder(sda); ds = new DataSet(); sda.Fill(ds); dataGridView2.DataSource = ds.Tables[0] ; 2.窗体进行查询操作时,在项目编号的TextBox框里输入要查询的编号,即可定位满足查询条件的元组, 代码实现和登录窗体实现的方法类似,在此不做赘述。该窗体设计添加功能,实现的是患者表检查名称和检查医生两个字段的插入功能,代码实现中:执行插入前先进行判断“患者姓名TextBox”框里面是否有正确信息时,没有则报错,如果有,则进行添加信息的判断,如当添加“检查名称”时,如果检查项目信息表里,没有用户填入的检查信息时,就会报错。 29 基于.NET框架的医院门诊管理系统的设计与实现 3.如果用户已添加正确的信息,就定义SqlCommand对象,编写添加数据库命令,将数据添加到后台数据库中。 5.5管理员界面模块 5.5.1管理员界面模块概述 界面设计和医生界面类似,只是菜单项内容不同,现只给出界面图,如图5-9所示。 图5-9管理员界面 管理员功能模块主要实现数据的查询、添加、修改和删除功能,如下所示: 修改用户密码,其他用户信息的添加、修改、删除 挂号信息统计查询、删除 患者检查信息的查询、删除 患者缴费的查询、删除 医生信息的查询、添加、删除 项目信息的查询、添加、删除 药品信息的查询、添加、删除 该界面几个功能模块实现查询、添加等功能与前述医生界面类似,现举 “用户信息管理”为例,对修改和删除功能重点阐述如下。 5.5.2用户信息管理流程图 -10所示。 该窗体主要实现其他用户信息的数据修改功能,如图5 30 XXX本科毕业设计 图5-10挂号添加流程图 5.5.3用户信息管理窗体实现 右键单击医院门诊管理系统| 添加windows应用窗体,命名为:“挂号添加”对新建的挂号添加窗体进行界面设计,如图5-11所示。 图5-11 管理员界面修改密码窗体 放置两个comboBox,用来实现用户对操作和权限的选择。放置多个textBox,用来实现用户账号、密码的填写。放置3个button,用来实现用户验证信息的添加。然后为窗体设计及写入代码。 31 基于.NET框架的医院门诊管理系统的设计与实现 1.当选择操作的comboBox的值变化时,对应的窗体空间布局也会发生一些变化,如当选中添加用户操作时,需修改的账号label就会隐藏。代码实现如下。 if (comboBox1.Text == "添加用户") { label2.Text = "请输入账号"; ,, label6.Visible = true; } else { label2.Text = "新密码"; ,, textBox5.Visible = true; } 2.当前用户名文本框里的值取自登录窗体中账号文本框里的值,实现内容传递方法如下,在当前窗体代码中定义一个公共string 方法 Username:get{return textBox1.text};set{textBox1.text=value},在管理员界面窗体中也定义一个类似的方法Username1,成员同Username相同,string变量设为a,在登录窗体账号、密码、权限输入匹配正确时,将账号的文本内容传递给管理员界面对象的Username1方法,管理员界面跳转到修改密码界面时,再将Username1传递给修改密码窗体对象的Username方法。 3.为实现用户使用安全,不论进行添加用户操作还是修改用户操作,在执行“确认”Button时,都需要先执行用户验证,确认当前密码仍然正确下才可进行修改或添加操作。定义一个全局整行变量i,不赋初值(Visual studio 2005默认初值为0),执行过验证且结果正确时,i值会加1,根据i是否大于0就可判断出用户是否已进行验证操作。其次,为保证用户修改密码正确,采用二次重复验证机制,两次修改的密码一致时才会执行修改操作。 32 XXX本科毕业设计 6 系统测试 目前系统测试仍然是保证软件质量的关键步骤系统测试的目的是在软件投入生产性运行之前,尽可能多的发现软件中的错误,之后进行诊断并改正错误,以保证开发出高质量的软件。本章在医院门诊管理系统实现后,反复的对系统进行测试,发现错误进行诊断和改正,继而再重新对系统进行测试,多次验证系统的功能的正确性和性能的有效性。下面将详述对系统进行的功能测试。 6.1测试环境 下表列出了测试的系统环境 表6-1 测试系统环境 6.2功能测试 功能测试只需考虑各个功能,观察系统的运行流畅性,以及各个模块间的跳转, 不需要考虑整个软件的内部结构及代码。功能测试用于验证应用程序对目标用户能正确工作,分别对各种角色用户进行相应的功能测试。 医院门诊管理系统的主要用户包括门诊医生和管理员,测试中从两个不同用户角色出发,对主要功能模块进行了功能测试。以主界面主要功能测试为例,通过主界面与相应的模块间的相互跳转以及功能间的相互协调测试设计三个测试用例TEST_1、TEST_2,下面给出测试经理对系统操作测试用例TEST_1。 33 基于.NET框架的医院门诊管理系统的设计与实现 表6-2 测试用例TEST_1 TEST_2用医生身份登录,选择挂号管理功能、检查项目管理和处方缴费管理功能。经过严格的测试工程,系统该模块可以实现设计功能。其它模块的测试因篇幅所限,在此不再赘述。 对医院门诊管理系统系各个模块进行功能测试结果表明:在该系统中管理员可以方便地进行用户信息、门诊信息、和数据维护功能;医生可以完成前述所有功能,包括挂号管理功能、检查项目管理和处方缴费等功能。 34 XXX本科毕业设计 7 结束语 7.1 总结 现在到医院就医人群数量日渐增长,医生处理看病外琐碎事务的增多使得对医院各方面信息的管理成为了当今社会的必须要求。而门诊部是医院面向大众的第一扇门户,医疗事务的增多也要求门诊各方面信息的管理趋于现代化,合理化,规范化。门诊管理系统是利用计算机管理门诊的信息系统,现在一般医院都采用计算机智能化管理。因此本次设计采用Visual Studio.NET 2005和SQL Server 2005语言相结合开发医院门诊管理系统。 医院门诊管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。系统主要实现了对挂号信息、患者信息、缴费信息的添加管理,以及对医生信息、检查项目信息、药品信息的维护,已满足了门诊日常信息管理的需要。 本论文首先介绍了课题研究的背景及意义、发展现状、 7.2 展望 医院门诊管理系统的设计已经达到了不同用户的基本需求,但系统仍存在一些不足有待改进之处。 系统运行时的效率问题。当用户登录时,系统要能够保持较快的响应时间。因此可通过提高算法的效率和编码的质量,减少对资源的占用,同时利用系统的多种缓冲机制来充分发挥系统的效能。 系统页面的美化和功能的进一步完善。因为时间紧,在系统实现上主要强调了重要功能的实现,在页面的外观上还仍有待于进一步美化和加强,同时用户与界面交互功能设计有待于进一步加强。 该系统具有较强的可扩展性,支持医院的门诊医务信息管理。添加一些项目功能后,可升级为整个医院而不仅仅局限于门诊部门的信息管理系统,进一步拓宽使用的空间,具有更大的应用价值。 35 基于.NET框架的医院门诊管理系统的设计与实现 附 录 登录窗体的核心代码: private void button1_Click(object sender, EventArgs e)/*登录button代码*/ { if (YhmText.Text == "") { label4.Text = "账号不能为空~"; label4.Visible = true; } else if (MimaText.Text == "") { label4.Text = "密码不能为空~"; label4.Visible = true; } else {//从用户信息表里查询出账号等于用户名文本框信息的数据集,传递到DataSet中 DataSet ds = SqlHelp.F_SQL查询函数("select * from 用户信息 where 账号=„" + YhmText.Text + "?"); if(ds.Tables[0].Rows.Count<=0) { MessageBox.Show("不存在该用户~", "错误提示", MessageBoxButtons.OK,MessageBoxIcon.Warning); } else {//从数据集中的第一个表中取出第一行的第二个字段值和加密后的密码字段 值进行比较 if (ds.Tables[0].Rows[0][1].ToString() !=SqlHelp.F_MD5加密函数 ( MimaText.Text.Trim())) { MessageBox.Show("密码错误~", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (radioButton1.Checked&&ds.Tables[0].Rows[0][2].ToString() == "0") { this.Hide(); //音乐播放器关闭 player.Command = "Close"; Mainwindow1 m = new Mainwindow1(); //用户名的文本信息传递给主界面的UserName1方法 m.UserName1 = YhmText.Text; m.ShowDialog(); return; } else if(radioButton2.Checked&&ds.Tables[0].Rows[0][2].ToString() == "1") { this.Hide(); player.Command = "Close"; 36 XXX本科毕业设计 Mainwindow2 m = new Mainwindow2(); m.UserName1 = YhmText.Text; m.ShowDialog(); return; } else { MessageBox.Show("请确认您权限选择正确~", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } } } } 挂号添加窗体的核心代码: private void button1_Click(object sender, EventArgs e) /*添加button代码*/ {//必填项的文本框 { comboBox5.Items.Clear(); if (comboBox4.Text.Trim() == "") return; 37 基于.NET框架的医院门诊管理系统的设计与实现 SqlCommand cmd = new SqlCommand("select 姓名 from 医生信息 where 科室= „" + comboBox4.Text + " „",SqlHelp.F_连接函数SQL()); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { comboBox5.Items.Add(dr.GetValue(0).ToString()); } dr.Close(); } 检查信息添加窗体的核心代码 private void button4_Click(object sender, EventArgs e) { if (textBox2.Text == "") { MessageBox.Show("请先输入患者姓名~"); } else { ds = SqlHelp.F_SQL查询函数("select * from 检查信息 where 名称=„" + textBox3.Text + "?"); if (ds.Tables[0].Rows.Count <= 0) { MessageBox.Show("您输入的检查名称无效~", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { DataSet ds1 = SqlHelp.F_SQL查询函数("select * from 医生信息 where 姓 名=„" + textBox4.Text + "?"); if (ds1.Tables[0].Rows.Count <= 0) { MessageBox.Show("您输入的医生名称不合法~", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { SqlCommand cmd = new SqlCommand("UPDATE 患者 SET 检 查名称=„" + textBox3.Text + "?,检查医生=„" + textBox4.Text + "?WHERE 姓名=„" + textBox2.Text + "?", SqlHelp.F_连接函数 SQL()); int val = cmd.ExecuteNonQuery(); if (val > 0) { MessageBox.Show("患者数据添加成功"); ds = SqlHelp.F_SQL查询函数("select * from 患者"); dataGridView2.DataSource = ds.Tables[0]; } else { MessageBox.Show("添加失败"); } } } } 38 XXX本科毕业设计 用户信息管理窗体的核心代码 private void add_Click(object sender, EventArgs e) { if (comboBox1.Text.Trim() == "添加用户") { DataSet ds = SqlHelp.F_SQL查询函数("select * from 用户信息 where 账号=„" + textBox2.Text + "?"); if (ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("用户名已存在,请重新填写!", "系统提示"); } else { if (i > 0 ) { SqlCommand cmd = new SqlCommand("insert into 用户信息 values(„" + textBox2.Text + "?,?" + SqlHelp.F_MD5加密函数(textBox1.Text) + "?,?" + comboBox2.Text + "?)", SqlHelp.F_连接函数SQL()); int a = cmd.ExecuteNonQuery(); if (a > 0) { MessageBox.Show("用户添加成功~", "系统提示"); } else { MessageBox.Show("添加失败!", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("请先验证密码,并确定密码正确~", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } else if (comboBox1.Text.Trim() == "修改用户") { if (i > 0 ) { if (textBox5.Text == "") { MessageBox.Show("请先输入要修改的账号", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { DataSet ds2 = SqlHelp.F_SQL查询函数("select * from 用户信息 where 账号=„" + textBox5.Text + "?"); if (ds2.Tables[0].Rows.Count > 0) { if (textBox2.Text == "") { 39 基于.NET框架的医院门诊管理系统的设计与实现 MessageBox.Show("新密码输入不能为空~ "); } else { if (textBox2.Text == textBox1.Text) { SqlCommand cmd = new SqlCommand("update 用户信息 set 密 码=„" + SqlHelp.F_MD5加密函数(textBox1.Text) + "?where 账号=„" + textBox5.Text + "?", SqlHelp.F_连接函 数SQL()); int a = cmd.ExecuteNonQuery(); if (a > 0) { MessageBox.Show("用户修改成功~", "系统提示 } "); else { MessageBox.Show("修改失败!", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("两次输入密码不一致~", "错误信息 ", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } else { MessageBox.Show("您输入的用户名无效~", "错误信息 ", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } else { MessageBox.Show("请先验证密码,并确定密码正确~", "错误信息 ", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("无操作!请重新选择!", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } 40 XXX本科毕业设计 参考文献 [1] 王淼 张奔.浅谈医院门诊管理系统的设计与实现[J].网络与信息.2011(第25卷第6期).13-15 [2]王成英.医院门诊管理系统的研究[J].电脑编程技巧与维护.2012(第2卷第2期).36-40 骁.HIS系统在医院财务管理系统中的作用-论收费管理系统的设计[D].重 [3] 骆 庆.重庆市执业病防治院.2010 [4] 王晟. Visual C#.NET数据库开发经典案例[M].清华大学出版社.2008.152-174 [5] 方银清.基于预付卡的医院门诊收费管理系统设计[J]. 齐齐哈尔大学学报. 2009.(第25卷第5期).37-40 [6] 高素珍 练练 郑冬冬等.新时期军队医院门诊护理管理探讨[J].中国实用神经疾病杂志.2011(第14卷第2期).8-13 [7] 赵勰 王卉卉.医院门诊信息系统浅议[J].江苏卫生事业管理. 2010(第21卷第3期).83-84 [8]林琳 王韬.天坛医院急诊管理系统的建设与实施[J].中国数字医学.2008(第3卷第11期).70-72 [9]吴磊 刘广.医院门诊管理系统的设计与实现[J].网络与信息.2011(第4卷第4期).29-33 [10] 王小科 徐薇. C#.NET从入门到精通[M]. 电子工业出版社.2010.230-300 [11] 王真 朱月琼 王征.Visual C#2008程序设计经典案例设计与实现[M].电子工业出版社.2009,3.147-158 [12] 郑阿奇.C#入门教程[M].电子工业出版社.2010,11.158-173 [13] 王珊 萨师煊.数据库系统概论(第四版)[M].高等教育出版社.2007.101-115 [14] 沃森 内格尔(美).C#入门经典(第五版)[M].清华大学出版社.2010,12.145-200 [15]刘海民.挂号信息对门诊病案管理系统的影响[J].中国病案.2010.(第11期10卷).48-52 41 基于.NET框架的医院门诊管理系统的设计与实现 致 谢 完成此项设计,花费了很多功夫。在设计过程中,遇到了各种各样的问题,除了自己付出的努力外最重要的还是周围朋友及老师的帮助,感谢XXX教授在我设计过程中给予我的关心~对我系统的改进和实现提出了许多宝贵的意见及修改方案,同时感谢在开发软件期间,各位友人对本软件提了许多中肯实际的意见, 并在编程过程中给予了技术指导,为软件的顺利开发提供了精神力量。感谢父母提供我上大学的机会,让我有了人生难忘的历练,从而提升了自我价值,借此机会,请帮助过我的家人、师长、同学、朋友接受我最诚挚的谢意~ 42
/
本文档为【医院门诊管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索