药库系统设计文档

毕业设计(论 文)

 

 

医院药库管理系统设计与应用

 

 

 

 

系    别

信息与计算科学

专    业

信息与计算科学

学    号

 

姓    名

 

指导教师

刘志存

 

20100527

 


 

医院药库管理系统设计与应用

摘    要

本论文主要阐述了医院药库管理系统的作业流程以及系统设计。以HIS5.0子模块药库管理系统的一组功能模块画面作为参考来源。

本文先结合中外医院信息系统发展的历史给出了开发该系统的背景与目的,然后介绍该系统所用到的开发工具与开发语言以及对部门系统功能的分析、设计与实现。

医院药库管理系统是东软自主研发的医院管理系统(Hospital Information System,HIS)的一部分。该系统是基于二层(Client/Server,C/S)的体系结构的应用软件。具有良好的交互性、健壮性、存取安全、速度快等特点。在软件开发过程中,采用了分层设计,组件式开发,插件式开发等创新技术。对于表现层中易变模块提出接口,用插件方式和抽象工厂模式实现,从而稳定了核心模块。表现层界面布局实现动态配置,用户可以根据业务需要和个人喜好配置个性化界面,界面布局在客户端保存为XML文件中。

本系统提供了药库工作人员在药库的常规操作,包括药品出库、药品入库、库存查询、盘点管理和各种报表查询等功能。它的使用必定会给医院药库的管理带来了极大的方便。

最后,本文会给出对医院药库管理系统的总结评价以及需要改善的地方。

关键词:医院信息管理系统,C/S,组件,插件


 

The Design and Application of

the Hospital Drug Storehouse Management System

                                                         Author: xxx

                                                     Tutor: xxx

Abstract

This paper mainlyelaborates the Drug Storehouse Management processes and system design. As the grouppicture of HIS5.0 Storehouse Management System sub-module a reference sourcemodules.

This paper first combinationof Chinese and foreign history of the development of Hospital InformationSystem given the background and purpose of the system developed, and then usedto introduce the system development tools and development language and systemfunctions on the sector analysis, design and implementation.

Hospital Drug Storehouse ManagementSystem is independently researched and developed as part of the hospitalInformation system(HIS) by Neusoft. The system is based on two-tier architecture(Client/Server, C/S) of the application software. It has a good interactive,robust, access to safe, fast and so on. In software development process, wehave adopted many innovative technologies such as the hierarchical design, the component-baseddevelopment, the plug-in technology and so on. To the volatile modules of theUser Interface, we propose interface and use plug-way mode and abstract factoryto achieve it. Thus we stabilize the core module. User-interface can be dynamicconfigured and users can set personalized interfaces based on business needsand personal preferences. Interface layout is saved as XML documents in theclient.

This system provides thenormal operations of Drug Storehouse for the Drug Storehouse staff, including outand in the Drug Storehouse, stock search, inventory management and reportsearch. It will bring great convenience to the management of the Hospital DrugStorehouse.

Finally, the hospital willgive a summary evaluation of storeroom management system and the need forimprovement.

Key Words: HospitalInformation System, C/S, Components, Plug-Ins


 

目    录

1  绪论... 1

1.1  项目开发的背景及意义... 1

1.2  课题研究方法... 2

1.3  论文构成及研究内容... 3

2  系统开发所用软件简介... 4

2.1  系统开发环境... 4

2.2  MicrosoftVisual Studio 2005 开发环境... 4

2.3  Microsoft.NET框架介绍... 4

2.4  C#语言... 5

2.5  Oracle10g数据库... 5

2.6  DataWindow.NET报表设计器... 6

3  系统分析... 8

3.1  系统结构及功能... 8

3.1.1  基本信息维护... 8

3.1.2  药品管理... 9

3.1.3  库存管理... 9

3.1.4  入出库管理... 10

3.1.5  查询统计... 11

3.2  系统的主要流程... 11

3.2.1  药品入库流程... 11

3.2.2  医院科室药品领用流程... 12

3.2.3  盘点流程... 13

4  系统设计... 14

4.1  数据库的设计... 14

4.2  系统架构... 17

5  系统实现... 22

5.1  入库计划... 22

5.2  采购计划... 23

5.3  药品入库... 24

5.4  盘点管理... 27

5.5  盘点结存... 29

结    论... 31

致    谢... 32

参考文献... 33

附    录... 34


 

绪论

1.1  项目开发的背景及意义

医院信息管理系统(HIS)按照Morris.Collen所给的定义是:利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信(Patient Care Information)和行政管理信息(Administration Information)的收集(Collect)、存储(Store)、处理(Process)、提取 (Retrieve)和数据交换(Communicate)的能力,并满足所有授权用户(Authorized)的功能需求。随着计算机性能不断提高,价格不断下降,计算机已在医院医疗、教学、科研、管理的各个方面得到越来越广泛的应用。计算机化的医院信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。就好象一个现代化医院的成功运行离不开功能完整、美观舒适的建筑物,技术娴熟的医护人员,性能齐全、高精尖的医疗设备一样,它也离不开计算机化的医院信息系统。

发达国家医院信息系统的开发实现已有三十多年的历史,至今有了长足的进步。有许多举世公认的成功的系统在医院有效地运转着,像盐湖城LDS医院的HELP系统,麻省总医院 的COSTAR系统,退伍军人管理局的DHCP系统。 纵观美国的HIS发展历史,大约可疑分为三个阶段:第一个十年,集中在开发医院行政 管理的功能上,像财务收费管理、住院病人和门诊病人管理等。但到1972年Collen仍报告美国迄今为止连一个成功的已完成的全面医院(管理)计算机系统都没有。第二个十年,在继续完成和实现医院管理信息的计算机化的同时,开发者的努力已进入医疗信息的处理领域,像病人医疗处理系统,实验室系统等。到1985年,美国全国医院数据处理工作调查表明,100张床位以上的医院80%实现了计算机财务收费管理、70%的医院可支持病人挂号登记 和行政事务管理,25%的医院有了较完整的HIS。最后一个十年至今,研究者又把重点放在了病人床边系统(BedsideInformation System)、医学影像处理 (PictureArchiving and Communication System,PACS)、病人计算机病案(ComputerBased Patient Record,CPR) 、统一的医学语言系统 (UnifiedMedical Language System,UMLS)等方面。医院信息系统 正在经历着小型化(DownSizing)、智能化(Intellegence)和集成化(Integration)的改造过程[1]

据相关资料显示,目前我国各个级别的医院的挂号室的信息化很落后,并且不受重视进行建设,多数只是单个微机操作甚至是人工手工操作。而很多已经建立起来的整套的医院信息系统中,使用的管理系统也只是拼凑单项目应用阶段时使用的系统,多采用功能有限的Access建立数据库,并且系统的功能单一 、死板 、模式化、针对性不强、并且不能与其他子系统进行信息资源的交流、共享、不具有和HIS平台兼容的特性,实质上它们不能作为医院信息系统的一部分。本系统是在医院信息系统设计规划的整体框架下设计完成的,和HIS其他部分是统一的整体,共同使用Oracle数据库,之间的数据可以完全共享,并且存在数据安全和可存储的数据量大的优点。它又有很强的独立性,可以单独应用于实际当中。本系统描述了药品从采购到出库的所有业务操作环节,其中包括:药品的采购、入库、盘点、调价、出库和查询统计。

药品是防病治病的特殊商品,是医院重要的经济收入来源,是医疗活动中必不可少的基础物资,而药库是医院药品供应基地,是加强医院药品管理的重要环节之一。由于药品种类繁多,流通环节复杂,强化对药库管理尤为重要,它既要保障对临床各科室的供应,又要控制药品品种、数量、质量防止过期失效,减少浪费,达到增收节支的目的。对药库实行计算机管理,可使药库工作人员可及时了解库房药品进、出、存的动态变化,即做到为临床及时提供所需药品不使药品供应中断,又有效减少盲目进货造成药品积压现象,药库的信息化管理不仅可加快药品周转,而且可大大提高工作人员的工作效率和督理质量。也更加有利于及时、安全、优质地保证临床用药。

1.2  课题研究方法

软件工程(SoftwareEngineering,SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,医院,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量[2]

软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。

软件工程学科也有许多分支,如:软件过程学,软件方法学,软件的项目管理等。

软件的过程主要是研究软件生命周期的基本任务,软件生命周期的模型主要包括瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型等。软件生命周期的各种模型在不同的软件开发项目中各有优劣[3]

软件的方法学主要研究的是软件开发的具体的实现方法,它又包括两个部分,传统的方法学和面向对象的方法学。传统的方法学主要是结构化的程序设计方法[4],它是整个方法学的基础部分,而到了20世纪90年代以后面向对象的方法学已经成为人们在开发软件的过程中首选的泛型。可以说,面向对象技术是当前最好的软件开发技术[5]

软件项目管理主要研究的是通过计划,组织和控制等一系列的活动,合理的配置各种资源以便在预定的成本和期限内开发出符合用户要求的软件。它是整个软件开发过程的主线,也是软件工程学科的精髓之所在。

在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。

三层结构原理:3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。

三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。

另外,该系统所使用的编程语言是C#,采用三层架构模式,将整个系统划分为表示层(User Interface),业务逻辑层(Business Logic Layer),数据访问层(Data Access Layer)。三层架构是指的“逻辑三层的软件体系架构”而非指“部署中物理的三层架构”。

1.3  论文构成及研究内容

论文首先给出这套系统的开发环境,然后对系统结构及功能进行简单的说明,接下来从数据库和系统架构对系统设计作简单说明,最后给出这套系统主要功能画面的说明,最后论文将会给出对药库管理系统的评价以及需要改善的地方。

 

系统开发所用软件简介

2.1  系统开发环境

操作系统环境:Windows XP

集成开发环境:MicrosoftVisual Studio 2005

数据库:Oracle10g

2.2  Microsoft Visual Studio 2005 开发环境

Visual Studio 2005 是一套完整的开发工具集,用于生成ASP.NET Web 应用程序、XML WebServices、桌面应用程序和移动应用程序。VisualBasic、Visual C++、VisualC# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此IDE 可以共享工具且有助于创建混合语言解决方案。

使用 VisualStudio 2005 ,开发人员能够:创建多层的 Windows、Web、SmartPhone和 Pocket PC 应用程序;使用集成的Visual 数据库工具来设计数据库、表、存储过程等;使用集成的数据库报表设计器和查看器;设计、调试和部署多层应用程序;集成XSLT调试[6]

2.3 Microsoft.NET框架介绍

2000年6月,微软公司推出了“Mircosoft.Net下一代互联网软件和服务战略”,引起IT行业的广泛关注。2000年9月,微软公司在旧金山发布了Enterprise2000。同月,微软原总裁兼首席执行官鲍尔默来到中国就“下一代互联网”的主题进行演讲,在中国掀起了一股“.Net旋风”。2000年11月,微软在Comdex计算机上发布了Visual Studio.Net软件,并展示了其.Net发展战略的框架体系和开发工具的相关特性,全面加速了微软以.Net技术进军市场的步伐。

.Net Framework 的目的是便于开发商业更容易地建立网络应用程序和Web服务,它的关键特色是提供了一个多语言组件开发和执行的环境。从层次结构来看,.Net Framework 又包括三个主要组成部分:通用语言运行环境(Common Language Runtime )、服务框架(Services Framework)、上层的两类应用模板-面向Web的网络应用程序模板(Web Forms或Web Services) 和Windows应用程序模板(Win Forms)。

其中通用语言运行环境在组件运行时,负责管理内存分配、启动和终止线程和进程、强化安全系数,同时还调整任何组件涉及到的其他组件的附件配置。在通用语言运行环境上的服务框架,它为开发人员提供了一套能够被任何现代语言调用的、统一的面用对象、异步、层次结构的可扩展类库。

“Microsoft.Net 代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程结构。“.Net包括四个重要特点,一是软件就是服务,二是基于XML的共同语言,三是融合多种设备和平台,四是新一代的人机界面。通过.Net框架可以快速构建Web应用和桌面应用程序[7]

2.4  C#语言

Microsoft.NET(简称.NET)是微软公司推出的面向网络的开发平台的简称,是新一代的软件开发方式。.NET技术的核心是.NETFramework,它提供了一个全新的环境,在此环境下,可以使用多种语言开发出在Windows平台上运行的各种复杂的分布式应用程序。其中,新推出的C#语言是在C和C++基础上重新构造的一种新型编程语言,也是.NET的首选编程语言[8]

C#是从C和C++演变而来的一种简单的、面向对象的和类型安全的新型程序设计语言,具有语法严谨、结构清晰、可读性强和代码执行效率高等优点;最重要的是,它功能强大且易活易学,利用C#,在Windows平台下几乎可以做任何事情。C#凭借其强大的功能、易用性以及在开发数据库和Windows应用程序上的极大优势,一直坚持复杂问题简单化的思想 ,而且隐藏其细节。可以说,它几乎综合了目前所有高级语言的优点。它的主要特点是语法简洁,精心设计的面向对象设计,与web的紧密结合,完全的安全性和错误处理,易于使用的版本处理技术,很好的灵活性和兼容性等。

2.5  Oracle10g数据库

Oracle 数据库是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。

Oracle 10g作为Oracle家族比较新的产品,不仅具有Oracle以前版本优秀的特性,而且在以下两个方面又有更加突出的表现:降低管理开销;提高性能。这些增强有对高可用性的增强、新的Flashback 能力、支持回滚更新操作;对安全性的增强,便于管理大量的用户;BI 方面的增强 , 包括改进的SQL 能力、分析功能、 OLAP 、数据挖掘的能力等;对非关系型数据存储的能力得到了改进; XML的能力;对开发能力支持的加强。对生物信息学(Bioinformatics )的支持[9]

2.6  DataWindow.NET报表设计器

 Datawindow中文译名为数据窗口,是开发工具PowerBuilder(PB)的一个王牌组件,使用PB作为开发工具的,基本上都是冲着Datawindow 来的,它不仅可以用来显示数据,还可以实现数据录入、报表打印等功能,是Sybase 的专利技术,功能非常强大。Sybase从PB10.0开始,为了使PB开发的应用可以支持.Net,就开发出来了DataWindow.net组件,可以在.net的开发环境中使用,包括DataWindow控件 和Datastore对象,功能与PB中的数据窗口控件一样。其中PB10.5的数据窗口对应DW.NET 2.0,PB11对应的是DW.NET 2.5,如果是使用PB11.5,则只能使用PB11.5里面提供的DW.NET程序集,目前Sybase还没有单独提供DW.NET的新版本,以支持PB11.5和PB12。而且PB12.Net,已经提供采用WPF技术实现的DW.NET了。
     
 在.Net中大家经常使用的DataTable,其里面很多思想是来源于DataWindow,如缓冲区,行列状态的概念,以及根据DataTable的更新状态,生成不同的SQL来更新数据库,还有GetChanges方法来获取DataTable的更新情况等等[10]

DataWindow.NET 是一个用于增强 .NET 应用程序开发环境性能的组件。它是 4GL RAD 产品,也就是说它可以有助于您快速完成工作。基于几项拥有专利的强大技术,DataWindow .NET 可以帮助您快速构建和部署数据驱动的应用程序,轻松地与您复杂的业务规程集成,发挥其在数据处理上的卓越性能。具备几百种内置的函数 (functions)、属性和公开的程序,开发者可以在虚拟代码免费工具中体验高水平的生产力。针对 ASP.NET 的新的 WebForms 以及 Microsoft 手写识别支持使得在应用程序中添加复杂的表格和签名识别容易实现。在 .NET 开发环境中的标准数据访问组件需要大量烦琐且耗时的编码工作 。用DataWindow .NET 打破 DataGrid - 垄断!

其优点包括:(1)势降低成本,大量简化了企业级数据驱动应用程序的开发和部署工作。(2)提高了生产力,只需极少的编码工作,开发者在几小时或者几天内就可轻松构建数据密集型应用程序。(3)风险最小化,业已证明的技术、经过成百上千的开发员的试用和测试,让新的开发者从成熟和强大的 4-GL 图形编程组件中受益。(4)快速的开发,内置函数和属性的 4GL 组件减少了编码工作。

 

系统分析

在本节中首先会给出医院药库系统结构及功能图。然后,结合每个功能模块,详细介绍每个功能模块的作用;以及系统的主要流程。

3.1 系统结构及功能

药库管理系统主要面向医院的药品管理业务。对进行药品进销存管理。具体包括药品基础信息维护;药品管理;药品进销存管理;药品库存管理等。

药库管理系统结构如图3.1所示。

图3.1 药库管理系统结构图

下面简要介绍一下各部分的主要功能:

3.1.1  基本信息维护

1)       常数维护:录入基本常数,如:药品等级、性质、用法、包装单位、最小单位等。

2)       入出库科室维护:维护医院内部入出库科室。

3)       部门库存常数维护:设置库存常数。

功能描述:

l 库存管理:选中可以对其库存进行管理,如设置西药房管理库存、中药房不管理库存,在西药房对中药房做一般出库,这样西药房库存减少,中药房库存不变。

l 参考天数:如参考天数设置为7天,就是用当前时间的前的七天库存总量除以7求出一天的平均库存。

l 最低库存天数:在库存量小于“一天的平均库存*最低库存天数”就需要进行入库。

l 最高库存天数:入库的数量应该为“一天的平均库存*最高库存天数-当前库存”。

4)       药理作用维护:维护药理作用,在药品基本信息维护里用到。

5)       药品管理模板维护:维护计划、盘点、申请的模版。

6)       供货公司维护:维护药品供应商的信息,在药品入库时可以用到。

7)       生产厂家维护:维护药品生产厂家。

3.1.2  药品管理

1)       药品基本信息维护:录入并维护药品的基本信息。

功能描述:

l 拆分属性:门诊不可拆分,该药品不可拆分来卖,而是向上取整。门诊可拆分,该药品可以拆开来卖。

l 开关属性包括,停用:这里的停用是全院停用;自制:指该药品是该医院制造;试敏:是否需要试敏;终端确认:指定是否需要终端确认;一般检查类的需要选上该复选框。

l 新药:如果在系统设置选中“新增药品需经过审核后才生效”,新增的药品必须经过“药品审核才可以使用”。

l 连续录入:操作时连续添加其他药品,不关闭弹出的添加窗口。

2)       药品调价:更改药品价格。可以选择立即生效或者设定一个生效日期。

3)       月结管理:按月结算,将结果向财务报账。

3.1.3  库存管理

1)       库存管理:管理库存的相关信息,如药品基本属性、是否停用、最高库存、最低库存、是否需要日盘点等。

2)       盘点管理:盘点库存的实际数量。

盘点操作:

l 封账:选择某个药品进行盘点。

l 批量封账:对某一类药品进行批量选择。

l 全盘:把计算机里记录的数量添加到盘点单上,以便只修改不一致的数量。

l 盈亏标记:“1”盘盈、“2”盘亏、“0”实际数量与记录数量一致。

l 增量保存:填入的数量与之前的数量之和。

l 保存:保存填入的数据,以便结存时调用。

3)       盘点结存:将实际数量记录到计算机中,即使数据库里面数据与实际库存数据一致。

功能描述:

l 结存:将盘点的实际数量保存到计算机中。

l 解封:将药品进行解封,不改变计算机中的数量,删除盘点信息。

4)       库存初使化:在系统刚刚上线的时候,药库里本身就有一些药品,这些药品不需要进行入库或出库操作,所以这里提供了这样的一个接口录入这些药品,使其库存数量与实际数量相同。

3.1.4  入出库管理

1)       入库计划:维护入库计划单。

2)       采购计划:根据入库计划单制定采购计划单。

3)       采购计划审核:对采购计划单进行审核。

4)       药品入库:采购的药品进行入库操作。

功能描述:

l 一般入库:选择经过审批的采购单对其进行入库。选择药品直接进行入库。此时如果发票还未到,则一般入库后还需进行发票入库和核准入库两个操作。由库管员进行操作。

l 发票入库:在一般入库时没有录入发票,需要补录发票。由采购员进行操作。

l 核准入库:在进行了发票入库后进行,做完这一步后药品才算真正入库。由财务操作。

l 入库退库:入库错了可以退回供货商。

5)       药品出库:向别的药库或药房出库。

功能描述:

l 一般出库:向目标单位直接出库,直接更新对方库存。由库管员进行操作。

l 出库审批:审核外部申请出库的药品。

6)       单据补打:打印入出库的各种单据。

3.1.5  查询统计

提供各种查询方式,如:综合查询、库存查询、月结查询、药品字典信息变更查询,调价查询、盘点查询。同时提供各种汇总,生成各种报表,并支持打印。

3.2  系统的主要流程

医院药库流程根据业务的不同,主要分为三个流程:1.药品入库流程;2.医院科室药品领用流程;3.盘点流程。

3.2.1  药品入库流程

医院药品入库流程大致可分为以下六个步骤:

1)       库管员做入库计划,生成入库计划单。

2)       采购员根据入库计划单制定采购计划,生成采购单。

3)       供货商送货来医院后,库管员进行验收,如果验收不通过则退货。验收通过的药品进行入库登记处理。

4)       药品入库后,药品即可出库到药房或者科室。

5)       对于没有发票的入库数据,需要进行发票补录。

6)       正式入库的数据(发票信息齐全的入库数据)经过发票核准确认无误后,进入本月财务月结的数据。如果发票数据有错误,则进行入库数据修改。

图3.2 药品入库流程图

3.2.2  医院科室药品领用流程

1)       药房做一个入库申请计划,生成入库申请单

2)       药库根据入库申请单向药房出库,生成出库单

3)       药房核准然后药库发过来的药品并入库,生成入库单

4)       药房把药退给药库,做一个退库申请,生成退库申请单

5)       药库根据退库申请单和出库单进行退药出库,生成退库单

图3.2 科室药品领用流程图

3.2.3  盘点流程

1)       开始盘点时,记录电脑中物品的库存数量,打印盘点表

2)       录入各物品的盘点数量,保存盘点数据,可查询盘点盈亏结果。

3)       主管审核后,进行盘点结存。结存后的盘点盈亏数据作为财务月结数据。

图3.4 药品盘点流程图


 

系统设计

4.1  数据库的设计

数据库设计的好坏直接关系到软件的成功。我们在编写软件之前,做了大量的分析和论证,力求数据库设计能做的最好。由于数据库中的表实在太多,下面简要介绍一下药库管理系统所涉及的部分主表及其结构,药库表名统一都是以PHA_开头,公共表名统一都是以COM_开头的表。

表4.1 药品目录表

字段名

数据类型

是否为空

是否主键

备注

DRUG_CODE

VARCHAR2(12)

药品编码

TRADE_NAME

VARCHAR2(50)

商品名称

DRUG_TYPE

VARCHAR2(1)

药品类别

DRUG_QUALITY

VARCHAR2(2)

药品性质

ITEM_GRADE

VARCHAR2(1)

项目等级

SPECS

VARCHAR2(32)

规格

PACK_UNIT

VARCHAR2(16)

包装单位

PACK_QTY

NUMBER(4)

包装数

MIN_UNIT

VARCHAR2(16)

最小单位

BASE_DOSE

NUMBER(10,4)

基本剂量

DOSE_UNIT

VARCHAR2(16)

剂量单位

USAGE_CODE

VARCHAR2(10)

用法编码

FREQUENCY_CODE

VARCHAR2(6)

频次编码

ONCE_DOSE

NUMBER(10,4)

一次用量

VALID_STATE

VARCHAR2(1)

有效标记

NEW_FLAG

VARCHAR2(1)

新药标记

SPLIT_TYPE

VARCHAR2(1)

拆分类型

1)       表名:PHA_COM_BASEINFO(药品目录表)。

功能描述:全院药品字典信息维护。医生站药品医嘱开立、药品项目收费、药房药品发放、进销调拨都根据此基本项目信息进行处理。对新增药品处理必须维护字典项目。

结构:由于此表字段太多,此处只描述一些重要的字段,如表4.1所示。

2)       表名:COM_DICTIONARY(公共_常数表)。

功能描述:药品管理过程中的各种常数信息。包括用法、频次、药品剂型、存储条件等信息(药品字典信息维护时调用)。以及药品等级与医生职级对照等信息,如表4.2所示。

表4.2 公共常数表

字段名

数据类型

是否为空

是否主键

备注

TYPE

VARCHAR2(20)

常数类型

CODE

VARCHAR2(20)

编码

NAME

VARCHAR2(50)

名称

MARK

VARCHAR2(2000)

备注

SPELL_CODE

VARCHAR2(30)

拼音码

WB_CODE

VARCHAR2(30)

五笔码

INPUT_CODE

VARCHAR2(30)

输入码

SORT_ID

NUMBER

顺序号

VALID_STATE

VARCHAR2(1)

有效标志

OPER_CODE

VARCHAR2(6)

操作员

OPER_DATE

DATE

操作时间

3)       表名:COM_PRIV_INOUT_DEPT(入出库常数表)。

功能描述:维护药品进销管理中,各部门对应的入库、出库部门,如表4.3所示。

表4.3 入出库常数表

字段名

数据类型

是否为空

是否主键

备注

CLASS2_CODE

VARCHAR2(4)

入出库标记

DEPT_CODE

VARCHAR2(4)

科室编码

OBJECT_DEPT_CODE

VARCHAR2(8)

供药或领药单位码

OBJECT_DEPT_NAME

VARCHAR2(64)

供药或领药单位名称

OPER_CODE

VARCHAR2(6)

操作员代码

OPER_DATE

DATE

操作时间

MARK

VARCHAR2(128)

备注

SORT_ID

NUMBER

排序

4)       表名:PHA_COM_DEPT(库房参数表)。

功能描述:维护各部门的库房参数信息。进销管理时会调用库房参数设置信息。该部分参数设置会影响业务及数据处理。一般在系统实施前进行设置,并在维护期内根据需要进行修改,如表4.4所示。


表4.4 库房参数表

字段名

数据类型

是否为空

是否主键

备注

DEPT_CODE

VARCHAR2(4)

科室编码

STORE_MAX_DAYS

NUMBER(3)

库房最高库存量(天)

STORE_MIN_DAYS

NUMBER(3)

库房最低库存量(天)

REFERENCE_DAYS

NUMBER(3)

参考天数

BATCH_FLAG

CHAR(1)

是否按批号管理药品

STORE_FLAG

CHAR(1)

是否管理药品库存

UNIT_FLAG

CHAR(1)

库存管理时默认的单位

OPER_CODE

VARCHAR2(6)

操作员代码

OPER_DATE

DATE

操作时间

ARK_FLAG

VARCHAR2(1)

是否按药柜管理药品

5)       表名:PHA_COM_ADJUSTPRICEINFO(调价主表)。

功能描述:药品零售价变动时维护变动后价格,并计算各库存部门因为调价而产生的调价盈亏。调价将同时影响全院所有部门,如表4.5所示。

结构:由于此表字段太多,此处只描述一些重要的字段,如表4.5。

6)       表名:PHA_COM_STOCKINFO(药品库管信息表)。

功能描述:管理本部门库存药品;进行货位号、停用、日结标记、库存警戒线设定;药品有效期、库存警戒信息查询;日常药品信息统计,如表4.6所示。

结构:由于此表字段太多,此处只描述一些重要的字段。

4.2 系统架构

本系统采用三层架构设计模式,将整个系统划分为表示层(UI),业务逻辑层(BLL),数据访问层(DAL),各层的依赖关系:UI依赖于BLL,而BLL依赖BAL;依赖关系如图4.2所示:


 

表4.5 调价主表

字段名

数据类型

是否为空

是否主键

备注

ADJUST_NUMBER

NUMBER(12)

调价单号

SERIAL_CODE

NUMBER(4)

调价单内序号

DRUG_DEPT_CODE

VARCHAR2(10)

库房编码

DRUG_CODE

VARCHAR2(12)

药品编码

PRE_RETAIL_PRICE

NUMBER(12,4)

调价前零售价格

PRE_WHOLESALE_PRICE

NUMBER(12,4)

调价前批发价格

RETAIL_PRICE

NUMBER(12,4)

调价后零售价格

WHOLESALE_PRICE

NUMBER(12,4)

调价后批发价格

STORE_SUM

NUMBER(14,4)

调价时药库库存量

PROFIT_FLAG

CHAR(1)

盈亏标记1-盈,0-亏

INURE_TIME

DATE

调价执行时间

DD_ADJUST_MARK

CHAR(1)

药库调价标记

DS_ADJUST_MARK

CHAR(1)

药房调价标记

ABOLISH_OPER

VARCHAR2(6)

作废人编码

ABOLISH_DATE

DATE

作废时间

表4.6 药品库管信息表

字段名

数据类型

是否为空

是否主键

备注

DRUG_DEPT_CODE

VARCHAR2(14)

库房编码

DRUG_CODE

VARCHAR2(12)

药品编码

MIN_UNIT

VARCHAR2(16)

最小单位

RETAIL_PRICE

NUMBER(12,6)

零售价

STORE_SUM

NUMBER(14,4)

总数量

PREOUT_SUM

NUMBER(14,4)

预扣库存

VALID_DATE

DATE

有效期

LOW_SUM

NUMBER(14,4)

最低库存

TOP_SUM

NUMBER(14,4)

最高库存

LACK_FLAG

VARCHAR2(1)

缺药标志

图4.2 三层架构图

表示层: 位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面,好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。本系统主要是以WINFORM方式作为表示层,如果业务逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务并且表示层进行改动不会影响到业务逻辑层和数据访问层。在本系统中界面提供常数维护、库存管理、盘点管理、药品入出库等功能。

业务逻辑层:业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。该层针对具体的问题的操作提出接口的定义,如果说数据层是积木,那业务逻辑层就是对这些积木的搭建。

数据库访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的映射(mapping),以及对象实体的持久化。具体为业务逻辑层或表示层提供数据服务。

本系统采用三层架构设计模式,所有的数据在界面被封装成对象,在将对象传到业务逻辑层,然后业务逻辑层对对象中的数据进行处理,将必要的数据重新封装成对象传入数据层,数据层根据对象的类型,去构造SQL语句并对数据更新。

如果是查询操作,在数据层将根据对象,重新构造对象的实例,把查出来的数据封装成对象,在把对象加到集合中,把集合返回到业务逻辑层,在业务逻辑层重新对数据进行处理,将有用的数据重新封装成对象,返回到表示层中,最后在界面中显示出来。

如果是更新数据库信息,将用事务跟踪,使在更新的几张表要么全部成功,在不成功时则回滚。

三层架构的存在着优点也有它的缺点,优点如下:1.开发人员可以只关注整个结构中的其中某一层;2.可以很容易的用新的实现来替换原有层次的实现;3.可以降低层与层之间的依赖;4.有利于标准化;5.利于各层逻辑的复用。缺点如下:1.降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。2.有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

基础类设计:Neusoft.NFC.Object.NeuObject类设计,此类是所有类的基类,任何一个类都从此类派生。

代码如下:

public class NeuObject : IDisposable

       {

              ///<summary>

              ///构造函数

              ///</summary>

              public NeuObject()

              {

                     strID="";

                     strName="";

                     strMemo="";

              }

        publicNeuObject(string id, stringname, string memo)

        {

            strID = id;

            strName = name;

            strMemo = memo;

        }

        #region 变量

        ///<summary>

              ///局部变量

              ///</summary>

              private string strID;

              private stringstrName;

              private stringstrMemo;

              public string User01= string.Empty;

       public string User02 = string.Empty;

       public string User03 = string.Empty;

              private boolalreadyDisposed = false;

       #endregion

       #region 属性

        ///<summary>

              /// ID

              ///</summary>

              public virtual string ID

              {

                     get

                     {

                            return strID + "";

                     }

                     set

                     {

                            strID=value;

                     }

              }

              ///<summary>

              ///属性Name

              ///</summary>

              ///<returns>Name</returns>

              public virtual string Name

              {

                     get

                     {

                            return strName + "";

                     }

                     set

                     {

                            strName=value;

                     }

              }

              ///<summary>

              ///属性Memo

              ///</summary>

              ///<returns>Memo</returns>

              public virtual string Memo

              {    

                     get

                     {

                            return strMemo + "";

                     }

                     set

                     {

                            strMemo=value;

                     }

        }

        #endregion

        #region 方法

        ///<summary>

              ///重载ToString

              ///</summary>

              ///<returns>Name</returns>

              public override string ToString()

              {

                     return this.Name;

        }

        #endregion

       }


 

系统实现

医院药库管理系统功能庞大,涉及目前国内大中小医院所有功能,界面很多,介于篇幅有限,下面围绕本系统最重要两个流程,药品入库流程和盘点流程。另外由于公司要求代码保密,所以此处只做少量代码说明,敬请谅解。

5.1  入库计划

1)       功能介绍:一般医院从外面购买药品,首先要做一个入库计划,生成入库计划单。入库计划单的生成可以直接选择药品,也可根据系统提供的计划模板,警戒线,日消耗来自动生成入库计划单。

2)       界面如图5.1显示:

图5.1入库计划界面

此界面包含的按钮很多,下面简单介绍一个它们的功能:

新建:点此按钮进入入库计划单生成界面。

计划单:查看别的科室生成的入库计划单。

计划模板:调用系统的模板生成入库计划单,不用手工选择药品生成。

警戒线:调用系统设定的警戒线,凡是不符合条件的药品会自动显示在入库计划单。

日消耗:通过计算日平均消耗来生成入库计划单。

排序:对计划单内的药品信息进行排序。

整单删除:将整个入库计划单全部删除。

删除:删除某个计划单上的一条药品信息。

保存:将生成的入库计划单保存。

打印:打印入库计划单。

导出:将入库计划单上的数据导出到Excel文档中。

退出:退出此界面,回到主界面。

入库计划部分代码:

///<summary>

              ///插入一条入库申请记录

              ///</summary>

              ///<param name="applyIn">申请入库记录类</param>

              ///<returns>0没有更新1成功-1失败</returns>

              public intInsertApplyIn(neusoft.HISFC.Object.Pharmacy.Input applyIn)

              {

                     string strSQL="";

                     if(this.Sql.GetSql("Pharmacy.Item.InsertApplyIn",ref strSQL) == -1) return-1;

                     try

                     { 

                            string[] strParm = myGetParmApplyIn(applyIn);    //取参数列表

                            strSQL=string.Format(strSQL,strParm);       //替换SQL语句中的参数。

                     }

                     catch(Exception ex)

                     {

                            this.Err="插入入库申请SQl参数赋值时出错!"+ex.Message;

                            this.WriteErr();

                            return -1;

                     }

                     return this.ExecNoQuery(strSQL);

              }

5.2 采购计划

1)       功能介绍:根据前面生成的入库计划单生成采购计划单,此处需要填写采购药品的供货公司,还可以进行采购拆分,将一种药品拆分成多家供货商供货,同时还需要审核采购数量。

2)       界面如图5.2显示:

图5.2 采购计划界面

计划单:选择前面生成的入库计划单,将其上的信息显示在采购计划单上。

采购拆分:将某些药品分开采购,由多家供货商供货。

日消耗:选择一种采购药品,查看它的平均日消耗情况。

保存:保存采购计划单。

打印:打印采购计划单。

导出:将采购计划单上的信息导出到Excel文档中。

5.3 药品入库

1)       功能介绍:完成了药品的采购,接下来的就是将药品入库。药品入库分为三种情况:一般入库,发票入库,核准入库。如果药品和发票都有,进行一般入库,此时会直接更新库存,药品采购结束。假如药品先到,而发票此时还没有到的情况下,则还需要做发票入库和核准入库才能完成整个的药品入库过程。

2)       界面如图5.3显示:

图5.3 药品入库界面

采购单:选择采购单,采购的药品会显示在下方,双击下方的药品信息会显示在窗口的中间,此时可以进行批号和发票号的录入,如果没有发票则暂时不填。

删除:将下面显示的采购信息删除。

保存:完成了发票号和批号的录入后,保存信息,则药品采购完成。

导出:将下面显示的采购信息导出到Excel文档中。

导入:把外界文件上的采购信息导入到系统中。

退出:关闭此界面,回到主界面。

药品入库部分代码:

///<summary>

              ///插入一条入库记录

              ///</summary>

              ///<param name="Input">入库记录类</param>

              ///<returns>0没有更新1成功-1失败</returns>

              public intInsertInput(neusoft.HISFC.Object.Pharmacy.Input Input)

              {

                     string strSQL="";

                     if(this.Sql.GetSql("Pharmacy.Item.InsertInput",ref strSQL) == -1) return-1;

                     try

                     {

                            //获取入库流水号

                            Input.ID= this.GetSequence("Pharmacy.Item.GetInputBillID");

                            if (Input.ID == "")

                            {

                                   this.Err = "获取入库流水号出错!";

                                   return -1;

                            }

                            string[] strParm = myGetParmInput( Input );   //取参数列表

                            strSQL=string.Format(strSQL, strParm);      //替换SQL语句中的参数。

                     }

                     catch(Exception ex)

                     {

                            this.Err="插入入库记录的SQl参数赋值时出错!Pharmacy.Item.InsertInput"+ex.Message;

                            this.WriteErr();

                            return -1;

                     }

                     return this.ExecNoQuery(strSQL);

              }

3)       如果一般入库时没有发票,则还要进行发票入库和核准入库

发票入库如图5.4界面:

图5.4发票入库界面

选择好操作类别和目标单位后,在窗体左边会出现还没有录发票的药品,双击某个药品即可添加到右边窗体中,录入发票号保存。

发票入库完成以后,接下来就是核准入库了。

核准入库如图5.5界面:

图5.5核准入库界面

选择完操作类别和目标单位,在窗体左边会出现已经输入发票号的药品,双击即可添加到右边窗体中,保存即可。完成此步骤后药品入库就完成了。

5.4 盘点管理

1)       功能介绍:盘点库存中药品的实际数量,将实际库存更新到计算机中。

2)       界面如图5.6显示:

图5.6盘点管理界面

封帐:点此按钮进入盘点,取此时的库存做比较。

盘点模板:调用事先做好的盘点模板,不用再手工选择药品生成盘点单。

批量封帐:按药品类别和药品性质进行盘点。

全盘:根据当前库存更新盘点库存。

历史盘点:调用以前的盘点单。

盘点附加:添加盘点附加药品。

保存:保存盘点单。

删除:删除某条记录。

打印:打印盘点单。

导出:导出盘点单。

盘点管理部分代码:

///<summary>

              ///向盘点统计表内插入一条数据

              ///</summary>

              ///<param name="checkInfo">盘点实体</param>

              ///<returns>0 没有更新1 成功-失败</returns>

              public intInsertCheckStatic(neusoft.HISFC.Object.Pharmacy.Check checkInfo)

              {

                     string strSQL="";

                     //取插入操作的SQL语句

                     if(this.Sql.GetSql("Pharmacy.Item.InsertCheckStatic",ref strSQL) == -1)

                     {

                            this.Err="没有找到Pharmacy.Item.InsertCheckStatic字段!";

                            return -1;

                     }

                     try

                     { 

                            string[] strParm = this.myGetParmForCheckStatic(checkInfo);     //取参数列表

                            strSQL=string.Format(strSQL, strParm);            //替换SQL语句中的参数。

                     }

                     catch(Exception ex)

                     {

                            this.Err = "格式化SQL语句时出错Pharmacy.Item.InsertCheckStatic:" + ex.Message;

                            this.WriteErr();

                            return -1;

                     }

                     return this.ExecNoQuery(strSQL);

              }

5.5 盘点结存

1)       功能介绍:做完盘点单以后就应该做结存,结存后才真正把盘点的实际库存数量更新到计算机中。

2)       界面显示如图5.7。

结存:用盘点数量更新计算机中的库存。

解封:将此盘点单作废。

打印:打印盘点单。

导出:将盘点单导出到Excel文档中。

图5.7盘点结存界面


 

    论

药库管理系统是HIS的一个子模块,为医院药库工作人员管理医院药品带来了许多的便利提高了工作效率。该系统提供了药库工作人员在药库的常规操作,包括常数维护、药品出库、药品入库、库存管理、库存查询和盘点管理等,设计这个全新的药库管理系统,必将进一步促进医院的信息化管理。

使用药库管理系统,能够实现库存管理、药品入出库、基本信息维护等功能,并能够对药库进行各种常用的查询,保证了医院药品在医院的周转,能够作为HIS的一个子模块能与其他模块进行很好整合在一起。

在开发药库管理系统的同时,做了大量的市场调研和分析,同时借鉴了国内外比较优秀的医院管理系统软件,吸收了他们的长处并改进了他们的不足。药库管理系统是基于二层(Client/Server,C/S)的体系结构的应用软件。这是因为二层(C/S)方式具有良好的交互性、健壮性、存储安全、速度快等特点。在开发的过程中,我们严格按照软件工程的步骤进行,每一步都有经过了严密的论证。我们力求开发一个功能完备、操作方便、界面友好、高扩展性,同时具有优越性价比的软件。可以说,药库管理系统完全适应国内医院管理信息化的需要,适宜在国内各大、中、小医院中推广使用。

各户的观点总会存在着不同,所以十分完美的软件是不会存在的。在好的软件总会存在着多多少少的不足,我们的目的就是要把不足之处做到最少,尽量满足尽可能多的各户。在测试的过程中也发现了很多错误和不足。比如说系统运行一段时间后会占用太多内存、系统界面偶尔不能满足客户的需求、有些地方数据刷新不够及时等等。这些都是我们需要改善的地方。


 

   

经过相当长时间的辛苦与努力,这篇论文终于完成。如果没有身边同事和导师的帮助、指引和赠予,如果没有父母和朋友的帮助与支持,这篇论文的价值肯定会大打折扣;它也是我大学四年学习生涯的最后总结,在我完成论文的最后一刻,涌上心头的不是长途跋涉后抵达终点的欣喜,而是源自心底的诚挚谢意。

首先我要感谢我的父母以及亲人,正是父母的含辛茹苦的栽培默默地支持与奉献才有了今天的我,正是亲人们给了我无比的温暖以及支持才让我生活的如此丰富,在此我衷心地感谢我敬爱的父母与亲人们。

然后我要感谢我的导师刘志存,同时还要感谢在东软的同事,他们给予了我很大的帮助与支持,在工作中遇到困难时,是他们不厌其烦的给我进行多次指导和悉心的指点,使我在完成论文的同时也深受启发和教育。

由衷地感谢信息与计算科学系的各位老师对学生的指导和教诲,我也在努力的积蓄着力量,尽自己的微薄之力回报母校的培育之情,为社会创造更多的价值回报社会!

最后,再次对关心、帮助我的老师和同学表示衷心地感谢,同时也感谢母校。我明白,正是在她那温润宽厚的胸怀上,我成长起来的,我心永系东秦!


 

参考文献

[1]    李有志,浅析医院信息系统的发展及未来[EB/OL].

http://www.mesworld.cn/72-1/1983.htm,2010-01-04

[2]    胡正国吴健邓正宏 编著.程序设计方法学[M].北京:国防工业出版社.2003: 36-192.

[3]    陶安顺结构化程序设计方法[M].大连:大连海运学院出版社.1988:5-107.

[4]    美国鲁德著,杜大鹏等译.编程逻辑与结构化程序设计[M].北京:中国水利水电出版社.2004: 36-192.

[5]    张海藩.软件工程[M].北京:人民邮电出版社.2006:13-97.

[6]    周礼,Visual Studio 2005介绍[EB/OL]

http://www.51cto.com/art/200806/77375.htm, 2008-06-18.

[7]    王宏C# 程序设计案例教程[M]北京:清华大学出版社,2000101-136

[8]    齐立波译.C#入门经典(第3版)[M].北京:清华大学出版社,200636-156

[9]    盖国强.深入浅出Oracle-DBA入门、进阶与诊断案例[M].北京:人民邮电出版社,2006128-157

[10] 王国酬,DataWindow.Net应用介绍[EB/OL]

http://kb.cnblogs.com/a/1523743/, 2009-7-15


 

   录

译文1

 Software Engineering

Software engineering is to guide the development and maintenance ofcomputer software engineering disciplines. Using engineering concepts,principles, techniques and methods to develop and maintain the software, thetime-tested and proven correct and current management techniques can be thebest combination of technical approach, which is software engineering SoftwareEngineering (Software Engineering) can be summarized as: goals, processes andprinciples.

Softwareengineering goal: production of accuracy, availability and cost of appropriateproducts Correctness of software products that achieve the desired level offunction. Availability refers to the basic structure of the software,implementation, and documentation available for the user level. Softwaredevelopment cost is appropriate to run the entire cost of the degree to meetuser requirements. Attainment of these goals both in theory and inpractice there are many unresolved issues, they form the process, the processmodel and methods of selected constraints.

Softwareengineering process: production of a final project to meet the needs and goalsof software products to achieve the required steps. Software engineeringprocess includes the development process, operational process, maintenanceprocess. They cover the requirements, design, implementation, verificationand maintenance activities. Requirements include problem analysis andneeds analysis. Analysis for requirements definition, also known assoftware requirements specification. Demand generationstatute. Summary of design activities generally include the design anddetailed design. Summary of the establishment of the entire softwaresystem architecture design, including subsystems, modules and related levels ofdescription, each module's interface definition Programmers produce detaileddesign description of available modules, including description of each moduleand processing the data structure description Activities designed to achievethe results into executable code. Validation activities throughout thedevelopment process, to achieve completion of the confirmation to ensure thefinal product to meet user requirements. Maintenance activities includingthe use of the process of  expansion.change and improve. With the above process, there are managementprocesses, support processes, training processes.

Softwareengineering principles: is the focus on engineering design, engineering supportand project management in the software development process must follow theprinciple.


软件工程

软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、 技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。软件工程(SE)可概括为:目标、过程和原则。 

软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。

软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。

软件工程的原则:是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。


译文2

Hospital Information System

 

Hospitalsare the key institutions in providing relief against sickness and disease. Theyhave become an integral part of the comprehensive health services, bothcurative and preventive. Significant progress has been made in improving theirefficiency and operations.

Effectivenessof a health institution - hospitals or nursing homes, depends on its goals andobjectives, its strategic location, soundness of its operations, and efficiencyof its management systems. The administrator's effectiveness depends upon theefficiency with which he is able to achieve the goals and objectives. Some ofthe major factors determining the effectiveness of a health institutionincludes patient care management and patient satisfaction.

Hospitalsare very expensive to build and to operate. Administrators and professionalshave to be extremely cost conscious. Effective computer systems and proceduresneed to be implemented to ensure proper list of limited resources towardquality health care. It becomes even more important when an in-house medicalfacility is provided by an industry for it’s employees, as is the case for TataSteel Patient care management in Tata Steel has fully listed the power ofcomputers in Medicare, whereby network of integrated systems maintainingpatient database for the hospital services in the areas of Pathology,Radiology, Medical Research, In-patient Admissions and Billing, Medical Stores& Pharmacy are operational. 

HIS has advanced intelligence tools which enables themanagement of the healthcare facilities take informed real-time decisions. Itsupports workflows, alerts and notifications which help keep critical businessas well as clinical parameters in control. HIS has functionality of businessintelligence and knowledge portal that has KPIs for advanced decision makingand content for knowledge sharing.


 

HIS系统

医院是提供对疾病和疾病救济关键的机构。他们已成为全面健康服务中不可分割的一部分,包括治疗和预防。现代医院系统已经取得了重大进展,改善其运行效率和运营管理。

有效性的医疗机构--医院或疗养院,取决于它的目的和目标,其优越的地理位置,健全的经营,其管理系统的效率。管理员的成效取决于使他能够达到的目标和目标成效。决定一个卫生机构效率的主要因素包括一些病人护理管理和病人的满意度。

医院是非常昂贵的建设和经营。管理者和专业人士都必须 极具成本意识。有效的电脑系统和程序需予以实施对质量保证有限的医疗资源得以妥善运用。它变得更加重要 当内部的医疗设施是由工业提供的为它的员工。

使用HIS系统,病人得到了健全的照顾体制,充分利用了医疗保险,计算机电源,让网络在维持地区的医院服务病人数据库集成系统病理学、放射学、医学研究,在门诊入学及账单,医疗物品及药剂已开始运作。

HIS的拥有先进的智能工具,它使医疗保健设施的管理采取明智的实时决策。它支持的工作流程,警报和通知,协助保护重要的业务,以及在控制临床参数。HIS的具有商业智能和知识门户网站,拥有先进的决策和知识共享内容KPI的功能。

猜你喜欢

转载自blog.csdn.net/zhh1072773034/article/details/79447011
今日推荐