VB医疗纠纷检索系统
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
目 录
引言 1
1 医疗纠纷信息检索系统的系统分析 9
1.1 开发医疗纠纷信息检索系统的意义 9
1.2 系统分析 9
1.3 开发工具选取 10
2 医疗纠纷信息检索系统的需求分析 13
2.1 系统用户组成 13
2.2 对数据处理的要求 13
3 医疗纠纷信息检索系统的总体设计 14
3.1 数据处理流程分析 14
3.2 程序结构设计前的分析 15
3.3 总体框图 16
4 医疗纠纷信息检索系统的功能模块 18
4.1 系统的功能模块设计 18
4.2 设计的准备工作 18
5 医疗纠纷信息检索系统的详细设计 21
5.1 数据库结构设计 21
5.2 用户登录模块设计 24
5.3 工作选项模块(MDI主窗体模块)设计 28
5.4 用户信息管理模块设计 38
5.5 数据信息统计模块设计 41
5.6 帮助模块的设计 46
6 医疗纠纷信息检索系统的实现 55
6.1 软件环境 55
6.2 硬件环境 55
结 论 56
致 谢 56
参考文献 57
附录1 程序清单 58 think58好,好think58 [资料来源:THINK58.com]
摘 要
医疗纠纷信息检索系统是采用Visual Basic语言和大型数据库开发语言共同开发的,用于医院医务处对医疗纠纷的检索与统计。
设计本系统的目的就是为了减少过多的人工操作,使医生能够快速而且准确的完成对医疗纠纷的录入、修改、删除、查找、统计等操作,系统的开发及应用为医疗纠纷管理提供了灵活、方便的管理机制,提高工作人员的工作效率。
本设计采用所见即所得的可视界面设计方法,在开发环境、功能上进一步完善和扩充,尤其在数据库管理、网络应用方面更胜一筹。利用Visual Basic 6.0提供的强大的可视化组件库进行编程,可以快速、高效地开发基于Windows环境的各类应用系统。在此还使用了SQL Server 2000提供的DTS服务。
现阶段本系统可实现的功能是:一、可以进行数据的录入、删除、保存等操作,便于数据的更新、维护;二、通过查询列出符合条件的详细信息;三、以上各查找结果均可以报表形式输出,便于分析、使用及存档管理;四、可以对数据统计,使数据更加直观的显示在用户的面前。 think58好,好think58 [资料来源:www.THINK58.com]
关键词:
医疗纠纷 Visual Basic SQL Server 数据库 DTS服务 [资料来源:http://www.THINK58.com]
3 医疗纠纷信息检索系统的总体设计
3.1 数据处理流程分析
数据库或数据表结构确定之后,在实际的数据处理程序设计之前需要对所处理的数据处理流程作必要的分析。所谓对数据处理流程作必要的分析是指找出各数据之间的主要关系,数据存取的主要走向。当然,在实际的数据处理过程中还会有些细节问题。在遇到这些细节问题时,及时处理即可。另外。有些细节问题不是在做数据处理流程分析时事先都能知道的。
在数据关系简单的情况下对数据处理,可以在将数据库设计好之后直接设计程序。但是按正规的数据库管理系统的设计程序,无论要处理的数据关系复杂与否都应在做程序设计之前做好数据的流程分析。本系统的数据关系不算太复杂但是也不简单,因此还是要仔细研究数据处理过程和各类数据之间的关系。
对于现在这个数据数据处理系统来说,最主要的工作实际就是三项:要将医疗纠纷情况及时的录入数据库;对医疗纠纷能够进行复杂的检索;能够对数据库中的数据按一定的条件进行统计。
通过对用户的需求分析和数据结构分析,得到本系统的数据处理工作流程,图1为数据处理图。数据可以对患者信息表,医生信息表和科室信息表进行录入,修改和删除操作;查找和统计也是对患者信息表,医生信息表和科室信息表进行操作。 [资料来源:THINK58.com]
图1数据处理图
3.2 程序结构设计前的分析
系统总体设计的目的是安排一个数据库管理系统如何按照确定的要求工作,怎么去做这些工作,以及各个程序之间是什么关系。
进行程序结构设计前分析首先要确定本程序大致需要做些什么工作,这些工作的顺序是个什么情况。分析的目的是要找出程序的设计思想是否合适,是否有遗漏的问题等。
对系统总体设计进行简要的说明如下:
(1)按照结构化程序设计的原则,一个程序或系统只能有一个入口和一个出口。本系统以“用户登录”程序作为入口,以“退出”作为出口。其他程序或模块均没有退出系统的功能。
(2)系统初始的工作顺序为“用户登录”——“工作选项”。
(3)工作选项是系统的主程序或称主模块。在工作选项中设置4个功能选项。“工作选项”模块中的4个功能之间为平级关系,即这4项功能是相互独立的。
(4)需要体现各功能模块对其下级模块的调用。
(5)系统总体设计只是对系统工作流程的一种概念性的表示,程序运行时的细节过程和系统内部的一些调用关系不必全部列出。
(6)系统运行时的数据处理关系不需要列出。
3.3 总体框图
通过对程序结构设计前的分析,可以得到图2为工作流程图。
图2 总体框图 think58
[资料来源:http://www.THINK58.com]
4 医疗纠纷信息检索系统的功能模块
4.1 系统的功能模块设计
根据系统的需求分析,结合实际情况,系统分为以下七个模块:用户登录模块;工作选项模块(MDI主窗体模块);用户信息管理模块;数据信息管理模块;数据信息查询模块;数据信息统计模块;帮助模块。
4.2 设计的准备工作
在Visual Basic 中创建一个工程,打开VB 6.0 在弹出的“新建工程”窗口里单击“打开”按扭。即新建一个工程。
在设计中使用的重要控件有:Ado Data控件、DataGrid控件、MSchart控件等。
Ado Data控件使用Microsoft ActiveX数据对象(ADO)来快速建立数据绑定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合OLE DB规范的数据源。使用Visual Basic的类模块也可以很方便的创建子集的数据提供者。尽管可以在应用程序中直接使用ActiveX数据对象,但图3的ADO Data控件有作为一个图形控件的优势(具有“向前”和“向后”按钮),以及一个易于使用的界面,使可以用最少的代码创建数据库应用程序。
图3 Ado Data控件
在VB开发环境中选择主菜单“工程”中的“部件”子菜单,在控件标签页中选择“Microsoft ADO Data Control 6.0(OLEDB)”控件。然后单击“确定”按钮,这样Ado Data控件就引入到工程开发环境的工具箱中,就能够看见Ado Data控件的图标。然后单击该图标,就可以在窗体中的任何位置添加Ado Data控件。 think58.com [来源:http://www.think58.com]
DataGrid控件是通过绑定ADO数据控件来使用的。DataGrid控件是数据网格控件。利用DataGrid控件可以同时浏览或修改多个记录的数据,而且也可以用于输入大批量的数据。
DataGrid控件是ActiveX控件,因此默认的工具箱中并没有这个控件按钮,需要时也要添加。在控件对话框中选择“Microsoft DataGrid Control 6.0 (OLEDB)”单击“确定”按钮,此时在工具箱中出现DataGrid按钮。
MSChart控件以图形方式显示数据的图表。支持2维和3维显示,支持条形图、线形图、饼图以及组合形式的图表,它可以与数组、ADO数据控件关联形成数据图表。
MSChart控件不是Visual Basic内部控件,需要在“部件”对话框中选择“Microsoft Chart Control 6.0”。单击“确定”按钮,将其加入到工具箱。这时,就可以在窗体中添加并使用MSChart控件了。 [版权所有:http://think58.com]
While Not Adodc3.Recordset.EOF
Combo1.AddItem Adodc3.Recordset("officeName")
Adodc3.Recordset.MoveNext
Wend
Combo1.ListIndex = 0
Adodc3.Recordset.Close
strSQL = "select doctor.doctorName as 医师姓名,count(doctor.doctorId) as 被投诉次数 from doctor,patient,office where doctor.doctorId=patient.hDoctorid and office.Id=doctor.officeId "
strSQL = strSQL + "group by doctor.doctorName"
Adodc3.CursorLocation = adUseClient
Adodc3.CommandType = adCmdText
Adodc3.RecordSource = strSQL
Adodc3.Refresh
MSChart3.Enabled = False
strSQL = ""
[资料来源:http://think58.com]
Adodc1.ConnectionString = strConn
strSQL = "select office.officeName as 科室名,count(doctor.officeID) as 科室人数 from doctor,patient,office where doctor.doctorID=patient.hDoctorID and office.Id=doctor.officeId group by office.officeName"
Adodc1.CursorLocation = adUseClient
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = strSQL
Adodc1.Refresh 内容来自think58
Adodc2.ConnectionString = strConn
strSQL = "select patient.pDate as 年,count(doctor.officeId) as 年次数 from doctor,patient,office where doctor.doctorId=patient.hDoctorid and office.Id=doctor.officeId group by patient.pDate"
Adodc2.CursorLocation = adUseClient
Adodc2.CommandType = adCmdText
Adodc2.RecordSource = strSQL
Adodc2.Refresh think58
Adodc4.ConnectionString = strConn
strSQL = "select patient.pClass as 投诉等级,count(doctor.officeId) as 等级次数 from doctor,patient,office where doctor.doctorId=patient.hDoctorid and office.Id=doctor.officeId group by patient.pClass"
Adodc4.CursorLocation = adUseClient
Adodc4.CommandType = adCmdText
Adodc4.RecordSource = strSQL
Adodc4.Refresh 本文来自think58 [资料来源:http://THINK58.com]
End Sub think58
[资料来源:http://think58.com]
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Unload Me
MDIForm1.StatusBar1.Panels(2).Text = "当前操作: " & MDIForm1.Loading
End Sub think58
[资料来源:THINK58.com]
下一篇:烟花爆竹经销管理