1、1医疗纠纷信息检索系统用户子系统专业班级: 姓名: 2目 录引言 11 医疗纠纷信息检索系统的系统分析 .91.1 开发医疗纠纷信息检索系统的意义 .91.2 系统分析 .91.3 开发工具选取 102 医疗纠纷信息检索系统的需求分析 132.1 系统用户组成 132.2 对数据处理的要求 133 医疗纠纷信息检索系统的总体设计 143.1 数据处理流程分析 143.2 程序结构设计前的分析 153.3 总体框图 164 医疗纠纷信息检索系统的功能模块 184.1 系统的功能模块设计 184.2 设计的准备工作 185 医疗纠纷信息检索系统的详细设计 215.1 数据库结构设计 215.2 用
2、户登录模块设计 245.3 工作选项模块(MDI 主窗体模块)设计 285.4 用户信息管理模块设计 385.5 数据信息统计模块设计 415.6 帮助模块的设计 466 医疗纠纷信息检索系统的实现 556.1 软件环境 556.2 硬件环境 55结 论 56致 谢 563参考文献 57附录 1 程序清单 584摘 要医疗纠纷信息检索系统是采用 Visual Basic 语言和大型数据库开发语言共同开发的,用于医院医务处对医疗纠纷的检索与统计。设计本系统的目的就是为了减少过多的人工操作,使医生能够快速而且准确的完成对医疗纠纷的录入、修改、删除、查找、统计等操作,系统的开发及应用为医疗纠纷管理提
3、供了灵活、方便的管理机制,提高工作人员的工作效率。本设计采用所见即所得的可视界面设计方法,在开发环境、功能上进一步完善和扩充,尤其在数据库管理、网络应用方面更胜一筹。利用 Visual Basic 6.0 提供的强大的可视化组件库进行编程,可以快速、高效地开发基于 Windows 环境的各类应用系统。在此还使用了 SQL Server 2000 提供的 DTS 服务。现阶段本系统可实现的功能是:一、可以进行数据的录入、删除、保存等操作,便于数据的更新、维护;二、通过查询列出符合条件的详细信息;三、以上各查找结果均可以报表形式输出,便于分析、使用及存档管理;四、可以对数据统计,使数据更加直观的显
4、示在用户的面前。5关键词:医疗纠纷 Visual Basic SQL Server 数据库 DTS 服务6AbstractThe searching system for the medical dissension information use Visual Basic 6.0 and a big database to develop. This design is used to search and count the medical dissensions of medical affairs Dept. of the hospitals. The reason of making
5、 this design is to reduce the manpower operation and improve the effect of recording, modifying, deleting, searching and counting work etc. of medical dissension more quickly and exactly. The development and application of this system offers a flexible and convenient management system for the manage
6、ment of medical dissension and hasten the work effect. This system offers a kind of visual-interface-design, which means you can get the result as soon as you see the interface. It also improves and enlarges the development environment and functions, especially on data management and network applica
7、tion. It is faster and more effective to develop all kinds of application systems on the basic of Windows Environment by utilizing the powerful visual groupware room to program. So we use DTS of SQL Server 2000.Now the functions of this software are: first it helps the recording, deleting and storin
8、g of the data and the refreshing and protecting of the data; second it can list the detailed information by searching; third, all the results can be output in the form of report that is easy for the management of analyzing, using and storing; forth, it can count the data, so the data can be showed d
9、irectly in front of the users.Keywords: Medical dissension, Visual Basic, SQL Server, database, DTS serve引言7人类已跨入新世纪,正在进入信息时代。信息社会的到来,给全球带来了信息技术飞速发展的契机;信息技术的应用,引起了人们生产方式、生活方式和思想观念的巨大变化,极大的推动了人类社会的发展和人类文明的进步,把人类带入了崭新的时代;信息系统的建立已逐渐成为社会各个领域不可或缺的基础设施;信息已成为社会发展的重要战略资源、决策资源和控制战场的灵魂;信息化水平已成为衡量一个国家现代化程度和综合国
10、力的重要标志。抢占信息资源已经成为国际竞争的重要内容。管理信息系统在强调管理,强调信息的现代社会中变得越来越普及。管理信息系统作为一门学科已经跨越了若干个领域,比如管理,系统,运筹,统计以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。经过 100多年的发展,信息管理的过程已经历了传统管理时期、技术管理时期、信息资源管理时期,现正逐渐向“网络信息资源管理”阶段演进。这种演进和发展对信息管理工作模式和服务模式必会造成巨大的变化,产生新的社会需要。医疗纠纷信息检索系统是管理信息系统的一种。医疗纠纷管理的工作量是非常大的,在对医疗纠纷信息的检索过程中需要对大量
11、的数据进行查找,同时还需要对数据进行必要的统计工作。8开发本系统就是为了减少对医疗纠纷数据不必要的大量的人工操作,将这项工作交给计算速度更快的计算机,使医院的管理者能够更好的解决医疗纠纷。设计本着方便使用者的思想,操作界面友好、直观,能够使初次使用者以最快的速度掌握本系统的使用方法。系统功能完善,处处都为使用者着想。1 医疗纠纷信息检索系统的系统分析91.1 开发医疗纠纷信息检索系统的意义由于人们生活水平的提高,健康问题正逐渐的成为人们最为关注问题。随着病人的就医行为,病人与医务人员之间就建立了医患关系,这是不容置疑的问题。 病人希望的是解除病痛,病人要求的是医生用高超的医疗技术赶走病魔。而医
12、护人员的责任和义务正是要千方百计的满足病人的希望和要求,这就是医患关系,也是医患矛盾。诸多的原因造成目前的医疗纠纷日益增多,医疗纠纷的增多同时也会给医院带来相当大的工作量,对医疗纠纷信息的查找、统计、分析等工作需要很长的时间,浪费了医务人员的时间,降低了工作效率。这就要求有一种能够代替大量人工操作的工具来提高对医疗纠纷信息检索、统计的速度。随着计算机技术的发展,通过计算机来完成对医疗纠纷的大量操作已经成为可能。1.2 系统分析由于医疗纠纷检索系统包含比较重要的信息,因此,在系统设计时除了注重用户的需求,保证系统安全性和可靠性,并在保证安全性和可靠性的前提下尽量满足系统的高效性,而且要保证系统数
13、据信息的一致性。系统的安全性。不同的用户具有不同的使用权限,具有最高10权限的人员(管理员)方能录入、修改、删除数据库中的信息,具有一般权限的人员(用户)只对数据进行检索和统计的操作。系统的一致性。系统的数据要保证一致性、准确性,当某以数据库中记录改变,与之相关联的数据库也随之变化。系统的可靠性。由于数据量大,必须对数据及时备份和恢复。系统的高效性。为了方便使用者,所以在系统的设计时,一定要考虑大系统使用的高效性,提高系统的使用效率。1.3 开发工具选取1.3.1 选择 Visual Basic 6.0 的原因Visual Basic 是一种通用的程序设计语言,之所以选择用Visual Bas
14、ic 来开发数据库系统,主要因为以下 3 个原因:编程效率高;使用 Visual Basic 可以操作多种类型的数据库;在Visual Basic 中可以比较方便地使用 API 函数和操作 I/O 接口。笔者在编程实践中使用过不同的计算机语言,感觉 Visual Basic在编程效率上是比较高的。在 Visual Basic 6.0 中有了功能强大、使用方便的 ADO(Active Database Object)技术,ADO 是微软制定的应用程序级数据库访问接口,支持所有 OLD DB 数据厂商。ADO 包括了现有的 ODBC,而且占用内存少,访问数度更11快。同时提供的 ADO 控件,可以
15、用最少的代码创建数据库应用程序。Visual Basic 可以面向多种类型的数据库,除开发单用户的数据库系统外,还可以开发多用户(或称为网络数据库的)数据库系统。1.3.2 大型数据库本系统是为了医疗纠纷信息处理开发的医疗纠纷信息检索系统,因为医疗纠纷信息有需要定时更新、添加的特点,所以要求系统的数据库为大型数据库,所以在数据库的选择上我选择了SQL Server 2000。因为 SQL Server 2000 提供了与众多高级数据库管理器相同的运行性能,但是其价格却远远低于它们;而且SQL Server 2000 还与 Windows NT 集成,是公认的运行在Windows NT 平台上的
16、最佳数据库。可见是在低造价平台上显示突出性能的数据库,所以选择它既能满足技术上的可行性,又满足经济可行性。1.3.3 支持网上运行现在正处于“信息爆炸”的时代,如果开发的系统能支持网上运行,它就能实现资源共享。而我们开发的医疗纠纷信息检索系统完全可以实现网上网上信息资源的共享。SQL Server 2000正是一种可以在 Windows NT 平台上运行的数据库,这样就为本12系统实现网上运行提供了技术上的可行性。综上所述,可以采用 Visual Basic 6.0 和 SQL Server 2000 来开发医疗纠纷信息检索系统。132 医疗纠纷信息检索系统的需求分析2.1 系统用户组成为了数
17、据的安全性,系统将用户分为管理员和用户两类。用户只能对数据进行检索和统计操作;管理员则可以对数据进行录入、修改、删除等操作。这样可以大大的增加数据的安全性,只有管理权利的工作人员才能对数据操作。2.2 对数据处理的要求对数据处理的要求如下:在设计处理上要求按住院号输入对应的相关数据。在数据录入的方式上,可以随时录入,以可以集中录入。在数据录入时能方便地作单位选择。要求能方便地对现存的数据进行浏览、修改和删除。能按科室统计、按医生统计、按年份统计和按等级统计,并且统计结果可以在屏幕上显示。143 医疗纠纷信息检索系统的总体设计3.1 数据处理流程分析数据库或数据表结构确定之后,在实际的数据处理程
18、序设计之前需要对所处理的数据处理流程作必要的分析。所谓对数据处理流程作必要的分析是指找出各数据之间的主要关系,数据存取的主要走向。当然,在实际的数据处理过程中还会有些细节问题。在遇到这些细节问题时,及时处理即可。另外。有些细节问题不是在做数据处理流程分析时事先都能知道的。在数据关系简单的情况下对数据处理,可以在将数据库设计好之后直接设计程序。但是按正规的数据库管理系统的设计程序,无论要处理的数据关系复杂与否都应在做程序设计之前做好数据的流程分析。本系统的数据关系不算太复杂但是也不简单,因此还是要仔细研究数据处理过程和各类数据之间的关系。对于现在这个数据数据处理系统来说,最主要的工作实际就是三项
19、:要将医疗纠纷情况及时的录入数据库;对医疗纠纷能够进行复杂的检索;能够对数据库中的数据按一定的条件进行统计。15通过对用户的需求分析和数据结构分析,得到本系统的数据处理工作流程,图 1 为数据处理图。数据可以对患者信息表,医生信息表和科室信息表进行录入,修改和删除操作;查找和统计也是对患者信息表,医生信息表和科室信息表进行操作。数据录入 数据修改 数据删除查找 统计医生信息表患者信息表 科室信息表图 1 数据处理图3.2 程序结构设计前的分析系统总体设计的目的是安排一个数据库管理系统如何按照确定的要求工作,怎么去做这些工作,以及各个程序之间是什么关系。进行程序结构设计前分析首先要确定本程序大致
20、需要做些什么工作,这些工作的顺序是个什么情况。分析的目的是要找出程序的设计思想是否合适,是否有遗漏的问题等。对系统总体设计进行简要的说明如下:16(1)按照结构化程序设计的原则,一个程序或系统只能有一个入口和一个出口。本系统以“用户登录”程序作为入口,以“退出”作为出口。其他程序或模块均没有退出系统的功能。(2)系统初始的工作顺序为“用户登录”“工作选项” 。(3)工作选项是系统的主程序或称主模块。在工作选项中设置 4个功能选项。 “工作选项”模块中的 4个功能之间为平级关系,即这 4项功能是相互独立的。(4)需要体现各功能模块对其下级模块的调用。(5)系统总体设计只是对系统工作流程的一种概念
21、性的表示,程序运行时的细节过程和系统内部的一些调用关系不必全部列出。(6)系统运行时的数据处理关系不需要列出。3.3 总体框图通过对程序结构设计前的分析,可以得到图 2 为工作流程图。17用户登录查询 统计系统 管理用户管理重新登录退出注册用户 删除用户 修改密码数据录入 数据修改 数据删除工作选项按科室统计 按医生统计 按年份统计 按等级统计图 2 总体框图184 医疗纠纷信息检索系统的功能模块4.1 系统的功能模块设计根据系统的需求分析,结合实际情况,系统分为以下七个模块:用户登录模块;工作选项模块(MDI 主窗体模块) ;用户信息管理模块;数据信息管理模块;数据信息查询模块;数据信息统计
22、模块;帮助模块。4.2 设计的准备工作在 Visual Basic 中创建一个工程,打开 VB 6.0 在弹出的“新建工程”窗口里单击“打开”按扭。即新建一个工程。在设计中使用的重要控件有:Ado Data 控件、DataGrid 控件、MSchart 控件等。Ado Data 控件使用 Microsoft ActiveX 数据对象(ADO)来快速建立数据绑定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合 OLE DB 规范的数据源。使用 Visual Basic 的类模块也可以很方便的创建子集的数据提供者。尽管可以在应用程序中直接使用Act
23、iveX 数据对象,但图 3 的 ADO Data 控件有作为一个图形控件的优势(具有“向前”和“向后”按钮) ,以及一个易于使用的界面,使可以用最少的代码创建数据库应用程序。19图 3 Ado Data 控件在 VB 开发环境中选择主菜单“工程”中的“部件”子菜单,在控件标签页中选择“Microsoft ADO Data Control 6.0(OLEDB)”控件。然后单击“确定”按钮,这样 Ado Data 控件就引入到工程开发环境的工具箱中,就能够看见 Ado Data 控件的图标。然后单击该图标,就可以在窗体中的任何位置添加 Ado Data 控件。DataGrid 控件是通过绑定 A
24、DO 数据控件来使用的。DataGrid 控件是数据网格控件。利用 DataGrid 控件可以同时浏览或修改多个记录的数据,而且也可以用于输入大批量的数据。DataGrid 控件是 ActiveX 控件,因此默认的工具箱中并没有这个控件按钮,需要时也要添加。在控件对话框中选择“Microsoft DataGrid Control 6.0 (OLEDB)”单击“确定”按钮,此时在工具箱中出现 DataGrid 按钮。MSChart 控件以图形方式显示数据的图表。支持 2 维和 3 维显示,支持条形图、线形图、饼图以及组合形式的图表,它可以与数组、ADO 数据控件关联形成数据图表。MSChart
25、控件不是 Visual Basic 内部控件,需要在 “部件”20对话框中选择“Microsoft Chart Control 6.0”。单击“确定”按钮,将其加入到工具箱。这时,就可以在窗体中添加并使用 MSChart控件了。215 医疗纠纷信息检索系统的详细设计5.1 数据库结构设计库结构设计之前的数据分析的目的在于研究本系统究竟要处理哪些数据,这些数据是怎样组成的。下一步是根据数据的组成情况合理安排库结构。根据需求分析,将数据库的结构设计为一库四表,这样可以减少数据的冗余程度,不必要的重复将全部消除,提高了查询的效率。图 4 为数据库的结构。医疗纠纷库用户信息表患者信息表医生信息表科室信
26、息表图 4 数据库结构根据系统需求分析,数据库采用 Microsoft SQL Server 2000,它完全可适合工作需求,并且它所支持的数据类型十分丰富,它是一种非过程化的程序语言,SQL 不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有 SQL22语句使用查询优化器,它是关系型数据库管理系统的一部分,由它决定对指定数据库存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。也就是说,没有必要写出将如何做某件事情,只需写出要做什么,它就会完成需要的操作。SQL可用于所有用户的 DB 活动模型,
27、SQL 语言命令少且易于掌握。还有就是所有主要的关系数据库管理系统都支持 SQL 语言,所有用 SQL 编写的程序是可移植的。各数据表结构设计:表 1 用户信息表-input 表字段名称 数据类型 字段大小 作用 必填字段 索引 是否主键Username Nvarchar 8 用户名 是 无 是Password Nvarchar 18 密码 是 无 否Usertype int 4 用户类型 是 无 否表 2 患者信息表patient 表字段名称 数据类型 字段大小 作用 必填字段 索引 是否主键PID Nvarchar 10 住院号 是 无 是Pname Nvarchar 10 患者姓名 是
28、无 否Ptel Nvarchar 11 电话 否 无 否PSay Nvarchar 50 投诉原因 是 无 否pDate Nvarchar 8 投诉日期 否 无 否pResult Nvarchar 10 投诉结果 是 无 否pClass Nvarchar 15 投诉等级 是 无 否pPay int 4 赔偿金 否 无 否hDoctorid Nvarchar 10 主治医生 是 无 否23表 3 医生信息表doctor 表字段名称 数据类型 字段大小 作用 必填字段 索引 是否主键doctorID Nvarchar 10 医生代码是 无 是doctorName Nvarchar 10 姓名 是
29、无 否Doctorsex char 2 性别 是 无 否Doctortel Nvarchar 13 电话 否 无 否officeID Nvarchar 6 所在科室代码是 无 否表 4 科室信息表office 表字段名称 数据类型 字段大小 作用 必填字段 索引 是否主键ID Nvarchar 6 科室代码 是 无 是officeName Nvarchar 16 科室名称 是 无 否officeTel Nvarchar 11 科室电话 否 无 否从实际的医疗纠纷数据的管理来说,患者的住院号是唯一的,就像是身份证号码一样,每个患者都有与之唯一对应的住院号。医生在医院也有一个与之对应的代码,虽然存
30、在重名的现象,但是医生的代码是不会重的,这样就很好的解决了重名的问题。在患者信息表、医生信息表和科室信息表存在对应关系,定义了两组对应关系:患者信息表中的 hDoctorid 字段与医生信息表中的doctorId 字段为多对一的关系;医生信息表中的 officeId 字段与科室信息表中的 ID 字段为多对一的关系。24图 5 为各表之间的关系。图 5 各表之间关系图5.2 用户登录模块设计 5.2.1 窗体模块的功能本系统的使用者分为两类:管理员和用户。所以在设计登录窗体时,要比普通的登录窗体多增加选项卡控件,用来区分登录者的身份。选项卡数为 2,第一个选项卡设置为用户登录区,在其选项区中使用
31、 ComboBox 控件,用下拉式列表显示用户信息表中全部用户的用户名,这样可以方便使用者登录。第二个选项卡25设置为管理员登录区,由于关系到系统的安全性,所以管理员的用户名必须由登录人员自己添写。同时为了避免非法用户的干扰,对于用户登录窗口,如果在用户连续输入错 3 次密码,则系统将会自动退出。5.2.2 登录功能的实现通过用户在登录选项卡中添加的用户名和密码与用户信息表中的信息相比较,如果用户名的密码全部正确,则可以进入系统,用户进入用户界面,管理员则进入管理员界面。要是用户名和密码与用户信息表中的信息不完全符合,则用户无权进入系统进行操作。用户名与密码与用户信息表中信息比较时用到了 AD
32、O 操作数据库。ADO 是 AxtiveX Data Object 的缩写,它是 Microsoft 数据库应用程序开发的新接口,是 Microsoft 新的数据访问技术,是建立在 OLE DB 之上的高层数据库访问技术。 ADO 被设计用来同新的数据访问层 OLE DB Provider 一起协同工作,以提供通用数据访问(Universal Data Access) 。OLE DB 是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。26ADO 最基本的操作流程:初始化 COM 库,引入 ADO 库定义文件;用 Connection
33、对象连接数据库;利用建立好的连接,通过 Connection、Command 对象执行 SQL 命令,或利用 Recordset对象取得结果记录集进行查询、处理;使用完毕后关闭连接释放对象。5.2.3 窗体界面的设计在工程中添加窗体,命名为 frmlogin,图 6 为窗体的界面。图 6 登录窗体的设计示意图表 5的内容为该窗体上的控件及其属性。表 5 登录窗体的主要控件的属性设置以及功能表控件 名称 属性 功能Form frmlogin BorderStyle 属性设为 1,Caption 属性为“登录”用来显示登录窗体Label Label1 Caption 属性设置为“医疗纠纷检索系统”
34、Label Label2 Caption 属性设置为“用户名:”Label Label3 Caption 属性设置为“密码:”Label Label4 Caption 属性设置为“管理员:”Label Label5 Caption 属性设置为“密码:”27SSTab SSTab1 Caption 属性设置为“用户登录” 区分用户和管理员登录表 5 登录窗体的主要控件的属性设置以及功能表 (续表)Textbox Text1 Text 属性设为空,将 PasswordChar 属性设为“*”用来输入用户密码Textbox Text3 Text 属性设为空,将 PasswordChar 属性设为“*
35、”用来输入管理员密码ComboBox Combo1 Text 设为空 用来输入用户名CommandButton Command1 Caption 属性设为“登录” 进入用户界面CommandButton Command2 Caption 属性设为“取消”CommandButton Command3 Caption 属性设为“登录” 进入管理员界面CommandButton Command4 Caption 属性设为“取消”再对窗体和控件的大小,位置,字体还有背景都一一进行设置即可。5.2.4 窗体的工作流程/方式在用户信息表 Input 表中的 usertype 是用来确定登录用户身份的,us
36、ertype 值为 0 表示登录者身份为用户,usertype 值为 1时表示登录者的身份为管理员。在验证用户时,如果登录者选择了管理员身份,则系统将会在数据库中的用户信息表 Input 表中进行查询,以确定是否存在相应的用户名和口令,以及 usertype 是否为 1。如果登录者选择了用户的身份,则同样在 input 表中进行查询,以确定是否存在相应的用户名和口令,不同的是 usertype 值此时为 0。28如果登录用户所选择的身份,及其输入的用户名口令,和数据库中对应的用户名和密码吻合,则登录用户登录成功,此时系统会自动退出登录窗体,并进入 MDI 主窗体。如果用户所输入的用户名和口令,
37、没有通过数据库验证,则登录用户登录失败。用户需要重新输入用户名和口令,如果用户登录失败 3 次,则系统自动退出登录窗体,并提示用户“您无权操作本系统!再见!“5.3 工作选项模块(MDI 主窗体模块)设计5.3.1 窗体模块的功能本系统采用多文档界面(Multi Document Interface ,MDI)来组织系统中各个窗体。多文档界面是一种 Windows 用户界面标准。它有一个父窗体,在典型情况下,父窗体用来显示程序菜单以及包含子窗体。在工程中添加一个 MDI 窗口,使用默认名称 MDIForm1。5.3.2 窗体菜单的设计MDI 主窗体是整个系统的容器,为了方便用户的使用,特地设计
38、了菜单。在主菜单中,设计了 5 个根菜单“系统” 、 “管理” 、 “查询” 、 “统计”和“帮助” 。“系统”菜单用来管理用户信息和重新登录的管理;“管理”29菜单是对医疗纠纷信息的管理;“查询”菜单是用来对医疗纠纷信息的详细查询的操作;“统计”菜单是用来对医疗纠纷信息进行相关统计的操作;“帮助”菜单用来显示有关系统的帮助信息。不同类型的用户进入系统显示不同菜单选项。 “系统”菜单项的子菜单中,用户可以单击“密码修改”进入密码修改界面,对用户密码进行修改,以可以单击“重新登录”进入登录界面,重新选择登录身份进入系统,用户也可以单击“退出” ,来退出 MDI 窗体。管理员除了有普通户的功能外,
39、还可以单击“用户管理”进入用户管理界面,进行添加用户,删除用户,修改用户密码操作。用户进入系统是将“用户管理”项设置为不可以使用。如果登录用户是以用户身份登录,则显示图7,该图为 MDI 主窗体的 “系统”菜单项。如果登录用户是以管理员身份登录,则显示图 8,该图为 MDI 主窗体的“系统”菜单项。图 7 用户的“系统”菜单30图 8 管理员的“系统”菜单“管理”菜单项的子菜单中的各选项只对管理员有效,用户登录时,菜单上各项设置为不可使用,这样可以提高系统的安全性。当管理员登录时, “管理”菜单的子菜单中管理员可单击“与患者相关”进入患者信息主界面,也可以单击“与医生相关”进入医生信息主界面,还可以单击“科室情况”进入科室情况的界面对科室的信息进行操作。如果登录用户是以用户身份登录,则显示图 9 的 MDI 主窗体的“ 管理”菜单项。如果登录用户是以管理员身份登录,则显示图 10 的 MDI 主窗体的“管理”菜单项。图 9 用户的“管理”菜单图 10 用户的“管理”菜单“查询”菜单项的子菜单只有一项,用户的管理员都可使用,用户可以单击“投诉患者查询”进入查询主界面,进行查询操