设计项目名称:学时:同组学生姓名:实验地点:实验日期:实验成绩:批改教师:批改时间:摘要随着科学技术的不断提高,计算机科学已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对物资信息进行管理,具有手工管理所无法比拟的优点。
医院住院管理系统是现代化医院运营的必要技术支撑和基础设施,实现医院住院管理系统的目的就是为了以更现代化、科学化、规范化的手段来加强医院的管理,提高医院的工作效率,改进医疗质量,从而树立现代医院的新形象,这也是未来医院发展的必然方向。
该系统的实施将在整个医院建设企业级的计算机网络系统,并在其基础上构建企业级的应用系统,实现整个医院的人、财、物等各种信息的顺畅流通和高度共享,为全院的管理水平现代化和领导决策的准确化打下坚实的基础。
本系统的设计阶段主要包括需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行与维护六个阶段。
本系统主要的模块有:系统设置、病人入院管理、药品信息管理、科室信息管理、病人出院管理。
本系统前端开发工具使用Visual Basic6.0,后台数据库采用SQL SERVER2005,画图工具使用的是Visio2003。
关键词:医院住院管理;数据库;数据字典;E-R图;Visual Basic6.0;SQL SERVER2005;Visio2003一、课程设计目的和要求课程设计是为了增强学生对所学课程的理解,学会综合地、灵活地运用所学课程知识的一个重要的实践环节。
本课程设计是应用VB程序设计语言进行数据库应用系统的开发,用MS SQL SERVER进行后台数据库的管理,编写出医院住院管理信息系统。
二、课程设计的仪器和设备硬件条件:奔腾II或以上计算机,内存:2.0G,硬盘:250G,主频:2.0GHZ软件条件:VB6.0企业版,SQL Server2005,PC机(Windows XP)1.需求分析阶段1.1应用背景医院是救死扶伤之地,医院在现代社会的发展过程中起着举足轻重的作用,不论医院规模的大小,医院内部的部门设置以及人员的配置都是非常复杂的,此外,医院又是一个特殊的地方,要求每一位医护人员都要有极其认真负责的态度,稍有差错就会给病人带来生命危险,在科技日益发达的今天,人们的身体健康也不断受到重视,因此,医院进行现代化管理就变得尤为重要,医院的特殊性要求管理人员仔细地管理好医院内部的每一个环节,然而随着社会信息化的到来,医院拥有大量的医护人员,大量的后勤人员,大量的药品和仪器,最重要的是拥有大量的病人,医院的管理工作变得非常复杂,这就要求有一个功能强大的管理系统来协助管理人员处理好医院的每一个事物。
现代化的医院也应该有现代化的管理系统,随着计算机极其性能的不断提高,计算机已经在医院医疗,教学,科研,管理等方面得到越来越广泛的应用,同样,医院管理系统能够有效的管理也离不开计算机,一个良好的医院管理系统,不但可以方便管理人员实现医院的日常管理工作,更重要的是可以提高医院治病救人的效率1.2系统可行性分析本系统从以下三个方面进行分析:1.2.1技术可行性计算机具有强大的数据处理能力,通过计算机软件可以实现对日常医院业务的信息管理,从而更加准确、实时、可靠,同时计算机可以快速的进行数据统计分析,对于医院管理工作的改进和效率提高有很大的帮助。
因此开发本系统是可行的1.2.2经济可行性电脑作为现代社会必不可少的信息工具,已经普及很多行业,医院可以根据自身实际情况配置其需要的计算机的性能,而且这些电脑的费用也不是很昂贵,对整个住院系统来说并不是一个很重要的负担。
因此开发本系统是可行的。
1.2.3操作可行性通过计算机管理住院系统不仅可以在一定程度上减轻医务人员的劳动强度,提高工作效率和工作质量,而且可以更及时、准确、有效地分析统计各种临床数据及管理数据,供上级主管部门作出科学的管理决策,促进医院管理水平的进一步提高。
综上所述:经分析本系统满足以上几个方面的要求,所以开发本系统是完全可行的。
1.3系统的设计目标系统开发的总体目标是实现医院住院管理的系统化、规范化、自动化,减轻事务处理人员的劳动强度,提高医院的工作效率,从而使医院能够以较少的投入获得更好的社会效益与经济效益。
1.4系统设计概要本系统主要有六大模块:系统设置、病人入院管理、医生信息管理、药品信息管理、科室信息管理、病人出院管理。
详细功能如下:1、系统设置:密码修改、用户权限设置、系统备份、退出;2、住院病人及预交费基本录入、查询、修改管理;3、医生信息录入、查询和修改;4、药品信息的录入、查询和修改;5、科室信息及床位的添加、查询、修改;6、出院结账的汇总及处理等。
1.4.1系统功能模块图图1.4.1系统功能模块图1.5具体系统的业务过程及功能要求通过对医院住院管理的实际调查分析,得到以下业务流程图:图1.5医院住院系统处理流程图1.6数据流图1.6.1数据流程图该系统的顶层数据流图下如图所示:图1.6.1顶层数据流图1.6.2系统的数据字典1.6.2.1数据流的描述表1.6.1病人信息录入数据流编号:02数据流名称:病人信息录入简述:病人申请住院,系统管理员录入病人基本信息数据流来源:病人本人信息数据流去向:病历数据项组成:病人号+姓名+年龄+床位号+主治医生+住址+联系电话+预交款表1.6.2床位信息修改数据流编号:04数据流名称:床位信息管理简述:输入科室名,添加、减少病床数数据流来源:系统管理员数据流去向:床位信息表数据项组成:单价+地点+病床使用情况+床位号表1.6.3药品信息管理表1.6.4出院结账2.概念结构设计阶段本系统的E-R图如图下所示:图2.0E-R图以下是分E-R图:图2.1医生图2.2科室图2.3病历图2.4药方图2.5床位图2.6入院病人图2.7出院结账统计3.逻辑结构设计阶段3.1把系统的E-R图转换成数据库关系模式如下:医生(工作号,性别,专攻方向,科室,姓名,职称,联系电话)科室(科室号,科主任,名称,联系电话,工作号)病历(病历编号,工作号,姓名,年龄,性别,身份证,联系电话,药物禁忌,病情处理,时间,备注)药品(药品编号,单价,出产地,药品名称,进价,生产日期,数量,类型)床位(床位号,状态,单价,科室号)入院病人(病人号,床位号,姓名,年龄,预交款,联系电话,病情描述,病历编号)出院费用总计(病人号,科室,姓名,年龄,科室号,预交款,药品编号,药品费用,药品数量,床位号,床位费用,检查费用,治疗费用,余额,应付费用,实交费用,结账统计,联系电话,收费人)3.2数据库中的关系表:表3.2.1入院病人表已达到BCNF范式表3.2.2病历表已达到BCNF范式表3.2.3药品表已达到3nf范式表3.2.4床位表已达到BCNF范式表3.2.5出院费用总计表已达到BCNF范式图3.2.1主码外码关系4.物理结构设计阶段数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
为一个给定的逻辑数据模型选取一个最适合的应用要求的物理结构的过程,就是数据库的物理设计。
数据库的物理设计的内容包括:为关系模型选择存取方法;设计关系、索引等数据库文件的物理存储结构。
4.1关系模式存取方法的选择确定数据库的存取方法,就是确定建立哪些存储路径以实现快速存取数据库中的数据。
现行的DBMS一般都提供了多种存取方法,如索引法、HASH法等。
其中,最常用的是索引法,本系统也采用的是索引法。
我们在经常需要搜索的列和主关键字上建立了唯一索引。
4.2确定数据库的存储结构由于不同PC机所安装的数据库软件位置不一定相同,所以数据文件与日志文件的存放位置也不一定相同。
我们存放数据文件与日志文件的位置在:f:\database。
5.数据库实施5.1Create Database创建数据库CREATE DATABASE[医院住院系统]ON PRIMARY(NAME=N'医院住院系统',FILENAME=N'G:\database\医院住院系统.mdf',SIZE=2048KB,MAXSIZE =UNLIMITED,FILEGROWTH=10%)LOG ON(NAME=N'医院住院系统_log',FILENAME=N'G:\database\医院住院系统_log.ldf',SIZE=4096KB, MAXSIZE=2048GB,FILEGROWTH=10%)COLLATE Chinese_PRC_CI_ASGO5.2Create Table创建表--创建病历信息表CREATE TABLE[dbo].[病历]([病历编号][decimal](18,0)NOT NULL,[工作号][nchar](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[姓名][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[年龄][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[性别][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[身份证][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[联系电话][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[药物禁忌][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[病情处理][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[时间][datetime]NULL,[备注][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,CONSTRAINT[PK_病历]PRIMARY KEY CLUSTERED([病历编号]ASC)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY])ON[PRIMARY]GO床位--创建床位信息表CREATE TABLE[dbo].[床位]([床位号][varchar](50)COLLATE Chinese_PRC_CI_AS NOT NULL,[状态][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[单价][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[科室号][decimal](18,0)NULL,CONSTRAINT[PK_床位]PRIMARY KEY CLUSTERED([床位号]ASC)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY])ON[PRIMARY]GO--创建出院费用总计信息表CREATE TABLE[dbo].[出院费用总计]([病人号][nchar](10)COLLATE Chinese_PRC_CI_AS NOT NULL, [科室][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[姓名][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[年龄][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[科室号][decimal](18,0)NOT NULL,[预交款][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[药品编号][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [药品费用][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [药品数量][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [床位号][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[床位费用][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [检查费用][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [治疗费用][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [余额][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[应付费用][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [实交费用][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [结账统计][float]NULL,[联系电话][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [收费人][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT[PK_出院费用总计]PRIMARY KEY CLUSTERED([病人号]ASC)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY])ON[PRIMARY]GO--创建入院病人信息表CREATE TABLE[dbo].[入院病人]([病人号][nchar](10)COLLATE Chinese_PRC_CI_AS NOT NULL, [床位号][varchar](50)COLLATE Chinese_PRC_CI_AS NOT NULL, [姓名][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[年龄][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[预交款][varchar](50)COLLATE Chinese_PRC_CI_AS NULL,[联系电话][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [病情描述][varchar](50)COLLATE Chinese_PRC_CI_AS NULL, [病历编号][decimal](18,0)NULL,CONSTRAINT[PK_入院病人]PRIMARY KEY CLUSTERED([病人号]ASC)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY])ON[PRIMARY]GO6.VB界面设计及程序逻辑代码设计6.1界面设计图6.1.1系统登录界面图6.1.2系统主界面6.2本系统模块以及详细说明6.2.1系统设置6.2.1.1添加用户实现对新用户的添加6.2.1.2密码修改系统设置包括密码修改,用于修改当前管理员或者用户的密码。