1、1医院住院管理系统的设计与实现1 、引言医院住院管理的手工管理与查询,是一项非常繁重而枯燥的劳动,耗费许多人才和物力建立医院住院管理系统,采用计算机对医院病房进行管理与查询,进一步提医院住院管理效益和现代化水平帮助提高医院住院管理人员工作效率,实现医院住院管理工作流程的系统化、规范化和自动化。 2 、系统分析2.1 选择开发工具操作系统:win98/win2000/winxp开发语言:Visual Foxpro 6.02.2 功能分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。医院住院管理信息系统需要完成功能主要有: 病人基本信息的
2、输入,包括病人编号、姓名、性别、年龄、入院日期、出院日期、是否办理出院、病因等。 病人基本信息的查询和修改,包括病人编号、姓名、性别、年龄、入院日期、出院日期、病因等。 病人入院、出院登记,包括病人编号、姓名、性别、年龄、是否办理出院、病因等。 病房类别标准的制定、类别信息的输入,包括病房号码、病房等级称、每日价格、床位等。2 病人住房信息的输入,包括病人编号、姓名、住房号码、住房等级、床位等。病人住房信息的登记、查询,包括病人编号、姓名、住房号码、住房等级、床位等。 信息的统计,包括病人信息、病房信息、住房信息、用户信息等。 用户信息的输入,包括病人编号、姓名、密码、身份等。 用户密码的维护
3、和修改,包括姓名、旧密码、新密码等。 医院住院管理系统病人信息管理入院信息登记病房分类入住情况出院信息登记用户管理密码管理病房信息管理系统管理住院业务管理病人信息查询入住情况查询、33 、数据库设计数据库需求分析:用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。在仔细分析调查有关医院住院管理信息需求的基础上,得到如图 12所示的本系统所处理的数据流程。病房种类设置 病人信息设置病房信息管理 病人信息信息管理病人信息管理住房信息管理住房登记 入院登记
4、基本信息录入 基本信息录入病人信息录入病房信息返回 客房信息返回住房信息输入入住基本信息录入出院院登记图 医院住院管理信息系统数据流程图针对一般医院住院管理信息系统的需求,通过对医院住房管理工作过程的内容和数据流程分析,设计如下所述的数据项和数据结构:4 病房类别信息,包括的数据项有:病房号码、病房等级称、每日价格、床位等。 病人信息,包括的数据项有:病人编号、姓名、性别、年龄、入院日期、出院日期、是否办理出院、病因等。 。 病人住房信息,包括的数据项有:病人编号、姓名、住房号码、住房等级、病床等。 用户信息,包括的数据项有:病人编号、姓名、密码、身份等。有了上面的数据结构、数据项和数据流程,
5、我们就能进行下面的数据库设计。数据库逻辑结构设计:(1) 、病房信息表:字段名 类型 宽度 NULL病房号码 字符型 4 NOT NULL病房级别 字符型 8 NULL每日价格 数值型 6 NULL拥有病床数 数值型 2 NULL(2) 、病人信息表:字段名 类型 宽度 NULL编号 字符型 4 NOT NULL姓名 字符型 8 NULL性别 字符型 2 NULL年龄 字符型 3 NULL入院日期 日期型 8 NULL出院日期 日期型 8 NULL是否已办理出院 字符型 2 NULL5病因 备注型 4 NULL(3) 、住房信息表:字段名 类型 宽度 NULL编号 字符型 4 NOT NULL
6、性别 字符型 8 NULL病房号码 字符型 4 NULL病房等级 字符型 8 NULL床位 字符型 2 NULL(4) 、用户信息表:字段名 类型 宽度 NULL编号 字符型 4 NOT NULL姓名 字符型 8 NULL密码 字符型 6 NULL身份 字符型 6 NULL4 、输入程序设计(1) 、房间管理操作建立数据库医院住院管理系统,建立病房信息表,病人信息表,住房信息表,用户信息表。678(2) 、登陆:“登陆”按钮的 click 事件代码如下:9use 用户信息locate for alltrim(姓名)=alltrim(thisform.text1.value)if .not.fo
7、und()messagebox(“没有该用户!“)else if thisform.optiongroup1.option1.value=1if alltrim(身份)=“管理员“if alltrim(密码)=alltrim(thisform.text2.value) messagebox(“欢迎访问系统!“)do form 管理员主页else messagebox(“密码错误!“)endifelsemessagebox(“身份不匹配!“) endif elseif alltrim(身份)=“病人“if 密码=alltrim(thisform.text2.value) messagebox(“
8、欢迎访问系统!“)do form 病人主页else messagebox(“密码错误!“)endifelse10messagebox(“身份不匹配!“) endif endif endif“退出”的事件代码如下:thisform.release(3) 、管理功能:选择不同身份进入不同管理界面。1、管理员管理功能:选择身份为:管理员,姓名为:肖会平,密码为:654321.进入如下界面:1-1、退出系统功能:“退出”的代码如下quit111-2、住院业务管理功能:选择入院登记,进入如下界面:“查上一个编号”按钮的 click 事件代码如下:go reccount()-1thisform.label
9、5.caption=编号“确定”按钮的 click 事件代码如下:append blankreplace 编号 with thisform.text1.valuereplace 年龄 with thisform.text4.valuereplace 性别 with thisform.text3.valuereplace 姓名 with thisform.text2.valuereplace 病因 with thisform.edit1.valuemessagebox(“已登记!“)thisform.refresh“退出”的 click 事件代码如下:12thisform.release选择出院
10、登记,进入如下界面:“确定”按钮的 click 事件代码如下:locate for 编号=alltrim(thisform.text1.text)if found() thisform.text2.value = 姓名replace 病人信息.是否已办理出院 with thisform.text3.valuemessagebox(“是否办理出院:“+alltrim(thisform.text3.value)else messagebox(“编号输入有误!“)endifthisform.refresh“退出”按钮的 click 事件代码如下:thisform.release1-3、病人信息管理功
11、能13“第一个”按钮的 click 事件代码如下:go topthisform.refresh“上一个”按钮的 click 事件代码如下:if bof().or.recno()=1messagebox(“已到首记录“,48,“退出“)elseskip -1endifthisform.refresh“下一个”按钮的 click 事件代码如下:if eof().or.recno()=reccount()messagebox(“已到末记录“,48,“返回“)else14skipendifthisform.refresh“最后一个”按钮的 click 事件代码如下:go bottomthisform.
12、refresh“修改”按钮的 click 事件代码如下:editthisform.refresh“添加”按钮大的 click 事件代码如下:append blankeditthisform.refresh“删除”按钮的 click 事件代码如下:deletepackthisform.refresh“退出”按钮的 click 事件代码如下:thisform.release“查询”按钮的 click 事件代码如下:do form 病人信息查询点击“查询” ,进入如下界面:15“查询”按钮的 click 事件代码如下:locate for 编号=alltrim(thisform.text1.valu
13、e)thisform.refreshif not found()messagebox(“输入编号有误!“)endif“退出”的 click 事件代码如下:thisform.release1-4、病房信息管理功能16“确定”按钮的 click 事件代码如下:append blankreplace 编号 with thisform.text1.valuereplace 病房号码 with thisform.text2.valuereplace 床位 with thisform.text3.valuereplace 姓名 with thisform.text4.valuereplace 病房等级 w
14、ith thisform.text5.valuethisform.refreshmessagebox(“已登记!“)“退出”的 click 事件代码如下:thisform.release17“查询”按钮的 click 事件代码如下:locate for 编号=alltrim(thisform.text1.value)thisform.refreshif not found()messagebox(“没有该病人!“)endif“删除”按钮的 click 事件代码如下:delete packthisform.refreshmessagebox(“已删除!“)“退出”按钮的 click 事件代码如下
15、:thisform.release1-5、系统维护功能18“确定”按钮的 click 事件代码如下:locate for allt(用户信息.姓名)=allt(thisform.text1.value)if found()if allt(用户信息.密码)=allt(thisform.text2.value)if len(alltrim(thisform.text3.value)=0 or len(alltrim(thisform.text2.value)=0messagebox(“密码不能为空!“,0+48+0,“注意“)returnendifif thisform.text3.valueth
16、isform.text4.valuemessagebox(“密码输入不一致,请检查后再确认“,0+48+0,“注意“)returnelsereplac 用户信息. 密码 with thisform.text4.valuemessagebox(“密码修改成功,请牢记!“,0+48+0,“注意“)19thisform.releaseendifendifelsemessagebox(“无此用户!“)endif 1-6、信息统计功能点击“病人统计”进入如下界面:点击“病房统计”进入如下界面:20点击“病人病房统计”进入如下界面:点击“本系统用户统计”进入如下界面:2、病人管理功能:选择身份为:病人,姓
17、名为:李儒,密码为:123456.进入如下界面:212-1、点击“病人信息查询”进入如下界面(代码如前):2-2、点击“病人病房查询”进入如下界面(代码如前):222-3、点击“密码修改”进入如下界面(代码如前):235、小结本设计报告以医院住院管理系统为背景,论述了开发医院住院管理系统的结构,系统开发的基本步骤和方法该系统的开发主要是采用面向对象开发模型,根据需要进行了较详细的说明通过开发这个医院住院管理系统,进一步明确了开发研制一个管理信息系统的方法和思想,加深了对管理信息系统的认识,提高了学习管理信息系统的兴趣,巩固了以前学到的信息系系统开发方法方面的知识,提高了软件开发的水平,为今后在工作岗位上学用好计算机打下了坚实的基础。