1、钦 州学院本科毕业论文(设计)医院信息管理系统 院 系 xx 专 业 xx xx 学 生 班 级 xxx 姓 名 xx 学 号 xxx 指导教师单位 xx 指导教师姓名 xx 指导教师职称 xx 2010 年 4 月医院信息管理系统数学与应用数学(信息与计算机科学方向)专业2006级 xx指导教师 xx摘要医院信息管理系统在国际学术界已被公认为新兴的医学信息学的重要分支.美国该领域的著名教授Morris.Collen于1988年曾著文为医院信息管理系统下了定义:利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据交换的能力,并满足所有授权用户的
2、功能需求.该文中所介绍的医院信息管理系统旨在改善一些中小型医院的信息管理,改变医院信息处理的手工状况,降低劳动强度,提高工作效率.本系统不仅适用于医院的行政管理业务,也适用于具体的就诊事务业务.本系统可以使医务人员有更多的时间和精力服务病人,同时保证病人和医院的利益,从而使医院能够获得更好的社会效益和经济效益1.本系统是利用Visual Basic 6.0和SQL Server 2000数据库共同开发的,为用户提供强大的数据操纵功能,界面友好、使用简单方便,同时基于客户机/服务器模式,系统维护成本低2.关键词:医院信息管理系统,Visual Basic 6.0,数据库,中小型Hospital
3、information management systemMathematics and Applied Mathematics (Information and Computer Section direction) Professional2006 xxSupervising teacher xxAbstractThe hospital information management system has been recognized in the international academic circle as the emerging medicine information scie
4、nces important branch. American this domains famous Professor Morris.Collen defined in 1988 for the hospital information management system: Using the electronic accounting machine and the communication equipment, provide the patient for the hospital subdivisions gate to diagnose and treat the inform
5、ation and the administration information collection, the memory, processing, the extraction and data exchange ability, and satisfies all authorized user the function demand.In this article introduced the hospital information management system is for the purpose of improving some middle and small sca
6、le hospitals the information management, changes the hospital information processing the manual condition, reduces the labor intensity, raises the working efficiency. This system is not only suitable for the hospital administration service, is also suitable for the concrete seeing a doctor business
7、service. This system may enable the medical personnel to have more time and the energy service patient, simultaneously guarantees the patient and the hospital benefit, thus enables the hospital to obtain the better social efficiency and the economic efficiency.This system is using Visual Basic 6.0 a
8、nd SQL the Server 2000 databases develops together, provides the formidable data operation function for the user, the contact surface is friendly, use simple convenient, simultaneously based on the client/server pattern, the system maintenance cost is low.Keywords: Hospital information management sy
9、stem, Visual Basic 6.0, Database, Middle and small scale目录1引言11.1背景11.1.1现行业务简介11.1.2系统背景11.2目标22需求分析32.1系统需求32.2性能需求32.2.1硬件环境32.2.2软件环境43总体设计53.1系统概述53.2系统模块53.3模块设计73.3.1登录模块73.3.2主控制平台主要管理模块74数据库设计84.1关于应用程序和数据库的接口84.2数据库84.2.1数据库84.2.2主要数据表结构84.2.3数据库的建立164.2.4触发器的设计174.2.5视图和存储过程的设计195详细设计225.
10、1系统项目文件和公共文件225.2主控制平台的设计和实现245.3用户登录模块27钦州学院本科毕业论文(设计)5.4系统管理模块285.4.1数据备份子模块285.4.2数据恢复子模块315.4.3权限设置子模块335.5病房管理模块355.6住院管理模块425.7药库管理模块435.8专家管理模块536系统维护和改进586.1运行维护586.2系统的改进与提高58致谢59参考文献601引言1.1背景1.1.1现行业务简介医院信息管理业务大致经过如个的管理流程:(1) 对医院医务人员的信息由专职人员录入系统,包括人员编号、姓名、职务以及所属科室等.(2) 对病人的基本信息也由专职人员录入系统,
11、包括挂号单号、姓名、主要诊断、既往病史、家庭史、个人史以及主治医生等.(3) 对病房维护也由专职人员录入系统,包括病房号、床位数、所属科室以及负责人等.(4) 对住院管理也由专职人员录入系统,包括住院号、姓名、病房号、联系地址、主要诊断、收入科室以及主治医生等.(5) 对科室维护也由专职人员录入系统,包括科室编号、科室名称.(6) 对交费管理也由专职人员录入系统,包括挂号单号、姓名、住院号、医药费用、其它费用、产生费用以及收费时间等.(7) 对药房管理也由专职人员录入系统,包括药品编号、名称、规格、单价、数量以及类别编号.(8) 对药库管理也由专职人员录入系统,包括添加、修改、删除以及保存药品
12、信息.1.1.2系统背景通信以及计算机技术的发展使全球进入信息化时代,全各国都在信息化建设方面投入巨大人力财力,医疗卫生领域更是实现信息化的重点3.伴随着国家整体医疗卫生网络的建设,保医疗单位尤其是医院内部信息管理的建设成为越来越重要的事.然而,我国医院的信息处理基本上还停留在手工方式,劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,致使“人不能尽其才”4.而且还不可避免地产生一些错误,严重的甚至会危害人们的身体健康及生命安全,这充分说明了医院信息系统建设的重要性.医院信息管理系统的有效运行,将提高医院各项工作的效率和质量,促进医学科研、教学;减轻各类事务性工作的劳动
13、强度,使医疗工作者能够腾出更多的精力和时间来服务于病人;改善经营管理,堵塞漏洞,保证病人和医院的经济利益;为医院创造经济效益5.1.2目标 随着计算机技术和现代通信技术的发展,人类已经步入以数字化和网络化为特征的知识经济时代,人们对各种信息量的需求也逐渐增大,医院信息管理系统是信息技术在医院推广应用的必然产物,一家医院要想运用信息系统管理好医院,就必须有一个对医院信息管理系统周密的设计方案,严密的实施计划和具体的实现方法. 通信及计算机技术的全球进入信息化时代,各国都在信息化建设方面投入巨大人力财力,医疗卫生领域更是实现信息化的重点.伴随着国家整体医疗卫生网络的建设,各医疗单位尤其是医院内部信
14、息管理系统的建设成为越来越重要的事.然而,我国医院的信息处理基本上还停留在手工方式,劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,致使“人不能尽其才”.而且还不可避免地产生一些错误,严重的甚至会危害人们的身体健康及生命安全,这充分说明了医院信息系统建设的重要性.医院信息管理系统的有效运行,将提高医院各项工作的效率和质量,促进医学科研、教学;减轻各类事务类型劳动强度,使医疗工作者能够腾出更多的精力和时间来服务于病人;改善经营管理,堵塞漏洞,保证病人和医院的经济得益;为医院创造经济效益.2需求分析2.1系统需求1因医院需要对每个人员进行各个方面的管理,如院长、医生等.这
15、就需要建立一个数据库来管理每个工作人员的信息,如用户添加、删除、修改密码等,这有助于清晰地管理每个工作人员的信息.因权限不同,各个用户能够进入的界面就不同,他们只能进行权限之内的操作.2对于来医院看病的病人,应先去挂号并记录一些病人的信息,如果需要修改挂号信息,可以先查询该病人的信息,然后再对其进行修改.3病人挂完号之后,需要到收费室去交费,收费人员根据病人的挂号单号进行查询,界面中就会出现病人的就诊信息,缴费信息中显示出病人这次所要缴费的所有信息,包括数量、单价以及总金额等.如果需要还可以查询病人的缴费信息.4如果病人病情比较严重,需要住院,那么该病人在挂号填写病人信息时就要选择住院,这样他
16、就可以直接到住院部门去,因为该病人的住院信息已经自动产生,可只是有部分信息还需要病人完善.5病人住院期间的各种费用都需要登记,并且可以查询.6病人出院时,需要进行出院结算,此费用也是在收费部门交费,因为病人信息在挂号完成后就病人的收费的部分信息就已经产生了,同样也是在收费部门中完成.7系统运行在Windows平台上,要求有一个较好的图形用户界面,要求操作简单.8系统就忘有很好的可扩展性,以便医院根据实际情况添加新的功能.2.2性能需求系统的运行对运行环境的要求:2.2.1硬件环境CPU:Inter Pentium 4 3.06G或更高内存:512M(推荐)硬盘:80G以上可用空间显卡:SVGA
17、显示适配器2.2.2软件环境操作系统:Windows平台,如Windows95/98/Me、WindowsNT/2000/XP数据库支持:SQL server 2000软件支持:Visual Basic 6.03总体设计3.1系统概述医院信息系统(Hospital Information System,HIS)是计算机技术、通信技术和管理科学在医院信息管理中的综合应用.HIS是当前医疗部门信息管理的主要模式之一,通过计算机网络实现以院长为核心的门诊、住院、药品等信息的全面网络化管理,为提高医院的现代化经营管理水平发挥了重大作用6.医院管理信息系统(Hospital Management Inf
18、ormation System,HMIS)的主要目标是支持医院的行政管理与事务处理业务,减轻事务处理人员的劳动强度,辅助医院管理,辅助高层领导决策,提高医院的工作效率,从而使医院能够以少的投入获得更好的社会效益与经济效益,像人事系统、住院病人管理系统、药品库存管理系统等就属于HMIS的范围.系统的基本流程是:用户登录系统主控平台选择各项子系统.3.2系统模块医院信息管理系统主要分为系统管理、病房管理、住院管理、药库管理、信息查询、专家预览,共6个部分.系统模块层次如图3.1系统管理用户注册密码修改用户删除人员维护查看操作员数据备份数据恢复权限设置医院信息管理系统信息查询专家信息病房管理病房维护
19、科室维护电子病历档案封存档案解封住院管理住院登记结账出院交费管理药库管理药房管理药品入库系统模块层次图 3.13.3模块设计3.3.1登录模块输入用户名的密码,如果用户名和密码正确,进入主控制平台;否则提示用户明确的错误信息.3.3.2主控制平台主要管理模块(1)用户管理模块:包括用户注册、密码修改、权限设置和用户删除子模块,系统管理员可以修改任何用户的信息,非系统管理员只能修改本用户的信息.(2)病房管理模块:包括病房维护、科室维护、电子病历、档案封存以及档案解封的子模块,各个部门都可以实现对该部门信息的添加、修改以及删除等操作,系统管理员可以对任何一个部门进行操作,而一般用户不行.(3)住
20、院管理模块:包括住院登记、结账出院以及交费管理的子模块.(4)药库管理模块:包括药房管理、药品入库的子模块,这些部门都可以对该部门的信息进行添加、修改以及删除等操作.(5)专家预览模块:该模块记录医院专家的基本信息,可以供病人查看专家的信息,但只能管理员才能对信息进行添加、修改和删除.系统各个模块的数据处理如图3.2所示:用户数据录入用户管理用户数据入库药品数据录入药库管理药品数据入库专家数据录入专家浏览专家数据入库病房科室数据录入病房管理电子病历数据录入病房数据入库住院数据录入交费数据录入住院管理住院结账数据入库数据查询系统模块数据处理图 3.24数据库设计4.1关于应用程序和数据库的接口本
21、系统是采用ADO访问数据库. ADO(Active Data Object)是一种提供访问各种数据库的连接机制,它使用OLEDB数据支持提供一个面向对象的访问数据源的接口,内置了连接类、命令类和数据集类,集成了VB的DAO和RDO的优点7.在Visual Basic 6.0工程中,选择菜单“工程”“引用”命令,出现如图3所示的对话框,在“可用的引用”中选择Microsoft Active Data Object 2.7 Library选项,单击“确定”按钮,这样就在程序中加入了对ADO的引用.4.2数据库根据系统分拆和模块设计,本系统数据库的主要数据项和数据结构如下:4.2.1数据库1数据库名
22、称:医院信息管理信息库2标识:Data_YYGL.4.2.2主要数据表结构1表名:用户信息表.标识:Table_yhxx.数据来源:用户管理模块的录入.用户信息表 4.1字段名是否主键字段类型字段长度是否允许为空备注Id是Decimal9否无Usename否Varchar10否无Password否Varchar20否无Yhgl否Real4否无Mmxg否Real4否无qxsz否Real4否无csh否Real4否无bfwh否Real4否无dzbl否Real4否无fzjf否Real4否无cly否Real4否无jfgl否Real4否无cxgl否Real4否无ykgl否Real4否无zjll否Real4
23、否无用户信息用户姓名用户编号用户管理用户密码密码修改权限设置数据管理病房维护病历管理出入院管理查询管理档案管理交费管理药库管理专家管理用户信息E-R图4.22表名:电子病历信息表.标识:Table_kfzz.数据来源:病房管理模块录入.电子病历信息表 4.3字段名是否主键字段类型字段长度是否允许为空备注Ghdh是Decimal9否无Zyh否Decimal9否无Xm否Varchar10是无Xb否Char4是无Csrq否Datetime8是无Nl否Int4是无Whcd否Varchar10是无Hyzk否Varchar10是无Mz否Varchar10是无gi否Varchar20是无jg否Varchar
24、30是无zy否Varchar20是无gzdw否Varchar20是无dwdh否Varchar50是无jtdz否Varchar50是无lxdh否Varchar20是无sfid否Varchar30是无yb否Varchar20是无lxr否Varchar10是无yrgx否Varchar10是无lxrdh否Varchar20是无lxrdz否Varchar50是无zyzd否Varchar50是无jwbs否Varchar50是无grs否Varchar50是无jzs否Varchar50是无xyl否Varchar20是无gmyw否Varchar50是无xx否Varchar10是无zdrq否Datetime8是无
25、Zzys否Varchar10是无Sffc否Real4是无Fcz否Varchar10是无电子病历是否封存民族国籍籍贯性别单位电话家庭地址职业主治医师诊断日期既往病史工作单位联系电话过敏药物联系人年龄联系人电话身份证号文化程度联系人地址与联系人关系邮编姓名吸烟量个人史出生日期家族史ABO血型主要诊断住院号挂号单号封存者婚姻状况电子病历E-R图4.43表名:住院信息表.标识:Table_zyxx.数据来源:病房管理模块录入.住院信息表 4.5字段名是否主键字段类型字段长度是否允许为空备注Zyh是Decimal9否无Ghdh否Decimal50是无Xm否Varchar10是无Xb否Char4是无Csr
26、q否Datetime8是无Nl否Int4是无Lxdz否Varchar50是无Lxdh否Varchar20是无zyzd否Varchar50是无fkfs否Varchar20是无Lysj否Datetime8是无Zzys 否Varchar10是无Slks否Varchar20是无Sfcy否Real4是无Sfjz否Real 4是无Bfh否Decimal9是无Cysj否Varchar50是无Bz否Text16是无住院信息联系地址出院时间付款方式是否结账是否出院主治医院收入科室入院时间出生日期挂号单号联系电话主要诊断住院号性别年龄姓名病房号备注住院信息E-R图4.64表名:处方明细信息表.标识:Table_c
27、fb_mxb.数据来源:病房管理模块录入.处方明细信息表 4.7字段名是否主键字段类型字段长度是否允许为空备注Cfh否Decimal9否无Ghdh否Decimal9否无Ywmc否Varchar50是无ywgg否Varchar50是无yl否Varchar30是无dw否Varchar50是无Dj否Money8是无zje否Money8是无yf否Varchar30是无cfyz否Varchar50是无处方明细信息药物名称挂号单号处方编号药物规格处方医嘱单价用法单位用量总金额处方明细信息E-R图4.85表名:收费信息表.标识:Table_sfb.数据来源:住院管理模块录入.收费信息表 4.9字段名是否主键
28、字段类型字段长度是否允许为空备注ghdh是Decimal9否无Xm 否Varchar10否无Xb否Varchar4否无Zyh否Decimal9否无Ssmz否Varchar20是无Lxdz否Varchar50是无Zyzd否Varchar50是无Fkfs否Varchar20是无Yyfy否Money8是无zgys否varchar10是无qtfy否Money8是无Csfy否Money8是无Yjfy否Money8是无Lysj否Datetime8是无Jfsj否Datetime8是无收费信息挂号单号主要诊断交费时间医药费用医药费用已交费用联系地址产生费用付款方式主治医师其它费用性别姓名住院号医药费用收费信息
29、E-R图4.106表名:药品信息表.标识:Table_ypb_xy.数据来源:药库管理模块录入.药品信息表 4.11字段名是否主键字段类型字段长度是否允许为空备注Ypid否Decimal9否无Drugname否Nvarchar50否无Pinyin否Nvarchar10否无Unitprice否money8否无Gg否Nvarchar10否无Dw否Nvarchar20否无Sl否Int4否无Sccj否Nvarchar50是无Lksj否Datetime8是无Cksj否Datetime8是无Lbid否Decimal9是无药品信息药品拼音药品编号药品名称类别编号出库时间入库时间生产厂家单位单价数量规格药品信
30、息E-R图4.127表名:专家信息表.标识:Table_zjxx.数据来源:专家浏览模块录入.专家信息表 4.13字段名是否主键字段类型字段长度是否允许为空备注Zjid否Int4否无Xm否Varchar10是无Xl否Varchar10是无Xb否Char10是无Gzbj否Nvarchar100是无Zjjj否Nvarchar100是无Zp否Image16是无专家信息表专家背景专家编号工作背景姓名性别学历照片专家信息表E-R图4.14除了上面几个数据表之外,还有病程记录信息表、病房信息表、医务人员信息表、其它收费信息表、科室部门信息表、处方信息表、诊断证明信息表、药房信息表、药品销售信息表以及销售记
31、录信息表。其它的数据表都有类似之处,这里就不再一一详细说明。这些数据表都是结合医院的管理制度和病人的需求设计的,基本上满足医院的信息需求。4.2.3数据库的建立在SQL Server里创建数据库有很多种方法,这里采用SQL语句来创建数据库.打开SQL Server的查询分析器,选择本地服务器,连接到SQL Server数据库,登录名和密码均为sa.将SQL语句复制在查询分析器里,然后执行SQL语句.SQL语句由如下两层结构构成:(1)删除同名数据库并创建新数据库.Use masteGoIf exists(select * from dbo.sysdatabases where name=Dat
32、a_YYGL)Drop database Data_YYGLGoCreate database Data_YYGLGo(2)删除同名表,并用create table语句建立数据库表.以用户信息表为例,SQL语句如下:If exists(select * from dbo.sysobjects where id=object_id(Ndbo.Table_yhxx) and objectproperty(id,Nisusertable)=1)Drop table dbo.Table_yhxxGocreate table dbo.yhxx(userid decimal not null,userna
33、me varchar(50) not null,password varchar(50) not null,yhgl real not null,mmxg real not null,qxsz real not null,csh real not null,bfwh real not null,dzbl real not null,fzjf real not null,cly real not null,jfgl real not null,cxgl real not null,ykgl real not null,zjll real not null,primary key (userid)
34、Go4.2.4触发器的设计触发器是一种特殊类型的存储过程,当使用一种或多种数据修改操作(UPDATE、INSERT或DELETE)来修改指定表中的数据时运行.触发器可以查询其他表,而且可以包含复杂的sql语句.它们主要用于强制服从复杂的业务规则或要求8.本数据库表里设计了许多的触发器,触发器的设计使得医院信息管理系统得到更好的运行,使得工作人员操作起来更加的方便.例如,当医务人员在电子病历中输入病人的基本信息时,另外部门的相应的信息也会自动产生,如挂号单号、住院号、姓名以及性别等等,这样以来输入病人的信息便成为一系列的操作,刚开始填写病人的电子病历,便会产生病人的部分处方信息、住院信息(视病人
35、是否住院)、收费信息等等.下面就着重说明电子病历信息表(Table_kfzz)中的触发器,其它表中的触发器功能相似.(1)创建触发器的create trigger语句的简单语法如下:CREATE TRIGGER TRIGGER NAME ON dbo.Table_kfzz FOR INSERT, UPDATE, DELETE AS(2)insert触发器.对于前面创建的Data_YYGL数据库,当填写了病人的电子病历信息之后,处方表、收费表、诊断证明表以及住院表(视病人是否住院,本系统中住院号为0即不住院)中应该同时产生相应的挂号单号、住院号等等相关的信息,这时候就用到了insert触发器.创
36、建的触发器如下:CREATE TRIGGER dbo.hwe_insert ON dbo.Table_kfzz after INSERT ASbeginset NOCOUNT ondeclare id decimal,id1 decimal,m nvarchar(50),b char(10),cs datetime,s intdeclare dw varchar(50),dz varchar(50),dh varchar(50),zd varchar(50),ys varchar(50)select id=ghdh,id1=zyh,m=xm,b=xb,cs=csrq,s=nl,dw=gzdw,
37、dz=jtdz,dh=lxdh,zd=zyzd,ys=zzys from insertedinsert into Table_cfb(ghdh)values(id)insert into Table_zdzms(ghdh,brxm,nl,xb,gzdw,xzz)values(id,m,s,b,dw,dz)insert into Table_sfb(ghdh,xm,xb,zyh,zyzd,zgys)values(id,m,b,id1,zd,ys)if id1!=0begininsert into Table_zyxx(ghdh,xm,xb,csrq,nl,lxdh,zyzd,zzys,zyh)v
38、alues(id,m,b,cs,s,dh,zd,ys,id1)endend(3)delete触发器对于前面创建的Data_YYGL数据库,当在电子病历中删除了某病人的信息时,则应该在相应的信息表中也删除对应的信息,这就需要到delete触发器.创建的触发器如下:CREATE TRIGGER dbo.hwe_delete ON dbo.Table_kfzz after DELETE ASbeginset NOCOUNT ONdeclare id decimalselect id=ghdh from deleteddelete Table_cfb where ghdh=iddelete Table
39、_sfb where ghdh=iddelete Table_zdzms where ghdh=iddelete Table_zyxx where ghdh=idend4.2.5视图和存储过程的设计在数据库中创建了一个或者多个表之后,可以使用视图这种数据库对象以指定的方式查询一个或者多个表中的数据.视图可以说是仅仅在显示时才存在的虚表.视图可以代替表完成从表中查询、浏览、插入、更新和删除数据的操作.视图也可以用于定义查询9.本数据库内的视图基本上都是用来查询,比较简单这里就不要说明.在数据库中使用存储过程,具有能够实现较快的执行速度、减少网络流量和编程代码量等优点,而且用户可以利用十分复杂的s
40、ql语句创建存储过程;为了能使用这些复杂的sql语句,必须运行存储过程;另外使用存储过程还有安全可靠方面的优点8.在存储过程创建以后,对基本表的所有访问都会被取消.只要用户运行存储过程,就隐含着能访问这些表.下面就着重说明本数据库中创建的存储过程.(1)存储过程创建语法由于必须使用transqct-sql语句创建存储过程,因此必须掌握创建存储过程的transqct-sql语法结构.创建存储过程的语法如下:CREATE PROC EDURE procedure_name;numberparameter data_typeVARYING=DEFAULTOUTPUT,nAS sql_statementnCREATE PROCEDURE语句的参数及说明如表4.15所示Create procedure参数表 4.15参数说明Procedure_name新存储过程的名称parameter过程中的参数Data_type参数的数据类型As指定过程要执行的操作Sql_statement过程中要包含的任意数目和类型的transact-sql语句