门诊收费管理系统毕业论文.docx
第一章绪论在现代社会中管理的作用越来越显得重要和突出。一般来讲,管理通过计划、组织、指导与领导、控制等手段,为组织制定目标,应用组织的各种要素,以实现组织的目标。对企业来说,人们按照一定的营销计划、人力、物力资源,对人员、物质、资金等加以计划和协调,以达到预期的目的,即称为企业管理。传统的企业管理活动中,把人、才、物作为企业的主要资源。但是随着社会化大生产的不断扩大和社会对产品多样化的需求,人们越来越重视信息在生产经营与企业管理中的作用,并把它当做企业的一种极其重要的资源,人们称之为“信息资源”,信息资源的处理已经成为当今世界上一项主要的社会活动。同样,在医疗系统中也不例外,其中加强对门诊信息的管理,一方面能更好为病人服务,另一方面能加强对医院效益的监控。本世纪以来,由于社会生产力的迅速发展和科学技术的突飞猛进,人们进行信息交流的深度和广度不断增加,管理所需要的信息量急剧增长,同时对信息的处理要求与时、准确,这导致了传统的信息处理方法和手段已不能适应现代管理的需要;电子计算机的诞生和在信息处理中的应用,标志着一个崭新时代“信息时代”的开始,它使企业管理现代化成为可能。一定意义上说,管理信息系统的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言非结构化、面向对象、可视化的语言。管理信息系统的发展管理信息系统通过对企业当前运行的数据进行处理来获得有关信息,以控制企业的行为;利用过去和现在的数据与相应的模型,对未来的发展进行预测;能从全局目标出发,对企业的管理决策活动予以辅助。从工业发达国家来看,管理信息系统的发展经历了以下几个阶段。第一阶段:(1953年至1965年)单项数据处理阶段,也称电子数据处理(EDP)阶段。这是电子计算机在管理领域应用的起步阶段。这一阶段,由于当时计算机硬、软件的限制,数据处理的性质只是使用计算机代替人的手工劳动,进行简单的单项数据处理工作,如计算工资、数据统计、报表登记、编制计划等。这个阶段的处理方式主要是集中式的批处理。第二阶段:(1965年至1970年)综合数据处理阶段,也称事务处理系统(TPS)阶段。这个阶段计算机硬、软件有了很大的发展,出现了多用户的分时系统,计算机开始应用于对某一个管理子系统的控制,并具有一定的反馈功能。如库存管理系统、生产调度系统、学籍管理系统等。这个阶段的处理方式已发展为面向终端的联机实时处理。第三阶段:(1970年至今)管理信息系统(MlS)阶段。这个阶段是在企业中全面的使用计算机把各种管理子系统的功能集中起来,构成了计算机化的全方位的信息系统,即现代管理信息系统。这个阶段的处理方式是在数据库和网络基础上组成分布式处理系统。它的特点是使用数据库和分时处理的计算机网络,并充分利用运筹学等数学方法,实现了硬件、软件和数据资源的共享。总的说来,计算机技术的发展,其性价比大幅的下降,使得其被大量广泛的使用。针对现实中的各种应用需求,相应的产生很多技术体系、技术标准,如J2EE、。NET,CoM/C0M+等。这又大大的推动了企业的信息化进程。其影响可以归纳为如下两点:(1)计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。(2)开发门诊收费管理系统的意义现在我国的一些小型医院或诊所对于病人就诊信息的处理还停留在纸介质或半自动(由电脑处理一部分数据,由人工处理一部分数据)的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。软件作为一有项有力的工具,只能当此种工具,与我们的实践相结合起来的时候,才具有重大的社会价值与使用价值。因此根据企业目前实际的门诊收费管理情况开发一套门诊收费管理系统是十分必要的。第二章选题说明2.1 课题背景要提高竞争力,既要有好的就医环境,同时也要有好的客户服务,而要实现这些目标的办法就是信息化。医院信息化建设的目标是:适应我国全面建设小康社会和医药卫生改革发展的形势,以病人为中心,综合运用现代信息技术(计算机、网络、通讯等),充分体现药特点,提高医疗质量和市场竞争能力,满足患者与医院管理的多种需求,促进医院持续快速稳定发展。医院信息化建设应遵循“整体规划、合理投入、小步快走”的原则积极实施。在手工管理的情况下,对病人的病历的管理是一个极其繁杂的过程,医生很难记住每一位病人的情况,就医记录。所以往往采用的手工记录的方式,这个势必造成具大的物资浪费。并且随着医院规模的扩大,对药品的管理,对药品价格的管理等都是一件巨大的工作。2.2 国外研究现状通过这前段时间的市场调查和分析,初步了解到现在各种进销存软件的优点与不足。比如说有些传统进销存软件是为替代手工录入,从传统数据记录中产生的,这些软件面对Internet与电子商务迅猛发展的网络经济时代显得如此脆弱而只能望e兴叹!1、体系封闭,无法实现网络化管理,更无法支持电子商务。传统软件由于产生的技术背景落后,无法实现网络化管理或只支持局部网络应用,更无法支持电子商务,不能适应网络时代企业的需求。2、信息单一、落后且缺乏前瞻性,由于技术方面的限制,传统软件无法做到库存信息的实时动态处理、事前的预测并提供前瞻性信息。3、对管理考虑甚少。软件依旧没有摆脱传统束缚,以对外报告为其存在目的。2.3 课题目的当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了更好管理门诊信息信息而设计的。当前,医院作为病人就诊的地方,有许多信息需要处理和管理。现今,有很多门诊信息都是初步开始使用,甚至尚未使用计算机进行信息处理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于医历等很多信息都是用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规的信息管理手段。数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个门诊收费管理系统,使宿舍管理工作规化,系统化,程序化,避免宿舍管理的随意性,提高信息处理的速度和准确性,能够与时、准确、有效的查询和修改宿舍情况。开发门诊管理系统的现实意义:计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。现在我国的多数诊所或小型医院的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为一个计算机应用的专科生,希望可以在这方面有所贡献。我希望能用我四年的所学编制出一个实用的程序来帮助大中专进行更有效的信息管理。归纳起来,好处大约有以下几点:1 .可以存储以往的门诊信息,安全、高效;2 .只需一到二名信息录入员即可操作系统,节省大量人力;3 .可以迅速查到所需信息。第三章系统分析3.1 系统的初步调查建立一个好的管理信息系统,必须要有一个好的管理基础。所谓好的管理基础,指的是合理的管理体制、完善的制度、科学的管理方法和准确的原始数据。应该看到,我国开发管理信息系统的时间还不长,设计开发的实际经验也很不足。要使进销存信息系统在企业建立、使用,并从中获得巨大的效益,必须具备以下基本条件。(1)领导重视、管理人员积极性高管理信息系统的建立,需要企业公司提供资源、经费、人力和时间,要涉与管理体制、规章制度的变化、调整和大量数据的编码、表格形式协调等工作,这些公司管理的全局性问题必须在公司高层领导的重视和支持下才能获得解决。管理人员的积极性也是不容忽视的条件。管理人员是管理信息系统的直接用户,它们的积极性和配合程度,关系到管理信息系统的使用效果和生命力。(2)具备一定的资源条件管理信息系统的资源主要包括计算机硬、软件设备,不间断电源、空调等辅助设备和计算机房设施等,有条件的公司应尽量发掘和利用现有计算机设备。管理信息系统的费用可分为开发费用和运行费用,前者包括设备购置、人员工资、培训和开发过程中的一系列支出等,后者包括机器运行、维护和修理费,人员工资和水、电、纸等日常开支。要有足够的资金保证,才能顺利完成整个系统的开发工作。当然,资金的投入也可以在开发和运行过程中分阶段进行,在逐步取得阶段成果的基础上补充更多的资源。(3)组织一个强有力的开发小组管理信息系统的质量,在某种意义上直接取决于开发人员的水平和素质。开发小组的人数因系统规模大小而异,通常包括系统分析员、程序员、数据录入员和硬、软件维护人员。由于管理信息系统的开发通常是从逐个子系统分期分批进行的,同时,已开发完毕投入使用的系统仍需不断维护、改进和完善,因此这个开发小组应该在相当长的时期存在。在正式的立项之前必须进行可行性分析,而可行性分析主要是对现行系统进行充分的调查研究,细致了解现行系统的现状流程,以与存在的主要问题,在此基础上提出新的系统的逻辑模型。详细的现状调查目的是为了弄清现行系统的基本功能与信息流程,为新系统逻楫模型提供基础。它是建立新系统的前期工作,也是进行系统分析和设计的重要基础。因此要建立新的公司门诊收费管理系统就必须对公司现行的门诊收费管理系统进行全面、细致而充分的调查研究。采用主要的方式是在同学中进行交流和对现有的政策进行分析。3.2 系统的可行性分析系统的可行性分析包括两个详细的部分:分析开发新的系统的必要性和可能性。必要性在前面系统初步调查中已经作了详细的分析,在这里就不再赘述;可能性主要包括经济可行性、技术可行性和运行可行性三个方面。经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。由于公司门诊收费管理系统是作为毕业设计由我们学生自己开发的,在经济上的投入甚微,系统建成之后将为今后实现公司门诊收费管理提供很大的方便,因此在经济上是可行的。技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。公司门诊收费管理系统用的是ViSualBaSiC开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。运行可行性是对组织结构的影响,现有人员和机构、设施设施和环境对系统的适应性与人员培训补充计划的可行性。当前我们公司信息化技术已经相当普与,各类操作人员水平都有相当的高度,所以在运行上是可行性的。3.3 系统开发步骤一般说来,管理信息系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低管理信息系统开发的复杂性。国外许多系统开发的实例都证明这是一种行之有效的开发方式。国外曾有人对一些软件项目开发各阶段的工作量进行了统计,结果表明,在开发过程中各工作阶段所占全部工作量的比重分别达到系统分析:系统设计:编程:模块调试:系统调试=20*:15%:20%:25%:20%o由此可见,程序编写在开发工作中只占很小比例,而调试工作却占整个开发工作量的一半左右,因此“系统开发就是编程”的习惯说法显然是片面的。另据统计,在建立管理信息系统的三个阶段中,总体规划和系统开发阶段的工作量约占整个工作量的2/3,而运行、维护阶段要占1/3,这说明一个管理信息系统开发后,仍应十分重视它的维护工作,以便使系统不断完善并充分发挥其作用。4、门诊收费管理信息系统的规划系统规划是整个管理信息系统建立过程中的基础阶段。因为新系统是在现有系统基础上发展而成的,所以首先应对现有系统进行全面的调查和分析,通过对用户需求的调查,提出新系统的开发目标,并进行可行性研究,为新系统开发能否进行提供定量和定性的依据,这就是总体规划的任务。5、现行系统的初步调查初步调查是为了了解现有系统的概,貌、规模等基本情况,从而确认新系统的目标。该阶段需调查的主要容有:(1)现行系统的概况:当前规模、功能、工作效率、归属部门等。(2)管理流程与工作步骤:现行系统中各职能部门的管理业务流程、各种数据在收集、整理、输入、存贮、处理和输出各个环节的具体加工步骤,主要单据、表格的来源和去处等,从而得到较为完整的信息流程。上述各项容在系统分析阶段中还需进一步作详细调查。(3)当前系统的簿弱环节:在调查中应善于发现问题并找出其前因后果,这些问题往往是新系统中要解决和改进的主要问题。(4)各部门管理人员对新系统目标持有的看法,以与对建立新系统的态度。3.4 可行性分析在现行系统初步调查的基础上就可以提出新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。新系统目标应充分体现公司的战略目标、发展方向和基本特点,直接为公司管理服务,同时,新系统目标应该和现行系统的各项基本功能密切相关,并且可以分期分批实现。需要指出的是,新系统目标不可能在总体规划阶段就提得非常具体,它还将在开发过程中逐步明确和定量化。新系统目标的提法不尽一样,例如:提高工作效率和减轻劳动强度;提高信息处理速度和准确性;提供新的处理功能和决策信息,等等。新系统的目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性分析:(1)技术可行性根据新系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,并考虑近期可以培养和发展的技术人员。(2)经济可行性估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,看是否有利。开发、运行和维护费用主要包括:购买和安装设备的费用:计算机硬件、系统软件、机房、电源、空调等;软件开发费用:若由实习单位的技术人员开发,则该项费用可以计入下面的人员费用一项;人员费用:系统开发人员、操作人员和维护人员的工资、培训费用等;消耗品费用:系统开发所用材料、系统正常运行所用消耗品,例如水、电费,打印纸、软盘、色带等开支;其它费用。系统的效益可以从经济效益和社会效益两方面考虑。对于企业管理信息系统则应着重分析其社会效益。例如,系统投入运行后可以提供哪些以前无法与时提供的信息,用户查询和使用信息的方便程度提高多少、速度增加了多少,对于管理人员进行决策提供了多少帮助等等。(3)运行可行性对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。按上述三方面进行可行性分析、研究后,就可整理并编制出新系统开发的可行性报告,它是总体规划工作的阶段性成果。3.5 对本系统的分析通过使用本系统,能规对各类信息的管理,并可以大大的方便对信息的查询。本系统的开发,是典型的MiS开发,主要是对数据的处理,包括数据的收集,数据的变换,与数据的各种报表形式的输出。采用流行的VB+ACCESS体系,已无技术上的问题,在技术上是可行的。另外,对本系统的开发,只需一台普通配置的计算机,与专职的开发人员一名,宿舍管理人员一名即可完成对现行系统的分析,导出新系统,显然在经济上也是可行的。第四章系统设计4.1 模块设计根据本系统的需求,结合实际管理情况,本系统应用有如下功能模块:基础数据维护:对用户信息的管理药品管理:主要对药品类别、药品类型与药品信息的管理挂号:病人就医的主流程之一,为每一个病人分配一个划价:计算药品的价格,主要包括中药、西药、中成药等门诊收费:对各项收费进行汇总,如中药、西药、中成药等查询:对挂号信息、收费信息进行查询4.2 开发环境本系统采用面向对象的软件开发方法,以Microsoft公司的可视开发环境VisualBaSiC6.0作为主要开发工具,使用MiCrOSOftACCeSS2000作为关系数据库,并在VB编程语言中采用ADO数据库编程模型,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实现了预定的需求功能。3.2. 1VisualBasic6.0开发环境VisuaIBasic6.0是一种可视化、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发WindOWS环境下的各类应用程序。它简单易学、效率高、且功能强大。在ViSUalBaSiC环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用WindOWS部的应用程序接口(API)函数,以与动态库(DLL)、动态数据交换(DDE)、对象的与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发出WindOWS环境功能强大、图形界面丰富的应用软件系统。总的来看,VisualBaSiC有以下主要特点:1 .可视化编程VisualBaSiC提供了可视化设计工具,把WindOWS界面设计复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码,只需要按设计要求的屏蕊布局,用系统提供的工具,在屏赛上画出各种“部件”,即图形对象,并设置这些图形对象的属性。VisualBasic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。2 .面向对象的程序设计在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而VisualBasic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,VisualBasic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。3 .事件驱动编程机制ViSUalBaSiC通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,用户单击该按钮时,将产生一个,单击,事件,而产生该事件时将执行一段程序,用来实现指定的操作。在用ViSUalBaSiC设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程,这些过程分别面向不同的对象,由用户操作引发某个事件来驱动执行某特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作。这样可以方便编程人员、提高效率。4 .访问数据库VisualBaSiC系统具有很强的数据库管理功能。利用数据控件和数据库管理窗口,可以直接建立或处理MicrosoftAccess格式的数据库,并提供强大的数据存储和检索功能。同时,VisualBaSiC还能直接编辑和访问其他外部数据。VisuaIBaSiC提供开放式数据连接(OpenDataBaseConnectivity),即ODBC功能,它可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLServer.OraCIe等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问SerVer上的数据库,并提供了简单的面向对象的库操作指令、多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户服务器方案。VisualBasic6.0是专门为Microsoft的32位操作系统设计的,可用来建立32位的应用程序。在WindoWS9x、WindoWSNT或WindoWS2000环境下,用ViSUalBasic6.0的编译器可以自动生成32位应用程序。这样的应用程序在32位操作系统下运行,速度更快,更安全,并且更适合在多任务环境下运行。3.2.2MicrosoftACCeSS与ADO作为应用程序与OLEDB连接的桥梁,ActiveXDataObjects(ADo)为ViSUalBasic6.0下开发的应用程序访问本地或远程数据库提供了有效的手段。MicrosoftActiveXDataObjects(ADO)主要优点是易于使用、高速度、低存支出和占用磁盘空间较少。ADO支持用于建立基于客户端/服务器和Web的应用程序的主要功能。在VB中,可以使用开发环境提供的ADO控件,数据库访问方法,对ACCESS中建立的关系数据库简单快捷的进行访问。3.2.3SQL查询语言与使用SQL语言是结构化语言(StrUCtUreQueryLanguage)的缩写,是一种用于数据库查询和编程的语言,已经成为关系型数据库普遍使用的标准,使用这种标准数据库语言对程序设计和数据库的维护都带来了极大的方便,广泛地应用于各种数据查询。VB和其他的应用程序包括ACCeSs、Foxpro、Orcale、SQLSerVer等都支持SQL语言。SQL语言的常用操作有:建立数据库数据表(Createtable),如本系统中的学生与成绩备份就用到该语句;从数据库中筛选一个记录集(select),这是最常用的一个语句,功能强大,能有效地对数据库中一个或多个数据表中的数据进行访问,并兼有排序、分组等功能;在数据表中添加一个记录(INSERT);删除符合条件的记录(DELETE);更改符合条件的记录(UPDATE);VB中的数据库操作对象都提供了对SQL语句的支持。其一般的用法是以VB的各种控件接收用户对数据库访问的请求,在事件响应程序代码中将其转换成对数据库的SQL查询语句,并以字符串的形式存在,然后将其传递给相应的数据库操作对象,最终完成对数据库的访问。4.3 功能模块管理信息系统设计阶段的主要目的是将系统分析阶段所提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。具体要求对系统进行功能分解,不断下去,直到分解成含义明确,功能单一的单元功能模块,从而绘制出系统的功能模块图,即HlPO图。此管理信息系统的HIPo图如下4.4 数据流图图4.3.14.5 数据库设计数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。1、概,念结构设计在数据库设计中,先要对系统分析所得的数据字典中的数据存储进行分析,然后得出系统的关系模式,可以采用实体联系图(简称ER图)的方法进行数据结构的描述。ER图由实体、属性、联系三部分组成。ER图的有关符号说明如下:实体属性联系药品实体间主要关系如下:2、物理结构设计物理结构设计的原则如下:(1)尽可能的减少数据冗余和重复。(2)结构设计与操作设计相结合。(3)数据结构具有相对的稳定性。基于以上设计原则,本系统设计了一个数据库,包含基本信息表(如药品、医师、科室等)与几个实体联系建模后的表(如划价信息表、收费信息表等)。为了加快系统访问的速度把这些表放在一个数据库中。本系统中相关数据库表结构设计举例如下:1、用户表(p_user)编号字段名称字段类型字段说明1ID数值ID2用户名文本用户名3密码文本密码2、药品单位(med_dw)编号字段名称字段类型字段说明1ID数值ID2单位名称文本单位名称3、药品类型表(med_type)编号字段名称字段类型字段说明1ID数值ID2类型名称文本类型名称4、科室表(med_ks)编号字段名称字段类型字段说明1ID数值ID2科室名称文本科室名称5、科室表(med_ys)编号字段名称字段类型字段说明1ID数值ID2医师名称文本医师名称6、药品划价表(hj_t)编号字段名称字段类型字段说明1ID数值ID2药品编码文本药品编码3药品名称日期药品名称4型号规格文本型号规格5数量数值数量6应付款数值应付款7挂号ID数值挂号ID7、药品划价汇总表(hj)编号字段名称字段类型字段说明1ID数值ID2类型文本类型3应收款数值应收款4挂号ID数值挂号ID8、门诊收费表(hj_aa)编号字段名称字段类型字段说明1ID数值ID2收费项目文本收费项目3应付款数值应付款4挂号ID数值挂号ID9、门诊收费汇总表(hj_a)编号字段名称字段类型字段说明1ID数值ID2类型文本类型3应收款数值应收款4挂号ID数值挂号ID4.6 详细设计4.6.1系统主界面在此系统中,充分考虑到人们的使用习惯,利用了菜单对系统中功能进行分类列举,用使对系统的使用,通过菜单即能完成,这样使得主界面简洁,易于使用。另一方面, 对当前使用的某一功能选项对应的窗口,以模式的方式进行工作,使得在同一窗口,仅 能打开某一类功能的窗口,也在一定程度上减轻了用户的使用难度。系统的主界面如下:4.6.2用户管理界面此界面为本系统中,较常用的一种界面结构。主要由最上方的工具条,中间的现有数据显示区与下方的新增容区。在系统细节,主要采用了一个ADO.recordset对象,当增加保存时,使用了其addnew与POSt方法;当删除某一行数据时,使用了其DeIete,post方法主要实现代码如下:PrivateSubForm_Load()CaIIExcuteSqI(rec_user,"seIect*fromp_user")CaIIShowInfo(rec_user,fIexb)EndSubPubIicSubShowlnfo(ByVaIrsAsADODB.Recordset,ByVaISearchListAsMSHFIexGrid)OnErrorResumeNextDimSumFieIds,i,jSumFieIds=rs.Fields.Count'该表的字段总数SearchList.Clear,清空列表,防止增加或修改调用时重复显示,searchList.BackCoIor=&HCOFFFF'设置网格背景颜色searchList.Cols=SumFieIds'设置网格列数searchList.Row=OWithsearchList.FiIIStyIe=fIexFiIISingIe'.ScrolITrack=True'.AllOwlIserResizing=fIexResizeCoIumns.FixedRows=1.FixedCoIs=O.SeIectionMode=fIe×SeIectionByRowEndWith'设置第一行的各列标题Fori=0ToSumFieIds-1searchList.Col=isearchList.TextMatrix(0,i)=rs.Fields(i).NamesearchList.CoIAIignmentFixed(i)=3'searchList.BackCoIor=&H8000000FNexti'设置第一行的各列标题文字格式Fori=0ToSumFieIds-1searchList.Col=isearchList.CelIAIignment=4,searchList.CeIIFontBoId=True'searchList.CeIIForeCoIor=vbBIuej=TextWidth(rs.Fields(i).DefinedSize)*8'设置标题宽度,防止部分长文字不显示Ifj>searchList.CoIWidth(i)ThensearchList.ColWidth(i)=jEndIfNexti'循环开始一显示所有符合条件记录rs.MoveLastsearchList.Rows=rs.RecordCount+1'其中标题占一行rs.MoveFirstsearchList.Row=0WhiIeNotrs.EOFsearchList.Row=SearchList.Row+1'增加一行,用于写入容Fori=0ToSumFieIds-1searchList.Col=iIfsearchList.Col=OThensearchList.CeIIBackCoIor=&H8000000FEndIfsearchList.CelIAIignment=4'读入容IfNotIsNuII(rs.Fields(i).Value)ThensearchList.Text=rs.Fields(i).ValueElsesearchList.Text=EndIfNextirs.MoveNextWend,循环结束一显示所有符合条件记录EndSubPrivateSubtbIOperator_ButtonCIick(ByVaIButtonAsMSComctILib.Button)SeIectCaseButton.KeyCase"add"CaIIForm3.setType("add")Form3.ShowvbModaICase"modify"CaIIForm3.setType("modify")Form3.ShowvbModaICase"exit"UnIoadMeCase"deIete"rec_user.Deleterec_user.UpdateEndSeIectCaIIShowInfo(rec_user,fIexb)EndSubPrivateSubflexb_DblCIick()IfNotrec_user.EOFThenDimfAsNewForm3CaIIf.setType("modify")f.ShowvbModaICaIIShowInfo(rec_user,fIexb)EndIfEndSubPrivateSubfIexb_SeIChangeODimstrID,StrFindCaIIGetFIe×GridFirstCoIValue(fle×b,strID)IfstrIDOEmptyThenStrFind="ID="&Trim(strID)IfNot(rec_user.EOFAndrec_user.BOF)Thenrec_user.MoveFirstrec_user.Find(strFind)'实时的移动记录'Debug.Print"Moveto"&strIDEndIfEndIfEndSub4.6.3药品管理界面本界面,主要实现对药品信息的管理,如药品编码、药品名称、型号规格、有效期等.能进行完备的药品编辑操作。主要代码如下:PriVateSubtbIOperatOJBUttOnCliCk(ByValButtonAsMSComctILib.Button)SeIectCaseButton.KeyCase"add"CaIIForm13.setType("add")Form13.ShowvbModaICase"modify"CaIIForm13.setType("modify")Form13.ShowvbModaICase"exit"UnIoadMeCase"deIete"rec_med.DeIeterec_med.UpdateEndSeIectCaIIShowInfo(rec_med,fIexb)EndSubPrivateSubfIexb_DbICIick()IfNotrec_med.EOFThenDimfAsNewForm13CalIf.setType("modify")f.ShowvbModaICaIIShowInfo(rec_med,fIexb)EndIfEndSubPrivateSubfIexb_SeIChange()DimstrID,StrFindCaIIGetFIexGridFirstCoIVaIue(fIexb,strID)IfstrIDOEmptyThenStrFind="ID="&Trim(strlD)IfNot(rec_med.EOFAndrec_med.BOF)Thenrec_med.MoveFirstrec_med.Find(strFind)'实时的移动记录'Debug.Print"Moveto"&strIDEndIfEndIfEndSub4.6.4挂号界面挂号是系统主要流程的第一步,它的主要功能是为病人人分配一个唯一的编号,在以后的流程中,这个编号即挂的号为划价、收费的基础。在具体的实现中,在医师输入框后,放置了一命令按钮,方便用户快速的查找医师的信息。医师的信息也是以后查询医师的业绩的主要标识.主要代码如下:PrivateSubComa