病房管理系统.docx
《病房管理系统.docx》由会员分享,可在线阅读,更多相关《病房管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
![病房管理系统.docx](https://file1.bdocx.com/fileroot1/2023-8/7/95df6a82-1654-49f8-8fe5-3f57106103c6/95df6a82-1654-49f8-8fe5-3f57106103c61.gif)
病房管理系统
成绩评定表
学生姓名
班级学号
专业
信息与计算科学
课程设计题目
病人住院管理系统
评
语
组长签字:
成绩
日期
2013年12月日
课程设计任务书
学院
专业
学生姓名
班级学号
课程设计题目
病人住院管理系统
实践教学要求与任务:
通过集中性的编程训练,使学生系统的掌握如何将客观实际问题与计算机的算法对应起来,如何将客观信息与数据的逻辑结构和存储结构对应起来,将理论概念的学习转变成能够使用计算机高级语言解决实际问题的方法。
要求学生做好预习,掌握设计过程中涉及到的算法,按设计流程编程,上机调试通过,验证结果并进行分析、完成论文。
工作计划与进度安排:
第15周:
系统需求分析,设计E-R模型、逻辑模型,数据库设计和模块设计
进行部分软件编码设计,实现各模块功能
第16周:
继续完成软件设计,调试与完善系统各项功能
书写课程设计报告。
验收与答辩。
工作计划与进度安排:
第一天:
查阅文献第二天:
程序设计第三、四天:
程序实现
第五天:
论文写作、答辩
指导教师:
2013年12月1日
专业负责人:
2013年12月1日
学院教学副院长:
2013年12月1日
摘要
随着医院病人管理的日趋复杂和住院人员的增多,医院的病人管理变得越来越复杂。
规范的医院病人管理是医院提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应医院的需求。
随着计算机技术和通信技术的迅速发展,将传统的人工管理计算机化,建立一个高效率的、无差错的住院病人管理系统,能够有效的帮助医院完成病人的住院情况,使医院的管理水平登上一个新的台阶。
本系统采用VB+SQLServer开发。
通过数据源管理工具把已创建的数据源与系统数据库相连,后台数据库采用sqlserve2008数据库,前台程序开发工具采用微软的VB6.0,实现了医院住院病人管理功能。
关键词住院病人管理系统;SQL;数据库
目录
1系统功能概述5
1.1系统的功能:
5
1.2系统结构图:
5
2数据库设计6
2.1需求分析:
6
2.2表的结构设计:
6
2.3E-R图:
11
3系统各功能模块的详细设计12
3.1系统各窗体的设计:
12
3.2系统功能使用简介:
20
总结21
参考文献22
1系统功能概述
1.1系统的功能:
住院病人管理系统是利用计算机根据医生信息、医院病房信息、病人住院信息建立的,用vb6.0开发实现。
该系统能够进行住院院病人的注册、病人住院基本信息的浏览,能够按病人姓名、科室代码、病人编号或者电话等条件查询病人住院基本信息。
1.2系统结构图:
2数据库设计
2.1需求分析:
本系统是根据医院的病房情况和病人住院情况对病人进行登记和编辑的系统。
首先设计数据库时,需要知道所需信息:
病人的基本信息,包括姓名、性别、年龄、电话;医院的信息病人编号、病房号、病人费用等;病人住院则导致两实体之间有联系着建立一个住院的信息包括病人姓名、编号、年龄、费用、科室等。
在根据病人来建立一个普通用户密码表,使得每个病人有个自己登陆的账号密码,而且外来用户还可以通过注册新用户来登录系统。
并且病人离院时,我们可以通过该系统对病人住院费用进行结算等功能。
2.2表的结构设计:
1、病人费用信息表
创建病人费用信息表
createtable病人费用信息
(
病人编号char(8)primarykey,--病人编号
病人姓名char(8),--病人姓名
病人性别char
(2),--性别
病人年龄char
(2),--病人年龄
费用类型char
(2),--费用类型
科室代码char(8)--科室代码
)
2、病人信息表
创建病人信息表
createtable病人信息表
(
病人编号char(8)primarykey,--病人编号
科室代码char(8),--科室代码
病人姓名char(8)notnull,--病人姓名
病人性别char(4),--性别
病人年龄char(8),--病人年龄
身高char(8),--身高
血型varchar(4),--血型
电话varchar(20)--联系电话
)
3、病人用药信息表
病人用药情况表
createtable病人用药信息
(
病人编号char(8)primarykey,--病人编号
药品编号char(8),--药品编号
药品名称char(8),--药品名称
病人姓名char(8),--病人姓名
剂型char(8),--剂型
类别char(40),--类别
用药时间char(10)--用药时间
)
4、科室表
创建科室表
createtable科室
(
科室代码char(8)primarykey,--科室代码
科室名称char(20)notnull,--科室名称
病房编号char(8),--病房编号
床位数char(20),--床位数
科室主任char(8)--科室主任编号
)
5、药品信息表
创建药品表
createtable药品
(
药品编号char(8)primarykey,--药品编号
名称char(8),--名称
数量varchar(8),--计量单位
单价varchar(8),--单价
剂型char(8),--剂型
类别char(10)--类别
)
6、医生信息表
创建医生表
createtable医生信息
(
医生编号char(8)primarykey,--医生编号’
医生姓名char(8)notnull,--医生姓名
医生性别char
(2),--性别
医生年龄char(10),--年龄
科室代码char(8),--科室代码
学历char(20)--学历
)
7、密码表
createtable用户密码
(
用户名char(8),
密码char(8)
)
2.3E-R图:
n
1
3系统各功能模块的详细设计
3.1系统各窗体的设计:
图3.1.1
1.此窗体设立了一个ADODC控件,以便访问和操作数据库,本控件连到数据库的密码表。
以下各窗体除了主窗体外都有此控件来实现与数据库的连接。
登陆窗体的源代码如下:
DimmiCountAsInteger
PrivateSubCommand1_Click()
IfTrim(Text1.Text)=""Then
MsgBox"用户名不能为空!
",vbOKOnly+vbExclamation,"警告"
Text1.SetFocus
ElseIfTrim(Text2.Text)=""Then
MsgBox"密码不能为空!
",vbOKOnly+vbExclamation,"警告"
Text2.SetFocus
Else
Adodc1.RecordSource="select*from普通密码表where用户名='"&Trim(Text1.Text)&"'and密码='"&Trim(Text2.Text)&"'"
Adodc1.Refresh
IfAdodc1.Recordset.EOFThen
MsgBox"用户名或密码不正确,请重新输入!
",vbOKOnly+vbExclamation,"警告"
Text1.Text=""
Text2.Text=""
Text1.SetFocus
Else
Form2.Show
Form2.查询.Enabled=True
UnloadMe
EndIf
EndIf
miCount=miCount+1
IfmiCount=3ThenUnloadMe
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubCommand3_Click()
Form10.Show
EndSub
PrivateSubForm_Load()
EndSub
图3.1.2
2.主窗体用菜单编辑器编辑菜单,是客户更轻松进入要看的窗体,源代码如下:
PrivateSub病房信息_Click()
Form4.Show
EndSub
PrivateSub病人费用信息_Click()
Form7.Show
EndSub
PrivateSub病人信息_Click()
Form4.Show
EndSub
PrivateSub管理员用户_Click()
Form3.Show
EndSub
PrivateSub护士_Click()
Form4.Show
EndSub
PrivateSub科室_Click()
Form4.Show
EndSub
PrivateSub门诊挂号_Click()
Form9.Show
EndSub
PrivateSub手术安排_Click()
Form4.Show
EndSub
PrivateSub药品_Click()
Form8.Show
EndSub
PrivateSub医生信息_Click()
Form4.Show
EndSub
其中,浏览窗体,分别为住院病人信息、病人费用信息、医生信息等浏览窗体,住院病人信息表浏览窗体如下:
图3.1.3
系统管理员登陆时如下:
图3.1.4
添加删除界面如图:
图3.1.5
图3.1.6
其代码如下:
PrivateSubCmdAdd_Click()
Adodc1.Recordset.AddNew
CmdAdd.Enabled=False
CmdDel.Enabled=False
CmdOk.Enabled=True
CmdEsc.Enabled=True
IfLen(Text)>0Then
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount=0Then
MsgBox("没有满足条件的信息!
")
Adodc1.Refresh
EndIf
Else
MsgBox("请添加查询信息!
")
EndIf
EndSub
PrivateSubCmdOK_Click()
Adodc1.Recordset.Update
CmdAdd.Enabled=True
CmdDel.Enabled=True
CmdOk.Enabled=False
CmdEsc.Enabled=False
EndSub
PrivateSubCmdDel_Click()
X=MsgBox("确实要删除当前记录吗?
",vbYesNo+vbQuestion,"确认")
IfX=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveLast
EndIf
Else
Adodc1.Refresh
EndIf
EndSub
PrivateSubCmdEsc_Click()
Adodc1.Refresh
CmdAdd.Enabled=True
CmdDel.Enabled=True
CmdOk.Enabled=False
CmdEsc.Enabled=False
EndSub
PrivateSubCommand1_Click()
Form6.Show
EndSub
PrivateSubCommand2_Click()
Form6.Show
EndSub
PrivateSubForm_Load()
Combo1.AddItem"男"
Combo1.AddItem"女"
EndSub
图3.1.7
按条件查询界面其代码如下:
PrivateSubCombo1_Change()
IfKeyCode=vbKeyReturnThenText1.SetFocus
EndSub
PrivateSubCommand1_Click()
IfLen(Text1.Text)>0Then
Adodc1.RecordSource="select*from病人信息表where(病人信息表."&Combo1.Text&"like+'"+Text1.Text+"'+'%')"'1
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount=0Then
MsgBox("没有满足条件的信息!
")
Adodc1.Refresh
EndIf
Else
MsgBox("请添加查询信息!
")
EndIf
EndSub
PrivateSubCommand2_Click()
Form11.Show
Form6.Hide
EndSub
PrivateSubCommand3_Click()
Form11.Show
Form6.Hide
EndSub
PrivateSubForm_Load()
Combo1.AddItem"病人姓名"
Combo1.AddItem"科室代码"
Combo1.AddItem"病人编号"
Combo1.AddItem"电话"
Combo1.Text=Combo1.List(0)
EndSub
图3.1.8
出院时病人费用结算界面代码:
DimmiCountAsInteger
PrivateSubCmdzhuce_Click()
DimsqlstrAsString
DimstrcodeAsString
DimstrsureAsString
DimstrnameAsString
sqlstr=Text1.Text
strname=sqlstr
Ifsqlstr=""Then
MsgBox"请输入病人编号!
",vbExclamation,"提示"
Text1.SetFocus
ExitSub
Else
Adodc1.RecordSource="Select*from病人费用信息where病人编号='"&Text1&"'"
EndIf
strcode=Trim(Text2.Text)
strsure=Trim(Text3.Text)
equ=StrComp(strcode,strsure)
IfText2=""Then
MsgBox"病人姓名不能为空!
",vbExclamation,"请重新输入"
Text2.SetFocus
Else
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("病人编号")=Text1
Adodc1.Recordset.Fields("病人姓名")=Trim(Text2)
Adodc1.Recordset.Fields("费用")=Trim(Text3)
MsgBox"成功!
",vbInformation,"错误"
EndIf
EndSub
PrivateSubCmdCancel_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
EndSub
3.2系统功能使用简介:
1.首先进入系统登陆界面,点击“单击登陆”进入系统,如果用户是该系统内的用户可以填写用户名和密码后进入主窗体。
如果没有用户名和密码则可以通过注册新的用户名来进入主窗体。
在主窗体中有含有主菜单:
系统、查询(即普通用户权限的浏览)。
[系统]菜单包含以下子菜单及其功能:
打开管理员登陆窗体
[查询]包含以下子菜单:
[病人信息]:
显示病人信息浏览窗体。
[病人费用]:
显示病人费用信息浏览窗体。
等等一些相同的浏览窗体。
2.管理员登陆时可以进行医院各种的处理,包括对入院病人信息的添加、删除和病人费用的结算功能;
还可以实现查询医院病人住院的情况,具体包括对病人信息、病人费用信息的模糊查询,用DataGrid呈现查询信息。
总结
通过对数据库系统学习,利用MicrosoftSQLServer2008软件建立相关信息的数据库,并用MicrosoftVisualBasic6.0实现对相关信息的处理。
在老师的帮助和指导下进行的本次课程设计。
经过自己的思考,建立的数据库框架,并且翻阅各种参考书和参考课件,经过不断的调试,终于基本完成了本次的课程设计任务。
本次完成的住院病人管理系统基本符合所需的工作要求,但由于时间紧张,加上本人经验上的不足,未能丰富系统的功能,日后希望能够继续努力,做到更好。
参考文献
[1]VisualBasic课程设计案例精编[M].北京:
清华大学出版社,2007
[2]SQLSERVER项目案例开发实例自学手册[M].北京:
人民邮电出版社,2008
[3]VisualBasic自学手册[M].北京:
机械工业出版社,2009
[4]XX文库
[5]王珊数据库系统简明教程.北京:
高等教育出版社,2004.9