毕业设计基于VB和MS SQL Server的HIS医院管理信息系统设计.docx
- 文档编号:15322101
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:39
- 大小:173.10KB
毕业设计基于VB和MS SQL Server的HIS医院管理信息系统设计.docx
《毕业设计基于VB和MS SQL Server的HIS医院管理信息系统设计.docx》由会员分享,可在线阅读,更多相关《毕业设计基于VB和MS SQL Server的HIS医院管理信息系统设计.docx(39页珍藏版)》请在冰点文库上搜索。
毕业设计基于VB和MSSQLServer的HIS医院管理信息系统设计
第一章引言
1.1医院信息管理系统现状
近年来,随着我国信息产业的飞速发展,计算机的开发应用已渗透到各个领域,而且日趋普及。
在医学领域内,计算机的应用已经十分广泛,各种智能诊断设备都与计算机紧密结合在一起,主要应用于两个方面:
一是医疗设备智能化,以硬件为主,如彩色B超、CT等。
另一种是医院信息管理系统(HIS)的软件建设,不仅可以提高医院的工作效率,同时,也提升了医院的现代化管理形象。
我国医院信息管理系统的发展形势十分令人鼓舞,无论是国家、医院还是软件公司,都投入了大量的人力、物力、财力。
大中型医院基本上都建设了自己的医院信息管理系统,这说明医院本身在对HIS建设的认识上都有了很大的提高。
信息管理系统的建设对医院带来的效率、效益以及管理水平的提高,使医院管理层对信息管理系统建设的重要性和必要性有了更深一步的认识。
1.2开发系统意义
随着我国医疗卫生体制改革的逐步深入,国家将大力发展城市社区和农村乡镇卫生服务事业,但从目前的发展现状看,这些小型医院信息管理系统的建设还很薄弱。
而从医院的服务质量和经济效益上考虑,HIS系统的有效运行,将全面提升医院的信息化管理水平,提高医院管理人员、医务人员的工作效率,降低医院的管理成本,为患者就医提供便利,为医院创造更大的社会效益和经济效益。
因此,一个适应社会发展的医院,不仅需要有一流的硬件设施,同样也需要一个适合医院发展的HIS系统。
由此可以看出,随着我国城乡卫生事业的发展壮大,针对小型医院特点和需求开发HIS系统,有着十分广阔的市场和发展前景。
第二章需求分析说明书
2.1开发系统背景
从我国大中小医院及其信息化建设的情况,我们可以看到目前我国HIS建设过程中,乡镇及社区小型医院的信息化建设并没有得到长足的发展,没有得到HIS企业的根本重视和主动推动。
目前小型医院信息化具有:
投资要求小,建设周期短的特点。
由于内部机构不复杂,容易调整使用的习惯,适应新建的应用模式。
有较多可参考的信息化建设成功经验。
因此,在医疗卫生机构中占绝对数量优势的中小医院的信息化建设将对大型医院更能有效推动,这是一个被忽视的HIS市场。
针对我国HIS发展这一特点,我研发了主要用于农村乡镇和城市社区的小型HIS系统。
因为投资小,技术强度不大,开发周期短的等特点,完全符合小型医院的特点,这样势必会使小型医院的信息化建设迈上一个新的台阶。
2.2开发任务概述
根据实际调研情况,乡镇小型医院的机构设置十分简单,看病就医的流程也大致相同。
对病人看病,其流程简单概括为:
对于非住院病人来说,首先,病人看病要进行挂号登记,登记后当相应的科室找医生开处方,然后拿着处方到门诊收费处交费,接着根据交费单到药房抓药进行治疗。
对于住院的病人来说,首先要完成住院登记,接着找到医生进行治疗开处方,然后到收费处交住院押金,最后治疗完毕后办理出院手续。
对医院方面来说要完成的功能是查看药房、药库的药品详细信息,对药库的药品进行盘点清查,从而减少损失,对收取的费用生成单据等工作。
因此,依据此业务流程,设置HIS的系统模块如下图所示:
图2-1HIS的系统模块图
对上这四个模块基本可以完成小型医院的信息化管理,从而提高医院的信息化管理水平,提高医院经济效益。
2.3项目开发技术
本系统开发主要用到的技术是VusialBasic6.0,MicrosoftSQLServer和ADO。
VusialBasic6.0简介:
VisualBasic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,VB都是世界上使用人数最多的语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
VB的中心思想就是要便于程序员使用,无论是新手或者专家。
VB使用,可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的应用项目。
VB的程序是一种基于可视化窗体组件的联合,并且增加代码来指定组件的属性和方法。
因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。
窗体控件的增加和改变可以用拖放技术实现。
一个排列满控件的工具箱来显示可用控件,每个控件都有自己的属性和事件。
VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体。
因为越来越多组件的出现,程序员可以选用自己需要的扩展库。
VB使得大量的第三方控件有了自己的生存空间。
因此,对于本系统的GUI设计来说,使用VB是不错的选择。
MicrosoftSQLServer简介:
数据库系统本质上是一个用计算机存储记录的系统。
数据库本身可被看作为一种收集计算机数据文件的仓库或容器。
系统用户可以对这些文件执行插入数据、检索数据、更改数据、删除数据等一系列操作。
它是一个计算机系统,该系统的目标是存储信息并支持用户检索和更新所需要的信息。
典型的数据库系统有Oracle、Sybase、MicrosoftSQLServer、Access、Foxpro等。
绝大多数企业目前使用的关系型数据库系统为MicrosoftSQLServer。
MSSQLServer是使用关系数据库管理系统的标准语言SQL(StructuredQueryLanguage,结构查询语言)。
SQL语言是所有关系数据库的公共语言,因此,SQL语句是可以移植的。
SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据等。
SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL语句接受集合作为输入,返回集合作为输出。
企业级的系统开发更青睐MSSQL做为自己的数据库系统。
ADO技术简介:
ADO数据控件
bfw黑色海岸线网络安全资讯站ActiveXDataObjects(ADO)是微软最新的数据访问技术,它是Microsoft公司开发数据库应用程序面向对象的新接口。
它被设计通过OLEDB实现对不同数据类型数据源的访问。
OLEDB包括三个主要的部分:
数据提供者、数据消费者和服务组件。
其关系如图所示:
ADO
bfw黑色海岸线网络安全资讯站
OLEDB
ORACLE
MSSQL
图2-2ADO技术图
ADO向我们提供了一个熟悉的,高层的对OLEDB的Automation封装接口。
如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLEDB的接口;就像不同的数据库系统都需要它们自己的ODBC驱动程序一样,不同的数据源同样要求有它们自己的OLEDB提供者(OLEDBprovider)。
目前,虽然OLEDB提供者比较少,但微软正积极推广该技术,并打算用OLEDB取代ODBC。
ADO向VB程序员提供了很多好处。
包括易于使用,熟悉的界面,高速度以及较低的内存占用(已实现ADO2.0的Msado15.dll需要占用342K内存,比RDO的Msrdo20.dll的368K略小,大约是DAO3.5的Dao350.dll所占内存的60%)。
同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。
因此你可以只创建一个"Connection"对象,但是可以有多个,独立的"Recordset"对象来使用它。
ADO是DAO/RDO的后继产物,它扩展了DAO和RDO所使用的对象模型,具有更加简单,更加灵活的操作性能。
ADO在前端和数据源之间使用最少的层数,提供了轻量、高性能的数据访问接口,可通过ADOData控件非编程和利用ADO对象编程来访问各种数据库。
第三章可行性分析
可行性分析是系统分析阶段的重要活动,是对系统进行全面、客观、概要的分析。
它的任务是确定项目开发始否必要和可行。
简单来说,可行性分析是要决定“做还是不做”。
它的主要任务是根据需求分析的初步方案,从多方面分析系统实施的必要性,并对相关的各种因素进行论证,从而对系统的决策提供科学的依据。
针对本系统,主要从经济可行可行性和技术可行性两方面来分析。
3.1经济可行性
对于小型医院,因其结构简单,所需功能较少,因此在制作软件的费用方面也比大中型医院的管理系统要廉价许多。
因为系统便于维护,因此,在软件实施、运行、维护的费用上,也不会有太大的开销,但其所带来的经济效益却相当可观。
HIS系统将会填补管理上的漏洞,有效的防止药品丢失、过期等问题所带来的经济损失。
改善了患者的就医环境,提高了医院的工作效率和服务质量。
因此,对HIS投入的成本远小于系统本身的价值。
3.2技术可行性
在伴随着信息化时代前进的步伐,信息化应用于各个领域的今天,不管是从硬件还是从软件上,医院信息管理系统的开发中都可以实现,可以满足医院管理的各个环节。
不论是C/S、B/S或者是三层模型的开发模式,都可以根据需求来做出相应的模式。
这些技术已在各种信息管理系统中广泛应用,通过实践证明,这些技术也同样适用于小型医院信息管理系统的开发。
第四章系统设计说明书
本系统的设计分为用VB搭建的前台界面的设计和用MSSQL搭建后台数据库的设计,利用ADO技术实现前台界面和后台数据库的连接。
整个系统采用灰色为主色调,界面友好,操作简单。
4.1用户登录窗体的设计
4.1.1功能分析
用户登录是进入系统的必要条件,用户只有提供正确的登录信息,才可以启动系统主窗体。
4.1.2设计原理
首先使用ADO技术,使VB与数据库建立连接,然后在登录窗体中,输入登录者的用户名和密码,会在数据库里检索,如果信息正确则登录成功,如果信息错误,则提示错误。
为了防止密码的丢失,特设置密码尝试只能为三次,大于三次的尝试,系统将会自动退出。
4.1.3界面设计
在已打开个“标准EXE工程”里添加一个名为frmlogin的“登录对话框”窗体。
其界面和控件属性如下所示:
图4-1界面设计图
窗体和控件主要属性如下表所示:
控件
属性
属性设置
frmLogin
capation
登录
Label1
capation
医院信息管理系统
Text1
name
txtusername
Text2
Name
txtpwd
Command1
name
cmdok
capation
确定
Command2
name
Cmdcancel
capation
取消
注:
txtusername代表名为txtusername的文本框;cmdOK代表名为cmdOK的按钮
4.1.4数据库设计与实现
在数据库his_test里插入t_loginuser作为存储登录用户信息的表,并把其字段设计如图所示:
图4-2登录用户信息图
向表中插入数据,如username=admin,pwd=111。
在当前工程下添加模块并利用ADO技术实现数据库与VB控件的连接。
代码如下:
PublicobjcnAsNewADODB.Connection
PublicobjrsAsADODB.Recordset
PublicSubMain()
objcn.Provider="SQLOLEDB"
objcn.ConnectionString="UserID=sa;InitialCatalog=his_test;DataSource=icebean"
objcn.Open
IfNotobjcn.State=adStateOpenThen
MsgBox"数据库异常或连接错误",vbAbortRetryIgnore,"出错"
End
Else
MsgBox"欢迎您进入HIS系统",,"连接数据库成功"
frmLogin.Show
EndIf
EndSub
在窗体frmlogin中完成当用户点击确定时,在数据库t_loginuser表中进行检索,若成功则进入,若失败则报错。
连接三次不成功,自动退出系统。
其实现代码如下:
DimAccountAsInteger
PrivateSubcmdcancel_Click()
DimStrAsString
Str=MsgBox("您好,您确定退出该系统管理吗?
",vbQuestion+vbYesNo,"确认退出?
")
IfStr=vbYesThen
End
EndIf
EndSub
PrivateSubcmdOK_Click()
Account=Account+1
IfTrim(txtUserName.Text="")Then
MsgBox"没有输入用户名称,请重新输入!
",vbOKOnly+vbExclamation,"警告"
txtUserName.SetFocus
Else
Setobjrs=NewADODB.Recordset
objrs.Open"select*fromt_loginuserwhereusername='"&txtUserName.Text&"'andpwd='"&txtpwd.Text&"'",objcn,adOpenDynamic,adLockOptimistic,adCmdText
IfNotobjrs.EOFThen
Framain.Show
Me.Hide
ElseIfAccount=3Then
MsgBox"三次错误退出系统!
",vbInformation,"输入错误"
End
Else
MsgBox"帐号或密码错误!
",vbInformation,"输入错误"
EndIf
EndIf
EndSub
PrivateSubForm_Load()
Account=0
txtUserName.Text=""
txtpwd.Text=""
EndSub
4.2主窗体的设计
4.2.1功能分析
主窗体是系统中不可或缺的一部分,它可以完成与指定窗体进行链接,快速的进入所需模块的任务。
4.2.2设计原理
利用VB知识,使指定的菜单选项与指定模块建立连接。
4.2.3界面设计
在当前工程中,添加MDI窗体,MDI窗体为多文档界面,且一个工程中只能有一个MDI窗体。
利用“菜单编辑器”对该窗体进行编辑所需模块,并设置相应模块的名称。
图4-3菜单编辑器
最后生成Framain主窗体,如图:
图4-4主窗体
4.2.4主窗体的实现
主窗体的任务只是与各个子模块进行链接,不需要在数据库中进行处理。
因此,在主窗体中设计以下代码即可:
PrivateSub单击对象_Click()‘获取鼠标单击事件
窗体名.Show‘显示指定窗体
窗体名.ZOrder0
EndSub
例如:
PrivateSubmChangeEmp_Click()
frmLogin.Show
frmLogin.ZOrder0
EndSub
即只需单击菜单栏中名为mChangeEmp的菜单,则显示名为frmlogin的窗体。
4.3系统设置模块设计
4.3.1功能分析
系统设置主要完成更换操作员、修改密码和退出系统的操作,方便用户的更换以及保证用户使用系统的安全性。
4.3.2设计原理
更换操作员与已建立好的frmlogin窗体进行链接,无需建立新的窗体。
当用户修改自身密码时,首先输入远密码,先在数据库中判断原密码是否一致,再输入新的密码,并经过确认。
两次输入新密码不一样则报错。
当新密码被修改并存入数据库后,则系统提示修改成功。
4.3.3界面设计
在当前工程中建立名为changepwd的窗体,其界面和控件属性如下所示:
图4-5界面设计
窗体和控件主要属性如下表所示:
控件
属性
属性设置
changepwd
capation
修改密码
Text1
name
txtpwd
Text2
name
txtnewpwd
Text3
name
confirmpwd
Command1
name
cmdok
capation
确定
Command2
name
Cmdcancel
capation
取消
4.4医院管理模块设计
4.4.1功能分析
门诊管理系统:
门诊管理系统是医院信息流的起点,主要完成病人身份登记、门诊挂号、门诊划价收费并生成费用清单等功能,以便用户进行核查。
药房管理系统:
药房管理系统应用于门诊药房、住院处各病区药房,主要完成窗口发药和各药房药品盘点、清查等工作。
方便医院工作者对药品进行无重复劳动力的管理和药品的准确发放。
药库管理系统:
通过对药品的基本信息、入库、销售出库、盘点等信息的处理,完成对药品药库出入库明细、药品库存的综合管理。
提高再次盘点药品的工作效率,减少药品过期、损耗所带来的经济损失。
住院管理系统:
通过对住院登记、住院划价收费、出院结算等信息的处理实现对住院病人的全面管理。
并生成住院费用清单,方便用户核查。
4.4.2设计原理
门诊管理系统:
操作员对前来挂号的病人进行身份登记、挂号办理以及收费等工作,并把其信息存储至相应的数据库表中。
对门诊收费项目要生成报表,产生收费明细单。
药房管理系统:
操作员主要完成应用于门诊药房、住院处各病区药房窗口发药和各药房药品盘点、清查等工作,把其信息存储至相应的数据库表中,并生成药房药品的信息明细报表和药房发药的处方明细单。
药库管理系统:
操作员完成对药库药品出入库的信息处理的工作,把其信息存储至相应的数据库表中,并生成相应的报表明细单。
住院管理系统:
操作员可以完成对住院病人在住院期间的信息处理工作,把其信息存储至相应的数据库表中,产生住院间费用明细单,对住院病人进行全面管理。
4.4.3界面设计:
(以门诊挂号为例)
门诊管理系统:
门诊管理系统分为三个子模块:
门诊挂号(ClinicRegiseter)、门诊处方(ClinicList)、门诊收费(ClinicFee)。
其界面如下所示:
图4-6门诊管理系统
控件
属性
属性设置
ClinicList
capation
门诊处方
Text1
name
txtpatientnum
Text2
name
txtpatientname
ComboBox1
name
cmbgendar
Text3
name
txtmedicinename
ComboBox2
name
cmbspec
Text4
name
txtquality
ComboBox3
name
cmbnumunit
ComboBox4
name
cmbdeptname
Text5
name
txtempname
Command1
name
cmdsave
capation
确定
Command2
name
Cmdcancel
capation
取消
Command3
name
Cmdexit
capation
退出
窗体和控件主要属性如下表所示:
4.4.4数据库设计与实现:
(以门诊挂号为例)
在数据库his_test中新建表t_ClinicRegister,并设计为挂号信息所存储的字段,如下:
图4-7挂号信息
在当前工程的模块下建立两个过程TransactSQL(ByValSQLAsString)和FunctionTesttxt(txtAsString)。
第一个过程是为了实现将利用所定义的SQL语句将所有信息写入数据库;第二个函数是为了实现判断输入信息内容是否为空,若为空的话,则提示错误。
具体代码如下:
‘定义Transactsql子过程:
PublicSubTransactSQL(ByValSQLAsString)
DimobjcnAsADODB.Connection
DimstrArray()AsString
Setobjcn=NewADODB.Connection'创建连接
OnErrorGoToTransactSQL_Error
objcn.Provider="SQLOLEDB"
objcn.ConnectionString="UserID=sa;InitialCatalog=his_test;DataSource=icebean"
strArray=Split(SQL)
objcn.Open'打开连接
objcn.ExecuteSQL'执行命令
TransactSQL_Exit:
Setobjcn=Nothing
ExitSub
TransactSQL_Error:
MsgBox"查询错误:
"&Err.Description
ResumeTransactSQL_Exit
EndSub
‘定义Testtxt函数
PublicFunctionTesttxt(txtAsString)AsBoolean
IfTrim(txt)=""Then
Testtxt=False
Else
Testtxt=True
EndIf
EndFunction
当用户在“门诊挂号”窗体中单击“保存”按钮时,要求把所输入的信息保存到t_ClincRegister表中。
单击“取消”按钮时,清除所输入的所有内容,单击“退出”按钮时,退出子系统。
实现代码如下:
PrivateSubcmdcancel_Click()
txtpatientnum.Text=""
txtname=""
txtage=""
txtempname=""
txtyear=""
EndSub
PrivateSubcmdexit_Click()
UnloadMe
EndSub
PrivateSubcmdsave_Click()
DimtxtSQL$
IfNotTesttxt(txtpatientnum.Text)Then
MsgBox"请输入病人编号!
",vbOKOnly+vbExclamation,"警告"
txtpatientnum.SetFocus
ExitSub
EndIf
IfNotTesttxt(txtname.Text)Then
MsgBox"请输入病人姓名!
",vbOKOnly+vbExclamation,"警告"
txtname.SetFocus
ExitSub
EndIf
IfNotTesttxt(cmbgendar.Text)Then
MsgBox"请选择性别!
",vbOKOnly+vbExclamation,"警告"
cmbgendar.SetFocus
ExitSub
EndIf
IfNotTesttxt(txtage.Text)Then
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计基于VB和MS SQL Server的HIS医院管理信息系统设计 毕业设计 基于 VB MS Server HIS 医院 管理信息系统 设计