看病预约资源编号与vs 传入参数错误长度错误是什么意思?

预约挂号有哪些技巧? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。337被浏览<strong class="NumberBoard-itemValue" title="7,165分享邀请回答15011 条评论分享收藏感谢收起32 条评论分享收藏感谢收起当前位置: >>
HIS系统中的门诊挂号子系统
同济大学软件学院 硕士学位论文 HIS系统中的门诊挂号子系统 姓名:林如丹 申请学位级别:硕士 专业:计算机科学与技术 指导教师:王继成;肖芳惠
摘要摘要现代社会日新月异,信息化的浪潮汹涌而来,医院管理信息系统(HIS)的 建设也日益受到关注,人们越来越认识到医院信息系统(HIS)将成为现代化医 院必不可少的基础设施,它为提高医院服务质量,降低成本,增加社会效益和 经济效益提供了可靠保证。作为HIS系统中的门诊挂号子系统可以解决在医院 的挂号流程中出现的问题,根据医院的预约和挂号流程,简化病人在挂号时的流程,引入门诊挂号子系统后,挂号室的工作人员只需要点击页面上的科室及在磁卡中输入病人的信息,病人拿着唯一标识身份的磁卡进行下来的看病流程。 本课题在理论研究的基础上,应用于实践,这个子系统充分体现了“以病人为 中心”的现代医院管理思想与计算机信息技术的完美结合,根据流程设计出子 系统,完全切台医院的实际应用。 本论文首先介绍了HIS系统以及门诊挂号子系统的概念及其应用前景。在 介绍门诊挂号子系统的同时给出了一个自己独立开发设计,基于PowerBuilder 开发平台,并且符台医院门诊就诊的一个完整流程的HIS系统的门诊挂号子系 统。它采用客户机/服务器(C/S)体系结构,后台运用ORACLE这个强大的数据 库系统,数据处理功能强大,运行速度快,安全可靠,是一套理想安全的应用 系统。本子系统提供一种优秀的运作模式,实现收取病人挂号费,录入就诊病 人的基本信息,并分配唯一的识别号的流水作业的一条龙服务,使一系列工作 在电脑键盘上瞬间即可完成,对于消除医院的“三长~短”现象效果显著。门 诊挂号与预约的自动化,一方面提高了工作效率,缩短了患者的等待时间:另 一方面也增加了医院收费的透明度和准确性,促进医院业务操作的标准化和规范化。重点:门诊挂号子系统实现了医院门诊部挂号处所需的各种功能,本课题 的重点和难点在于如何实现门诊的挂号处理以及病人信息的查询和有关挂号工作的统计结帐工作。本文最后对目前已完成的HIS系统中的门诊挂号子系统的优点和需进一步 改进之处进行了简单的分析,并对全文做了总结和展望。 摘要关键字:PowerBuiider,挂号,查询,统计,录入.1I. AbstractABSTRACTWiththe development of society,information technology waved tempestuously.The construction of hospital management information more attentionsystem(HIS)hadreceivedandthe growing awareness of the hospitalinformation system(HIS)would become essential to the modem hospital infrastructure which could improve the quality of service,lower low-cost,provideareliable guarantee to increase thesocial and economic benefits.The subsystem of registrationandbooking in the HISwhich system could resolve the problem existing in the hospital registered process could simplify the process in during the registration for patients.By the registeredandbooking subsystem,registered room staffs need only clickonthe pagesandsections withaandinput theinformationto themagnetic card of patient,then the patientthe treatment process.The research wasunique identification card cardedononbasedthe theory and implied to practice.The subsystem fully embodied the it combined modem hospital management in”patient.centered”,andand computerinformation technology perfectly.The subsystem designedaccordance withof the hospital. procedures Was entirely in line with the practical application Firstly,this paper introduced the concept of appointmentandapplicationand prospects of the HIS system and the subsystem of registration the subsystem of registration and booking were introduced,it told registrationbooking.Whenasubsystem ofand booking of the complete HIS system which was independentlyondesigned and basedPOWERBULDER developmentplatform.Itused client/server(C/S)architecture system.Withset of idealwhile the background used this powerful Oracle databaseranstrong data processing function,itsecurefast,safe and reliableanandwasaandapplication system.This subsystem providedexcellentoperation modeand achieved to charge patientsregistration fee,log the basicinformationof attending patientsaanddistribute the only identifier.The streamlinedonone.stop services madeseries of workthe computer keyboard completed themoment.It was obvioushospital.Ononeto eliminate the”a long three short”phenomenon in thehand,the automation ofout-patient registeredandbooking.III. improved the efficiency,shorten the time of patients for waiting;On the other hand,hospital fees increased the operations more normaltransparencyregular.and accuracy that made the hospital businessandFocus:the subsystem of registration required for hospital issueandfunctions booking achieved variousout.patient registration.The key pointtreatand difficultyof thislied in how to achieve tothe out-patient registration,inquiry thebusiness about registration. and further improvementsinformation of patient and the statisticsand checkout the advantagesthe Finally,the paper simply analysisHIS system and made completed in the subsystem of registration and booking ofsummary and outlook for the fulltext.Key words:PowerBuilder,registration,inquiry,statistic,log.IV. 学位论文版权使用授权书本人完全了解同济大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提 供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国 家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目 的的前提下,学校可以适当复制论文的部分或全部内容用于学术活 动。学位论文作者签名:林驷谓 2_008年弓月f猸经指导教师同意,本学位论文属于保密,在 本授权书。 指导教师签名: 年 月日年解密后适用学位论文作者签名:j|阼戈DR.200 8年弓月1 2.日 同济大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进 行研究工作所取得的成果。除文中已经注明引用的内容外,本学位 论文的研究成果不包含任何他人创作的、已公开发表或者没有公开 发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个 人和集体,均已在文中以明确方式标明。本学位论文原创性声明的 法律责任由本人承担。签名:林斓)叩色年弓月I≯El 第1章引言第1章引言1.1课题研究背景和现状分析近年来,计算机技术已在许多行业得到广泛应用,在医疗卫生领域的应用也在逐渐升温。医院管理信息化已成为今后的发展趋势。究其原因有:1、医疗体制改革的需要随着我国医疗制度改革的深化,医院将面临现代企业制度改革、医疗保险制度改革、药事管理制度改革、社区医疗体系重建及医院现代化所带来的严峻 挑战,传统的运行机制和管理手段已不能适应市场化、社会化的竞争。医院引入市场机制,遵循价值规律,注重病人权益,降低成本,改善服务,走质量效 益型的内涵性发展模式是建设现代化医院的必由之路。这决定了医院要在优质、 高效、低耗的条件下,充分利用现代管理手段实现资源的最优化配置和利用。2、医院自身建设的需要当前医院效率低下、浪费流失、分配不公的状况比较突出,实行严格的医院成本控制和收支核算尤为重要。目前这类以经济核算为主线的计算机网络系 统的应用已较为普遍,但医疗工作是医院的主要工作,医疗技术的提高和医学模式的转变决定了办院模式要向以病人为中心进行转变。信息支持的范围应该从单纯的计费、统计拓展到医疗技术支持和对病人的直接服务。医院计算机信 息要向具备电子化病历、历史资料回溯等方向进行适应性改造。现代社会同新月异,信息化的浪潮汹涌而来,医院管理信息系统(HIS)的建设也曰益受到关注,人们越来越认识到医院信息系统(HIS)将成为现代化医 院必不可少的基础设施,它为提高医院服务质量,降低成本,增加社会效益和 经济效益提供了可靠保证。 目前我国医院的原有管理模式已沿用了几十年,基本上还停留在五、六十 年代,远远适应不了改革的需要,且许多不合理的问题日益突出,如患者在挂 号、候诊、划价、交费、检查、取药过程中需要反复排队;病人的就诊流程设置不甚合理;医院内部设置以经济管理为前提,而不是以为病人服务为前提等。 由于上述医院的传统的管理模式的局限性,医院信息系统的实施势在必行。 第1章引言如今的社会是一个信息爆炸的社会,为了加快医院管理系统的信息化步伐, 提高医院的管理水平和医疗水平,增强在同行业中的竞争实力,建设和完善医 院信息管理系统(简称:HIS系统)变得十分重要。医院信息系统建设是一项 复杂的系统工程,系统设计是否科学,在某种程度上决定了系统建设的成败。HIS系统建设的逐步主要目标是:克服现有的以财政为中心的核算型医院信息系统的不足,实现以电子处方、电子医嘱为核心的医疗信息系统;支持以病人为中心的全过程医疗服务和各医疗服务环节质量优化和效率的提高,医疗费用公开、透明、充分体现“以病人为中心的现代医院管理思想与计算机信息技术的 完美结合”。医院信息系统必须结合医院工作流程的实际情况,贯彻以病人为中心的思想,医院管理信息系统的投用,改变了医院原来各部门计算机管理各自为政、数据重复录入、数据不能共享、管理面狭窄的局面,真正做到了全院数 据一体化,一处录入,多处共享,提高了数据质量,拓宽了管理面,加深了管 理层次,对医院的社会效益及经济效益都有较大的影响。 我工作的医院在2003年完成HIS系统的建设,随着这几年的使用,随着社 会的不断发展,原有的HIS的系统存在一定的不足,特别是由于原有的HIS系 统没有单独的门诊挂号子系统,该子系统没有从门诊收费子系统中独立出来, 由于收费和挂号都在一个窗口进行,造成了在一定的数据混乱以及病人等待时 间过长,从而也减低了工作效率,影响了医院业务发展和病人就诊治疗的质量。 在这种现状之下,开发一个独立的、适合医院现在自身发展的门诊挂号子系统变的尤为重要。1.2课题研究和开发目标本课题为了解决在医院的挂号流程中出现的问题,根据医院的预约和挂号 流程,简化病人在挂号时的流程,在以往的传统的医院管理模式下,是用手工 记帐,手工录入,容易出错,引入门诊挂号子系统后,挂号室的工作人员只需 要点击页面上的科室及在磁卡中输入病人的信息,病人拿着唯一标识身份的磁卡进行接下来的看病流程。本课题在理论研究的基础上,应用于实践,这个子系统充分体现了“以病 人为中心"的现代医院管理思想与计算机信息技术的完美结合,根据流程设计 出子系统,完全切合医院的实际应用。.2. 第1章引言1.3课题研究的内容医院信息系统建设的内容医院日常运作形式与特点决定了医院信息管理系统是所有信息系统中最复杂的信息系统之一。医院本身的目标、任务和性质决定了医院信息系统的高度复杂性,广义来说,医院信息系统是管理信息系统 在医院环境下的具体应用,它不但要同其它所有MIS系统一样追踪伴随人流、 财流、物流产生的管理信息,从而提高医院的管理效率,而且还要支持以病人 医疗信息记录为核心的整个医疗、教学和科研活动。 医院信息系统建设内容广泛。随着计算机技术的发展及医院管理模式的变 革而有所不同。我认为医院信信息系统建设应考虑包含以下一些基本内容: 建立全院计算机网络,实现信息资源共享。用户分级数据库。集中存储临床医疗和医院管理数据。 支持医院的业务处理。支持医院的医疗事务管理,医院动态与医疗质量客观监督与控制。 提供对临床诊断和医院管理的信息支持。 建立计算机网络和数据库的维护机制。 门诊挂号子系统(挂号与预约的简单流程见图l。1)实现了医院门诊部挂号售迸 高人格叶 庸^病人图1.1挂号与预约的简单流程处所需的各种功能,包括门诊安排的管理,号表的生成及维护,门诊预约管理 和挂号处理,同时提供了病人信息的查询和有关挂号工作的统计功能。1.4本文的章节安排一3. 第1章引言本文详细描述了HIS系统中的门诊挂号子系统的需求分析,系统设计以及 系统实施,这个系统的优点是操作简单,使用方便,收费、录入、挂号等各种 信息在界面中一目了然,极大的方便了操作人员的操作,并且方便快速,节省 了病人的等待时问。 本文共分为7章: 第一章阐述了本课题的研究背景和现状、研究和开发目标、研究的主要内 容。第二章叙述了本课题研究的理论基础,包括:软件工程理论、数据库系统基础、Oracal基础、PowerBuilder的基本介绍及开发工具、医院挂号流程的一 些常用术语解释。 第三章对HIS系统中的门诊挂号子系统进行了详细的需求分析,给出了该 系统的数掘流图和需求规格说明。 第四章对HIS系统中的门诊挂号子系统进行了总体设计,给出了该系统的 该系统的总体结构图和各模块的功能说明。第五章叙述了HIS系统中的门诊挂号子系统的实现结果,包括:该系统中的数据字典、数据表及其之间的关系图、主要模块的实现算法和程序。 第六章描述了HIS系统中的门诊挂号子系统的运行过程。 第七章对全文进行了总结,并对存在的问题进行了说明,同时提出一些根 据目前实际情况的改进方法。-4一 第2章理论基础第2章理论基础本章节将介绍HIS系统中的门诊挂号子系统所需要的理论基础,即软件工 程理论、Oracal基础、PowerBuilder的基本介绍及开发工具、医院挂号流程的 一些常用术语解释。2.1软件工程理论软件生存周期由软件定义、软件开发和软件维护三个时期组成,每个时期又进一步划分成若干个阶段。软件定义时期的任务是确定软件开发工程必须完 成的总目标;确定工程的可行性,导出实现工程目标应该采用的策略及系统必 须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义时期 通常进一步划分成三个阶段,即问题定义、可行性研究和需求分析【lJ。刀:发时期具体设计和实现在前一个时期定义的软件,它通常由下述四个阶 段组成:总体设计,详细设计,编码和单元测试,综合测试。维护时期的主要 任务是使软件持久地满足用户的需要。 下面扼要介绍软件生存周期每个阶段的基本任务和结束标准。 1、问题定义 问题定义阶段必须回答的关键问题:”要解决的问题是什么?问题定义阶段 是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时问。 2、可行性研究 这个阶段要回答的关键问题是:对于上一个阶段所确定的问题有行得通的 解决办法吗?“可行性研究应该比较简短,这个阶段的任务不是具体解决问题, 而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法”。 可行性研究阶段应该导出系统的高层逻辑模型(通常用数据流图表示),并且在 此基础上更准确、更具体地确定工程规模和目标。然后分析员更准确地估计系 统的成本和效益,对建议的系统进行仔细的成本/效益分析是这个阶段的主要任 务之一。可行性研究的结果是使用部门负责人做出是否继续进行这项工程韵决.5一 ‘第2章理论基础定的重要依据。 3、需求分析这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这 个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。通常 用数据流图、数据字典和简要的算法描述表示系统的逻辑模型。4、总体设计这个阶段必须回答的关键问题是:“概括地说,应该如何解决这个问题?”首先,应该考虑几种可能的解决方案。结构设计的一条基本原理就是程序应该模块化,也就是一个大程序应该由 许多规模适中的模块按合理的层次结构组织而成。总体设计阶段的第二项主要 任务就是设计软件的结构,也就是确定程序由哪些模块组成以及模块阳J的关系。 通常用层次图或结构图描绘软件的结构。5、详细设计总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶 段的任务就是把解法具体化,也就是回答下面这个关键问题:“应该怎样具体地 实现这个系统呢?”这个阶段的任务还不是编写程序,而是设计出程序的详细 规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工 程蓝图,它们应该包含必要的细节,程序员可以根据它们写出实际的程序代码。 通常用Hipo图(层次图加输入/处理/输出图)或建模语言(过程设计语言)描述详细设计的结果。6、编码和单元测试 这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。程序 员应该根据目标系统的性质和实际环境,选取一种适当的高级程序设计语言(必 要时用汇编语白’),把说细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块。 7、综合测试这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到 预定的要求。8、软件维护 维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。通常有四类维护活动:改正性维护;适应性维护;完善性维护;预防-6. 第2章理论基础性维护【21。2.2数据库系统基础2.2.1数据库系统的相关概念 关系数据库是由数据表和数据表之间的关联组成的。其中数据表通常是一个 由行和列组成的二维表,每一个数据表分别说明数据库中某一特定的方面或部 分的对象及其属性。在关系数据库中,表的惯量是一个非常重要的组成部分。 表的关联是指数据库中的数据表与数据表之间使用相应的字段实现数据表的连接。这种连接在进行多表查询时也非常重要。 数据表之间的关联实际上是通过键(KEY)来实现的,键分主键和外键两 种。主键是数据表中具有唯一型的字段,也就是说数据表中的任意两条记录都不可能拥有相l司的主键字段。外键:一个数据表将使用该数据表中的外键连接 到其他的数据表,而这个外键字段在其他的数据表中将作为主键字段出现。数 据的完整性分为实体完整性、区域完整性、参考完整性用户自定义完整性【31。2.2.2E―R方法 E.R方法是一种用来在数据库设计中表示数据库系统结构的方法,又被称为EAR方法或EAR模型。它的主导思想是使用实体、实体的属性以及实体之间 的关系来表示数据库系统的结构。 在ER模型中,使用方框表示实体,使用菱形表示联系,使用椭圆形表示属性。例如,可以将一名员工作为一个实体表示,如图2.1所示:图2.1员工实体.7. 第2章理论基础另外,还可以使用E―R模型图术表示实体之间的关系。例如,可以使用下面的E.R模型图来表示员工实体和项目实体时间的关系‘41。幽2.2员7I:实体和项目实体之间的关系2.2.3数据流图 数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以 图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成 的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“一”箭 头表示数据流:“o”圆或椭圆表述加工;“="双杠表示数据存储;“"方框表 示数据的源点或终点151。 下面来详细讨论各基本符号的使用方法。数据流 数据流由一组确定的数据组成。例如“发票”为一个数据流,它由品名、规格、单位、单价、数量等数据组成。数据流用带有名字的具有箭头的线段表示, 名字称为数据流名,表示流经的数据,箭头表示流向。数据流可以从加工流向 加工,也可以从加工流进、流出文件,还可以从源点流向加工或从加工流向终点。 对数据流的表示有以下约定:对流进或流出文件的数据流不需标注名字,因为文件本身就足以说明数据流。而别的数据流则必须标出名字,名字应能反映数据流的含义。 数据流不允许同名。两个数据流在结构上相同是允许的,但必须体现人们对数据流的不同理解。一8. 第2章理论基础数据流图描述的是数据流而不是控制流。加工处理 加工处理是对数据进行的操作,它把流入的数据流转换为流出的数据流。每 个加工处理都应取一个名字表示它的含义,并规定一个编号用来标识该加工在 层次分解中的位置。名字中必须包含一个动词,例如“计算”、“打印”等。 对数据加工转换的方式有两种: 改变数据的结构,例如将数组中各数据重新排序;产生新的数据,例如对原来的数据总计、求平均等值。 文件 文件是存贮数据的工具。文件名应与它的内容一致,写在开口长条内。从文 件流入或流出数据流时,数据流方向是很重要的。如果是读文件,则数据流的 方向应从文件流出,写文件时则相反;如果是又读又写,则数据流是双向的。 在修改文件时,虽然必须首先读文件,但其本质是写文件,因此数据流应流向文件,而不是双向。数据源或终点 数据源和终点表示数据的外部来源和去处。它通常是系统之外的人员或组织,不受系统控制。 为了避免在数据流图上出现线条交叉,同一个源点、终点或文件均可在不同位置多次出现,这时要在源(终)点符号的右下方画小斜线,或在文件符号左边画竖线,以示重复。 DFD的画法一般遵循“由外向罩”的原则,即先确定系统的边界或范围,再考虑系统的 内部,先画加工的输入和输出,再画加工的内部。即:(1)识别系统的输入和输出。(2)从输入端至输出端画数据流和加工,并同时加上文件。(3)力/lI的分解“由外向罩”进行分解。 (4)数据流的命名,名字要确切,能反映整体。(5)各种符号布置要合理,分伟均匀,尽量避免交叉线。 (6)先考虑稳定态,后考虑瞬间态。如系统启动后在正常工作状态,稍后再考 虑系统的启动和终止状态【611 71。.9. 第2章理论基础2.3Oracaf基础2.3.1Oracal的概念我院的后台数据库采用Oracal公司的Oracal8.0产品。Oracle公司的Oracle数据 软件产品是世界上一流的数据软件包。结构化查询语言(SQL)和SQL的编程语言扩展(PLISQL)、许多高级编程语言都能发挥淋漓尽致。数据库管理系统Oracle 是一个高性能、客户/N务器力‘式的关系型数据库管理系统,它具有大吞吐量的 事务处理能力和强大的数据库管理能力【8】。2.3.2Oracal的新特点和优点 Oracal无庸质疑是后台大型数据库之首,并且Oracal在数据库的发展历史中也起到了不可估量的作用。Java是Oracal8新增的…个最强大的功能。Oracal8 包含了一个JAVA虚拟机。该机制是Oracal公司专门为它的数据库而开发的。 Oracal继续加强了对数据仓库以及其他大型数据库的支持:支持具体视图和自 动查询重写功能可移动的表空间,两个新增的聚集操作,样本函数。OLTP(联 机事物处理)为关系数据库提供了更加常用的功能这个特点允许为一个应用程 序的SQL语句存储一系列执行计划,并且允许将这些执行计划导出到其他的数 据库中。易用性能的提高。Oracal支持多文档同志、支持多文档进程、并且拥 有良好的安全性、良好的访问机制、应用程序、支持调用者的权限模式【9J。2_3.3Oracal的主要内容 Oracal的客户/服务器结构。Oracal是一个客户/服务器数据库。这意味着数据库服务器的运行独立于它访问的应用程序。服务器监听和接收来自客户的请 求,并且处理这些请求,然后将结果返回客户。Oraeal实用程序经常执行的两 层环境。这意味着,可以有一个服务器运行数据库,同时有一个或更多的客户 运行与数据库交互的软件程序。随着时间推移,三层客户/J16l务器配置在前几年 是非常流行的。这主要是由于Intenet在商业上的一种需求。三层结构的Oracal 应用程序仍然有Oracal服务器和客户的PC机,然而,Application Server位于 PC和数据库之【-刚。事实上,应用程序服务器包含所有的应用逻辑,数据库服务一lO. 第2章理论基础器包含所有的数据,而PC管理显示和用户的交互【lo】。 Oracal的结构:结构指的是这样的方式,一个Oraeal数据库实例的所有部 分在结构中被组织到一起运行。它包括Oracal使用内存所需要的方式,Oracal 使用磁盘文件所需要的方式和各种各样的Oracal过程之间的互相作用所需要的 方式。实例和数据库之间的差异。实例是一系列进程,它们一起运行来操作数 据库。组成Oracal实例的过程允许改变和检索数据。不同类型的文件联台组成 Oracal的数据库。理解内存结构,在Oracal实例中,SGA是最重要的存储结构, 在SGA中适当地设定结构的大小对于数据库的性能是绝对重要的,可以控制它 们的大小。一个Oracal实例是由进程和内存结构组成的。Oracal实例由大量被称为后台进程的进程组成。由于不管是否有用户连接到数据库它们总在运行,所以称为后台进程。对于Oracal实例来说,并不是所有的进程都存在。它们中 的一些是可选的,如Snpo进程,使用适当的操作系统命令,可列出任何给定的 Oraeat实例的进程。 数据库空间管理。必须关心不同层次的存储空间。必须知道整体使用的数 据库有多少。也需要知道或者能够找出表、索引或其他对象有多少可利用的存 储空间。不仅需要知道现在有多少存储空间被用,而且还要能够预计将来的需 要。Oracat使用逻辑结构管理数据库存储空忸J。估计空间需求,在创建新表或 者新索引时,要估计数据需要多少存储空间。 数据库管理:I:具。SQL*PLUS与服务器管理器。SQL*PLUS与服务器管理 器是常用的2种Oracal实用程序。SQL*PLUS拥有优越的功能,与之对比的是,服务器管理器将要被淘汰了。SQL*PLUS是一个允许输入和执行ad-hocSQL语 句和PL/SQL块的交互工具。SQL*PLUS允许运行脚本,生成一个简单的报表。从Oracal8开始,可以用SQL*PLUS启动和终止数据库或恢复数据库。SQL*PLUS常用于查询数据字典,执行DDL命令,有时也用来查询表的内容。SQL*PLUS几乎从一开始就是Oracal软件的一部分。最初它只是一个命令程序, 现在它可队运行在Windows平台上,在Windows平台上它可以利用命令行GUI 界面。SQL*PLUS也能被Oracal企业管理器的SQLPLUS Worksheet工具用作执 行输入命令的基本引擎…。1引。 Oracal的核心内容:管理用户和安全性,Oracal的安全管理器是企业管理 器的DBA管理包中的一部分,它使任务更直观,它也能帮助我们更有效、更准 确地管理用户,口令,和数掘库权限。SQL在Oracal中的使用。创建和管理用 第2章理论基础户,为用户授权角色和权限,创建角色,创建和分配用户和配置文件,如何成 为用户,浏览用户、安全性和数据库字典。如何管理表和管理索引,用视图、 同义词和序列工作。使用SQL选择数据,使用基本的SELECT语句,使用SQL命令对数据库的查询、关联、汇总、子查询、连接。使用DML语句,如果想 在一个表的一行或多行中改变数据,就必须知道如何指定哪些行是要查找,使 用三条SQL命令修改数据:INSERT、UPDATE和DELETE。如果想从应用程 序中得到最大的性能,需要调试SQL语句。至少可以通过3种方法来发现语句 的执行计划。一种是使用解释计划(Explain Plan),另一种是是使用SQL*PLUS自动跟踪,还有~种是使用SQL Trace和Tkprof。调试一个Oracal数据库,解释从收集的统计数字中得到的记过和一些可以用来改善关键性能测量标准如告诉缓存区命中率方面的内容。 Oracal的备份与恢复:在使用数据库时,一个最重要的责任就是确保进行定期的备份,在硬件或软件出错时可以用它们来恢复数据库。用户有责任确保 在磁盘驱动器丢失或文件进行以外删除时不会导致数据库的永久性丢失。 Oraeal产品数据库在Archivelog模式下运行,Archivelo模式能从错误中进行恢 复而不会丢失错误发生前提交的任何事物。Archivelo模式是这样一种模式,在日志书写器进程重新使用它之前,副本是由每一个redo组成的,日志书写器在 循环方式中通过redo同志文件进行循环,只要数据库J下在运行,它就写入一个, 然后是另一个,依此类推。备份一个Oracal数据库包括将著称数据库的文件复 制到一个备份存储介质中,有2种备份类型,如联机备份,脱机备份,2者的差别在于数据库打丌时,执行联机备份;当数据库完全关闭,也就是关掉和注 销时执行脱机备份。恢复数据库的能力和螽份数据库的能力一样重要,还原一个Noarchivelo模式数据库,请求介质恢复,从丢失的数据文件中恢复,终止一 个不完全恢复,从导出中还原一个数据库【14-161。2.4PowerBu i Ider的基本介绍及应用开发2.4.1PowerBuilder的概念 众所周知,数据库应用是当前计算机应用的一个非常重要的方面,而在目前的数据库应用技术中普遍采用的就是客户j5L/IJ艮务器体系结构,在这种体系结.12. 第2章理论基础构中,所有的数据和数据库管理系统都在服务器上,客户机通过采用标准的SQL 语句等方式来访问服务器上数据库中的数据。由于这种体系结构把数据和对数 据的管理都统一放在了服务器上。就保证了数据的安全性和完整性,同时也可 以充分利用服务器高性能的特点。正因为客户机朋艮务器体系结构的这些优点,因而得到了非常广泛的应用。 PowerBuilder是著名的数据库应用开发工具生产厂商PowerSoft公司推出的产品(PowerSoft现已被数据库厂商Sybase所收购),它完全按照客户机朋艮务 器体系结构研制设计,在客户机/HI务器结构中,它使用在客户机中,作为数据库应用程序的丌发:【=具而存在。由于PowerBuilder采用了面向对象和可视化技 术,提供可视化的应用,I:发环境,使得我们利用PowerBuilder,可以方便快捷地开发出利用后台服务器中的数据和数据库管理系统的数据库应用程序。 在当前,网络技术迅速发展,随之发展的还有OLE,OCX,跨平台等技术,而在PowerBuilder的最新版PowerBuilder 6.0中提供了对这些技术的全面支持。总之在数据库开发工具领域,PowerBuilder是其中非常优秀的一个,利用它我们可以开发出功能强大的数据库应用程序¨7儿”J。2.4.2PowerBuilder的特点和优势 PowerBuilder提供了对目前流行的大多数关系数据库管理系统的支持,由于在PowerBuilder的应用程序中对数据库访问的部分一般采用国际化标准数据库查询语言SQL,使得用PowerBuilder开发的应用程序可以不做修改或者只做少量的修改就可以在不同的后台数据库管理系统上使用。也就是说用 PowerBuilder开发的应用程序是独立于服务器上的数据库管理系统的。 和大多数的Windows应用程序一样,PowerBuilder也是事件驱动工作方式。 在这种工作方式中,程序的运行没有固定的流程,程序中的代码也是为各种可能发生的事件编写的,当程序开始运行之后,它就可以接受来自系统,用户或 者其它应用程序触发的事件,然后执行相应的事件代码。事件驱动的工作方式与面向对象技术是紧密相关的,在PowerBuilder应用程序中,接受发生的事件 的往往就是程序界面中的各种可视化对象。 PowerBuilder是一种面向对象的开发工具,各种Windows应用程序中常见 的窗口、菜单、控件等在PowerBuilder中都是一个个的对象。在PowerBuilder.13. 第2章理论基础中我们还可以创建自己的用户对象。特别要指出的是PowerBuilder提供了对面向对象方法中的各种技术的全面支持,我们可以利用面向对象方法中的对象的封装性、继承性、多态性等特点使得我们开发的应用程序具有极大的可重用性 和可扩展性,而这一点正是软件工程中对应用程序所提出的重要目标。在当前,由于网络技术的发展,许多种不同的操作系统平台在Intemet网上同时被使用,这对开发的应用程序的跨平台性提出了更高的要求,而PowerBuilder就提供了良好的跨平台性,比如在PowerBuilder中,利用Windows平台开发的各种对象可以方便地应用到Unix平台中,因为PowerBuilder支持对象的跨平台性。这样使得把应用程序从一个平台移到另一个平台变得并不复杂。 为了给用户提供各个方面的支持,PowerBuilder具有自己的编程语言Powerscript,这个语言除了提供基本的流程控制语句,还提供了几百个函数来 操纵各种对象和提供诸如DDE,OLE等方面的支持。此外我们还可以定义自己 的函数,处理特定的事件。学习PowerBuilder时相当一部分的时间就是用来了解和熟悉PowerBuilder提供的各种函数。PowerBuilder一个很大的特点就是提出了数据窗口对象的概念。数据窗口 对象也是PowerBuilder中的一种对象类型,与其它对象不同的是数据窗口对象是专门为了访问后台的数据库服务的,在数据窗口对象中我们定义了数据的来源和数据的显示风格,这样在应用程序中我们就可以把精力完全放在程序的运 行流程控制上,而不用关心具体数据的来源,因为我们在数据窗口对象中已经定义好了数据的来源。如果需要使用数据库中不同的数据也只要对数据窗口对 象进行修改就可以了。特别要指出的是PowerBuilder在数据窗口对象中提供了 丰富的数据显示方式,可以满足各种不同的需要。PowerBuilder与数据库的连接:数据库前端开发工具与后台数据库管理系 统的连接方式是一个很重要的课题。PowerBuilder提供了两种访问后台数据库 的方式,一种是通过ODBC标准接口的方式,第二种是通过专用的接口与后台的数据库相连。ODBC的中文名字是开放式数据库连接,它是微软公司提出的数据库连接标准,使用ODBC方式连接数据库的第一步是创建数据源,比如我们可以利用 Windows下控制面板中的“32BitOdbc”选项来创建驱动某种数据库的数据源,创建好数据源之后,我们就可以在本地计算机中利用定义好的数据源存取后台数据库中的数据了。.14. 第2章理论基础我们还可以通过专用接口同后台的数据库相连,由于专用接口是针对特定 的后台数据库管理系统而设计,因此这种方式存取数据的速度要比采用ODBC 方式存取数据的速度要快一些,如果我们的应用程序只是针对特定类型的后台 数据库,当然是采用专用接口访问后台数据更快一些。 在PowerBuilder较新的版本中提供了基础类库PFC,它为应用程序的开发 提供了许多可重用的预定义类和对象,利用基本类库PFC可以快速开发出高质 量重用性好的应用程序。真正发挥面向对象编程的巨大威力。 最后要指出的是PowerBuilder有三个不同的版本,分别为Desktop型, Professional型,和Enterprise型,Desktop型是为个人使用的桌面型应用程序, 在这里可以利用PowerBuilder内置的数据库管理系统Sybase SQL Anywhere来 创建和使用本地数据库,为个人的应用服务;ProfessionalL型的PowerBuilder 最重要的一点就是提供了对Microsoft Odbe(数据库标准连接接口)的支持,在 Professional版本中我们就可以使用PowerBuilder的继承,多态等绝大多数特性; 在Enterprise版本中最重要的一点就是提供了对开发大型的数据库应用程序的 全面的支持,提供了开发大型应用程序的许多辅助的工具,比如C++Class Builder等1w112UI。2.4.3PowerBuilder和SQLSQL是结构化查询语言的缩写,是一个在数据库行业普遍接受的标准。其中查询是SQL的重要组成部分,但并不是它的全部,SQL还包括数据定义、数 据操作和数据控制等部分内容。一个数据库管理系统除了要提供有效的数据库管理手段外,还要有一个友好的语言作为系统的用户界面,结构化查询语言就是一个成功的数据库查询界 面,在几乎所有的数据库管理系统中都用不同的方式实现了SQL的功能,原因 就在于其功能丰富,使用方式灵活、语言简洁易懂。 SQL的数据定义语言和PowerBuilder的交互界面。 数据的完整性,数据的完整性是指存储在数据库中数据的一致性和正确性,在实现数据库的完整性之前,重要的是了解数据库管理系统如何实施和何时实 施数据的完整性,以前可以实施哪些类型的完整性。索引:索引是在列上建立的一种数据库对象。它使得用户表中的各行数据.15. 第2章理论基础按照数据的逻辑顺序来存取,索引提高了数据的检索速度,在列上设置索引可。以对查询产生几乎实时的响应而不用长时间地等待。 在PowerBuilder中,数据库画板提供了一个子窗口专门负责SQL语句的执行。用户可以通过这些对数据库进行查询、删除、更新、插入等操作【2l】。2.4.4PowerBuilder开发应用程序 PowerBuilder开发应用程序的基本思想是:面向对象的开发方法,应用程序是一系列对象的集合,这些对象组合在一起完成应用的功能。 应用对象是PowerBuilder应用程序的基础,通过它可以设置有关应用程序 的全局信息,例如应用程序的名字,程序使用的图标,程序中文本的字体,应 用程序所在的对象库等各种信息。应用对象是PowerBuilder应用程序执行时的入口点。PowerBuilder对象包括应用程序对象、窗口对象、数据窗口对象、菜单对象、用户对象等等,每一种对象完成不同的工作。应用程序对象的作用是 为开发人员定义一个工作开发环境,它同时也是一个应用程序的入口点。监管应用程序对象与其他对象相比要简单一些,但是在PowerBuilder它非常关键。应用程序画板是用来设计应用程序对象的工具。应用程序对象有六个可以编写 脚本的事件。单击应用程序画板上的事件列表可以看到这6个事件。 窗口在Windows应用程序中是一个极为重要的概念,它提供了应用程序同用户之间交互的非常直观的界面,目前许多的Windows下的开发工具都提供了 可视化开发窗口对象的方法,使得开发一个窗口对象变得非常容易,PowerBuilder也不例外,数据窗口对象是PowerBuilder的一大特色,它为我们 操作数据库中的数据提供了一种直观有效的手段,利用它可以方便地联结数据 库,以自己喜欢的方式显示数据库中的数据以及修改数据库。 PowerBuilder是目前流行的客户/服务器结构下客户端应用程序的丌发工具。做为一种开发工具,PowerBuilder给程序员提供了一个非常友好的图形化界面的开发环境,使得程序员可以方便地开发出访问数据库的应用程序。代码 在PowerBuilder中被称为脚本,PowerBuilder是一种基于面向对象的事件驱动 机制开发工具,所以脚本也是针对对象的事件来编写。 PowerBuilder应用程序的特点是从应用对象开始执行程序,PowerBuilder 是一种面向对象的开发工具,对象在PowerBuilder中是一个核心的概念,.16. 第2章理论基础PowerBuilder中的对象都是放在对象库中,一个应用程序可以有一个或者多个 对象库,还可以使用其它应用程序的对象库中的对象,以提高软件的复用率,PowerBuilder提供了非常好的管理对象库中对象的工具。对象是面向对象程序 设计的核心概念。一个对象可以拥有若干属性,以及一系列的对这些属性进行操作的方法。一个对象可以通过若干个接口同其它的对象进行相互的作用,共 同完成一项工作。当对象被定义好之后,它就拥有了活力,就能够完成一定的 功能。我们给出一个对象的定义之后,就可以根据需要多次使用,而不需要做 任何额外的工作,这就大大提高了脚本的重用性和易维护性。PowerBuilder提 供了用户对象这个特性,很好的支持了对象化程序设计。PowerBuilder中有两 种用户对象,一种是可视的用户对象,一种是类用户对象。 PowerBuilder集成环境:PowerBuilder是目前流行的客户/服务器结构下客 户端应用程序的开发工具。做为一种开发工具,PowerBuilder给程序员提供了 一个非常友好的图形化界面的开发环境,使得程序员可以方便地开发出访问数据库的应用程序。 使用PowerBuilder的时候,我们经常会用到一个重要的功能数据管道 (Pipeline)。它向用户提供了在数据库内部、数据库之间、甚至于DBMS之间快速复制数据的途径。简单的说,使用数据管道就是把源数据库的一个或者多个 表中的数据输入到目的数据库的一个表当中去。这个复制数据的过程称为通过 数据管道灌入数据。 PowerBuilder在服务端是用虚拟机模型来实现的。每当一个客户机与服务 器链接时,服务器就为这个客户机开辟一片独立的内存,形成一个独立的虚拟 机。如果我们有四个客户端应用程序链接到这个服务器中,PowerBuilder就会建立四个虚拟机,这四个虚拟机是相互独立的,各有四个不同的内存块,它们之间并不直接进行共享。另外,至今为至,PowerBuilder的所有函数调用都是 同步的,这也包括分布式PowerBuilder的实现。当应用程序调用了代理所定义 的函数,这个应用程序就会处于等待状态,一直到服务端的NVO把最后结果 返回。在NVO返回之前,应用程序将暂时被操作系统挂起。PowerBuilder不能 直接共享内存,并且,客户端和服务端的会话是同步的【221。2.5PowerScr ipt编程.17. 第2章理论基础PowerScrip是PowerBuilder开发环境所使用的编程语言,它由语言、命令 和函数的集合以及用户定义的函数和嵌入式SQL与员组成。PowerScript是一种 高级的、结构化编程与员,它的语法格式类似与Visual Basic这样的介于C/C++和现代BASIC之间的一种语言。 PowerScript基础:PowerScrip是自由格式的语言,空格、缩进等编辑格式 完全被编辑器忽略,所以在编写代码过程中,用户感觉十分自由。PowerScript对大小写不敏感的。这条规则同时适用于保留字、内部函数、方法、对象名和控件名。注释行用来书写说明,它有两种写法:以“//"开头,其后书写注释内容,常用于单行注释。“/扎一幸/”中间的部分为注释,便于多行说明。标识符是指在脚本中使用的变量、标号、窗口、控制、菜单以及引用的对象的名称。它 的命名规则有: 1.必须一字母开头2.最长40个字符,并且中间不能插入空格。3.区分大小写4.表示符可以有字母、数字和如下的特殊字符组成:短划线“.”、下划线“"、美元符号“¥”, 号码符号“群”和百分符号“%”。 标号SCRIPT尽管在我们不提倡在程序设计当中使用GOTO语句,但是POWER仍然支持它。可以使用标号来指明转移的地址。标号的写法是在标识符的后面加上冒号。空值(NULL)是在与数据库交换数据的时候使用的一种特殊值。 这与空字符、数值零、和R期00000000不同。空值既不是零,也不是非零的任 何数值。保留字是指被PowerBuilder内部使用,而不能作为标识符的单字。代 名词this代表窗口、用户对象、菜单、应用对象或者控制对象自身。Parent可 以在窗口的控制、用户定制对象和菜单的程序中使用。当在窗口的控制当中使用Parent的时候,Parent指向包容该控制的窗口。大多数情况之下,每一条语 句占据一行,可以有的时候会遇到语句超长或者希望多写几行的情况,这时就 需要用到续行符&如果行尾的字符恰好是&,那么下一行自动是本行的继续行。PowerScript语言:赋值语句可以把一个表达式的结果或者变量和常量的值, 赋给一个变量或者对象的属性或成员变量。赋值语句的格式是: variablename=expression其中variablename代表变量名,expression代表表达式,它将表达式的值赋给等号左边的变量。.18. 第2章理论基础PowerBuilder也提供了一些类似于C语言的单目操作符。CALL语句在继承对象中调用祖先对象的脚本,用户在继承对象的事件中不但可以调用祖先的用户对象、菜单对象或者窗口对象的脚本,而且可以调用祖先窗口或者用户对象中的控制的脚本。CALL语句的语法格式为:CALLancestorobject[.controlnarne]::event[(argument)】其中,ancestorobject指明祖先对象的标识名,controlname是控制的名字, event和argument代表被调用的事件及其参数列表,如果事件定义的参数在调 用的时候没有argument,那么空值被作为默认值传递。 新版本的语法允许用户触发(trigger)或者告知调用(post)祖先的事件, 但是不能调用祖先中控制的脚本。CHOOSECASE控制结构根据测试值决定程序执行方向,它是一个条件多分支结构。CHOOSE CASE的语法格式为:CHOOSE CASE testexpression CASE expressionlistStatement【CASEexpressionlistStatement…..】 【CASEELSEStatement】END CHOOSEtesttexpression代表测试值,不同的测试值引发不同的语句的执行。 expressionlist代表判断表达式,它可以用以下的几种形式: 1用逗号分割的数据,例如:1,2,3,4,5,6, 2用TO表示一个区间,例如:1TO 603用IS代表测试值,并辅以关系操作符,例如:IS>20 4使用以上的三种方法的综合,用逗号分隔,例如:6,6 TO16,IS>36在ChooseCase语句中至少包括一条CASE,并且使用END CHOOSE作为结尾。PowerBuilder将逐条地查找CASE,如果找到与测试值匹配的判断表达式的时候,就执行该CASE后面的语句,然后转向指向END CHOOSE后的第一 条语句如果包含CASE ELSE,在位发现任何匹配CASE条件的时候,执行CASE.19. 第2章理论基础ELSE后面的语句。 FOR...NEXT是一个计数循环体。使用该语句可以是循环体中的语句被执行规定的次数。该语句的语法格式为:FOR ValTlame=sL舡't TO statement NEXTend【step increment]其中,vamame代表循环变量,start、end分别为初值和终值,increment为步长增量,缺省值为1。在使用FOR NEXT语句的时候应该注意,vo.iTlallle是integer型,end0的值不能取得过大,以防超出integer的取值范围,造成溢出。DO…LOOP是一个通用的循环语句。它包括四种形式:1 DO UNTIL…LOOP DOUNTIL…LOOP的语法格式为:DO UNTIL conditionstatementsLOOP其中condition代表循环进行的条件,statements表示循环执行的语句。DO UNTIL语句执行循环体的语句直到UNTIL后面标明的条件表达式结果为 TRUE,如果在第一次该计算表达式时结果即为FALSE,则循环体中的语句不会被执行。2 DO DO DOWHILE…LOOPWHILE…LOOP的语法格式为:WHILEconditionstatementsLOOP其中condition代表循环进行的条件,statements表示循环执行的语句。DO WHILE语句在WHILE后的表达式结果为TRUE时,执行循环体中的语句,如 果第~次对表达式求值的结果即为FAI,SE,则循环体中的语句不会被执行。3 DO…LOOP UNTILDO…LOOP UNTIL的语法格式为:DO_20. 第2章理论基础 statementSLOOP UNTIL condition其中condition代表循环进行的条件,statements表示循环执行的语句。LOOPUNTIL语句在UNTIL后表达式结果为FALSE是执行循环体中的语句,直到表达式结果为TRUE时结束,但是循环体中的语句至少被执行一次。4DO???LOOPWHILEDO…LOOPDOWHILE的语法格式为:statemeNsLOOPWHILEcondition其中condition代表循环进行的条件,smtemems表示循环执行的语句。LOOPWHILE语句当WHILE后面的条件表达式的结果为TRUE的时候,执行循环体中的语句,如果表达式计算结果为FALSE,循环结束,但至少被执行一次。在DO…LOOP或者FOR…NEXT语句循环体当中,遇到CONTINUE语句的时候,将不执行在CONTINUE后面和循环结束之前的语句,开始新一轮循环。 在DO…LOOP或者FOR…NEXT语句循环体当中,使用EXIT可以跳出循环。IF…THEN语句是一个选择分支结构。它有单行和多行两种格式。1单行IF…THEN语句 单行IF…THEN语句的语法格式为:IF condition THEN action1[ELSE action2]其中condition是一条表达式,actionl和action2是一条语句。如果condition结果为TRUE,actionl将被执行,否则action2将被执行。例如:IF BOOL THENNUM=1ELSE NUM=22多行IF…THEN语句多行IF…THEN语句的语法格式为:IF condition l THEN actionl[ELSEIFaction2condition2 THEN…】.21. 第2章理论基础【ELSE action3】END IF其中conditionl和condition2是条件表达式,aetionl、action2和action3是一条或者多条语句。本语句的执行过程为:计算条件表达式conditionl,如果它的结果为TRUE,则执行actionl,然后略过在它后面在END IF之前的语句,离开IF…THEN语句;如果conditionl的值为FALSE,则计算条件表达式condition2,如果结果为 TRUE,则执行action2,然后略过在它后面和END IF之前的语句,……,如果 条件表达式的结果都为FALSE,并存在ELSE子句,则action3被执行。 CREATE语句生成对象实例变量,在生成以后,可以用点操作符引用对象的成员。CREATE语句返回一个可在变量中保存的对象实例旬柄。CREATE语句有两种语法格式: objectvariable2CREATEobjecttype objecttypestringobjectvariable=CREATE USINGobjectvariabte持有该对象实例,objecttype代表对象类型,objecttypestring 是保存需要创建的对象类型名称的字符串。 DESTROY语句释放由CREATE创建的实例,释放之后该对象实例不能再 被引用。DESTROY语句的语法格式为:DESTROY OBJNameGOTO语句控制程序流程,其语法格式如下:GOTO Label其中label代表语句标号,其命名应符合标号的命名规则。 HALT语句用于终止应用程序的运行。该语句的语法为:HALT【CLOSE】遇到不包含CLOSE选项的HALT语句时,应用程序立即终止。当包含 CLOSE的时候,应用先执行CLOSE事件所对应的处理程序,然后再终止应用 程序。 RETURN语句用于从脚本中返回调用程序。其语法格式为:RETURN【EXPRESSIoN】 其中EXPRESSION代表该脚本的返回值{23甾】。.22. 第2章理论基础2.6本章小结本章较为详尽地介绍了在分析和设计((HIS系统中的门诊挂号子系统》过程中所必须具备的理论基础,其中包括软件工程理论、数据库系统基础、Oracal基础、PowerBuilder的基本介绍及应用开发和PowerScript编程,这些知识的积累为本论文的后续工作的顺利开展打下了扎实的基础。.23. 第3章需求分析第3章需求分析3.1系统概述现代社会日新月异,信息化的浪潮汹涌而来,医院管理信息系统(HIS)的建设也日益受到关注,人们越来越认识到医院信息系统(HIs)将成为现代化医 院必不可少的基础设施,它为提高医院服务质量,降低成本,增加社会效益和 经济效益提供了可靠保证。 基于大型数据库的医院管理信息系统(其功能见图3.1),能从根本上提高 医院的管理水平,真正做到全院数据一体化,一处录入,多处共享,提高数据 利用率,拓宽管理面,对医院的社会效益及经济效益都将产生较深远的影响。图3.1医院管理系统应包括的基本功能本子系统为了解决在医院的挂号流程中出现的问题,根据医院的挂号流程, 简化病人在挂号时的流程,在以往的传统的医院管理模式下,是用手工记帐,手工录入,容易出错,引入门诊挂号子系统后,挂号室的工作人员只需要点击页面上的科室及在磁卡中输入病人的信息,病人拿着唯一标识身份的磁卡进行下来的看病流程。门诊挂号子系统实现了医院门诊部挂号处所需的各种功能,包括门诊安排 的管理,号表的生成及维护,挂号处理和退号处理,同时提供了病人信息的查询和有关挂号工作的统计功能。.24. 第3章需求分析3.2可行性分析(1)经济可行性 基于医院已经建设好的大型的服务器上,在医院已经投入使用4年多的医 院信息系统上,开发设计出的门诊挂号子系统,只需要配置几台挂号人员使用 的电脑即可。所以建设费用相对较底,但该系统一经推广应用可以获得较好的 社会效益和经济效益,可以大大减轻挂号收费人员的劳动强度,提高工作效率。(2)技术可行性 基于Oracal大型数据库,依托PowerBuilder设计平台,对技术开发提供有 力的技术支持。(3)操作可行性 由于采用窗口设计,功能模块清晰,界面友好,完全符合现有业务流程设计。对挂号人员稍加培训即可在工作中使用。3.3数据流图通过进行深入仔细的需求分析,得到了门诊挂号子系统的数据流图。数据流图第一层:门诊挂号子系统的数据流图的第一层如图3.2所示:团图3.2数据流图第一层(2)数据流图第二层 ?]诊挂号子系统的数据流图第二层如图3.3所示:.25. 第3章需求分析+‘ 、IDIl病人信息Ir2.1挂号处理.,r 7”、、I.●’●r't●’L收款或退号J挂号结恍,2.3、1]―.一。事缎输 入 数 据L J事敏事 务 选 择。生成结帐表JJ厂挂 号 和 查 询门诊安}j巳,4、。生成号表上卜统计查询 L‘2.511』.数据查询表J.一、L图3.3数据流图第二层3.4需求规格说明书(1)功能需求 本系统的功能需求为:1、挂号:完成对当天就诊病人信息的登记。 2、预约挂号:对挂预约号的病人进行登记,收取挂号费。 3、退号:对病人已挂的号,进行退号处理,退给病人挂号费。 4、退出:退出门诊挂号子系统。 5、门诊号别录入:录入本医院的各个门诊号的定义。6、门诊号别查询:根据用户输入的查询条件查询门诊号基本信息。7、门诊安排录入:可以完成医院门诊安排的录入、修改及删除等功能。 8、门诊安排查潮:可以根据门诊科室、星期、门诊类别、医生姓名、医生 职称等条件查询相应的门诊安排信息。.26. 第3章需求分析9、门诊安排浏览:允许用户浏览整个医院的门诊安排情况,对于某一种门诊号别的门诊安排可以进行修改。 10、号表查询:可以根据门诊日期、门诊科室、医生姓名、门诊类别等条 件查询相应的号表信息。11、号表调整:可以根据门诊日期、门诊科室、医生姓名、门诊类别等条 件查询相应的号表信息,然后对其进行修改。 12、号表生成:可以由用户指定号表的时间区段,然后系统可以根据医院的门诊安排自动生成该时期的全部号表。13、号表批量删除 由用户指定欲删除号表的时间界限,然后系统可以根据该时间界限批量删除该时间界限之后的所有号表。 14、病人主索引查询:可以根据用户输入的病人姓名拼音、姓名、性别、出生地及年龄范围等条件查询病人主索引信息。更进一步,也可以根据病人住 院号或身份证号查询病人信息。 15、就诊病人查询:可以根据用户输入的病人就诊日期范围、就诊科室、 姓名或者姓名拼音等条件查询病人就诊信息,然后可以进行退号或确认病人的 挂号信息。也可以用鼠标双击某一条查询出的病人信息后,在弹出的窗口中完成对该病人的确认或退号操作。16、门诊科室工作量统计:分成两个部分:其一,是按费别统计某一时间 范围内各科室的挂号情况,并列表显示和打印。其二,是按身份统计某一时间 范围内各科室的挂号情况,并列表显示和打印。 17、门诊退号明细统计:统计某一时间范围内各挂号员退号工作量的明细信息,并列表显示和打印。18、挂号员工作量统计:统计某一时间范围内各挂号员的挂号与退号情况,并列表显示和打印。19、字典维护:增加、删除或修改本子系统负责维护的数据字典,包括门 诊号类别字典、门诊号诊疗费字典和特殊挂号费字典。20、参数设置:修改保障本子系统运行所需要的参数。主要包括系统参数 设置、挂号与预约参数设置和IC卡参数设置。2l、修改口令:修改本子系统当前用户的口令(2)性能要求.27. 第3章需求分析①响应时间:查询平均耗时低于O.3秒。系统计算平均耗时低于O.4秒。 ②吞吐量:每秒处理事务达到1000条。 ③兼容性强:可以直接在现有的HIS系统中使用。(3)可靠性要求①支持安全认证。 ②提取数据不破坏原先HIS系统系统中数据。 ③数据备份和恢复可以保证数据完整。(4)接口需求①保持对其他子系统的模块独立性,松耦合,强内聚的需求。 ②访问的数据库是Oracfl。3.5本章小结本章对HIS系统中的门诊挂号子系统进行了详细的需求分析(包括功能需 求、性能需求、可靠性需求、接口需求),设计了该系统的数据流图和需求规格说明书。.28. 第4章总体设计第4章总体设计4.1总体结构设计门诊挂号子系统分为四大模块:(一)挂号处理模块:当同挂号模块和退号模块; (二)挂号结帐模块:结帐模块和结帐查询模块; (三)门诊安排模块:门诊号别录入模块、门诊号别查询模块、门诊安排 录入模块、门诊安排查询模块、门诊号表生成模块、门诊号表查询模块i (四)统计查询模块:病人查询模块和工作量统计查询模块; 另外还有系统维护模块,里面提供了字典维护、参数设置、修改口令的功能。门诊挂号子系统总体结构图如图4.1所示:图4.1门诊挂号子系统总体结构图4.2模块具体说明.29. 第4章总体设计各模块具体说明如下: (1)当日挂号处理模块 输入:刷病人ID卡,输入病人信息。 输出:显示各个科室和各项费用。功能:挂号人员刷病人ID卡,在卡中输入病人的各项信息,然后根据病人需要点击所需要挂号的科室,医院所有的门诊科室都会出现在屏幕上,并且会 根据变化显示当天的实际各个科室的挂号数量。在屏幕的下方会计算出病人所 需要交纳的费用,~目了然,病人在交纳挂号及卡费后,病人的ID卡便成为病 人在接下来看病、交费、拿药的一系列流程的重要和唯一凭证。 (2)退号处理模块输入:输入病人ID号码和就诊F1期。输出:显示病人的身份信息以及各项费用信息以及就诊的情况。 功能:在输入病人的唯一标识ID号码后,输入病人的就诊日期,点击提取, 屏幕上会显示病人的各项信息,屏幕上会显示病人的各项明细费用,方便核对, 根据病人的需要,完成退号操作,结算出所需要退的金额,完成结算。 (3)结帐模块 输入:输入结帐日期。输出:显示当只的各项金额及汇总。功能:挂号工作人员输入结帐同期,点击提取,屏幕上会自动结算出各个 项目的结帐金额和汇总金额以及各种支付方式的金额的汇总,通常这项功能提 供给每个挂号人员在下午下班前结算出当天的帐目。 结帐的金额和项目分别有: 分类汇总挂号数 退号数退号总金额 计价总额应收总额 会计科目汇总支付方式汇总 (4)结帐查询模块一30. 第4章总体设计输入:结帐开始日期和结帐截止日期。输出:总账分类汇总、会计科目汇总、支付方式汇总。 功能:用于查询挂号人员指定的R期内的各个项目的结帐金额和汇总金额以及各种支付方式的金额的汇总。 (5)f-3诊号别录入模块 输入:门诊号名称、门渗科室、医生、医生职称、号类。 输出:门诊号别。 功能:挂号人员根据医院的需要,增加门诊号别,在增加完并且生成之后, 即可反映在当日挂号模块中,电脑屏幕上会出现增加的号别。 号别:就是反映在当日挂号中的各个科室,通常以每个科室的名称加上可 以识别的例如医生的职称作为门诊号别。 门诊科室:以科室代码了表示。 号类:分为专家号、普通号、急诊号。 (6)门珍号别查询 输入:查询条件。 输出:根据查询条件筛选出来的查询数据。 功能:挂号人员可以输入门诊科室、各个科室的科室代码、门诊号、医生 姓名、医生职称、号类其中任意一个查询条件,点击查询,即可以提取出所对 应的查询数据。 (7)门诊安排录入 输入:门诊安排。 输出:门诊安排输入表和各科室的门诊安排。 功能:按照右边的门诊安排输入表,挂号人员根据医院科室的实际需要和 安排在右边输入各个科室的门诊安排表。 具体门诊安排如下: 门诊号名称 星期 门诊时间 限挂号数 限约号数 (8)门诊安排查询模块.31. 第4章总体设计输入:查询条件。 输出:按查询条件提取出来的门诊安排表。 功能:挂号人员根据实际情况,输入查询条件,查询条件有门诊号、星期、 出诊时间、医生、门诊科室、门诊号类别、医生职称,点击查询按钮后系统会给出经过查询筛选后的门诊安排表。(9)门诊号表生成 输入:用户名和密码、门诊号表生成同期。 输出:生成后的门诊号表。 功能:挂号人员在录入了门诊号表和门诊安排表之后,需要到门诊号表生 成子模块中进行生成,经过保存后,门诊号表和门诊安排表才能进行实际应用。(10)门诊号表查询模块 输入:查询条件。输出:按照查询条件提取出来的的门诊号表。 功能:挂号人员在生成了门诊号表后,根据自己需要输入查询条件输出查 询后的门诊号表。 (11)病人查询模块输入:查询条件。’输出:按照查询条件提取出来的病人信息。 功能:挂号人员根据实际需要,输入查询条件,如就诊日期、就诊科室、 姓名等等,点击查询后,输出经过查询筛选后的病人的各项信息。(12)工作量统计查询模块输入:统计时间。 输出:统计出的工作量。 功能:挂号人员或者财务科统计人员,在输入统计时间后,便可以提取出在这个时间段内的门诊工作量。具体的工作量统计查询模块包括以下几个子模块: 门诊科室工作量统计子模块 门诊退号明细统计子模块 挂号人员工作量统计子模块 门诊工作量按门诊号类别统计子模块 门诊工作量统计子模块.32. 第4章总体设计f】诊划债明鲴PI科室瓷辩鲔品庳存la,I冀旦鲔訾箱号 勇品鞠弓 单价敬最 盒颉Ⅱ璺旦名韩 缶往冀旦 鹰房 药品翦马 葫品诱量函洼mm1.诊接号 篓旦葶;^摘弓1rlⅨ1L弱晶程辅诊窜l伽PI煞旦lrXl挂号科室留用粪型 挂弓簧型 拄号留用 罾生 时问Ⅱ篓旦 害齄= 靓格 整量单位 数量单位入廖单位科室璃人编弓 挂号编号曙生鞘管耐柳 匐l廿品是否收留 收留最1L}1诊挂号娄型出库簟价批发债越数吐针猫收留时旧 捌譬盒净 是番:锭弱 :锭弱时问 锭药最费用归炎拼音鸥 教期 上阻Ⅱ冀里 挂号灸盟 挂号赍f限图4.2与门诊挂号子系统相关的子系统系统的E.R图4.3数据字典医院信息系统有后台数据库的强大支持,一共有600多张表。其中与门诊 挂号子系统相关的表项有: (1)挂号费价表别名:REGISTPRlCE。描述:定义不同的挂号费 来源:从医院数据库中提取(2)门诊号名称和门诊医生对照表别名:code描述:纪录科目代码对应的科目名称及科目其它辅助信息来源:从医院数据库中提取 (3)医保病人挂号费表 另0名:INSURANCEREGIST PRICE描述:纪录部门代码对应的部门名称及部门其它辅助信息.33. 第4章总体设计来源:从医院数据库中提取 (4)门诊号别定义表别名:CLINICINDEX描述:纪录员工代码对应的员工姓名及员工的其它辅助信息 来源:从医院数据库中提取 (5)f-i诊安排记录别名:CLINICSCHEDULE描述:纪录客户代码对应的客户名称及客户的其它辅助信息 来源:从医院数据库中提取(6)门诊号表 别名:CLINICFOR REGIST描述:记录登陆账号及密码 来源:从医院数据库中提取 (7)门诊预约记录表 别名:CLINICAPPOINTS描述:纪录异常对应科目 来源:从医院数据库中提取(8)门诊安排记录 别名:CLINICSCHEDULE来源:从医院数据库中提取(9)门诊预约记录表 别名:CLINICAPPOINTS来源:从医院数据库中提取(10)就诊记录 别名:CLINIC MASTER来源:从医院数据库中提取(11)挂号结帐主记录表 别名:REGISTACCTMASTER来源:从医院数据库中提取(12)挂号结帐明细记录表 别名:REGISTACCT DETAIL.34. ―――――――――――――――』堡篁签望生来源,从医院数据库中提取 (13)挂号结帐支付明细记录袭 另IJ名:REGISTACCT DET'AIL.来源:从医院数据库中提取 (14)附加费表 别名:CLrNICADD FEE来源:从医院数据库中提取 (15)身份字典表 别名:IDENTITY 军种字典 别名:ARMED 费别字典 别名:CHARGETYPE DICT SERVICES DICT DICT费别与身份对照关系 别名:CHARGE 国家及地区字典 别名:COUNTRY 行政区字典 别名:AREA 科室字典 别名:DEPTDICT DICT DICT TYPE VS IDENTITY4.4数据表以及数据表的功能各数据表见表4.1.表4。12:表4.1挂号费价表REGIST 字段中文名称费别 号别PRICE字段名CHARGE―.TYPE CLINIC――LABEL REGIST――PRICE CLINIC――PRICE类型C长度8说明PKC16对应门诊号表主记录定义的号别PK挂号费 诊疗费N N5,2 5,2-35. 第4章总体设计表4.2 中文名称 医生代码 门诊号名称 部门代码门诊号名称和门诊医生对照表 类型C C C字段名USER ID CLINIC―.LABEL DEPT――CODE长度4 16 8说明对应1.16表users表的user―id该医生挂号的时候显示的号别医生所在科室代码表4.3 字段中文名称 号别 医保类别 诊疗费挂号费医保病人挂号费INSURANCE 字段名 类型C C N N CREGIST PRICE长度8 16 5,2 5,2 20说明PK PKCLINICN PEINSURANCE――TYPECLINIC――PRICEREGIST――PRICE Clinic_dept科室名称表4.4门诊号别定义CLINIC 字段中文名称 序号 号别字段名INDEX类型N长度4说明 将不同专科的号看作不同的类 别,为每种号分配一个唯一标 识。PK 使用科室代码,用户定义,见2.6科室字典SERIAL_NO CLINIC―.LABELC16门诊科室医生CLINIC―.DEPTDOCToRC8C20医生姓名。当该门诊指定具体医生时使用,不用时,为空医生职称DOCTOIUITLECLINIC―.TYPECl使用代码,本系统定义,见1.20 医生职务字典 标识该门诊的挂号费等级,如: 普通、专家等,见3.5门诊号类 别字典号类C8表4.5门诊安排记录CLINIC 字段中文名称号别 字段名SCHEDULE类型C长度16说明CLINIC―.LABELDAY―.OF――WEEK TIME―.DESC星期 门诊时间描述Nl门诊号别定义中规定的号别, 反映门诊种类。PK 非空,0-6分别表示星期日一~六。PKC8反映该号别的开放时间,如: 上午、下午等。PK.36. 第4章总体设计l『N 3 若为0.则不限号 APPOINTMENT――LIMITS 注释:此表以周为描述单位,反映每f]门诊出诊安排情况。由该表可以生成每日的实际号表记录。限号数 限预约号数REGISTRATION..LIMITSN3若为0。则不限号l l表4.6门诊号表CLINIC FDR 宁段中文名称 门诊日期号别REGIST字段名CLINIC――DATE CLINIC―.LABEL类型D C长度说明 指对成号别就诊开始日期。PK 门诊号别定义中规定的号别, 反映门诊种类。PK 反映该号别的开放时间。如: 上午、下午等。PK若为0,则小限号 若为0,则可i限号16门诊时间描述限号数TIME――DESCREGI STRATION――LIMITSC N N N N8 3 3 3 5,2限预约号数 当前号 挂号费标准APPOINTMENT――LIMITSCURRENtNO REGIST――PRICE该号别当前可用号条记录,来院就诊确认后,将该记录删除,在门诊就诊记录表中生成门诊就诊记录。如果病人已预约但未 就诊。在经过适当的处理后,将记录删除。表4.7 字段中文名称 就诊日期 号别 病人标谚l号 预约就诊时间 何日预约门诊预约记录CLINIC―APPOINTS 字段名 类型D C C C D 16lO长度说明 非空。PK 为门诊出诊安排表中定义的号别。PKVlSIT――DATE――APPTED CLINIC――LABEL PATIENT――ID VISIT预约病人的标识,非空。PK 同号表门诊时间描述。PK 进行预约的日期TIME_APPTED8APPT-.MADE―DATE表4.8就诊记录CLINIC_MASTER 字段中文名称就诊日期 ‘一段名VISIT――DATE娄犁DK度说明 非空。PK 非空,每天从1开始递增,为 病人每次挂号分配一个序号。 该序号与就诊日期一起,构成 一次就诊的唯一标识。PK 对应门诊号表主记录定义的号别就诊序号VtSIT.■ON4号别 就诊时间描述 号码 病人标识号姓名CLINIC――LABELC C N C C16 8 4 10 20VISI£乃IME―DESC SERIAL_No同号表门诊时间描述 ~个号别下的序号 对已建立主索引的病人使用, 对无主索引的病人为空病人姓名PATIENLIDNAME.37― 第4章总体设计姓名拼音 NAME―.PHONETICSEX AGE lDENTITY C C N C 404性别年龄 身份病人姓名拼音,大写。字间用 一个空格分隔,超长截断 使用规范描述,见1.1性别字典 使用规范名称,用户定义,见 1.6身份字典 使用规范名称,用户定义,见1.9费别字典3 lO费别CHARGE――TYPEC8医保类别INSURANCE―TYPEC16医疗保险号 合同单位INSURANCE―.NOC18如果此病人为医保病人,则记 录反映本次住院支付方案的医 保类别 如果此病人为医保病人,则记 录其保险号 也称体系单位,使用代码,用 户定义,见2.4合同单位记录 标识该门诊的挂号费等级,如: 普通、专家等,见3。5门诊号类 别字典 1.初诊O.复诊 科室代码,用户定义,见2.6科 室字典 指就诊科室下所设的某一专 科,可空 在就诊专家门诊时,为专家姓名。可空UNITjN―CONTRACTCLINIc二ⅣPEFIRST――VISIT――INDICATOR VISIT――DEPTC1l号类初诊标志ClN Cl 8就诊科室 就诊专科医生 提供病案标志VISIT―.SPECIAL――CLINICC16DOCToRC20MR――PROVIDED――INDICATORN11..需提供O~不提供 反映从预约到就诊的状态变 化。0.预约1.已确认(已取号) 2.就诊 发生预约或挂号的日期挂号状态 挂号日期症状REGISTRATION―。STATUSREGISTERING――DATENlD C C NNSYMPTOMCLINIC―.CLASS REGIST――FEE CLINIC――FEE OTHER――FEE OPER AToR40 8 5,2 5,2 5,2 20诊疗类别 挂号费 诊疗费 其它费挂号员 退号日期 退号挂号员 应收费用N CDRETURNED――DATERETURNED――OPERATOR CLINIC――CHARGE ACCT NO Pay Way Trans NO发生退号时使用20 8,2 6 8 8CN发生退号时使用结帐号 支付方式 交易序号C C C两位收款员前缀+六位流水注释:此表反映病人一次就诊或挂号的基本信息,挂号时产生,由病人门诊的后续环节如:收费、取药等 使用。病人完成整个门诊流程,待门诊业务统计完成后,即可删除挂号记录。允许提前挂号。即 提前拿号和交费(不同于预约)。.38. 第4章总体设计 表4.9 序号 数据项 REGIST--ACCT―MASTE/R(挂号结帐主记录) 字段名称 类型 长度说明l结帐号Acct NOC6主键2收款员号OperatorNoC43结帐日期Acct――DateD4挂号数Regist■IralRefund―.NumN65退号数N66退号总金额Refund――amountN10,27计价总额Total――CostsN10,28成收总额Total.。ChargesN10,29记帐日期Tally DateD表4.10 序号 数据项REGISLACCT―DETAIL(挂号结帐明细记录)字段名称 类型 长度说明l结帐号Aoct NoC6主键2费用会计科目分类Tally.FeeClassC4主键3计价金额CostsN10,24应收金额ChargesN10,2.39. 第4章总体设计 表4.1l 序号’REGIST ACCTDETAIL(挂号结帐支付明细记录) 类型 长度 说明数据项字段名称l结帐号Acct NOC6主键2金额分类Money_TypeC8主键3收款Income――AmountN10,24退款Refund―.AmountN10,2表4.12 序号 数据项CLrNIC ADD FEE字段名称类型长度说明I交易序号Tram NoC8两位收款员前缀+ 六位流水主键2病人ID号PatientldC103姓名NameC204性别SexC45年龄AgeC36身份IdentityC107费别Charge_TypeC88合同单位Unit――In―。ContractCll9操作类型Transact_typeCl10操作日期Transact――dateD..40. 第4章总体设计1l应收金额Total――CostsN5,212实收金额Total_ChargesN5,213支付方式Pay_WayC814操作员OperatorNoC415结帐号Acct NOC6注释:此表描述患者在挂号处交纳附加费的信息,由门诊挂号子系统录入;词表信息需要长期在线保存, 此表的数据增长量等于闷初诊病人数,约为日挂号易量的25%,如果日挂号交易量为1000,则每L]数据 增长量约为250条,每年约80,000条; 如果医院使用门诊挂口.予系统管理附加费,则数据增长量为0。4.5本章小结本章首先根据软件工程理论中的模块独立性原理对HIS系统中的门诊挂号子系统中的模块进行了划分,然后设计了该系统的总体结构,最后给出了该系 统中各核心模块(包括当日挂号模块、退号模块、结帐模块、结帐查询模块、 门诊号别录入模块、门诊号别查询模块、门诊安排录入模块、门诊安排查询模 块、门诊号表生成模块、门诊号表查询模块、病人查询模块、工作量统计查询 模块另外还有系统维护模块等)的输入、输出及功能描述。本章还重点描述了医院门诊挂号子系统的数据字典、数据表以及数据流图。.41. 第5章系统实现第5章系统实现5.1开发环境本系统开发的软、硬件环境为:CPU:迅驰1.4GHZ内存:512M操作系统:WindowsXP开发平台:PowerBuilder6.05.2主要功能的实现5.2.1门诊挂号功能的实现在门诊挂号子系统中,最重要的功能就是实现门诊的挂号和收取挂号费的 流程。此项工作的流程是病人去门诊挂号室,告知挂号人员自己的身份信息和 所要挂的科室,挂号人员将病人的信息输入ID卡中,病人接着用这张ID卡进 行接下来在医院门诊的一系列流程均凭借病人ID卡这一唯一的标识作为依据。 第5章系统实现普通 高人伤叶埔人高人图5.1门诊挂号子系统的业务流程挂号模块的部分代码如下:intagel,reg_statuscurrent_noint String1,registration_limits 1,appointment

我要回帖

更多关于 西门子 区域长度错误 的文章

 

随机推荐