资源描述
摘要
计算机化的医院病人信息管理系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强,数据安全性好的数据库,而对于后者则要求应用程序功能完备,易使用等特点。
经过分析如此情况,选用PowerBuilder,SQL Server 2000数据库做为开发工具。利用PowerBuilder数据窗口这一能方便而简洁操纵数据库的智能化对象,建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
关键词: 医院信息管理系统,PowerBuilder,SQL Server,数据窗口
ABSTRACT
Computerized hospital information management system has become a modern hospital operation essential infrastructure and technical support for the environment. It mainly includes the establishment and the maintenance and the programming of the frontend application. The former required data consistency and integrality, data security, and for the latter database application program function complete, easy to use, etc.
Through the analysis of such situation, we choose PowerBuilder, SQL Server 2000 database as development tool. Using PowerBuilder data window that can be easily and concise manipulation of the database system, intelligent objects, and then the initial prototype application prototype system requirements, revise and improve the iteration, until customer satisfaction of viable system formed.
Keywords: Hospital information management system, PowerBuilder, SQL Server, data window. 目录
摘要 I
ABSTRACT II
第1章 引言 1
1.1 信息管理系统的发展 1
1.2 课题背景 2
1.3 国内外医院信息系统的发展与现状 2
1.4 课题目的 3
第2章 相关技术介绍 4
2.1 开发环境 4
2.1.1 POWERBUILDER简介 4
2.1.2 Microsoft SQL Server 2000数据库 5
第3章 系统分析 7
3.1 系统的初步调查 7
3.1.1 系统的初步调查 7
3.1.2 系统逻辑模型的提出 7
3.1.3 数据流图 7
3.1.4 数据字典 8
3.2系统功能调查 8
3.2.1 医院病人管理系统的档案维护功能 8
3.2.2 医院病人信息管理系统的查询功能 8
3.2.3 系统维护功能 9
第4章 系统实现 10
4.1 登录模块 10
4.2 病人档案管理 11
4.2.1 门诊病人档案管理 11
4.2.2 住院病人档案管理 12
4.3 查询模块 14
4.3.1 挂号号表查询 14
4.3.2 就诊信息查询 14
4.3.3 住院病人人数查询 15
4.4 系统管理模块 16
4.4.1 用户管理 16
4.4.2 权限管理 17
4.4.3 密码修改 18
第5章 系统调试 19
5.1 调试环境 19
5.2 调试过程 19
5.2.1 权限设置 19
5.2.2 综合调试 19
5.3调试结果 20
第6章 结束语 21
致谢 22
参考文献 23
附录 源代码 24
26
第1章 引言
随着社会化大生产的不断扩大和社会对产品多样化的需求,人们越来越重视信息在生产经营及企业管理中的作用,并把它当做企业的一种极其重要的资源,人们称之为“信息资源”。信息资源的处理已经成为当今世界上一项主要的社会活动。同样,在医疗系统中也不例外,其中加强对病人信息的管理,一方面能更好为病人服务,另一方面能加强对医院效益的监控。
本世纪以来,由于社会生产力的迅速发展和科学技术的突飞猛进,人们进行信息交流的深度和广度不断增加,管理所需要的信息量急剧增长,同时对信息的处理要求及时、准确,这导致了传统的信息处理方法和手段已不能适应现代管理的需要。电子计算机的诞生和在信息处理中的应用,标志着一个崭新时代——“信息时代”的开始,它使企业管理现代化成为可能。
1.1 信息管理系统的发展
管理信息系统通过对企业当前运行的数据进行处理来获得有关信息,以控制企业的行为,利用过去和现在的数据及相应的模型,对未来的发展进行预测,能从全局目标出发,对企业的管理决策活动予以辅助。从工业发达国家来看,管理信息系统的发展经历了以下几个阶段。
第一阶段:(1953年至1965年)单项数据处理阶段,也称电子数据处理(EDP)阶段。这是电子计算机在管理领域应用的起步阶段。这一阶段,由于当时计算机硬、软件的限制,数据处理的性质只是使用计算机代替人的手工劳动,进行简单的单项数据处理工作,
第二阶段:(1965年至1970年)综合数据处理阶段,也称事务处理系统(TPS)阶段。这个阶段计算机硬、软件有了很大的发展,出现了多用户的分时系统,计算机开始应用于对某一个管理子系统的控制,并具有一定的反馈功能。
第三阶段:(1970年至今)管理信息系统(MIS)阶段。这个阶段是在企业中全面的使用计算机把各种管理子系统的功能集中起来,构成了计算机化的全方位的信息系统,即现代管理信息系统。
总的说来,计算机技术的发展,其性价比大幅的下降,使得其被大量广泛的使用。针对现实中的各种应用需求,相应的产生很多技术体系、技术标准,如J2EE、.NET,COM/COM+等。这又大大的推动了企业的信息化进程。其影响可以归纳为如下两点:
(1)计算机已经成为我们学习和工作的得力助手:
首先,计算机可以代替人工进行许多繁杂的劳动;
其次,计算机可以节省许多资源;
第三,计算机可以大大的提高人们的工作效率;
第四,计算机可以使敏感文档更加安全等。
(2)开发医院病人信息管理系统的意义:
现在我国的一些小型医院或诊所对于病人就诊信息的处理还停留在纸介质或半自动(由电脑处理一部分数据,由人工处理一部分数据)的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代[1]。软件系统作为一有项有力的工具,只能当此种工具与我们的实践相结合起来的时候,才具有重大的社会价值及使用价值。因此根据目前实际的医院管理情况开发一套医院病人信息管理系统是十分必要的。
1.2 课题背景
要提高竞争力,既要有好的就医环境,同时也要有好的客户服务,而要实现这些目标的办法就是信息化。医院信息化建设的目标是:适应我国全面建设小康社会和医药卫生改革发展的形势,以病人为中心,综合运用现代信息技术(计算机、网络、通讯等)的特点,提高医疗质量和市场竞争能力,满足患者与医院管理的多种需求,促进医院持续快速稳定发展。
在手工管理的情况下,对病人就诊信息的管理是一个极其繁杂的过程,医生很难记住每一位病人的情况,就医记录。所以往往采用的手工记录的方式,这个势必造成具大的资源浪费。
1.3 国内外医院信息系统的发展与现状
国外医院信息化起步于60年代,发展于80年代,成熟于90年代,目前正在向纵深领域扩展。美国HIS软件从病房护理系统入手,逐渐扩展到财务收费系统、辅助检查系统、行政事务处理系统,90年代电子病历系统已经成熟[2]。
我国医院信息化起步于80年代,发展于90年代,2000年以后属于诸国纷争的信息时代。国内HIS软件从病案统计入手,逐渐转入“以财务为中心”的收费软件,近年来又转入“以临床为中心的”电子病历系统。
国内HIS软件与国外相比,至少晚十年的时间,但由于医院的特殊性,国外公司进入国内至今成功的案例很少,这也为我国的HIS公司提供了发展的平台。2000年以后,国内HIS公司数以百计,较出名的却不出10家,杭州创业软件股份有限公司就是其中一家。
但总的来看,国内的医院信息管理系统缺乏规范,随意性强,大多存在操作复杂缺陷。目前大多的系统还需有专业知识的人进行操作和维护。
由于现在人们对医疗水平的要求逐渐增高,医院也越来越注意到医疗信息化的重要性,这就为医院信息管理系统的推广及发展创造了良好的条件,在中国发展医院管理信息化,发展医院息管理信息化的条件也日趋成熟。
1.4 课题目的
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了更好管理医院病人信息而设计的。
当前,医院作为病人就诊的地方,有许多信息需要处理和管理。现今,有很多门诊信息都是初步开始使用,甚至尚未使用计算机进行信息处理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于医历等很多信息都是用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。
数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个医院病人信息管理系统,使医院病人信息管理工作规范化、系统化、程序化,避免医院管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询、修改和完善病人信息。
第2章 相关技术介绍
2.1 开发环境
本系统采用面向对象的软件开发方法,以Sybase公司的PowerBuilder 9.0作为主要开发工具。使用Microsoft SQL Server 2000作为关系数据库, PowerBuilder是完全可视化的数据库开发工具,它提供了大量的控件,大大加快了项目的开发速度,也使开发者更容易掌握数据库的开发,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实现了预定的需求功能。
2.1.1 POWERBUILDER简介
PowerBuilder是美国Sybase公司研制的一种新型、快速开发工具,是客户机/服务器结构下,基于Windows3.x、Windows95和WindowsNT的一个集成化开发工具。它包含一个直观的图形界面和可扩展的面向对象的编程语言Power Script,提供与当前流行的大型数据库的接口,并通过ODBC与单机数据库相连。其主要特点如下:
(1) 可视化、多特性的开发工具。全面支持Windows或WindowsNT所提供的控制、事件和函数。 Power Script语言提供了几百个内部函数,并且具有一个面向对象的编译器和调试器,可以随时编译新增加的代码,带有完整的在线帮助和编程实例。
(2)功能强大的面向对象技术。支持通过对类的定义来建立可视或不可视对象模型,同时支持所有面向对象编程技术,如继承、数据封装和函数多态性等。这些特性确保了应用程序的可靠性,提高了软件的可维护性。
(3)支持高效的复杂应用程序。对基于Windows环境的应用程序提供了完备的支持,这些环境包括Windows、WindowsNT和WinOS/2。开发人员可以使用PowerBuilder内置的Watcom C/C++来定义、编译和调试一个类。
(4)企业数据库的连接能力。PowerBuilder的主要特色是Data Window(数据窗口),通过Data Window可以方便地对数据库进行各种操作,也可以处理各种报表,而无需编写SQL语句,可以直接与Sybase、SQL Server、Informix、Oracle等大型数据库连接。
(5)强大的查询、报表和图形功能。PowerBuilder提供的可视化查询生成器和多个表的快速选择器可以建立查询对象,并把查询结果作为各种报表的数据来源。 PowerBuilder主要适用于管理信息系统的开发,特别是客户机/服务器结构。
2.1.2 Microsoft SQL Server 2000数据库
SQL Server是一个关系数据库管理系统,SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用。
SQL Server 2000 的特性包括:
(1)Internet 集成。SQL Server 2000数据库引擎提供完整的XML 支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000程序设计模型与Windows DNA构架集成,用以开发Web应用程序,并且SQL Server 2000支持English Query和Microsoft搜索服务等功能,在Web用程序中包含了用户友好的查询和强大的搜索功能。
(2)可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows 98的便携式电脑,到运行Microsoft Windows 2000数据中心版的大型多处理器服务器。SQL Server 2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
(3)企业级数据库功能。SQL Server 2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQL Server 2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
(4)易于安装、部署和使用。 SQL Server 2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQL Server的过程。SQL Server 2000还支持基于标准的、与Windows DNA集成的程序设计模型,使SQL Server数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付SQL Server应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
SQL Server 2000共有4个版本,分别是个人版,标准版,企业版和开发版。本系统开发使用的是SQL Server 2000开发版。
第3章 系统分析
3.1 系统的初步调查
3.1.1 系统的初步调查
系统的初步调查目标是在可行性分析的基础上进一步对原有系统进行的调查和分析,弄清原有管理信息系统的运行状况,发现其薄弱环节,找出要解决问题的实质,确保新系统比原系统更加有效、可靠。具体内容包括:管理业务状况的调查分析、数据流程的调查分析。
调查之后,绘制出医院信息管理系统的业务流程图。
查询结果
医院病人信管理系统
一般用户
系统管理 人员
用户设置 设计要求
表单维护 统计结果
图3-1 业务流程图
3.1.2 系统逻辑模型的提出
为了实现管理信息系统的计算机化,仅仅用业务流程图形象地描述信息的流动和存储还远远不够,还要进一步调查分析舍去物质流,抽象出信息流,绘制出数据流程图,并对各种数据的属性和各项处理功能进行详细分析。系统分析的主要成果是系统的逻辑模型。本系统主要是以数据流图、数据字典为主要描述工具来勾画系统的概貌。
3.1.3 数据流图
数据流图,是描述系统逻辑模型的主要工具之一,它是在对系统的业务流程图进行分析的基础上用少数几种符号综合地反映出信息在系统中的流动、存储和处理等情况,并能将信息处理功能和彼此之间的联系,自上而下,逐层分解,从逻辑上精确地描述出系统应具有的数据加工功能、数据输入输出、数据存储、数据来源和去向等项目。
管理员/用户
用户信息管理
就诊信息查询
门诊就诊信息表
挂号号表查询
用户信息表
挂号号表查询
住院病人人数查询
住院病人表
门诊病人档案管理
门诊病人档案表
住院病人档案管理
住院病人信息表
医院病人信息管理系统
图3-2 数据流图
3.1.4 数据字典
数据字典,是数据流图上所有成分的定义和解释的文字集合。它是系统分析阶段的重要文档,它的作用是将数据流图中全部数据流及其组成部分的数据元素、数据存储、数据加工外部项等,通过数据字典描述清楚,以便于以后系统设计时使用。
3.2系统功能调查
3.2.1 医院病人管理系统的档案维护功能
门诊病人档案的管理:对门诊病人信息进行管理与维护,可通过输入病人的门诊号码或姓名查询并修改病人档案。
住院病人档案的管理:对住院病人信息进行管理与维护,可通过病人性质进行删选,也可输入病人的住院号码或姓名进行查询并修改病人档案。
3.2.2 医院病人信息管理系统的查询功能
门诊挂号信息查询:可通过输入就诊号码、门诊号码、病人姓名或选择挂号时间段来进行病人挂号信息的查询。查询结果显示病人挂号科室、挂号具体时间、挂号类别、挂号费等多项信息。
就诊信息查询:可通过输入病人姓名或选择就诊时间段来对病人就诊信息查询。查询结果显示挂号时间、挂号科室、接诊医生、医生诊断时间和医生诊断。
住院病人人数查询统计:通过选择住院时间段进行住院人次查询。查询结果显示各病区名称和住院人数。
3.2.3 系统维护功能
用户管理:包括增加、删除用户组,增加、编辑、删除用户,导入用户等。
用户权限管理:对各个用户组设置不同的权限。
密码修改:修改用户密码。
第4章 系统实现
医院病人信息管理系统主要由用户登录、病人档案管理、查询、系统管理四大模块组成,各大模块分别由其子模块构成。本系统在开发过程中采用WINDOWS系列软件风格,使用户易掌握易使用。以下对各个模块系统功能做介绍。
4.1 登录模块
【功能】:用于用户登录系统。
【操作步骤】:
1、直接双击应用程序图标即可进入系统登录窗口,界面如图4-1所示
图4-1 登录窗口
2、输入用户代码后系统自动识别并显示输入用户代码所对应的用户名称,若无用户名称显示则表示输入的用户代码有误,需确认用户代码正确后再进行操作。当系统识别显示出用户名称后输入用户密码后点击‘’按钮登录系统时,系统将检验用户密码是否正确,若不正确将不予登录;登陆之后,系统将根据用户权限来设置系统组合系统对应的功能模块菜单。登录后系统主界面如图4-2所示。
图4-2 系统主界面
4.2 病人档案管理
4.2.1 门诊病人档案管理
【功能】:用于门诊病人档案信息的管理及维护。
【操作步骤】:
1、选择“档案管理|门诊病人档案”子菜单;
2、进入‘门诊病人档案’子菜单,如图4-3所示。此界面窗口显示所有在医院挂号就诊的病人档案信息,可通过门诊号码或病人姓名查询指定病人的档案信息,并可点击‘’按钮进入门诊病人档案修改界面对指定病人的档案信息进行完善和修改。界面如4-4所示。
图4-3 门诊病人档案管理查询窗口
图4-4 门诊病人档案窗口
4.2.2 住院病人档案管理
【功能】:用于住院病人档案信息的管理及维护,提供按病人性质进行筛选这一功能。
【操作步骤】:
1、选择“档案管理|住院病人档案”子菜单;
2、进入‘住院病人档案’子菜单,如图4-5所示。可按病人性质进行筛选,也可通过住院号码或病人姓名查询指定病人的档案信息。点击‘’按钮进入住院病人档案界面对指定病人的档案信息进行完善和修改。修改界面如4-6所示。
图4-5 住院病人档案管理查询窗口
图4-6 住院病人档案窗口
4.3 查询模块
4.3.1 挂号号表查询
【功能】:根据用户设置的条件查询挂号信息。
【操作步骤】:
1、选择“查询|挂号信息查询”子菜单;
2、进入‘挂号信息查询’子菜单,如图4-7所示:
图4-7 挂号号表查询窗口
3、先输入就诊号码、或门诊号码、或挂号员、或病人姓名、或挂号时间等单个或多个查询条件,当输入多个查询条件时,系统默认按‘且’连接,然后单击‘’按钮,统计结果。
4、单击‘’按钮,清除已有查询条件,输入新的查询条件,重新检索。
4.3.2 就诊信息查询
【功能】:根据用户设置的条件查询门诊就诊信息。
【操作步骤】:
1、选择“查询|就诊信息查询”子菜单;
2、进入‘就诊信息查询’子菜单,如图4-8所示:
图4-8 门诊病人就诊信息查询窗口
3、先输入病人姓名、或挂号时间等单个或多个查询条件,当输入多个查询条件时,系统默认按‘且’连接,然后单击‘’按钮,统计结果。
4、单击‘’按钮,清除已有查询条件,输入新的查询条件,重新检索。
4.3.3 住院病人人数查询
【功能】:根据用户设置的条件查询住院病人人数信息。
【操作步骤】:
1、选择“查询|住院病人人数查询”子菜单。
2、进入‘住院病人人数查询’子菜单,如图4-9所示。
3、输入住院日期时间,然后单击‘’按钮,统计结果。
4、单击‘’按钮,清除已有查询条件,输入新的查询条件,重新检索。
图4-9 住院病人人数统计窗口
4.4 系统管理模块
4.4.1 用户管理
【功能】:系统管理员可以设置多个用户使用病人信息管理系统。
【操作步骤】:
1、选择“系统|用户管理”子菜单;
2、进入‘用户管理’子菜单,如图4-10所示。对使用该系统的用户组及其用户进行设置。要求根据使用权限的不同建立不同的组,在相应的组上建立用户
图4-10 用户管理窗口
3、单击‘’按钮,增加组;单击‘’按钮,删除组。
4、单击‘’按钮,增加用户;单击‘’按钮,编辑用户;单击‘’按钮,删除用户。
5、单击‘’按钮,进入用户导入界面,如图3-11所示,单击‘’按钮导入所选用户。
图4-11 用户导入窗口
4.4.2 权限管理
【功能】:系统管理员为不同的用户组分配使用权限。同一用户组具有相同的操作权限。权限分配通过鼠标右键完成,其中打‘√’表示有权使用,打‘×’表示无权使用。
【操作步骤】:
1、选择“系统|权限管理”子菜单。
2、进入‘权限户管理’子菜单,如图4-12所示。
3、首先选择要修改的用户组,再通过鼠标右键进行权限的修改,修改完成后单击‘’按钮。
图4-12 用户权限管理窗口
4.4.3 密码修改
【功能】:修改用户密码
【操作步骤】:
1、选择“系统|密码修改”子菜单;
2、进入‘密码修改’子菜单,如图4-13所示:
图4-13 密码修改窗口
3、输入新的用户口令,确认一遍后单击‘’按钮完成密码修改
第5章 系统调试
系统调试目的是发现程序和系统中可能存在的错误并及时予以纠正。系统的单个模块测试在开发过程中完成,开发完成后,需要一段时间进行软件的整体功能测试,使系统更加稳定、完善。以下是对开发完成后整个系统进行的调试过程。
5.1 调试环境
操作系统:Windows XP
数据库:SQL Server 2000
调试工具:Powerbuilder 9.0
数据库名:mqwss
服务器:本机
5.2 调试过程
系统由多个功能模块组成,首先将一个功能内所有程序进行测试,目的是要保证模块内各程序间具有正确的控制关系,同时可以测试模块的运行效率。然后进行综合调试。以下简要介绍几个典型的调试中发现的问题。
5.2.1 权限设置
此模块中,采用的是TreeView控件,菜单层次树有函数wf_createmenutv生成。权限设置分成父节点和数个子节点。在设置父项权限时,若同层所有子节点都没有权限则其父节点也没有权限;若同层子节点有一个有权限则其父节点就有权限。所以当用户鼠标右键单击子节点时,由无权限变到有权限时,父节点也随之变成有权限。但调试过程中发现父节点未随之改变,后来在查看设置父项权限函数wf_setparentright时发现返回值出错,于是,修改代码得到正确的返回值实现功能,修正了缺陷。
5.2.2 综合调试
综合调试是对系统的各个功能进行系统测试。由系统管理员建立用户组,导入用户并分配用户权限,以及不同权限用户登陆到系统后的一系列操作,测试权限设置是否起作用等,同时还包括系统提示和系统界面是否友好等。软件是人智慧的产品,不可避免的存在缺陷,而我们需要很多时间去发现软件存在的缺陷,并去改正它,这无疑需要大量的时间。
5.3调试结果
经过系统的调试,使得软件的缺陷得以改正,使软件越来越完善。系统中也无发现严重的缺陷,系统运行正常,基本功能已经实现。但是不可否认系统仍然存在缺陷,只是现在还没有发现,软件需要不断完善。
第6章 结束语
大学时专业知识的积累和在公司两个多月的实习工作,使我深入了解了PowerBuilder和SQL Server 2000的开发特点,为我这次毕业设计打下了基础。毕业设计过程中,经过详细的数据库分析及系统功能设计和开发,使我理论联系实际,进一步提升了我的实践能力,使我学到了很多知识。从开始接到论文题目到系统的实现,再到论文文章的完成,都让我获益良多。虽然时间仓促,设计中还存在很多不足之处,但我可以自豪的说,这是我努力的成果。当看着设计的功能模块一个个实现,是我莫大的欣慰。
本次医院病人信息系统的设计与实现的过程中,使我学习并加强了PowerBuilder编程技术,同时SQL语句也得到了巩固,这对我今后进入公司工作打下了良好的基础。但由于目前所学知识有限,系统有些功能模块的实现方法欠佳,需要我在以后的实践中不断提升自己的能力。
致谢
首先要感谢我的指导老师在毕业设计中给我的悉心指导和帮助。在整个毕业设计过程中,他给予我很多的支持和帮助,使我能够顺利得完成毕业设计。
同时要感谢我的校外指导老师公司项目经理在毕业设计过程中对我的指导和帮助,使我克服了技术上的难题,学到了更多东西。
同时要感谢大学四年中曾教过我的老师们。是你们的无私教导为我打下了扎实的专业基础。
感谢同学四年来对的关怀。有了你们,我的大学生活才会如此精彩。我会永远记住我们一起走过的日子。
感谢我的父母对我的关爱,让我能够安心在大学的殿堂里学习知识。
感谢所有关心、帮助和支持过我的人。
参考文献
[1] 周航,芮广海. 计算机信息系统在医院管理中的应用[J].辽宁石油化工大学学报, 2005,(01):45-47
[2] 王谦,刘元涛. 医院住院管理信息系统的研究开发[J].微型电脑应用,2002, (01):99-102
[3] 李良,王永县,宋广峰. 县级医院管理信息系统的设计与实现[J].管理信息系统, 1997, (05):23-27
[4] 何勇. 医院信息系统设计与开发[D].重庆大学,2007 .
[5] 叶建江.医院信息管理系统(HIS)开发模式[J].广东药学院学报, 2001,(03):7-8
[6] 李伟红. SQL Server 2000数据库及应用[M].北京:中国水利水电出版社,2007
[7] 张勇毅,姚华. PowerBuilder + SQL Server 数据库应用系统开发与实例[M].北京: 人民邮电出版社,2007
[8] 王艳青. PowerBuilder程序设计基础[M].北京:中国水利水电出版社,2006
[9] 卢守东. PowerBuilde数据库应用开发技术[M].北京:清华大学出版社,2006
[10] Haux, R, Winter, A, Ammenwerth, E. Strategic Information Management in Hospitals[J].Springer, New York (2004)
[11] Benbasat, I, and Taylor, R.N. Behavioral aspects of information processing for the design of management information systems[J].IEEE Transactions on Systems, Man, and Cybernetic,1982,(4):439-450
附录 源代码
1. 权限设置窗口open时间代码:
long ll_parts[2]
ll_parts[1]=500
ll_parts[2]=-1
uo_1.of_setparts(ll_parts)
uo_1.of_settext(0,0,"点击鼠标左键展开菜单,点击鼠标右键改变菜单权限!")
cb_save.Enabled = False
cb_undo.Enabled = False
cb_all.Enabled = False
cb_none.Enabled = False
io_parm = message.PowerObjectParm
trans_working = io_parm.TransParm
gf_center_window(this)
string ls_system_name
ii_SystemID = io_parm.LongParm[1]
SELECT XTMC into :ls_system_name
FROM SS_INSTALL
WHERE XTSB = :ii_SystemID
USING trans_working;
st_system_name.text = ls_system_name
this.title = "系统用户组权限设置 - " + ls_system_name
wf_CreateMenuTV(io_parm.MenuParm,0)
tv_1.ExpandAll(tv_1.FindItem(RootTreeItem!, 0))
dw_cdqx.Visible = False
dw_cdqx.SetTransObject(trans_working)
dw_group_list.dataobject = "d_group_list"
dw_group_list.SetTransObject(trans_working)
dw_group_list.SetRowFocusIndicator(Hand!)
dw_group_list.Retrieve(ii_SystemID)
IF dw_group_list.RowCount() = 0 THEN tv_1.Enabled = False
2. 权限设置窗口中生成菜单层次树wf_createmenutv函数:
Long ll_Pos
Long ll_Handle
Long ll_MenuItem
Long ll_TotalItems
Long ll_MenuItemNumber
String ls_MenuItemName
String ls_MenuItemText
TreeViewItem ltvi_Item
ll_TotalItems = UpperBound(am_Menu.Item[])
IF ll_TotalItems = 0 THEN RETURN
FOR ll_MenuItem = 1 TO ll_TotalItems
ii_MenuLevel ++
ls_MenuItemName = am_Menu.Item[ll_MenuItem].ClassName()
ls_MenuItemText = am_Menu.Item[ll_MenuItem].Text
ll_Pos = Pos(ls_MenuItemText,"&")
IF ll_Pos > 0 THEN
ll_Pos = Pos(ls_MenuItemText,"(")
IF ll_Pos > 0 THEN
ls_MenuItemText = Left(ls_MenuItemText,ll_Pos - 1)
ELSE
ls_MenuItemText = Mid (ls_MenuItemText,4)
END IF
END IF
IF NOT am_Menu.Item[ll_MenuItem].Visible THEN GOTO Process_Next
IF ls_MenuItemText = "-" THEN GOTO Process_Next
IF am_Menu.Item[ll_MenuItem].Tag = "AlwaysEnabled" THEN GOTO Process_Next
ll_MenuItemNumber ++
ltvi_Item.Data = ls_MenuItem
展开阅读全文