基于CS结构的医院管理系统的设计与实现毕业设计_第1页
基于CS结构的医院管理系统的设计与实现毕业设计_第2页
基于CS结构的医院管理系统的设计与实现毕业设计_第3页
基于CS结构的医院管理系统的设计与实现毕业设计_第4页
基于CS结构的医院管理系统的设计与实现毕业设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于基于 C/SC/S 结构的医院管理系统的设计与实现结构的医院管理系统的设计与实现 摘摘要要 随着信息科学技术的飞速发展, 人们逐渐意识到对信息管理软件的运用可以 使日常工作更加方便、快捷和高效。论文详细论述了一个基于 C/S 结构的医院管 理系统的开发设计过程。系统采用 Visual Basic 6.0 作开发平台,SQL Server 2000 作数据库管理系统,实现了病人登记、医生信息管理、病人就诊信息管理、 住院信息管理等功能。系统符合医院管理的要求,能够帮助医院切实提高工作效 率。 论文组织如下:首先阐述了该系统的开发背景、意义;其次介绍了相关的开 发工具及技术基础;接着对系统的需求进行了分析,并提出了具体的设计方案和 数据库模型;然后展现了整个系统的具体实现,包括数据库的设计和连接, 各功 能模块的实现;最后对该软件进行了严格的测试。 关键词:关键词: 医院管理系统;Visual basic;SQL server 2000 The Design and Implementation of Hospital ManagementThe Design and Implementation of Hospital Management System based on C/SSystem based on C/S AbstractAbstract Along with the rapid development of the information science technology, people gradually realize that the utilization of information management software could make the routine more convenient, quick and efficient. The paper discusses in detail the development and design process of a hospital management system based on C/S structure. It uses Visual Basic 6.0 as the development platform, SQL Server 2000 as the database management system, and includes patients registration management, doctors informationmanagement,diagnosisinformationmanagementand hospitalization information management, etc. It can accord with the requirement of hospital management, and can help hospital enhance its work efficiency. The paper is organized as following: Firstly, analyzes the background and significance; Secondly, introduces the development tools and the foundation of the technology; Thirdly, analyses the demand of the system, gives a specific design project and a database model; Then shows the implementation of the whole system, which includes the design and linkage of the database and the implementation of every module. Finally gives a test of the system. Key words:Key words: Hospital management system; Visual basic; SQL server 2000 目目录录 论文总页数:25 页 1 引言. 1 2 系统理论基础及开发工具简介. 1 2.1 C/S 结构 . 1 2.1.1 什么是 C/S 结构 . 1 2.1.2 C/S 架构软件的优势与劣势 . 1 2.2 VISUALBASIC的介绍 . 2 2.3 SQL SERVER2000 简介 . 4 3 系统需求分析与方案设计. 4 3.1 需求分析. 4 3.2 方案设计. 4 3.3 可行性研究 . 5 3.3.1 技术可行性方面. 5 3.3.2 经济可行性. 6 3.3.3 操作上的可行性. 6 4 系统的实现. 6 4.1 数据库的构建. 6 4.1.1 IHMS_Users 表 . 6 4.1.2 Disease 表 . 6 4.1.3 Doctor 表 . 7 4.1.4 Patient_Hospital_History表 . 7 4.1.5 Patient_Lab_Info表 . 7 4.1.6 Patient_Personal_Info表 . 8 4.1.7 Symptoms 表 . 8 4.2 系统登陆模块. 8 4.2.1 启动界面. 8 4.2.2 系统主界面. 9 4.2.3 登陆界面. 10 4.2.4 系统管理员权限界面. 11 4.3 医生信息模块. 11 4.4 病人登记管理模块. 12 4.5 病人就诊信息模块. 13 4.6 病人住院信息管理模块. 14 4.7 病人出院信息管理模块. 17 5 系统测试. 18 5.1 测试环境. 18 5.1.1 硬件环境. 18 5.1.2 软件环境. 18 5.2 模块测试. 18 5.2.1 系统登陆及管理员权限测试. 18 5.2.2 医生用户信息测试. 19 5.2.3 新增病人用户信息测试. 19 5.2.4 病人就诊信息测试. 20 5.2.5 病人住院信息测试. 20 5.2.6 病人出院信息测试. 21 结论. 错误!未定义书签。错误!未定义书签。 参考文献. 错误!未定义书签。错误!未定义书签。 致谢. 错误!未定义书签。错误!未定义书签。 声明. 错误!未定义书签。错误!未定义书签。 1 1 引言引言 自从人类进入 21 世纪,也就进入了一个高速发展的信息时代, 高新技术飞速 发展的同时,也使得计算机的使用范围大大扩展,它已经涉及到人类生活的方方 面面。计算机使用的方便快捷,使它在越来越多的方面显示出比传统人工制作更 迅速和准确的优点,尤其是在信息记录,检索和查询方面,更是使我们人类避免了 不必要的麻烦。 开发和使用医院管理系统对于医院来说是非常必要的, 它能加快医院的信息 化步伐,提高医院的管理水平和医疗水平,增强在同行业中的竞争实力,是现代 医院管理与计算机信息技术的必要结合。医院管理系统能加强医院内部管理、提 高医疗服务水平,最大限度地提高医院运行的效率和医院管理水平,给医院带来 了显著的经济效益和社会效益,也能使医院在未来竞争中处于领先地位。 本课题设计一个医院管理系统,通过这个系统管理员可以简捷、方便的对病 人、医生的记录进行查阅、增加、删除等功能,而用户也可以通过这个系统对进 医生和病人的信息查询、账户增删等功能。系统采用Visual Basic 作开发工具, SQL Server 2000 作数据库管理系统。 2 2 系统理论基础及开发工具简介系统理论基础及开发工具简介 2.1 C/S2.1 C/S 结构结构 .1 什么是什么是 C/SC/S 结构结构 C/S(Client/Server)结构,即大家熟知的“客户机和服务器”结构,它是软 件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系 统都是 Client/Server 形式的两层结构, 由于现在的软件应用系统正在向分布式 的 Web 应用发展,Web 和 Client/Server 应用都可以进行同样的业务处理,应用 不同的模块共享逻辑组件,因此,内部的和外部的用户都可以访问新的和现有的 应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统,这也就是目前 应用系统的发展方向。 .2 C/S C/S 架构软件的优势与劣势架构软件的优势与劣势 (1)应用服务器运行数据负荷较轻。最简单的 C/S 体系结构的数据库应用 由两部分组成,即客户应用程序和数据库服务器程序,二者可分别称为前台程序 与后台程序。运行数据库服务器程序的机器, 也称为应用服务器。一旦服务器程 序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己 的电脑上,对应于数据库服务器, 可称为客户电脑,当需要对数据库中的数据进 行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程 序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。 (2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功 能, 是由服务器程序和客户应用程序分别独立进行的, 前台应用可以违反的规则, 并且通常把那些不同的运行数据在服务器程序中不集中实现,例如访问者的权 限、编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作 在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后 的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不 是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S 体系的下,数据库 不能真正成为公共、专业化的仓库,它受到独立的专门管理。 (3)C/S 架构的劣势是高昂的维护成本且投资大。首先,采用 C/S 架构, 要选择适当的数据库平台来实现数据库数据的真正“统一”, 使分布于两地的数 据同步完全交由数据库系统去管理, 但逻辑上两地的操作者要直接访问同一个数 据库才能有效实现,有这样一些问题, 如果需要建立“实时”的数据同步,就必 须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理 工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资 和复杂的技术支持,维护成本很高,维护任务量大。其次,传统的C/S 结构的软 件需要针对不同的操作系统系统开发不同版本的软件, 由于产品的更新换代十分 快,代价高和低效率已经不适应工作需要。 2.2 Visual Basic2.2 Visual Basic 的介绍的介绍 Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动 编程语言。从任何标准来说,VB 都是世界上使用人数最多的语言不仅是盛 赞 VB 的开发者还是抱怨 VB 的开发者的数量。它源自于 BASIC 编程语言。VB 拥 有图形用户界面(GUI)和快速应用程序开发 (RAD)系统,可以轻易的使用DAO、 RDO、ADO 连接数据库,或者轻松的创建 ActiveX 控件。程序员可以轻松的使用 VB 提供的组件快速建立一个应用程序。 一个典型的 VB 进程 VB 的中心思想就是要便于程序员使用, 无论是新手或者 专家。VB 使用了可以简单建立应用程序的 GUI 系统,但是又可以开发相当复杂 的程序。VB 的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来 指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内, 所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面 VB 程 序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能 的争论已经越来越少。 窗体控件的增加和改变可以用拖放技术实现。 一个排列满控件的工具箱用来 显示可用控件(比如文本框或者按钮) 。每个控件都有自己的属性和事件。默认 的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值 可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程 序。举个例子来说: 窗体的大小改变事件中加入了可以改变控件位置的代码,在 运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改 变事件中加入相应的代码, 程序就能够在文字输入的时候自动翻译或者阻止某些 字符的输入。 VB 的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类 似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮 的窗体)可以用来提供弹出功能 VB 的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可 以处理增加的模块。 VB 使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象, 提供基本的面向对象支持。因为越来越多组建的出现,程序员可以选用自己需要 的扩展库。和有些语言不一样,VB 对大小写不敏感,但是能自动转换关键词到 标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。 默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。 一些术语: 控件简单的说,控件就是构成或者说建造 Visual Basic 应用程序的图 形化工具,包括窗体、按钮、复选框、列表框、数据控件、表格控件和图片控件 等等; 事件由用户或操作系统引发的动作。事件的示例有击键、单击鼠标 (Click)、双击鼠标(DblClick)、一段时间的限制,或从端口接收数据; 方法嵌入在对象定义中的程序代码, 它定义对象怎样处理信息并响应某 事件。例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法程 序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件 的方法。控件和窗体是 Visual Basic 中所有对象的示例; 对象一个控件、窗体等都可被看作一个对象; 过程为完成某些特定的任务而编写的代码段, 过程通常用于响应特定的 事件,也可以当作应用程序的用户自定义函数来使用; 属性属性是组成用户界面的各对象的性质的具体描述。 例如上述 “对象” 中所提到的尺寸、位置、颜色、宽度、高度等等都称为控件的 属性。属性决定 对象的外观,有时也决定对象的行为。对象的属性绝大部分是 VB 中已经事先定 义好的,但也有的属性是需要在应用 过程中才去定义的。属性即可为对象提供 数据,也能从对象取回信息。 2.3 SQL Server20002.3 SQL Server2000 简介简介 SQL Server 是一个关系数据库管理系统,是 Microsoft 推出新一代数据管 理与分析软件。SQL Server 是一个全面的、集成的、端到端的数据解决方案, 它为企业中的用户提供了一个安全、 可靠和高效的平台用于企业数据管理和商业 智能应用。 SQL Server 2000是一个全面的、集成的、端到端的数据解决方案,它为企 业中的用户提供了一个安全、 可靠和高效的平台用于企业数据管理和商业智能应 用。SQL Server 2000 为 IT 专家和信息工作者带来了强大的、熟悉的工具,同 时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业 数据和分析应用程序的复杂度。通过全面的功能集、和现有系统的集成性、 以及 对日常任务的自动化管理能力,SQL Server 2000为不同规模的企业提供了一个 完整的数据解决方案。 SQL Server 2000数据平台包括如下工具:关系型数据库、复制服务、通知 服务、集成服务、分析服务、报表服务、管理工具、开发工具。 SQL Server 2000数据平台为不同规模的组织提供了如下好处:充分利用数 据资产、提高生产力、减少 IT 复杂度、更低的总体拥有成本(TCO)。 3 3 系统需求分析与方案设计系统需求分析与方案设计 3.13.1 需求分析需求分析 医院管理系统是针对医院要求用计算机对医生和病人的各种信息进行汇总 和记录的一种现代化管理软件,主要包括对病人的注册、就诊、住院登记、治疗 结果、出院情况等档案信息的添加、记录、修改和查询等。 通过对用户需求的分析,要求本系统具有以下功能: (1) 由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所 以要求系统具有良好的人机界面; (2) 原始数据修改简单方便,在系统的使用过程中支持多条件查询; (3) 数据计算自动完成,数据的稳定性和可靠性好,尽量减少人工干预。 3.23.2 方案设计方案设计 具体说来,要求本系统具有以下五个功能模块:门诊模块、医生信息模块、 病人登记管理模块、病人就诊信息模块和住院信息管理模块。 系统整体的模块图如图 1 所示: 病人就诊信息模块 医 院 管 理 系 统 医生信息模块 病人登记管理模块 住院信息管理 出院模块 图 1 系统关系图 各模块具体的需求描述如下: (1)病人登记管理模块: 以系统合法的身份进入系统后,可以直接处理新增病人的记录,包括病人各 项基本信息; (2)医生信息模块: 进入系统之后,可以在本模块进行新医生用户的基本信息诸如姓名、科室、 职称、联系方式等的录入,以及通过姓名对医生的信息进行查询; (3)病人就诊信息模块: 通过对病人病症的描述,可以判断出病人的疾病情况,做好记录,并可决定 是否需要住院治疗; (4)住院信息管理模块: 医生确定该病人入院治疗,其中包括对病症的详细描述; (5)出院模块: 医生控制该病人的出院信息,包括出院的时间以及出院是的身体状况。 3.33.3 可行性研究可行性研究 .1 技术可行性方面技术可行性方面 本系统利用 Visual Basic 作为系统的开发工具,是因为它采用面向对象的 编程方法把程序和数据封装起来作为一个对象, 并为每个对象赋予相应的属 性;事件驱动的编程机制通过事件执行对象的操作,在设计应用程序时, 不 必建立具有明显的开始和结束的程序,而是编写若干个过程,通过这些过程执行 指定的操作;提供完善的指令控制语句,给开发高性能的系统提供了保障, 保证 了代码的模块化要求。 系统采用 SQL Server 2000 作为后台数据库,它可以通过窗体提供的工具输 入数据到数据库, 可以使用查询设计和结构查询语言实现查询。 在技术难度方面, 由于有指导老师的指导和相关的参考文献,特别是身边的同学的帮助,使得在开 发过程中所遇到的困难都能够一一得到解决。 .2 经济可行性经济可行性 随着计算机的大量普及,其价格已经越来越被众多的单位和人所接受,然而 价格的低廉并不意味着性能上的退化,相反,随着科学技术的发展,计算机随着 价格的降低,性能却日渐提高。本系统的开发, 在已经使用了计算机进行管理的 医疗系统中无疑会受到欢迎,它会给医院的工作效率带来一个质的飞跃,其主要 的优点主要表现在它可以作为医院管理系统基本功能的一个缩影, 集成了门诊模 块、病人登记管理模块、病人就诊信息模块和住院信息管理模块等多种功能, 具 有较强的实用性和先进性。 由于本系统具有安全性上面的保护措施, 只有用户拥有了系统合法的用户名 和相应的密码之后,才能进入系统,对系统的对应信息进行添加、修改和删除, 其他非合法的用户都不能进入系统,这样,使得医院在处理信息方面更加保密。 .3 操作上的可行性操作上的可行性 由于本系统管理的对象比较单一,都是就诊的病人和相关医务人员,且每个 数据库内容具有较强的关联性,设计的过程不是很复杂,因此, 比较适合于采用 数据库管理。且因为本系统所耗费的资源非常小,故一般工作中使用的微机无论 在软件上还是硬件上都可以满足运行要求。 4 4 系统的实现系统的实现 4.14.1 数据库的构建数据库的构建 .1 IHMS_Users IHMS_Users 表表 此表的设计是为了实现本医院管理系统的用户的新增和密码的管理, 包括编 号(Id)、用户名(Users)、密码(Pass)和科室(Departments): 表 1 IHMS_Users 表 列名 Id Users Pass Type Departments 数据类型 int varchar varchar varchar varchar 长度 4 20 20 50 50 允许空 .2 Disease Disease 表表 此表是数据库中“疾病”的信息集合, 包括疾病编号(Disease_ID)和疾病名 (Disease_Name): 表 2 Disease 表 列名 Disease_ID Diseases_Name 数据类型 int varchar 长度 4 40 允许空 .3 Doctor Doctor 表表 这是“医生信息”表,包括医生的姓名(Name)、性别(Sex)、年龄(Age)、籍 贯(Province)、科室(Dept)、手机号(Mobile)和职称(Grade)这一系列的基本信 息: 表 3 Doctor 表 列名 SN Name Sex Age 数据类型长度允许空 int varchar int int 4 20 4 4 50 20 50 50 Provincevarchar Mobile Dept Grade varchar varchar varchar .4 Patient_Hospital_History Patient_Hospital_History 表表 此表是病人出院的时候的信息统计表,包括病历号(Case_Ref_No)、入院时 的身体状况(Admission_Status)、入院的时间(Date_of_Admission)、主治医生 的姓名(Name_of_Doctor)、医生的备注(Doctors_Diagnosis)、出院的时间 (Date_of_Discharge)以 及 出 院 时 病 人 的 身 体 康 复 情 况 (Status_Upon_Discharge): 表 3 Patient_Hospital_History表 列名 Case_Ref_No Hosp_No Admission_Status Date_of_Admission Name_of_Doctor Doctors_Diagnosis Date_of_Discharge Status_Upon_Discharge 数据类型长度允许空 int int varchar datetime varchar varchar datetime varchar 4 4 10 8 30 20 8 30 .5 Patient_Lab_Info Patient_Lab_Info 表表 此表是病人的病历表,包括病人的编号(Hosp_No)、血型(Blood_Group)、RH 因子(RhFactor)以及过敏史(Allergy): 表 4 Patient_Lab_Info表 列名 Lab_Ref_No Hosp_No Blood_Group RhFactor Allergy 数据类型长度允许空 int int varchar varchar varchar 4 4 10 20 10 .6 Patient_Personal_Info Patient_Personal_Info 表表 此表是病人的基本信息表,包括病人的姓名(SName,FName)、出生日期 (Date_Of_Birth)、性别(Sex)、家庭住址(Home_Add)和职业(Occupation): 表 5 Patient_Lab_Info表 列名 Hosp_No SName FName Date_Of_Birth Sex Home_Add State_of_Origin Occupation 数据类型长度允许空 int varchar varchar datetime varchar varchar varchar varchar 4 20 20 8 10 80 20 20 .7 Symptoms Symptoms 表表 这是“病情症状”表, 对不同病症的描述以便病人就诊时能准确判断其病症 所 在 , 包 括 症 状 编 号 (Symptom_ID) 、 疾 病 编 号 (Disease_ID) 、 症 状 名 (Symptom_Name)和描述(Desrciption)几个方面: 表 6 Symptoms 表 列名 Symptom_ID Disease_ID Symptom_Name Desrciption 数据类型长度允许空 int int varchar varchar 4 4 80 20 4.24.2 系统登陆模块系统登陆模块 .1 启动界面启动界面 这是整个系统开始运行时出现的第一个界面, 是由 frmSplash 具体控制和实 现的: 图 2 系统启动界面 在这个部分,系统会完成与数据库的连接工作,具体的代码实现如下: Private Sub Form_Load() ConnectString = Provider=SQLOLEDB.1; Password=123; Persist Security Info=True; User ID=sa; Initial Catalog=IHMS;Data Source=(local) Me.MousePointer = 11 Set somePatient = New CPatient End Sub 时钟的设计,可以控制从该初始界面进入到系统主界面的时间: Private Sub Timer1_Timer() Unload Me End Sub 然后,整个系统就进入主界面。 .2 系统主界面系统主界面 所谓系统主界面,也就是程序主窗体 frmmain,它是整个系统的主要操作界 面, 也是在登陆之后首先出现的系统操作界面(图 3), 采用菜单结构, 简单明了, 操作方便: 图 3 系统主界面 .3 登陆界面登陆界面 该模块具体是由 frmLogin 窗体控制并实现的。本 HIS 系统可供两种身份的 用户登陆:一个是 Admin,另一个是医生。二者唯一的权限区别就是Admin 可以 对医生用户进行管理:添加、删除、密码修改。以下实现的是以医生的身份登陆 该系统: 图 4 登陆对话框 Do While Not .EOF And Not LoginSucceeded If (cboUserName = .Fields(users) And Trim(txtPassword) = .Fields(pass) Then TypeStr = .Fields(Type)登陆生效 If (TypeStr = 医生) Then Departments = .Fields(Departments) End If MsgBox 登陆成功,欢迎进入系统., vbInformation, 欢迎 LoginSucceeded = True Call ConfigMenus(cboUserName) Unload Me End If .MoveNext Loop .4 系统管理员权限界面系统管理员权限界面 Admin 可以对医生用户进行管理:添加、删除、密码修改: 图 5 权限管理 4.34.3 医生信息模块医生信息模块 本模块的设计主要是对医生的信息进行收集管理,其中包括的项目有:医生 性命、医生性别、医生年龄、医生籍贯、医生手机号、医生科室、医生职称七个 项目,同时还可以进行医生账户的新增和依据生命对医生信息进行查询等功能。 frmDoctor 窗体具体负责这个模块的设计和实现: Private Sub Command2_Click() datDoctors.Recordset.Fields(Name) = TextName.Text datDoctors.Recordset.Fields(Sex) = ComboSex.ListIndex datDoctors.Recordset.Fields(Age) = Val(TextAge.Text) datDoctors.Recordset.Fields(Province) = TextProvince.Text datDoctors.Recordset.Fields(Mobile) = TextMobile.Text datDoctors.Recordset.Fields(Dept) = TextDept.Text datDoctors.Recordset.Fields(Grade) = TextGrade.Text datDoctors.Recordset.Save MsgBox 保存成功! End Sub Do If datDoctors.Recordset.EOF Then Exit Do If (datDoctors.Recordset.Fields(Name) = TextSearch.Text) Then find_flag = True Else datDoctors.Recordset.MoveNext End If Loop Until (find_flag) If find_flag Then RefreshData MsgBox 查询成功! Else MsgBox 没有查到您要的记录! 图 6 新增、查询医生信息对话框 4.44.4 病人登记管理模块病人登记管理模块 病人到医院就诊,需要在 HIS 里建立一个属于自己的“账户” ,里面将包括 病人最基本的一些信息。通过下图, 可以很清晰地看到,这个模块主要使用了一 些 TextBox 和 ComboBox 来进行病人信息的录入,其中“性别” 、 “血型” 、 “Rh 因 子”三项是由 ComboBox 控制实现的,其下拉菜单比较方便系统用户的操作并可 以防止录入不合法的信息: 图 7 病人注册 Private Sub cmdRegAndAdmit_Click() Set thisNewPatient = New CPatient新建一个病人对象 With thisNewPatient向新建的病人对象写入信息 .HospNo = Val(txtHospNo) .SName = Trim(txtSName) .FName = Trim(txtFName) .DoB = Trim(txtDOB) .Sex = cboSex .HomeAdd = Trim(txtHomeAdd) .StateOfOrigin = Trim(txtStateOfOrigin) .Occupation = Trim(txtOccupation) .NameNoK = Trim(txtKinName) .RelaNok = Trim(txtRelationship) .AddNok = Trim(txtKinAddress) .SponsorName = Trim(txtNameOfSponsor)写入担保人信息 .SponsorAdd = Trim(txtAddOfSponsor) .BloodGrp = Trim(cboBloodGrp)写入化验室数据信息 .RHFactor = cboRHFactor .Allergy = Trim(txtAllergy) End With .frmAdmission.Show 1 Call ClearRegForm Unload Me End Sub 4.54.5 病人就诊信息模块病人就诊信息模块 按照正常的流程,成功登记的病人用户应该就诊。以成功登记的病人, 可以 通过对病症的描述方式得出初步诊断结果。这部分工作由 frmDiagnosis 窗体具 体控制和实现。在这个模块里, 对于文本性的信息仍旧使用 TextBox 实现,而对 于病症的描述,采取了用五条病症同时描述来实现,每一条病症选择出都采用 ComboBox 来实现,其下拉菜单出将出现 DB 表里所存储的病症的所有描述。 图 8 诊断信息 Dim symptom(4) As String Dim diseaseID(4) As Integer Dim diseaseName(4) As String Dim diagnosisResults(4) As String Dim X As Integer For X = 0 To 4 symptom(X) = cboSymptom(X) Next X If symptom(0) = N/A Or symptom(0) = Then保证病人至少选择一个病症描述,否则退出 MsgBox You must specify A T LEAST one sign/symptom to diagnose a patient, starting with Symptom 1., vbInformation Exit Sub End If Call DiagnosePatient(symptom(0), diseaseID(0), diseaseName(0) txtDisease(0).Text = diseaseName(0) For X = 1 To 4根据描述的症状产生出一个诊断结果 If symptom(X) Then Call DiagnosePatient(symptom(X), diseaseID(X), diseaseName(X) If diseaseName(X) diseaseName(0) Then diagnosisResults(X) = diseaseName(X) End If Next X Dim a As Integer, b As Integer Dim temp As String For a = 1 To 3 For b = 1 To 4 - a If diagnosisResults(b) diagnosisResults(b + 1) Then temp = diagnosisResults(b) diagnosisResults(b) = diagnosisResults(b + 1) diagnosisResults(b + 1) = temp ElseIf diagnosisResults(b) = diagnosisResults(b + 1) Then txtDisease(1) = 显示结果 For a = 1 To 4 If diagnosisResults(a) Then txtDisease(1) = txtDisease(1) + diagnosisResults(a) + vbCrLf Next a End Sub 4.64.6 病人住院信息管理模块病人住院信息管理模块 经过了医生的诊断,就可以得出病人的病症情况,也就可以决定改病人是否 需要住院治疗。这个模块主要是由 frmAdmitExisting 窗体控制和实现的。这个 窗体的设计比较简单明了,由病人的主治医师填入住院时间、医师姓名以及一些 备注信息后就可以成功给病人办理住院手续。 该窗体由几个简单的 TextBox 实现 所对应的也都是一些文本信息。 图 9 病人病例 Private Sub cmdConfirmAdmission_Click() With Me.datHospHist.Recordset .Fields(Hosp_No) = somePatient.HospNo .Fields(Admission_Status) = IN .Fields(Date_of_Admission) = txtDateOfAdmission .Fields(Name_of_Doctor) = txtDoctorInCharge .Fields(Doctors_Diagnosis) = txtDoctorsComments .Update End With MsgBox 住院手续登记成功., vbInformation, 成功 Unload frmOldPatient Unload Me Exit Sub errhnd: Debug.Print Err.Number; ; Err.Description MsgBox 一个未知错误., vbInformation, 未知错误! Resume Next End Sub Private Sub datHospHist_1_Validate(Action As Integer, Save As Integer) End Sub Private Sub Form_Load() lblHeading.Caption = lblHeading.Caption + Str(somePatient.HospNo) datHospHist.ConnectionString = ConnectString datHospHist.RecordSource = Patient_Hospital_History datHo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论