《医院信息管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《医院信息管理系统设计与实现.docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、随着科学技术的不断提高,计算机科学不断发展,其强大的功能已经 被人们认识,它已经在人类社会的各个领域发挥着越来越重要的作用。计 算机信息化管理有着储存量大,速度快等许多优点,因此我们可以利用计 算机实现医院信息管理。医院信息管理系统是典型的管理信息系统(MIS),它的开发主要包括后 台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求 建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应 用程序功能完备,易使用等特点。使用计算机对病人及医师进行管理,具 有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存 储量大、保密性好、寿命长、成本低等。这些优点能够极
2、大地提高病人及 医师信息管理的效率,也是医疗机构理财的科学化、正规化管理,与先进 科学技术接轨的重要条件。经过分析,我们使用Micorsoft公司的Visual Basic开发工具,利用 其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操 纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初 始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系 统,希望这个系统能够为医院信息管理方面提供一些便利。本系统的主要功能包括:患者的入院与出院的维护、医师信息的维护、 收费管理、打印服务等功能。关键词病人管理;医师管理;MISAbstractWith the con
3、tinuous improvement of science and technology, computer science, with its powerful function been recognized, develops fast, and is now playing an increasingly important role in many fields of human society. As computer informational management has a lot of advantages such as a large storage capacity
4、 and compute fast, we can use computer to realize the management of hospital.Hospital management system is a typical Management Information System (MIS). This system mainly contains two parts: the development of front-end application program and the establishment of back-end database. The former req
5、uire establishing a database with strong uniformity and integrity and security of data, while the latter requests the application program to have a characteristic of fully functional and easy to use. Using computers to manage patients and physicians has many advantages that manual management cant co
6、mpare with, such as quick searching, easy finding, high reliability, large storage capacity, good security, long life and low cost. These advantages can greatly improve the efficiency of patients and physicians management, and also are important conditions for medical institutions to make its financ
7、ial management more scientific and more regular, and to integrate with advanced science and technology.After analysis, we use Microsofts Visual Basic as development tools to use the various object-oriented development tools it provided, especially the data window that can manipulate the intelligence
8、 objects of database conveniently and easily. First, in a short period of time, a prototype of system application will be established, and then demand iteration will make on the initial prototype system, and constantly revise and improvement will be make until the formation of a viable system to mee
9、t the customers satisfaction, hoping this system can provide some facilities for the medical management.The main functions of this system contain the following parts: the maintenance of patients check in and out of the hospital, the maintenance of the physicians information, fees management, printin
10、g services, and other functions.Key words patients management system, doctor management system, MIS摘要IABSTRACTII目录I1绪论11.1课题简介11.2开发的意义12开发环境实现技术32.1开发环境32.2开发工具简介33系统设计63.1概要设计63.1.1概要设计阶段的主要任务.63.1.2概要设计的过程63.1.3概要设计的原则63.1.4系统功能分析63.2详细设计83.2.1详细设计的任务83.2.2 详细设计的方法.84数据库设计104.1 数据库Access简介104.2数据
11、库需求分析114.3测试用例145系统的实现165.1系统登录模块的实现165.2住院管理模块的实现205.2.1住院/出院模块的实现:205.2.2查询住防出院病人模块的实现225.3病房管理模块的实现245.4医师管理模块的实现255.5交费管理模块的实现275.6打印管理模块的实现285.7帮助模块的实现296系统使用说明306.1使用说明306.2运行环境30结论31致谢32参考文献33医院信息管理系统设计与实现1绪论1.1课题简介医院信息管理系统是每一个医疗机构管理病人及医师收入和支出的不 可缺少的一个管理信息系统,它的内容对于医疗机构的管理者来说是至关 重要的,所以医院信息管理系统
12、应该能够为每一个医疗机构的管理者提供 充足的信息和快捷的查询手段,大大的方便医疗机构的管理者的合理管理。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为 人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对病人及医师进行管理,具有 着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储 量大、保密性好、寿命长、成本低等。这些优点能够极大地提高病人及医 师管理的效率,也是医疗机构理财的科学化、正规化管理,与先进科学技 术接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计 算机专业毕业的学生来说,也
13、是一次将计算机应用于现实信息管理的一次 很有意义的实践活动。1.2开发的意义(1) 促进医院信息管理信息化随着计算机性能不断提高,价格不断下降,计算机已在医院医疗、教 学、科研、管理的各个方面得到越来越广泛的应用。计算机化的医院信息 管理系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。就 好象一个现代化医院的成功运行离不开功能完整、美观舒适的建筑物,技 术娴熟的医护人员,性能齐全、高精确的医疗设备一样,它也离不开计算 机化的医院信息管理系统。现在我国的病人及医师管理水平大部分还停留在 纸介质基础上,这样的机制不能适应时代发展,因为它浪费了许多人力物 力,在信息时代这种传统的管理方法必
14、然被计算机为基础的信息管理所取 代。开发这一系统的好处大约有以下几点:第一、可以存储历年病人及医师的信息,安全、高效;第二、只需一到二名档案录入员即可操作系统,节省人力;第三、可以迅速查到病人及医师的各类信息。(2) 为将来医疗机构上网做好准备根据2003年中国电信的调查报告显示我国的上网人数已达到1870万, 互联网已经十分普及,本系统为医疗机构将来的上网作了先期工作,比如 医疗机构的网络管理模式的建立。2开发环境实现技术2.1开发环境硬件系统:奔腾100以上CPU、64M以上内存、1G以上硬盘、光驱。软件系统:Windows 9x或更高版本、Visual Basic 6.0中文版、Acce
15、ss 数据库。2.2开发工具简介微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前 最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量 的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工 作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和 可靠性。故而,实现本系统VB是一个相对较好的选择。Access就是关系数据库开发工具,数据库能汇集各种信息以供查询、 存储和检索。Access的优点在于它能使用数据表示图或自定义窗体收集信 息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目 了然。另外,A
16、ccess允许创建自定义报表用于打印或输出数据库中的信息。 Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于 网络文件服务器,与其他网络用户共享数据库.Access是一种关系数据库 工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作 为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数 据库的便利和关系数据库的强大功能。微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它 以及Visual Basic来访问数据库并对其进行各种操作。Visual Basic、 Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用
17、 户提供了丰富的数据类型。DATA控件在数据库中的信息与将信息显示给用户看的Visual Basic 程序之间架起了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要 调用那个数据库的哪个部分。缺省情况下,DATA控件根据数据库中的一个 或多个数据表建立一个dynaset-type (动态集合)类型的记录集合。一个 记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记 录集合中的记录也会随之改变。DATA控件还提供了用来浏览不同记录的各 种跳转按钮。将DATA控件放置在窗体中之后,我们还必须在该控件与要处 理的数据库之间建立联系。ADO是Mcrosoft提出的第三种数据库访问对
18、象,是Microsoft数据库 访问技术的一个主要发展方向,ADO将OLE DB封装在一个数据对象中,使 得VB程序中以方便地实现对数据库的访问。具体的与数据库的关系如下:VB数据库应用程序一般由用户界面、数据库引擎和数据仓库三大部分 组成。(1) 用户界面:用户界面是指应用程序与用户进行交互的界面,包括 用于交互的所有界面元素和代码。它可以显示数据并提供查看或更新数据 的所有对象,比如数据作业窗体,添加、删除记录或执行查询的VB代码等, 这些对象隐含着用来请求数据库服务的属性、事件和方法。(2) 数据库引擎:所谓数据库引擎,是一种管理数据怎样被存储和检 索的软件系统,是应用程序与物理数据库之
19、间的桥梁。它把应用程序的请 求翻译成对各种类型数据库的物理操作,并向应用程序返回结果。(3) 数据仓库:数据仓库是包含数据库表的一个或多个文件,是存放 数据的地方。对于本地的VB数据库来说,就是.mdb格式文件;对于不同的 数据库,它可能具备其它格式。VB访问数据库通常有三种途径:(1) 使用数据控件和数据绑定控件访问数据库;(2) 通过VB提供的数据访问变量编程访问;(3) 通过ODBC接口访问ODBC API函数。VB程序的数据访问通过数据访问接口来实现。在VB中,主要的数据访问接口有三种:数据存取对象(Data Access Object; DAO)、远程数据对象(Remote Data
20、 Object; RDO)、ActiveX 数据 对象(ActiveX Data Objects; ADO)。VB通过数据库引擎可以访问的数据库分如下三类:内部数据库、外部数 据库和ODBC数据库。(1) 内部数据库即.MDB格式的数据库,包括DAO API, Microsoft Access和Microsoft Excel创建的数据源,也称为本地数据库。由于是由 Jet引擎直接创建和操作这些数据库,可以提供最大程度的灵活性和速度。(2) 外部数据库 即索引顺序存取方法(ISAM)数据库,例如 Btrieve、dBASE、FoxPro以及Paradox等。VB能够创建和操作所有这些数 据库,还
21、可以访问Microsoft Excel或Lotus 1-2-3电子表格,以及一些 标准的文本文件。(3) ODBC数据库一一即符合开放式数据库连接性(ODBC)协议的数据 库。VB可以访问ODBC标准客户/服务器数据库-如Microsoft SQL Server、 Oracle和Sybase。可使用ODBC Object直接把命令传递给服务器处理,以 创建真正的客户机/服务器程序。3系统设计3.1概要设计3.1.1概要设计阶段的主要任务 本人先审查软件计划、软件需求分析提供的文档,提出最佳推荐 方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进 度计划,供指导老师审定,审定后进入
22、设计。 确定模块结构,划分功能模块,将软件功能需求分配给所划分的 最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模 式,确定测试方法与策略。 编写概要设计说明书,用户手册,测试计划,选用相关的软件工 具来描述软件结构,结构图是经常使用的软件描述工具。选择分解功能与 划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。3.1.2概要设计的过程概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具 体的实施方案;然后进行结构设计,确定软件结构。3.1.3概要设计的原则 将软件划分成若干独立成分的依据。 如何表示不同的成分内的功能细节和数据结构。 如何统一衡量软件设计的
23、技术质量。3.1.4系统功能分析预测开发的管理系统的达到的功能如下:第一部分:系统用户管理要求:用户分四类:超级用户一切功能可用、管理员不可添加系统 用户、修改用户密码、不可实现收费功能、收费员仅可查询信息、收费 功能、普通用户仅可查询信息。第二部分:患者基本资料要求:实现患者资料的新增、修改、办理患者出院、查询患者资料。第三部分病房管理要求:实现新增病人、病人的转科转房、病房明细查询、患者退房。第四部分主治医师管理要求:实现主治医师资料的新增、修改、查询,有统计各个主治医师 的治疗效果第五部分收费管理要求:实现收费项目列表、查询患者交费情况的查询,及收费窗口第六部分统计打印报表要求:实现当日
24、出/入院病人数量和人员列表,实现各患者费用情况的 打印。第七部分帮助制作帮助文档,介绍各部分功能即可根据以上分析,该系统考虑将整 个系统分解。系统的总体设计结构图如图3-1所示。图3-1模块结构图并且在系统的开发过程中,我尽量注意模块的高内聚、低耦合,使得 系统的整体性能提高,并且也有利于投入使用后的系统维护。3.2详细设计3.2.1详细设计的任务详细设计就是要在概要设计的结果的基础上,考虑“怎样实现”这个 软件系统,直到对系统中的每个模块给出足够详细的过程性描述。主要任 务如下:(1)为每个模块确定采用的算法,选择某种适当的工具表达算法 的过程,写出模块的详细过程性描述;(2)确定每一模块使
25、用的数据结构;(3) 确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内 部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。(4) 要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码 (即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。3.2.2详细设计的方法程序流程图、N-S图、PAD图、IPO图本系统在开发过程中所采用的详细设计方法为IPO图:(1) 病人及医师管理模块IPO图:针对要输入的病人及医师信息,通过提供相应的供操作人员录入界面 这种方式进行处理,然后将结构保存到表,如图3-2所示。1-病人及
26、医师的|信息图3-2病人及医师管理模块IPO图(2) 病人及医师的查询模块IPO图:首先要对输入的查询内容做一下设定,然后通过设计出提供相应供操 作人员操作界面的方式进行处理,处理的结果可以显示出查询的结果及统 计相关信息,如图3-3所示。查询内容的设定图3-3病人及医师的查询模块IPO图1. 显示查询的结果2. 统计相关信息(3) 收费管理模块IPO图:收费管理模块主要是要输入关于收费项目的详细信息,通过提供操作 人员操作的相应界面实现,最后保存到收入/支出项目表中,如图3-4所示。I|V、保存到收入/支/ 出项目表图3-4收费管理模块IPO图打印模块IP。图:打印模块主要是供操作人员查看信
27、息和打印。如图3-5所示。选择打印项提供相应的界面供操作人员操作图3-5打印模块IPO图(5) 用户管理模块的IPO图针对用户的信息管理,设置了用户管理模块,实现对用户信息的增加、 删除、修改,通过提供相应的界面来处理,最后保存到用户管理表中,如 图3-6所示。增加、删除、修改用户信息提供相应的界面供操作人员操作保存到用户管理表图3-6打印模块IPO图4数据库设计4.1 数据库Access简介Access中文版是Microsoft Office套装软件的数据库管理系统软 件,是目前比较流行的小型桌面数据库管理系统,它适用于小型企业、学 校、个人等用户,可以通过多种方式实现对数据收集、分类、筛选
28、处理, 提供用户查询或打印报表。Access具有良好的界面,采用了与Windows和Microsoft Office系列 软件完全一致的风格,用户可以通过菜单和对话框操作,不用编写任何命 令便能有效地实现各种功能的操作,完成数据管理任务。Microsoft Office 的一个集成化的程序设计语言是VBA(Visual Basic for Applications), 使用VBA可以创建非常实用的数据库应用系统。Access可以作为个人计算机终端和大型主机系统之间的桥梁。通过如 SQL、ODBC等特定技术,方便地存储、检索和处理服务器平台上的关键信息, 提供了灵活、可靠、安全的客户/服务器解决
29、方案。Access可以接受多种格式的数据,从而方便了用户在不同系统之间进 行数据转换。数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于 组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可 以分为两类:非关系数据库(flat-file)和关系数据库(relational)。 关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语, 像记录、域等。新建一个数据库创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活 的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。(1) 标识需要的数据;(2) 收集被标识的字段到表中;(3) 标识主
30、关键字字段;(4) 绘制一个简单的数据图表;(5) 规范数据;(6) 标识指定字段的信息;(7) 创建物理表。修改已建的数据库数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic创建的程序来完成,下面的章节将详细描述实现的具体方法。实现数据库之间的联系数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连 接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表 中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记 录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它 自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库
31、中有 三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用 的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关 系。4.2数据库需求分析根据调查有关单位的病人及医师管理的实际情况,分析得到如下的数 据库结构。图4-1住院患者情况表可修改可编仙图4-3交费情况表图4-2主治医师情况表i?isData:C:E院管理系统d. . . X女件 实用程序街口也 帮助国恭数据原窗口IZI回区Properties 丈贵情况+曾曰国-Ji el ds*用户:admit目 口 号项 窗 困用用费 任费费收 il=:一 =;_.|=!回旬二IndexSE -n .Jin I feoci
32、iftwi-底1 3tf+ ff)触N8He:i WEE(XJ Zttf 格式 Qj) ifflLstOL) jx.fr ) 士询 QP ffiA aj 工且 OJ 外拈标序心 也口 地) 船th QP由曲凶皆整顷原口 M C37411401国F?LZi回曾HDIFot-fiL. UFUI. Envied - Tine后-IBan 1H - 3 lhenHDIP om L. 3PGL. Enlil = Tru* nniFotTil. JT. ICLitled. - Tefe HDIPomL. CHJFClK Eziibl.d = Tuu段-耳-Fa* L :*.t * 2lot* Coriri
33、*Fid.L Cl 1 ale C 1 raiPrrnL. DL.EL Kl_*a L ffe-oriwhprdQ-ar = SOLn*fr*Eh.I ftn-daiv t. BjF Thn.4A=ff虹用尸十 J j K芋;D L . Ru mr dSour 5 = umwt D *.L . R*fir a chI 7 rin CTutE:. Tvx-t Tx-inTuc IKulqoc Tax tS. 1 KKi.Ih gKQ3. = 7kun HDLFm 1Er.hl - Tku*K1L? -rm !. JfJZt. Enubl= TrwVWrPmL BJT:T. En*.bl*d Tk
34、u HDLP vm L .En.bJ. = Tr-uHOrFmii L ZKFd. Tru*HDLP rm L . BFCX. Enbl d = Trin HDEFonii L TWL EnAbltd - Ttn* HDZF L. mFlB = 7ru UDIForiT KFC工 En.M4d = Tfus HDIFottt.3 SFiL Euxbl.d = 7ruPlDZr!31T!. cures Un商b*4 = Trw ElxWDIF otrnl VlSIFDrnLVTIF ornl VLDIF&i-nLVTir ornl WDIPn-nLWDIF otrnl VLbIP-nLFliK.
35、 ECL0Jtd = Trn DJZC. ECL4t1圜技手母序|拈分斐序|1 CSffiJC-nnuidl? .:. .g*B*.aM:ol ahunnaDacKCuv:r Bic*C4.pt J OEL进 AC.*1 3 d. Tr-u., Ilii&lladf actFalmDa vnTi txir*7Nd)Dh*Dr iflmd* - M*riu*lTftie鬲主体M.: ft4,0=C3耋杲世码中傥用R9标识时制图5-4 “进入”与“退出”按钮代码菜单并且具有改变“登录菜单为“注销菜单的功能。Private SubCommand2_Click ()Unload MeEnd Sub此程
36、序段中“IF语句的作用是判断用户输入的用户名与密码和数据库的是否相同如果相同,则打开菜单项并执行unload me,如果用户名或密码输入错误则提示,如图5-5所示。提示握示没有此用户t密码槽误tr=瞒。f图5-5提示窗口使用户重新输入用户名或密码。Unload me语句的作用是下载窗体。此窗体上另外还有Datal、Text3二个控件在程序运行时是看不到的, 它们的作用是使VB与Access数据库相连,然后判断用户输入的用户名与 密码是否与数据库中的一致,如果一致,则允许用户进入系统。此三个控 件的创建方法如下:首先,将Data、Text控件拖放到窗体上,其次,设置它们的属性:(a) Datal
37、控件的属性设置,如图5-6所示。E - Dat alE1D=atal Data按字母序枣#夷更1曰薮斯BOFActiunU - H ijveCoriTisctA.a a e e eEatatiasellsiineC : l医砾管理系,空却lHoH . nD e faijl tCm- s o r T yp eo -缺省游标Dsf:=LixLtT5TS2 -使用JetEOFActiuriU 一 11 Ove Las tExcluiivF:ali eOp tl DTiE0ReadOnlyFalm 已FLecor dzetTyp 旦1 一 TijTriaze t-Re c or iHS .jin- c
38、 &Hjl曰姓观gar anew1 - 3HBacldZolcn- *E80000005*(名珈而 曰砰闷 由 任田的捋;由角 献i* 琦图5-6 Datal控件的属性设置图此两个属性的作用是保证Data控件与数据库相连。Visible属性是使此控件运行时在窗体上不显示,应该设置成false。(b)Text3控件的属性设置如下:Datafield是此数据控件绑定到何字段,设置为data1。Datasource是 此数据控件绑定到何数据库,设置为datal。Visible属性的设置同Datal控件。登录后,主界面如图5-7所示。图5-7主界面5.2住院管理模块的实现5.2.1住院/出院模块的实现
39、:主要包括病人的住院/出院详细信息的登记。其中包括有病人的姓名, 性别,工作单位,联系方式,入院/出院时间,入院/出院时间的状况等情 况。(1)流程图,如图5-8所示。图5-8流程图(2)本界面输入的信息主要是到医院就诊的患者的信息。作为使用者, 最关心的是管理信息系统能够提供给使用者什么样的信息,以什么方式提供。本界面主要的输入就是对患者的住院的登记。如图5-9所示。图5-9入院的运行界面出院管理类型,主要以有无入院/出院时间判断病人是住院状态还是出 院状态。本界面主要的输入就是对患者的出院的登记。如图5-10所示。图5-10出院的运行界面 住院管理模块的主要代码如下: Private Su
40、b Command1_Click()If Command1.Caption =新增”Then Data1.Recordset.MoveLastn = Trim(Str(Data1.Recordset.RecordCount + 1)Command 1. Caption =确定Datal. Recordset. AddNewTextl (0). Text = nTextl(3).Text = 30Textl(11) = DateTextl (1). SetFocusCommand2. Enabled = FalseCommands. Enabled = FalseElseMsgBox ”入院成功
41、!Commandl. Caption =新增”Datal. Recordset. UpdateDatal. Recordset. MoveLastCommand2. Enabled = TrueCommands. Enabled = TrueEnd IfEnd Sub5. 2. 2查询住院/出院病人模块的实现主要通过窗口查询住院/出院病人的信息。可以通过住院号查询,姓名 查询,血型查询,住院/出院日期查询。(1)查询住院病人运行界面,如图5-n所示。图5-11查询住院病人运行界面查询出院病人运行界面同查询住院病人运行界面类似。(2)实现过程(以查询住院病人为例):界面的实现方法同上,下面主要看关键代码:主要选择查询的方法。“查询“的主要代码为:Private Sub Command1_Click()If Option1(0).Value = True ThenSQL = select * from住院患者情况 where住院号=& Trim(Text1.Text) & and len(trim(for
限制150内