为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

医院管理信息系统设计与实现(附源程序代码)

2017-11-14 39页 doc 222KB 131阅读

用户头像

is_954223

暂无简介

举报
医院管理信息系统设计与实现(附源程序代码)医院管理信息系统设计与实现(附源程序代码) 医院管理信息系统设计与实现 目 录 摘要 ............................................................................................................................................... 1 Abstract. ...................................................................
医院管理信息系统设计与实现(附源程序代码)
医院管理信息系统设计与实现(附源程序代码) 医院管理信息系统设计与实现 目 录 摘要 ............................................................................................................................................... 1 Abstract. ....................................................................................................................................... 2 前言 ............................................................................................................................................... 3 1 系统需求分析 ............................................................................................................................ 4 1.1 业务系统描述 ................................................................................................................ 4 1.1.1 业务流程分析 ..................................................................................................... 4 1.1.2 组织层次图 ......................................................................................................... 4 1.1.3 业务流程图 ........................................................................................................ 5 1.2 可行性分析 ..................................................................................................................... 6 1.3 HIS系统的目标 ............................................................................................................. 6 1.4 项目开发计划 ................................................................................................................. 6 2 系统逻辑方案 ............................................................................................................................ 7 2.1 数据流程图 ..................................................................................................................... 7 2.2 数据词典 ....................................................................................................................... 13 2.3数据项的代码设计 ....................................................................................................... 14 3 系统总体结构设计 .................................................................................................................. 15 3.1 软件模块结构的设计 ................................................................................................... 15 3.1.1 模块结构图 ....................................................................................................... 16 3.1.2 IPO图 ............................................................................................................... 16 3.2 数据库设计 ................................................................................................................... 17 3.2.1 实体描述 ........................................................................................................... 18 3.3 计算机系统配置方案的选择和设计 .......................................................................... 19 3.3.1 计算机系统硬件配置 ....................................................................................... 19 3.3.2 计算机系统软件配置 ....................................................................................... 19 3.4 系统总体安全性、可靠性方案与措施 ...................................................................... 19 3.4.1 系统安全性方案和措施 ................................................................................... 20 3.4.2 可靠性方案与措施 ........................................................................................... 20 4 系统详细设计 .......................................................................................................................... 21 4.1 代码设计 ....................................................................................................................... 21 4.2 人机界面设计 ............................................................................................................... 21 4.2.1 输入设计 ........................................................................................................... 21 4.2.2输出设计 ........................................................................................................... 23 4.2.3 模块处理过程 ................................................................................................... 24 5.3.2 系统测试的方法 ............................................................................................... 25 5.3.3测试记录 ........................................................................................................... 25 参考文献 ..................................................................................................................................... 27 附录 部分源程序代码 ................................................................................................................ 28 I 摘要:医院管理信息系统(HIS: Hospital Management Information System)是利用计算机软硬件技术、网络通讯技术等现代化手段~对医院及其所属各部门(本系统不包含门诊部分)的人流、物流、财流进行综合管理~对在医疗活动各阶段中产生的数据进行采集、存贮、处理、提取、传输、 汇总、加工生成各种信息~从而为医院的整体运行提供全面的、自动化的管理及各种服务的信息系统。本文简单介绍了医院出入院处、病区、药房、药库的业务流程~在整体分析医院各部门以及部门之间的实际工作业务的基础之上~结合管理信息系统开发的理念~开发和完成了系统的模块设计、实体-联系图(E-R图)设计、关系模式设计、数据库设计、代码设计、人机界面设计~ 并在Delphi7.0和SQL2000上编程实现了住院管理、药品库房管理功能模块。 关键词:医院,需求分析, MIS实现。 1 Hospital Management Information System Design and Realization Abstract: The hospital management Information System's purpose is to have a synthesize manage to the hospital and its departments manpower flow, material flow, wealth flow, and to collection, storage, dispose, pick-up, transmit, gather, machining the information of medical treatment in each phase, so as to support the operating of hospital for an information system that all-sided, automated management, and having some other service. This articles briefly introduced the operation flow of in and out department sick sections, drugstores and storerooms in hospital. it firstly analysed in macrocosm the fact-finding flow of every department, combines the concept of information manage system, empoldered and completed the system module, entity-affiliation relation schema, database, code, human-computer interface, and implemented to program Being in hospital management and materia medica bursary management in Delphi7.0 and SQL2000. Keyword: Hospital; Requirements Analysis; MIS achieve. 2 前言 随着社会的发展,人们对健康越来越关注,医院的业务不断增长,处理越来越复杂,简单的人工经营管理,已无法满足医院的需要, 成为医院发展的瓶颈, 人们对医疗服务的要求也越来越高。传统的手工操作模式,病人帐目繁杂,病人查帐困难, 病区和药房的药品浪费现象严重且无法追踪, 人工传送各种记帐单容易漏错帐,人工划价收费差错也难以避免。因此,如何提高服务水平、提高工作效率,成为迫待解决的问。医院管理信息化不仅能提高医务人员的工作效率和医疗水平,而且能提高医院的服务质量和管理水平,所以,医院对管理信息系统有着强烈的需求。美国著名教授Morris.Collen于1988年曾著文为医院信息系统(HIS)下了如下定义:利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据医疗交换的能力,并满足所有授权用户的功能需求。 开发医院管理信息系统(HIS)的目标就是立足医院应用实际,着眼于未来发展,以强化医院管理,提高医疗质量,方便患者就医和查询,提高医院的服务效率和服务质量,设计一套符合国家功能要求,安全稳定,操作简便的医院信息系统,为医院提供一套全方位的解决方案。 3 1 系统需求分析 管理信息系统是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是信息管理活动的全过程,以便有效的管理信息,提供各类管理决策信息,辅助企业进行现代化管理。管理信息系统它具备数据处理、计划、控制、预测和辅助决策功能,具体作用如下5点内容: (1)用统一处理和提供信息,排除使用前后矛盾的不完整的数据; (2)完整、及时提供在管理及决策中需要的数据; (3)利用指定的数据关系分析数据,客观预测未来; (4)向各级管理机构提供不同详细程度的报告,缩短分析和解释的时间; (5)用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。 1.1 业务系统描述 医院的医疗水平和服务质量一直是社会关注的焦点,仅靠增加基础设施投入和脱离信息化的管理方法的改进,是不能从根本上提高医院的工作效率、服务质量和管理水平的。HIS的目的就是减轻业务劳动强度,减少了差错,科学管理药品,节省人力,提高医院的财、物管理水平,增加经济效益,改善患者的就医环境,方便患者就医和查询,提高医院的服务效率和服务质量,提高医院的医疗质量和管理水平。所以,一个现代化的适应社会发展需要的医院,除了具备一流的医疗队伍、一流的服务设施之外,还应具备一流的管理信息系统。 1.1.1 业务流程分析 对一个住院病人来讲,他到医院看病的过程及医院的处理流程,简单的讲是:病人先要到住院处登记并交纳住院押金,床位紧张的医院登记后要等待床位。然后,到病区接受主治医生的检查和询问,接受入院常规检查,接受临时治疗或按主治医生制定的长期治疗方案接受长期治疗。治疗过程中医生给病人下医嘱,医嘱产生药品和治疗项目两种申请单,药房根据病区的发药申请单给病人发药,在此之前药房要向药库申请进货,如果药库有库存则发给药房没有则列入采购计划。治疗过程中因为押金不够或医生的判断,需要退药,则会向药房申请退药。治疗项目在功检科室做完后直接收费。治疗结束后护士让病人出区,出入院处再给病人办理出院手术。 同时,对医院管理者来讲,还要将上述过程中发生的各类数据信息由医院各职能部门和其下属部门的工作人员把各种单据归类、统计、汇总、计算形成各类报表。并将这些报表,报送相应的管理职能科室,再由这些科室将这些报表制单、汇总、计算形成医院总体的人事、财务、设备、医疗等各类报表和管理分析图表。 1.1.2 组织层次图 本HIS系统可分为出入院管理、病区管理、药房管理、药库管理等内容,从这几大要点出发的角度分西,本系统有如下的组织层次图,如图1所示。 4 医院 出功财 病药药 入检务 区 房 库 科 院科 处 室 中 西 急中 西 药药诊 药 药 库 房 房 药库 房 图1 组织层次图 1.1.3 业务流程图 在对HIS的业务流程、组织层次进行初步调查分析之后,明确了需求分析的目的,明确了系统开发的目标和用户的信息需求,接下来本节将通过具体的业务流程图来描述HIS业务的全过程, 以明确系统应具有的功能。业务流程图是在对病人诊疗过程和医院行政管理流程进行调查、分析的基础上得到的,其调查内容紧紧围绕系统的功能、目标。调查结果利用图形化工具进行描述,以规范。 本HIS系统包含出入院管理、病区管理、药房管理、药库管理四大模块。整个业务流程包括:入库登记、预交金登记、入区登记、医生诊断检查、医生开医嘱、检查项目执行、发药申请、药房发药、退药申请、药房退药、药房入库申请、药库药品出库、药房药品退货、药库药房退库、药库药品入库、药库药品退货、病人出区、出院结算。以下按出入院处、病区、药房、药库四大功能科室分别阐述。 (1)出入院处:病人首先到出入院处登记入院,出入院处给病人分配一个住院号,登记病人的姓名、年龄、医疗类别、入院日期、待住。 5 1.2 可行性分析 可行性分析是系统分析阶段的重要活动,是对系统进行全面、概要的分析。它的任务是确定项目开发始否必要和可行。它的主要目标是:进一步明确系统的目标、规模和功能,对系统开发背景、必要性和意义进行调查分析,并根据需要和可能提出拟开发系统的初步方案和计划,明确问题,对所提供系统大致规模和目标的几个有关约束条件进行论证,并且提出系统的逻辑模型和各种可能的方案,从而为系统开发项目的决策提供科学依据。其主要从三个方面进行研究: (1)技术可行性:对现有技术进行评价,以明确能否利用现有技术进行系统开发及系统实施。计算机网络技术的发展和计算机硬件性价比的不断提升,使计算机全面应用于医院管理的各个环节成为可能; (2)经济可行性:对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行评估,对系统建成后可能取得的社会及经济效益进行估计。目前国内应用HIS的医院在信息化上的软硬件投资只占其年收入的1%-3%,而应用HIS后,阻塞了管理漏洞,杜绝了药品的丢失,节省了人力,提高了医院的财、物管理水平,改善了患者的就医环境,方便了患者就医和查询,提高了医院的服务效率和服务质量。因此带来的经济回报将远远超过信息化过程中的投入; (3)营运可行性:指系统对组织机构的影响,对现有人员和机构、设施、环境等的适应性以及进行人员培训补充计划的可行性。国内自上世纪80年代末就开始应用HIS,经过近20年的发展,我国大部分医院都有主管HIS的信息科,绝大部分医院都使用过单机版计算机软件来完成日常的收费划价以及药库管理工作。经调查发现华东地区近95%的医院都在20世纪90年代中期开始应用HIS。所以医院的计算机信息管理人才、计算机硬件设备、操作员的计算机应用能力都为系统的运行过程提供了可靠保证。 1.3 HIS系统的目标 HIS的目的就是支持医院的行政管理与事务处理业务,使医院的业务操作流程和日常管理规范化。采集、分析处理、存储各种基础数据并使之标准化,通过网络在院内各科室之间传递,简化信息流程,为医院查询、分类汇总、统计、决策分析提供及时准确的数据,杜绝以前手工操作带来的差错,减少工作流程,提高工作效率。为了实现以上功能,我们必须做好以下几点:基础数据标准化,重视系统的实用性、经济性、安全性,顺应管理扁平化的管理趋势。 1.4 项目开发计划 本系统的开发大致分为三步: (1)系统分析(包括需求分析和逻辑方案); (2)系统设计(包括总体设计和详细设计); (3)系统基本实施。 6 2 系统逻辑方案 系统分析的主要成果是系统的逻辑模型,本系统的逻辑模型主要是以系统的数据流程图和数据字典为主要描述工具。即在对医院的管理方式和业务流程进行认真分析和研究的基础上,超脱出医院现有组织机构和业务分工所造成的信息障碍,完全从业务管理功能和管理对象出发,按信息系统中应有的数据流和数据结构来勾画系统的概貌。 2.1 数据流程图 数据流程图是组织中信息运动的抽象,是管理信息系统逻辑模型的主要形式。它可以综合的反映出信息在系统中的流动、处理和存储情况,具有良好的抽象性和概括性。它在调查的基础上,从系统的科学性、管理的合理性、实际运行的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分解,从逻辑上精确地描述系统应具有的数据加工、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。数据流程图和系统的物理描述无关,它所描述的内容不涉及技术细节,而是面向用户的,即使完全不懂信息技术的用户也容易理解。因此,数据流程图成为 系统分析员与用户进行交流的有效手段,同时也成为系统设计的主要依据之一。 对于本系统,首先分析总体情况,划分系统边界、识别系统的数据来源和去向、确定外部实体,得出本HIS系统的关联图。如图4所示。本HIS系统共涉及4个外部实体:出入院处、病区、药房、药库。 出入院处 医 院 管 理 药 房 病 区 信 息 系 统 药 库 7 然后根据系统要实现的功能,划分出4个主要的信息管理功能结构,并明确各个功能之间的联系,绘制出系统的顶层数据流图,如图6所示。数据流程图的图形符号说明如图5所示:。 外部实体 数据加工 数据存储 数据流 图5 顶层数据流图符号说明图 8 出入院处 F1 D1 病人入院信息 F1 1 2 F4 F4 D4 费用明细 F5 出入院管理 F5 病区管理 病 区 D5病人入区信息 F5 F8 F9 F10 F11 D8 发药申请 D9 发药信息 D10 退药申请 D11 退药信息 F8 F9 F10 F11 3 4 药 房 药房管理 药库管理 F15 F14 F13 F12 F12 F15 F14 F13 药 库 对数据流程图的顶层图进行一步分解得到第一层数据流程图,由于顶层图中共有4 个数据加工,所以有4个模块数据流图。出入院管理模块数据流图见图7,病区管理模 块数据流图见图8,药房管理模块数据流图见图9,药库管理模块数据流图见图10。每 个模块数据流图中有对应的数据流和数据存储的编号说明。 其中共有18个数据流,具体的编号说明如下: F1病人入院信息 F2预交金信息 F3结算信息 F4费用明细 F5病人入区信息 F6医嘱信息 F7项目执行单 F8发药申请单 F9发药信息 F10退药申请单 F11退药信息 F12药房入库申请单 F13药库出库信息 F14药房退货申请 F15药库药房退库信息 F16药库入库信息 F17药库退货信息 F18 药库台帐 其中18个数据存储,具体的编号如下: D1病人入院信息 D2预交金信息 D3结算信息 11 D4费用明细 D5病人入区信息 D6医嘱信息 D7项目执行单 D8发药申请单 D9发药信息 D10退药申请单 D11退药信息 D12药房入库申请单 D13药库出库信息 D14药房退货申请 D15药库药房退库信息 D16药库入库信息 D17药库退货信息 D18 药库台帐 F1 1.1 F1 出入院处 入院登记 D1 病人入院信息 F1 1.3 1.2 出院结算 预交金管理 D3 结算信息 F3 F2 D2 预交金单 F2 F4 F5 D4 病人费用明细 D5 病人入区信息 图7 “出入院管理”模块数据流图 F8 F8 D8 发药申请 3.1 发药管理 F9 F9 D9 发药信息 F10 3.2 F10 D10 退药申请 退药管理 F11 F11 D11 退药信息 药 房 F12 F12 F12 D12 药房入库申请 3.3 药品入库 F13 F13 D13 药库出库信息 F14 F14 D14 药房退货申请 3.4 药品退货 F15 F15 D15 药库药房退货信息 图9 “药房管理” 模块数据流图 12 F12 F12 D12 药房入库申请 F13 F13 D13 药库出库信息 F13 F14 F14 D14 药房退货申请 F15 F15 D15 药库药房退货信息 F15 D18 药库台帐 F16 F16 D16 药库入库信息 F16 D17 药库退货信息 图10 “药库管理”模块数据流程图 2.2 数据词典 由于数据流程图只是对数据处理及彼此之间的联系进行说明,未对数据的详细内容及数据的加工过程进行说明,而这正是数据字典所要表达的。数据字典是关于数据信息的集合,也就是对数据流程图中包含的所有元素的定义的集合。它能将数据流程图中全部数据流及其组成部分的数据元素、数据存储、数据加工等描述清楚,便于后续工作—系统设计的进行。以下如图11至图14所示列出本系统的部分数据字典图:数据流、数据元素、数据存储、外部项和数据加工举例说明图。 13 数 据 流 系统名:医院管理信息系统 编号:F8 条目名:发药申请单 别名: 来源:病区系统 去处:药房系统 数据流结构:请求序号、住院号、患者姓名、医嘱序号、药房代码、病区代码、科室代码、医 生代码、请求日期、药品代码、药品数量、药品规格、药品单位、单价、请求类型 简要说明:病区执行医嘱后产生发药申请单,药房再按照申请单发药 修改记录 编 写: 周密 日 期: 2006(5 审 核: 周付章 日 期: 2006(5 数据元素值:代码类型 长度 意义 numeric 9 住院号 简要说明:识别病人的唯一编码 修改记录 编 写: 周密 日 期: 2006(5 审 核: 周付章 日 期: 2006(5 图12 数据词典《数据元素》图 外 部 项 系统名:医院管理信息系统 编号: 条目名:药商 别名: 输入数据流:药库退货单 输出数据流: 药库外部入库单 主要特征:药库系统药品的提供者,主要特征为:药商编码、药商名称、开户银行、银行账 号、地址、邮政编码、联系人、联系电话、邮件地址 简要说明:药库从药商处进出货。 修改记录 编写: 周密 日期: 2006(5 审核: 周付章 日期: 2006(5 图14 数据词典《外部项》图 2.3数据项的代码设计 目前计算机还无法识别客观世界中的任何一种具体的事物,它只能识别ASCII字符集中的256个基本字符和数字。所以,计算机管理信息系统设计的基本前提条件是把管理对象数字化或字符化,这就是代码设计。代码包括无含义码和有含义码,本系统中运用了大量的系列顺序码,来表示各种记录的顺序。 14 3 系统总体结构设计 系统设计是信息开发过程中的另一个重要阶段,在这一阶段中将根据前一阶段逻辑分析的结果,在系统分析报告的基础上,按照逻辑模型的要求,科学合理地进行新系统的设计。系统设计包含两个方面:首先是总体结构设计,其实是具体物理模型的设计。这个阶段的主要目标是将反映用户信息需求的系统逻辑方案转换成可以事实的基于计算机的物理方案,并为下一阶段的系统事实提供必要的技术资料。系统设计的依据如下: (1)系统分析阶段的成果; (2)现行计算机软硬件技术、数据库技术等; (3)现行信息管理与信息技术的标准、规范等有关法律制度; (4)用户要求; (5)系统运行环境条件。 我们采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及它们之间的调用关系和数据联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能。 3.1 软件模块结构的设计 根据系统需求分析的结果,按照结构化系统设计的方法,将医院管理信息系统从功能上进行子系统的划分,得到系统的总体功能结构图,如图15所示。 医院管理信息系统 出 病药药系 入 设区房库统 管管管管管置院置 理理理理理 管管管设置 管 理理理置 理 图15 系统的总体功能结构图 15 3.1.1 模块结构图 HIPO技术,即用图形方法表达一个系统的输入和输出功能,以及模块的层次。在子系统划分的基础上,对每一个子系统进行进一步的功能分解,这样不断分解下去,知道分解成含义明确、功能单一的单元功能模块,从而得到系统的功能模块结构图,既系统的HIPO图。 HIPO(HIERARCHY PLUS INPUT/PROCESS/OUTPUT)技术包含两个方面的内容: (1)HIPO分层图。用此图表示自顶向下分解所得系统的模块层次结构; (2)IPO图(输入-处理-输出图),此图描述分层图中的一个模块的输入、输出和处理内容。 应用HIPO技术可以进行系统设计、评价,在系统实施之前加工和修改已设计的系统。HIPO图清洗易懂,可以使用户、管理人员和其他系统建设者很方便地理解系统的程序结构,也有利于程序的编写和系统的维护。 本系统共分为四个模块,既出入院管理、病区管理、药库管理、药房管理,对这四个模块再进一步进行分解,即得到含义明确、功能单一的HIPO图,如图16所示。 医院管理信息系统 药房管理 药库管理 系统设置 入院管理 入院登记 发药管理 药品出库 数据恢复 预交管理 退药管理 药房退货 及备份 出院结算药品入库 外部入库 配置参数 药品退货 药库退货 药库台帐 图16 医院管理信息系统HIPO图 3.1.2 IPO图 绘制了HIPO图以后,还应对分层图中每一个模块的输入输出关系、处理内容、本模块的内部数据和模块间的调用关系进行描述,即要做出模块的IPO图,它是一长图形化的表格,是系统设计的重要成果,是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。以下如图17,18,19所示举例说明。 16 图17 医院管理信息系统模块IPO图 图18 医院管理信息系统模块IPO图 3.2 数据库设计 系统总体结构功能模块设计后,就要对数据库进行设计了。支持管理信息系统的数据库系统由模式、子模式、应用程序、数据库和数据库管理系统等几部分组成,其中除数据库管理系统可以从现有产品中选购外,外模式、子模式、应用程序、数据库等则必须根据用户的具体要求进行分析和设计,这项工作称为数据库设计,它的核心问题是如何从系统的观点出发建立一个数据模式,使其满足以下几个条件: (1)符合用户的要求,即能正确地反映用户的工作环境,该环境包括用户需处理的所有“数据”,并支持用户需进行的所有“加工”; (2)与所选用的数据库管理系统所支持的数据模式相匹配; (3)数据组织合理,应易于操作,易于维护,易于理解。 为管理信息系统设计一个数据库系统通常包括如下几个步骤: (1)用户需求分析; (2)基本数据库结构的设计; (3)中间数据库结构的设计; 17 (4)与应用程序的接口。 3.2.1 实体描述 在数据库设计中,对数据字典中的数据结构、数据流和数据存储进行分析,参照数据流程图抽取数据,确定实体、实体的属性及试题之间的关系,得出系统的关系模式。采用实体-联系图,既E-R图的方法进行数据结构分析,E-R图由实体、属性、联系三部分组成。 (1)本系统实体根据分析得到E-R图,各实体的属性分别描述如下: 如图18所示。图中涉及到的12个实体: 病区、医生、护士、病人、床位、药品、项目、医嘱、费用明细、药库、药房 (2)实体属性分别描述如下,有下划线的属性为主码: (1)一个病区需要向不同类型的药房拿药,一个药房又可为多个病区供药,所以它们是多对多的关系 (2)病区与床位之间是拥有关系,一个病区拥有多张床位 (3)一个病区可以指派多个医生 (4)一个病区可以指派多个护士 (5)医生与病人之间存在治疗关系,一个医生可以治疗多个病人 (6)护士与病人之间存在护理关系,一个护士通常要护理多个病人 (7)一个病人只占用一张床位 (8)医生在治疗过程中会开列许多医嘱,它们之间是一对多的关系 (9)一个病人在治疗过程中将发生多笔医嘱 (10)一种药品将可被多个医嘱用到 (11)一种功检项目可被多个医嘱用到 (12)一种药品可被多笔费用明细包含 (13)一种功检项目可被多笔费用包含 (14)一个药房拥有多种药品 (15)多个药房向一个药库进货退货,它们是一对多的关系.比如:一病区中药房二病区中药房都是向中药库进药和退药 (16)一个病人拥有多条费用明细 (17)一个功检科室拥有多个功检项目 (2)表: 1、用户表如图22所示。 18 图22 用户表 2、病人入院信息表如图23所示。 3、费用明细表如图24所示。 图24 费用明细表 4、医嘱信息表如图25所示。 3.3 计算机系统配置方案的选择和设计 根据系统调查和系统分析的结果来考虑硬件配置和系统软件配置以及网络通信系统的配置。 本HIS系统采用DELPHI 7.0开发,数据库使用SQL SERVER 2000。基于软件开发工具的选择,并考虑到本系统的性能要求,对计算机系统具体配置如下。 3.3.1 计算机系统硬件配置 服务器(Server): Intel,AMD可任选;内存:512MB;硬盘:80GB以上;光驱;软驱;网卡;操作系统:Windows 2000/XP;数据库管理系统:SQL Server2000;网络:TCP/IP,Windows NT/XP,FDDI/Ethernet,EIFO Switching Hub,网络管理软件。 用户端微机: Intel,AMD可任选;内存:256MB以上;硬盘:40G以上;不同类型打印机。 3.3.2 计算机系统软件配置 Window2000中文版操作系统或以上。 3.4 系统总体安全性、可靠性方案与措施 在任何信息系统中,系统的安全性和可靠性都是非常重要的。用Windows2000及其以上操作系统自有的安全性,在结合严格的 19 用户管理的基础上,可以确保系统的安全。本系统的具体措施如下: (1)实用性:在系统设计过程中,充分考虑系统的现有情况、医院的业务流程和管理模式,以求最大限度地满足实际业务的需要; (2)可维护性: 在系统设计和用户接口设计上,采用C/S模式,前台只是为用户提供独立于业务流程的界面,所有与业务有关的数据库处理都由后台存储过程完成; (3)可扩展性:每个模块都是一个个单独的动态连接库dll文件,在菜单文件中指定某个模块对应的dll文件名及其相应的引出的函数后,就在系统中添加了一个模块了。所以增加和修改模块非常方便快捷,使得系统的可扩展性大大增强; (4)安全性:在安全设计上,任何没有系统用户登录名和相应口令的人均不能访问系统,而每个系统用户均被授予相应的权限,不能访问任何非授权的信息。在此医院管理信息系统中,因时间仓促和本人水平有限,只设置了2种帐号。系统用户和一般用户。系统用户可以修改添加一般用户。 3.4.1 系统安全性方案和措施 信息系统的安全性是指,为了防范意外或人为地破坏信息系统的运行,或非法使用信息资源,而对信息系统采取的安全保护措施。 信息系统的安全保护措施可分为技术性和非技术性两类。技术安全措施是指通过与系统直接相关的技术手段防止安全事故的发生;非技术性安全措施主要指行政管理、法律制度保证和其他物理措施等,它不受信息系统的控制,是施加于信息系统之上的。 信息系统的技术安全措施主要有: (1)用户合法身份的确认与检验;(2)存取控制;(3)数据加密。 3.4.2 可靠性方案与措施 信息系统的可靠性是指在满足一定条件的应用环境中系统能够正常工作的能力。 在错误不可避免的情况下,提高系统可靠性的主要途径是使系统具有容错能力,即在信息系统产生错误、发生故障的情况下,仍然具有继续运行的能力。要具有这种能力,系统应具有三方面的功能:(1)故障约束功能;(2)故障检测功能;(3)故障恢复功能。 在信息系统中,实用的可靠性技术主要有:(1)设备冗余技术;(2)负荷分布技术;(3)系统重新组合技术;(4)数据冗余校验技术;(5)系统数据保护与恢复技术;(6)系统动态检测、诊断和自动校正软件。 20 4 系统详细设计 4.1 代码设计 所谓代码,就是用来表征客观事物的实体类别,以及属性的一个或一组易于计算机识别和处理的特定符号或记号,它可以是字符、数字、某些特殊符号或它们的组合。代码主要起标识、统计和检索、对象状态的描述等作用,因此我们在进行代码设计时要注意代码的适应性、合理性、简明性、系统性、稳定性、可扩充性、标准性以及要便于识别和记忆。 目前的计算机还无法识别客观世界中的任何一种具体的事物,它只能识别ASCII字符集中的256个基本字符和数字,因此,计算机管理信息系统设计的基本前提条件是管理对象数字化或字符化,这就是代码设计。 4.2 人机界面设计 一个良好的人机界面是衡量一个系统开发水平高低的重要标志之一。具有良好的人机交互界面,可以使系统的使用者乐于接受,并使新系统能在组织中顺利的推广。因此人机界面设计应该从用户的需求出发,尽量是界面设计满足用户的要求。 4.2.1 输入设计 系统输入主要通过键盘和鼠标来完成。考虑到医院一般都存在“三长两短”的现象,对业务处理的速度要求很高,所以在界面设计时尽量减少用户输入:有代码的信息都是输入代码或者是代码的一部分,系统将自动找出与用户输入的代码匹配的所有信息,如果只有一条对应的信息则自动显示出来,如果有多条则弹出选择框让用户选择;所有的输入项和按钮都有快捷键与之对应。每个编码数据系统都生成了对应的拼音码或五笔码,用户可以直接输入拼音码或五笔码来查询,非常灵活快捷。下面介绍系统中的部分截面: (1)登录界面:双击医院管理信息系统的快捷图标,点击医院管理信息系统的[登陆设置]中的[服务器设置]即出现如图26所示的登录界面。用户输入本地或远程数据库服务器名,数据库用户名,密码后点击[登陆]安钮即可连上数据库。如果数据库服务器名,数据库用户名,密码都正确系统将激活[登陆设置]中的[登陆]框,否则系统将出现出错信息。如果想退出登陆界面,按[退出]键即可。 数据库验证成功以后。医院管理信息系统的[登陆设置]中[登陆]框被成功激活。点击它,将出现如图27所示界面,输入正确的用户名和用户密码,点击[确认]按钮。如果用户名和密码都正确,即可激活出入院管理、病区管理、药房管理、系统设置的功能按钮,否则系统将出现出错信息。若想退出登陆界面,点击[退出]按钮即可。 21 图27 登陆界面图2 (2)主界面,成功登陆以后,主界面功能即可实现。 系统包括用户管理、出入院管理、病区管理、药房管理(药库管理分属于药房管理)、和系统设置五个主菜单。在此界面中使用者可根据实际工作需要,选择相应的主菜单及其下属子菜单中的各选项进行相关操作。如图28所示,此外系统还提供在界面中设置了一些功能的快捷按钮。(出院信息、如区登记、药房发药、医疗费用) (3)入院登记界面:如图29所示点击【出入院管理】下的【入院登记】模块就进入了此界面。在该界面录入病人的入院信息。 图29 入院登记界面图 22 (4) 入区登记界面:如图30所示点击【病区管理】下的【入区登记】模块就进入了此界面。在该界面中可实现对病人分床、确定主治医生的功能。 图30 入区登记界面图 4.2.2输出设计 输出设备有显示器或打印机等,输出介质有纸、磁盘等,输出方式为各类数据表单或报表。输出设计的目的是对输入的信息进行加工处理,形成有效信息,并具有一定的格式,使用户一目了然。 下面如图31所示为药房发药界面:点击[药房管理]下的[药房发药]模块就进入了此界面。用户通过选择开始时间和结束时间确定查询时间段后,再在输入框中输入住院号或者姓名,身份证,点击[查询]按钮。查询成功以后,可以在病人框里面找到自己的住院号,选定其,系统将把该病人在这一时间段的所有待发的药品查询出来 。点击[发药]按钮后系统将把产生发药信息。点击[打印]将打印发药单据。 23 图31 药房发药界面图 4.2.3 模块处理过程 处理过程的设计问题就是对管理信息系统处理方式的合理选择。选择处理方式实际上就是根据系统的任务、目标和环境条件,合理地选择信息活动的形态及其具体方法。处理过程设计要根据模块划分以及结构化设计的基本原则,对每个程序处理模块中的详细处理过程进行设计。常用的有结构化语言PDL、PAD图、NS图、程序流程图、决策表等。 程序设计又成编码,是系统周期中继详细设计后的阶段,这个阶段的任务是使用选用的程序设计语言,把经过概要设计和详细设计所得到的以程序设计说明书体现的信息处理过程描述后,转换成能在计算机系统上运行的源程序。程序设计是严格按照系统的概要设计和详细设计进行的,因此系统设计工作是程序设计工作的先导和前提条件,程序编码是在此之前个阶段工作的结晶。编码只是从源程序角度实现系统的设计结果,所以相对而言,编码工作要比前面几个阶段容易得多。对程序设计的质量要求有:程序的正确性、源程序的可读性、程序编写的运行效率。程序设计的步骤包括:了解计算机系统的性能和软硬件环境:充分理解系统概要设计和详细设计的文档;根据设计要求和软硬件条件,选定程序设计语言;编写程序代码;程序的检查、编译与调试。 (2)设计测试方案时,不仅要包括确定的输入数据,而且应包括从系统功能出发预期的测试结果; 24 (3)测试用例不仅要包括合理、有效的输入数据,还要包括无效的或不合理的输入数据; (4)不仅要检验程序是否做了该做的事,还要检查程序是否同时做了不该做的事; (5)软件中仍存在的错误的概率和已经发现错误的个数是成正比的; (6)保留测试用例,作为软件文档的组成部分。 5.3.2 系统测试的方法 对软件进行测试的主要方法有人工测试与机器测试。一般源程序通过编译后,要先经过人工测试,然后再进行机器测试。人工测试是采用人工方式进行,目的在于检查程序的静态结构,找出编译不能发现的错误。机器测试是运用事先设计好的测试用例,执行被测程序,对比运行结果与预期结果的差别以发现错误。 (1)人工测试又分为个人复查、走查与会审。个人复查:指源程序编写完后,直接由程序员自己进行检查; (2)机器测试又可分为黑盒测试与白盒测试:黑盒测试也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特性。根据软件的需求规格说明书设计测试用例,从程序的输入和输出特性上测试是否满足设定的功能;白盒测试也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。 5.3.3测试记录 测试内容:在入院登记模块登记一个新病人的信息。 测试方法:成功连接数据库后用系统帐号登陆医院管理信息系统,成功激活医院管理信息系统的所有模块功能。 (1)进入医院管理信息系统的入院登记模块,如图32所示。 25 图32 入院登记界面图 (2)点击[新患者]按钮,然后手动添加住院号,姓名,等患者信息。完成后核对后点击 确定。成功后将于上面模块框内显示新患者的信息。 测试结果:入院登记模块框内成功显示新患者信息。 结论:说明入院等级功能模块能基本完成功能测试。 26 参考文献 [1]明日科技(Delphi数据库系统开发[M] (人民邮电出版社,2006( [2]东方人华(Delphi7入门与提高[M] (清华大学出版社, 2002( [3]杨学勇(SQL2000实例教程[M] ( 电子工业出版社,2005( [4](美)Rebecca M.Riorda,何玉译(设计有效的数据库系统[M] (机械工业出版社,2006( [5] 马秀麟(管理信息系统及其开发技术[M](北方交通大学,2006( [6]刘强(Delphi数据库系统开发案例精选 [M] (人民邮电出版社,2006( [7]郭东强( 现代管理信息系统[M] (清华大学出版社, 2006( [8]赵松涛(SQL Server 2005系统管理实录[M] (电子工业出版社, 2006( [9]金新政, 徐德林(医院管理信息系统[M] (人民卫生出版社, 1998( [10]赵启超(医院管理信息系统[M] ( 哈尔滨工业大学出版社, 2001( [11]萨师煊,王珊(数据库系统概论[M] (高等教育出版社,1991( [12]周志逵(数据库原理与技术[M] (科学出版社,1994( [13]郑怀远,王家华(工程数据库技术[M] (机械工业出版社,1995( [14]张增强, 刘成(Delphi 7数据库开发完全[M] ( 清华大学出版社,2003( [15]清宏计算机工作室( Delphi 编程技巧(网络与数据库篇[M] (机械工业出版社, 2001( 27 附录 部分源程序代码 (1)系统登录(数据库登陆端原代码) procedure TLoadServerForm.FormClose(Sender: TObject; var Action: TCloseAction); var ss, filename: string; myinifile: Tinifile; begin if CheckBox1.Checked = true then begin filename := ExtractFilePath(paramstr(0)) + 'myini.ini'; myinifile := TInifile.Create(filename); ss := EncrypKey(edtServerName.text, 'abcdefg'); myinifile.writestring('程序参数', '服务器名称', ss); ss := EncrypKey(edtUserName.text, 'abcdefg'); myinifile.writestring('程序参数', '用户名', ss); ss := EncrypKey(MaskEditUserPassword.text, 'abcdefg'); myinifile.writestring('程序参数', '用户密码', ss); myinifile.writebool('程序参数', '是否保存', checkbox1.Checked); myinifile.Destroy; end; end; procedure TLoadServerForm.btLoadServerClick(Sender: TObject); begin if edtServerName.Text = '' then begin MessageDlg('请设置好服务器名!!!', mtInformation, [mbOK], 0); username := edtUserName.text; usersecret := MaskEditUserPassword.Text; DataModule1.HISConnection.Connected := false; DataModule1.HISConnection.ConnectionString := 'Provider=SQLOLEDB.1;Password=' + usersecret + ';Persist Security Info=True;User ID=' + username + ';Initial Catalog=HIS;Data Source=' + servername + ' '; try DataModule1.HISConnection.Connected := true; except MessageDlg('登陆失败,请检查服务器设置!!!', mtInformation, [mbOK], 0); DataModule1.HISConnection.Connected := false; exit; end; MessageDlg('登陆服务器成功,请验证用户名和密码!!!', mtInformation, [mbOK], 0); modalresult := mrOK; end; end; 28 procedure TLoadServerForm.btCancelClick(Sender: TObject); procedure TNewPatientFrm.FormShow(Sender: TObject); begin DateTimePicker2.DateTime := DateTimePicker3.DateTime; DataModule1.ADOUserTable.TableName := '病人'; DataModule1.ADOUserTable.active := true; DBGrid1.DataSource := DataModule1.DataSourceUser; DBNavigator1.DataSource := DataModule1.DataSourceUser; end; procedure TNewPatientFrm.DateTimePicker2Change(Sender: TObject); begin DateTimePicker3.Datetime := DateTimePicker2.Datetime; end; procedure TNewPatientFrm.DateTimePicker3Change(Sender: TObject); begin DateTimePicker2.Datetime := DateTimePicker3.Datetime; end; procedure TNewPatientFrm.FormClose(Sender: TObject; var Action: TCloseAction); begin DataModule1.ADOUserTable.active := false; end; procedure TNewPatientFrm.btNewPatientClick(Sender: TObject); begin edtPatientHosNum.text := ''; edtName.text := ''; edtID.text := ''; edtMoney.Text := ''; btNewPatient.Enabled := false; end; procedure TNewPatientFrm.btAgreeClick(Sender: TObject); var aa: integer; bb: double; begin if btNewPatient.Enabled = true then exit; try aa := strtoint(edtPatientHosNum.text); except MessageDlg('请正确填写住院号,住院号只能是整数!!!', mtInformation, [mbOK], 0); Label15.Caption := inttostr(aa); 29 DataModule1.ADOQueryFue.close; DataModule1.ADOQueryFue.sql.Clear; DataModule1.ADOQueryFue.SQL.Add('select 床位代码 from 床位 where 占用标志=:id group by 床位代 码 '); DataModule1.ADOQueryFue.parameters[0].name := 'id'; DataModule1.ADOQueryFue.parameters[0].value := '未占用'; DataModule1.ADOQueryFue.open; DataModule1.DataSourceFue.DataSet.First; bb := TStringList.Create; for i := 1 to aa do begin bb.add(DataModule1.DataSourceFue.DataSet.Fields[0].AsString); DataModule1.DataSourceFue.DataSet.Next; end; for i := 1 to aa do begin ComboBox1.Items.Insert(i - 1, bb[i - 1]); end; DataModule1.ADOQueryFue.close; bb.Free; end; procedure TEnterZoomForm.DateTimePicker2Change(Sender: TObject); begin DateTimePicker1.DateTime := DateTimePicker2.DateTime; end; procedure TEnterZoomForm.DateTimePicker1Change(Sender: TObject); begin DateTimePicker2.DateTime := DateTimePicker1.DateTime; end; procedure TEnterZoomForm.BitBtn2Click(Sender: TObject); begin modalresult := mrCancel; end; procedure TEnterZoomForm.FormClose(Sender: TObject; var Action: TCloseAction); begin DataModule1.ADOUserTable.active := false; end; procedure TEnterZoomForm.DBGrid1CellClick(Column: TColumn); var I: Integer; begin DataModule1.ADOUserTable.active := true; 30 DBGrid1.DataSource := DataModule1.DataSourceUser; DBNavigator1.DataSource := DataModule1.DataSourceUser; DataModule1.ADOQueryFue.close; DataModule1.ADOQueryFue.sql.Clear; DataModule1.ADOQueryFue.SQL.Add('select count(*) from 床位 where 占用标志=:id '); DataModule1.ADOQueryFue.parameters[0].name := 'id'; DataModule1.ADOQueryFue.parameters[0].value := '已占用'; DataModule1.ADOQueryFue.open; aa := DataModule1.ADOQueryFue.Fields[0].AsInteger; Label12.Caption := inttostr(aa); DataModule1.ADOQueryFue.close; DataModule1.ADOQueryFue.sql.Clear; DataModule1.ADOQueryFue.SQL.Add('select count(*) from 床位 where 占用标志=:id '); DataModule1.ADOQueryFue.parameters[0].name := 'id'; DataModule1.ADOQueryFue.parameters[0].value := '未占用'; DataModule1.ADOQueryFue.open; aa := DataModule1.ADOQueryFue.Fields[0].AsInteger; Label15.Caption := inttostr(aa); DataModule1.ADOQueryFue.close; DataModule1.ADOQueryFue.sql.Clear; DataModule1.ADOQueryFue.SQL.Add('select 床位代码 from 床位 where 占用标志=:id group by 床位代码 '); DataModule1.ADOQueryFue.parameters[0].name := 'id'; DataModule1.ADOQueryFue.parameters[0].value := '未占用'; DataModule1.ADOQueryFue.open; DataModule1.DataSourceFue.DataSet.First; bb := TStringList.Create; for i := 1 to aa do begin bb.add(DataModule1.DataSourceFue.DataSet.Fields[0].AsString); DataModule1.DataSourceFue.DataSet.Next; end; for i := 1 to aa do begin ComboBox1.Items.Insert(i - 1, bb[i - 1]); end; DataModule1.ADOQueryFue.close; bb.Free; ComboBox1.Text:=''; //////////////////////////////////// end; end. 内部资 料, 请勿外 31 传~ 序号 名称 规格型号 单位 数量 备注 一 制冷系统 1 压缩机组 4AV10 台 4 2 冷凝器 LN-70 台 1 3 贮氨器 ZA-1.5 台 1 4 桶泵组合 ZWB-1.5 台 1 5 氨液分离器 AF-65 台 1 6 集油器 JY-219 台 1 7 空气分离器 KF-32 台 1 8 紧急泄氨器 JX-108 台 1 9 冷风机 KLL-250 台 8 10 冷风机 KLD-150 台 4 11 冷风机 KLD-100 台 2 12 阀门 套 86 13 电磁阀 套 6 14 管道及支架 吨 18.6 3 15 管道及设备保温 m22 16 管道保温包扎 镀锌板 吨 1.6 17 附件 套 1 二 气调系统 1 中空纤维制氮机 CA-30B 台 1 2 二氧化碳洗涤器 GA-15 台 1 3 气动电磁阀 D100 台 14 4 电脑控制系统 CNJK-406 台 1 5 信号转换器 8线 台 1 6 果心温度探头 台 7 37 库气平衡袋 5 m 个 7 8 库气安全阀 液封式 个 7 9 小活塞空压机 0.05/7 台 1 10 PVC管 套 1 11 附件 套 1 三 水冷系统 1 冷却塔 DBNL-100 台 2 3 2 水泵 SBL80-160I 台 2 3 水泵 SBL50-160I 台 2 4 阀门 套 30 32 5 管道及支架 吨 2.8 6 附件 套 1 四 电仪控系统 1 电器控制柜 套 1 2 照明系统 套 1 3 电线电缆 套 1 4 桥架管线 套 1 5 附件 套 1 33
/
本文档为【医院管理信息系统设计与实现(附源程序代码)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索