关于医院信息管理系统设计过程步骤

医院信息系统(Hospital Information System,HIS) ,指利用电子计算机和通信设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据交换的能力,并满足所有授权用户的功能需求。

医院管理信息系统(Hospital Management Information System,HMIS) 的主要目标是支持医院的行政管理与事务处理业务,减轻事务处理人员的劳动强度,辅助医院管理,辅助高层领导决策,提高医院的工作效率,从而使医院能够以少的投入获得更好的社会效益与经济效益,如财务系统、人事系统、住院病人管理系统、药品库存管理系统等都属于HMIS 的范围。 临床信息系统(Clinical Information System,CIS) 的主要目标是支持医院医护人员的临床活动,收集和处理病人的临床医疗信息,丰富和积累临床医学知识,并提供临床咨询、辅助诊疗及辅助临床决策,提高医护人员的工作效率,为病人提供更多、更快、更好的服务。例如医嘱处理系统、病人床边系统、医生工作站室系统、实验室系统、药物咨询系统等都属于CIS 范围。

一个完整的医院信息系统应该既包括医院管理信息系统(HMIS),又包括临床医疗信息系统(CIS),这是毫无疑义的。但是,无论外国还是中国,当一个医院的信息系统刚刚起步时,往往是首先建立HMTS ,这是因为:

(1) HMTS 所需要的资源较少,比较起来所需要的磁盘容量、工作站数量、网络传输能力、显示器质量均远远低于CIS 的需求。

(2) 支持HMTS 的计算机技术较为单纯和简单。由于HMTS 以处理文字和数字类数据为主,较少涉及声音、图像、多媒体数据的动态传递等复杂需求,因此实现起来容易得多。

(3) CIS 在数据处理的实时性要求、相应速度、安全保密等方面一般要比HMTS 有更苛刻的要求。

(4) 从投入与产出考虑,多数医院的决策者们均认为HMIS 与CIS 相比,能够使医院更直接、更明显、更迅速地获得系统的回报。就是说,以较少的投入获得较大的收益。 当然,HMIS 和CIS 也不是截然分开的,HMIS 中常常会涉及一些病人的临床信息,特别是它所收集的病人主索引、病案首页等信息往往是CIS 以病人为中心的临床医疗信息的基础。而CIS 一旦建立,也往往会使HMIS 工作得更准确和更有效率。

1.1 医院信息化管理的发展历史与现状

国际上医院信息化管理大致可以分为3个阶段。第一个十年,集中在开发医院行政管理的功能上,如财务收费管理、住院病人和门诊病人管理等,但到1972年Collen 仍报告美国

连一个成功的已完成的全面医院管理计算机系统都没有。第二个十年,在继续完成和实现医院管理信息计算机化的同时,开发者的努力已进入医疗信息的处理领域,如病人医疗处理系统,实验室系统等。到1985年,美国全国医院数据处理工作调查表明,100张床位以上的医院80%实现了计算机财务收费管理、70%的医院可支持病人挂号登记和行政事务管理,25%的医院有了较完整的HIS 。最后一个十年至今,研究者又把重点放在了病人床边系统(Bedside Information System)、医学影像处理系统(Picture Archiving andCommunication System,PACS) 、病人计算机化病案(Computer Based Patient Record,CPR) 、统一的医学语言系统(Unified Medical Language System,UMLS) 等方面。医院信息系统正在经历着小型化、智能化和集成化的改造过程。

刺激美国医院采用计算机系统的重要因素有:

● 为病人提供更好、更快的服务,提高医院在医疗服务市场上的竞争力,以吸引更多病人到本院就医。

● 人力工资的昂贵,迫使医院采用计算机以提高劳动效率。

● 国家和保险公司为施行预付款制度(Prospective Payment System,PPS) 而要求医院及时上交复杂的有关DRGS 的报告,迫使医院采用计算机技术。

DRGS(诊断相关分组,Diagnosis —Related Groups)自1983年开始在美国实行,其目的是为了控制不断上涨的老年医疗保险的费用。所谓DRG 编码是在国际疾病分类的基础上,再参照疾病的严重程度、个人状态和并发症做出一个编码。每一个编码有对应的费用,医疗保险单位根据这个编码付费。如果医院的费用超出了规定的费用,则由医院自己赔付,相反若低于规定费用则节约的部分归医院所有。

我国医院信息系统的研发工作,从20世纪80年代初期算起,至今也有十多年的历史,其中经历了单机单任务的阶段,多机多任务的阶段以及微机网络一体化的阶段,应该承认这期间我们有了很大进步。医院对信息的需求永远是HIS 发展的原动力。刺激我国医院广泛采用计算机信息系统的因素主要有:

(1) 医院要强化自身的管理,逐步实现医疗价格评价与按成本收费,实现医院内按成本核算与全面财务计划,并体现在建立和优化医院内合理的分配制度上,为此每个医院都迫切需要建立自己的以财务管理为中心的医院管理信息系统。

(2) 医院要加强医疗服务质量的自我监督、自我控制的能力,为病人提供更快、更好的服务,必然要依赖于计算机信息系统。

(3) 医疗制度的改革正在把病人—医院的二元关系改变为病人—医院—保险机构—政府监督的多元关系。大量的有关病人的诊断、治疗、用药、资源消耗的信息不仅在院内而且要在许多部门之间流通、传递,这将是一件难以用手工完成的繁杂的任务。

(4) 每个医院的信息系统是全国或地区性医疗信息网络的基础,医疗信息网络即所谓“金卫”工程,是我国国民经济信息化的重要组成部分,必然要与“金桥”、“金卡”等国民经济信息网络相连接。

(5) 建立以计算机化病人病历CPR 为核心的HIS 会成为已初步建立医院管理信息系统的那些医院的下一个努力目标。

1.2 医院信息系统的特点

医院信息系统作为企业管理系统的一个子类,具有其自身很强的特点和复杂性。这是由医院本身的目标、任务和性质决定的,它不仅要同其他所有MIS 系统一样追踪管理伴随人流、财流、物流所产生的管理信息,从而提高整个医院的运作效率,而且还应该支持以病人医疗信息记录为中心的整个医疗、科学、科研活动。

广义地说,HMIS 是管理系统(MIS)在医院环境的具体应用。因此它必定具有一些与其他MIS 系统共有的特性。但是,医院信息系统的许多不同于一般MIS 系统的独有的特点,为HIS 的设计与实现带来更高的难度,更多的复杂性。

(1) 在许多情况下,它需要极其迅速的响应速度和联机事务处理能力。在一个急诊病人入院抢救的情况下,迅速、及时、准确地获得他的既往病史和医疗记录的重要性是显而易见的。

(2) 医疗信息的复杂性。病人信息是以多种数据类型表达出来的,不仅是文字类型的数据,而且经常需要图形、图表、影像等类型的数据。

(3) 信息的安全、保密性要求高。病人医疗记录是一种拥有法律效力的文件,它不仅在医疗纠纷案件中,而且在许多其他法律程序中均会发挥重要作用,有关人事的、财务的,乃至病人的医疗信息均有严格的保密性要求。

(4) 数据量大。任何一个病人的医疗记录都是一部不断增长的、图文并茂的书,而一个大型综合性医院拥有上百万份病人的病案是常见的。

(5) 缺乏医疗信息处理的标准。这是另一个突出地导致医院信息系统开发复杂化的问题。目前医疗卫生界极少有医学信息表达、医院管理模式与信息系统模式的标准与规范。计算机专业人员在开发信息系统的过程中要花费极大精力去处理自己并不熟悉的领域的信息标准化问题,甚至要参与制定一些医院管理的模式与算法。医学知识表达的规范化,即如何把医学知识翻译成一种适合计算机的形式,是一个世界性的难题,而真正的病人电子化病历的实现有待于这一问题的解决。

(6) 高水平的信息共享需求。一个医生对医学知识(例如某种新药品的用法与用量,使用禁忌,某一种特殊病例的文献描述与结论等) 、病人医疗记录(无论是在院病人还是若干年前已死亡的病人) 的需求可能发生在他所进行的全部医、教、研的活动中,可能发生在任何地点。而一个住院病人的住院记录摘要也可能被全院各有关临床科室、医技科室、行政管理部门所需要。因此信息的共享性设计、信息传输的速度与安全性、网络的可靠性等也是HIS 必须保证的。

1.3 医院信息系统基本功能规范

卫生部于1997年印发公布了《医院信息系统基本功能规范》,对于加快医院信息化基础设施建设,规范管理,提高医院信息系统软件质量,保护用户利益,推动医院计算机应用的

健康发展,起到了重要的指导作用。随着计算机网络技术的迅速发展,卫生部重大医改政策的实施及医疗模式的转变,原《医院信息系统基本功能规范》已不能适应新形势的需要。为此,卫生部于2001年3月着手修订《医院信息系统基本功能规范》。

《医院信息系统基本功能规范》共分为24章,从以下各个方面规定了相关工作环节的信息管理规范。这些规范的详细内容用户可以参阅附书光盘“相关资料\医院信息系统基本功能规范”文件夹下的文件,每一章的内容实际上对应的就是医院信息管理系统的一个子模块,因此用户最好能够仔细阅读。 ● 数据字典标准化

● 门诊医生工作站分系统功能规范

● 住院医生工作站分系统功能规范

● 护士工作站分系统功能规范

● 临床检验分系统功能规范

● 输血管理分系统功能规范

● 医学影像分系统功能规范

● 手术、麻醉管理分系统功能规范

● 药品管理分系统功能规范

● 门急诊挂号分系统功能规范

● 门急诊划价收费分系统功能规范

● 住院病人入、出、转管理分系统功能规范

● 住院收费分系统功能规范

● 物资管理分系统功能规范

● 设备管理分系统功能规范

● 财务管理分系统与经济核算管理分系统功能规范

● 病案管理分系统功能规范

● 医疗统计分系统功能规范

● 院长综合查询与分析分系统功能规范

● 病人咨询服务分系统功能规范

● 医疗保险接口功能规范

● 社区卫生服务接口功能规范

● 远程医疗咨询系统接口功能规范

根据上面的介绍,总结《医院信息系统基本功能规范》的内容,可以将通用医院管理系统所必备的功能归纳如图6.1所示,其中每个功能都由若干相关联的子功能模块组成。除此之外系统还应包括信息系统必须具备的通用功能,例如权限设置、数据备份与恢复等。

图6.1 医院管理系统应包括的基本功能

因为随书光盘提供的《医院信息系统基本功能规范》,对这些系统的功能都进行了详细的需求描述,所以下面不再详细对医院管理系统进行需求分析,只是列举出每个系统对应的一些功能。

2.1 业务流程

医院管理的基本业务流程如图6.2所示。

6.2 医院管理的基本业务流程

医院门诊业务流程如图6.3所示。

医院门诊药房管理的业务流程如图6.4所示。

病人住院业务流程如图6.5所示。

图6.3 医院门诊业务流程

图6.4 医院门诊药房管理业务流程

图6.5 病人住院业务流程

病人出院结帐业务流程如图6.6所示。

图6.6 病人出院结帐业务流程

2.2 系统字典维护

“系统字典维护”功能模块用于设置医院管理系统的常用字典信息,包括如图6.7所示的子功能模块。

图6.7 “系统字典维护”功能模块

2.3 门诊挂号系统

“门诊挂号系统”功能模块用于建立和维护病人的主索引信息,分配病人的ID 号,确保病人信息的惟一性,为病人建立就诊卡,对门诊病人进行挂号或者预约号处理,为门诊病人的后续活动以及门诊工作量统计提供信息。病人首次就医时可办理IC 卡、磁卡等,实现一卡通看病,持卡病人就诊时通过刷卡代替频繁的排队交费,可以大大提高效率,减少等待时间。挂号时计算机自动分配临时ID 号,可选择输入病人姓名、挂号类别(普诊号、专家号等) 及就诊科室等信息,打印产生门诊挂号单,挂号单上的条码号将是病人各环节就医的依据,实现划价收费、项目检查、药房取药的一体化流水作业。

2.4 门诊划价收费系统

“门诊划价收费系统”功能模块用于在门诊收费处记录病人的缴费信息,并执行相应的统计核算功能,包含的子功能模块如图6.8所示。

图6.8 “门诊划价收费系统”功能模块

“门诊划价”用于完成门诊病人各种处方、检查申请、治疗申请等诊治费用的计价工作,各种药品、检查的价格信息在字典管理中维护。

“门诊收费”用于完成门诊病人各种诊治费用的收取工作,能依据划价单(或其他方法) 查询病人划价信息,进行费用收取、收据打印处理,并保存操作记录备查。

“药品发货”用于药房预先打印需要发货的药品明细,并将药品准备好,这样病人取药时就可以直接给病人,避免拿到病人的交费单后再去找相应的药品,提高工作效率。

2.5 门诊医生工作站

“门诊医生工作站”功能模块是医院信息系统的关键模块,是医疗工作最主要的信息来源。主要功能是完成病历基本指标的填写,病情、病史的记载,医嘱的开立和实施,以及相关辅助功能。该功能模块实现了医生病历收发和医嘱作业的数字化,包含的子功能模块如图

6.9所示。“门诊医生工作站”功能模块是医院管理系统中比较高层次的功能模块,一般医院的管理都达不到应用的要求,该模块应用后,医生的医嘱可以直接输入到计算机,而不是写在处方上,同时划价时可以直接调出电子医嘱,进行划价。

图6.9 “门诊医生工作站”功能模块

2.6 住院病人管理系统

“住院病人管理系统”功能模块用于进行病人入院登记及病人基本情况信息的记录,以及病人在住院过程中的流动控制和管理,为费用管理、病区护理站、医生工作站等模块提供病人的基本信息,包含的子功能模块如图6.10所示。

图6.10 “住院病人管理系统”功能模块

病人办理住院手续时,给病人分配一个住院号,并建立病人住院首页。如果病人是首次住院,分配一个新的住院号;如果病人不是首次住院,系统通过检索病案管理系统,查找到病人所拥有的住院号,在此住院号下新建一份病案,并自动生成病案首页的相关内容。

2.7 住院费用管理系统

“住院费用管理系统”功能模块用于完成住院病人的费用和预收款的记录和监管,病人预收金的催缴,病人出院的费用清算及收据处理,包含的子功能模块如图6.11所示。

图6.11 “住院费用管理系统”功能模块

2.8 住院医生工作站

“住院医生工作站”功能模块用于完成住院部医生病历基本指标的填写,病情和病史的记载,医嘱的开立、实施,以及相关辅助功能。该功能模块实现医生病历收发和医嘱作业的数字化,包含的子功能模块类似于“门诊医生工作站”。

2.9 药房管理系统

“药房管理系统”功能模块用于管理医院药房的采购、入库及出库等业务,包含的子功能模块如图6.12所示。

图6.12 “药房管理系统”功能模块

2.10 病案病历管理系统

“病历”作为医院对患者进行诊疗全过程的完整记录,具有十分重要的作用,国家法律对医院病历的记录、保存等都有严格的要求,当发生医疗纠纷时,病历是调节纠纷的重要依

据。

电子病历有两层含义,核心的含义是“病历”,而“电子”只是一个限定词,说明它的手段、过程与物质形式。因此,电子病历至少应达到以下几个要求:

● 能够准确地按时间序列真实反映患者自入院到出院期间的医疗与护理过程。 ● 可操作性与易操作性。

● 有利于提高医疗质量,促进医务人员掌握相应的知识,提高医疗文书的质量。 ● 能达到作为法律依据所要求的安全性。

● 能达到保护患者个人隐私的安全性要求。

● 信息的记录、传输、保存均以电子数据的形式,而从本质上区别于传统的物质形式(纸张、胶片等) 。

● 输入后的数据不得修改,任何操作都应留有痕迹。

尤其是最后一条,因为电子数据不像纸张数据,如果系统存在漏洞,数据可以随意更改,则电子病历就失去了其存在的意义。

2.11 院长综合查询系统

“院长综合查询系统”功能模块用于从医院信息系统中加工处理出有关医院管理的医、教、研和人、财、物分析决策信息,以便为院长及各级管理者决策提供依据。

2.12 外部数据接口

医院管理信息系统的数据不是孤立的,需要和外部很多系统进行数据对接,例如,医保、社区卫生服务、远程医疗服务等都需要医院提供相应的信息。

“医疗保险数据接口”主要完成医院信息系统与医保部门进行信息交换的功能,包括下载、

上传、处理医保病人在医院中发生的各种与医疗保险有关的费用,并做到及时结算。

“社区卫生服务数据接口”主要用于跟踪病人,提高出院后服务质量,为社区病人转上级医院提供快速、方便的服务,以及为各种医疗统计分析提供基础数据。

“远程医疗服务数据接口”主要用于保证远程医疗咨询系统所需的信息能及时、迅速的从医院信息系统中直接产生并读取,最大限度地避免信息的二次录入,使对方医院能够调阅原始的没有因各种处理带来误差的真实数据与信息。

根据以上需求分析,一个基本的医院管理系统数据库中大致包括80多张表,分别存放相应子功能的数据信息,其中“药品资料”、“病人资料”、“科室资料”等表都是系统的关键表,其他表与这些关键表间的关系是N:1的关系。

3.1 医院管理系统E-R 图

因为整个系统涉及的实体和属性较多,限于篇幅不能也没有必要一一列举。图6.13为医院管理系统关键实体的E-R 图。

图6.13 医院管理系统E-R 图

其他实体与基本信息表间的对应关系都是类似的,同时随书光盘“建库脚本\医院管理系统.sql ”文件提供了创建数据库所有表的脚本,被省略的实体对象和实体属性用户完全可以参考这些脚本,也可以按照第5章中提供的方法使用Microsoft Visio 2002自动生成全部实体和属性的E-R 图。

3.2 医院管理系统表清单

附书光盘“建库脚本\医院管理系统.sql ”文件提供了创建数据库所有表的脚本,下面仅列出一些重要表的名称及其用途供参考,如表6.1所示。其中每张表所包含的字段用户可以自己查看建库脚本和前面的需求分析。

表6.1 医院管理系统表清单

续表

基于以上需求分析和数据库分析,用户对一个标准的医院管理系统应该有了一个全面的认识。下面将用实例说明如何利用PowerBuilder 完成系统的开发。

4.1 实例功能

由于篇幅有限,本实例将详细介绍如图6.14所示功能的开发过程,并简化其中各功能所包含的属性,其他功能用户完全可以参照这些功能的开发方法完成开发。

需要强调的是,由于用户登录和权限管理的功能各个系统实现的方法是一致的,这里就不再详细介绍,具体实现方法参看第1章。

图6.14 详细介绍的功能模块

4.2 系统流程图

系统流程图如图6.15所示。

图6.15 系统流程图

根据实例介绍,“药品资料”和“门诊收费项目”表是系统关键的表,其他各表均与之通过“编号”字段相对应进行多对一的关联。系统共需要10张表,用途分别如表6.2所示。

表6.2 系统表及其用途

5.1 创建数据库

打开SQL Server企业管理器,新建一个数据库,名称为hisbook 。利用光盘中的脚本代

码文件“建库脚本\医院管理系统实例程序.sql ”创建数据库对象,完成数据库的设计。也可以利用“建库脚本\hisbook.bak”文件直接恢复数据库,这样数据库中存在初始的药品、收费项目等信息。

后面几小节将列出几个重点表的建库脚本,其他表的脚本参考光盘的脚本文件。

5.2 创建“药品资料”表

创建““药品资料”表的SQL 脚本如下:

CREATE TABLE [dbo].[药品资料] (

[编号] [varchar] (20) NOT NULL ,

[名称] [varchar] (150) NULL ,

[规格] [varchar] (100) NULL ,

[整量单位] [varchar] (50) NULL ,

[散量单位] [varchar] (50) NULL ,

[入库单价] [decimal](12, 2) NULL ,

[出库单价] [decimal](12, 2) NULL ,

[批发价] [decimal](12, 2) NULL ,

[整散比] [decimal](12, 2) NULL ,

[分类] [varchar] (100) NULL ,

[费用归类] [varchar] (100) NULL ,

[拼音码] [varchar] (50) NULL ,

[效期] [int] NULL ,

[上限] [decimal](12, 2) NULL ,

[下限] [decimal](12, 2) NULL

) ON [PRIMARY]

GO

5.3 创建“病人信息库”表

创建“病人信息库”表的SQL 脚本如下:

CREATE TABLE [dbo].[病人信息库] (

[编号] [varchar] (15) NOT NULL primary key,

[姓名] [varchar] (30) NULL ,

[性别] [varchar] (2) NULL ,

[年龄] [int]NULL ,

[民族] [varchar] (20) NULL ,

[费用类型] [varchar] (20) NULL ,

[电话] [varchar] (15) NULL ,

[拼音码] [varchar] (5) NULL

) ON [PRIMARY]

GO 5.4 创建“门诊挂号”表

创建“门诊挂号”表的SQL 脚本如下:

CREATE TABLE [dbo].[门诊挂号] (

[编号] [varchar] (15) NOT NULL ,

[病人编号] [varchar] (15) NULL ,

[姓名] [varchar] (30) NULL ,

[性别] [varchar] (2) NULL ,

[挂号科室] [varchar] (30) NULL ,

[费用类型] [varchar] (30) NULL ,

[挂号类型] [varchar] (30) NULL ,

[挂号费用] [decimal](12, 2) NULL ,

[医生] [varchar] (30) NULL ,

[时间] [datetime] NULL,

[是否已划价] [varchar] (2) default '否'

) ON [PRIMARY]

GO 5.5 创建“门诊划价”和“门诊划价明细”表

创建“门诊划价”表的SQL 脚本如下:

CREATE TABLE [dbo].[门诊划价] (

[编号] [varchar] (15) NOT NULL ,

[科室] [varchar] (30) NULL ,

[挂号编号] [varchar] (15) NULL ,

[医生] [varchar] (10) NULL ,

[划价时间] [datetime] NOT NULL ,

[划价员] [varchar] (10) NULL ,

[是否收费] [varchar] (2) NULL ,

[收费员] [varchar] (10) NULL ,

[收费时间] [datetime] NULL ,

[划价金额] [money] NOT NULL ,

[是否发药] [varchar] (2) NULL ,

[发药时间] [datetime] NULL ,

[发药员] [varchar] (10) NULL

) ON [PRIMARY]

GO

创建“门诊划价明细“表的SQL 脚本如下:

CREATE TABLE [dbo].[门诊划价明细] (

[编号] [int] IDENTITY (1, 1) NOT NULL ,

[划价编号] [varchar] (15) NOT NULL ,

[药品编号] [varchar] (15) NOT NULL ,

[单价] [decimal](12, 2) NULL ,

[数量] [decimal](12, 2) NULL ,

[金额] [decimal](12, 2) NULL

) ON [PRIMARY]

GO

5.6 创建其他关键表

以下是其他关键表的创建脚本,剩余表可以参看附书光盘。

CREATE TABLE [dbo].[门诊挂号类型] (

[编号] [int] IDENTITY (1, 1) NOT NULL ,

[挂号类型] [varchar] (50) NOT NULL ,

[挂号费] [decimal](12, 2) NOT NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[门诊收费项目] (

[编号] [varchar] (20) NOT NULL ,

[名称] [varchar] (100) NULL ,

[拼音码] [varchar] (100) NULL ,

[费用] [decimal](12, 2) NULL ,

[费用分类] [varchar] (100) NULL ,

[病种分类] [varchar] (100) NULL ,

[备注] [varchar] (100) NULL

) ON [PRIMARY]

GO

5.7 创建主键及外键等表约束

在查询分析器中通过如下代码创建表的主键及外键等表约束。

--主键、外键关联字段

ALTER TABLE [dbo].[药品库存] WITH NOCHECK ADD

CONSTRAINT [PK_药品库存] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[药品资料] WITH NOCHECK ADD

CONSTRAINT [PK_药品资料] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[门诊划价] WITH NOCHECK ADD

CONSTRAINT [PK_门诊划价] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[门诊划价明细] WITH NOCHECK ADD

CONSTRAINT [PK_门诊划价明细] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[门诊挂号] WITH NOCHECK ADD

CONSTRAINT [PK_门诊挂号] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[门诊挂号类型] WITH NOCHECK ADD

CONSTRAINT [PK_门诊挂号类型] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[门诊收费项目] WITH NOCHECK ADD

CONSTRAINT [PK_门诊收费项目] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[药品库存] ADD

CONSTRAINT [FK_药品库存_药品资料] FOREIGN KEY

(

) REFERENCES [dbo].[药品资料] (

[编号]

)

GO

ALTER TABLE [dbo].[门诊划价明细] ADD

CONSTRAINT [FK_门诊划价明细_门诊划价] FOREIGN KEY

(

[划价编号]

) REFERENCES [dbo].[门诊划价] (

[编号]

)

GO

ALTER TABLE [dbo].[门诊挂号] ADD

CONSTRAINT [FK_门诊挂号_门诊挂号类型] FOREIGN KEY

(

) REFERENCES [dbo].[门诊挂号类型] (

[编号]

)

GO

-------------------------------------------

--其他外键、主键等约束参看附书光盘中的脚本。

5.8 创建相关视图

在查询分析器中通过如下代码创建“v 收费项目及药品”视图,该视图对“药品资料”和“门诊收费项目”两张表的数据进行合并操作,从而在划价时实现两张表同时查询的功能。

create view v收费项目及药品

as

select 编号, 名称, 规格, 整量单位 as 单位, 出库单价 as 单价, 拼音码 from 药品资料 union

select 编号, 名称, 费用分类 as 规格, 病种分类 as 单位, 费用 as 单价, 拼音码

from 门诊收费项目

GO

5.9 创建存储过程

系统使用了“sf_药品发出”一个存储过程,实现划价收费后药房发出药品,减少库存的功能。具体计算方法在下面的脚本中有详细的注释,用户可以参考这些注释。

create proc sf_药品发出 @id varchar(15)

as

begin tran

--划价收费后药房发货

update 门诊划价 set 是否发药='是', 发药员='王五', 发药时间=getdate()

where 编号=@id

--减少库存, 演示程序, 直接减少' 西药房' 的库存

--实际应用, 应该根据药房减

update 药品库存 set 药品数量=药品数量-b. 数量 from

药品库存 as a,门诊划价明细 as b where a.药品编号=b.药品编号

and 库房='西药房' --这里应该替换为实际的组别

and 划价编号=@id commit

GO

医院信息系统(Hospital Information System,HIS) ,指利用电子计算机和通信设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据交换的能力,并满足所有授权用户的功能需求。

医院管理信息系统(Hospital Management Information System,HMIS) 的主要目标是支持医院的行政管理与事务处理业务,减轻事务处理人员的劳动强度,辅助医院管理,辅助高层领导决策,提高医院的工作效率,从而使医院能够以少的投入获得更好的社会效益与经济效益,如财务系统、人事系统、住院病人管理系统、药品库存管理系统等都属于HMIS 的范围。 临床信息系统(Clinical Information System,CIS) 的主要目标是支持医院医护人员的临床活动,收集和处理病人的临床医疗信息,丰富和积累临床医学知识,并提供临床咨询、辅助诊疗及辅助临床决策,提高医护人员的工作效率,为病人提供更多、更快、更好的服务。例如医嘱处理系统、病人床边系统、医生工作站室系统、实验室系统、药物咨询系统等都属于CIS 范围。

一个完整的医院信息系统应该既包括医院管理信息系统(HMIS),又包括临床医疗信息系统(CIS),这是毫无疑义的。但是,无论外国还是中国,当一个医院的信息系统刚刚起步时,往往是首先建立HMTS ,这是因为:

(1) HMTS 所需要的资源较少,比较起来所需要的磁盘容量、工作站数量、网络传输能力、显示器质量均远远低于CIS 的需求。

(2) 支持HMTS 的计算机技术较为单纯和简单。由于HMTS 以处理文字和数字类数据为主,较少涉及声音、图像、多媒体数据的动态传递等复杂需求,因此实现起来容易得多。

(3) CIS 在数据处理的实时性要求、相应速度、安全保密等方面一般要比HMTS 有更苛刻的要求。

(4) 从投入与产出考虑,多数医院的决策者们均认为HMIS 与CIS 相比,能够使医院更直接、更明显、更迅速地获得系统的回报。就是说,以较少的投入获得较大的收益。 当然,HMIS 和CIS 也不是截然分开的,HMIS 中常常会涉及一些病人的临床信息,特别是它所收集的病人主索引、病案首页等信息往往是CIS 以病人为中心的临床医疗信息的基础。而CIS 一旦建立,也往往会使HMIS 工作得更准确和更有效率。

1.1 医院信息化管理的发展历史与现状

国际上医院信息化管理大致可以分为3个阶段。第一个十年,集中在开发医院行政管理的功能上,如财务收费管理、住院病人和门诊病人管理等,但到1972年Collen 仍报告美国

连一个成功的已完成的全面医院管理计算机系统都没有。第二个十年,在继续完成和实现医院管理信息计算机化的同时,开发者的努力已进入医疗信息的处理领域,如病人医疗处理系统,实验室系统等。到1985年,美国全国医院数据处理工作调查表明,100张床位以上的医院80%实现了计算机财务收费管理、70%的医院可支持病人挂号登记和行政事务管理,25%的医院有了较完整的HIS 。最后一个十年至今,研究者又把重点放在了病人床边系统(Bedside Information System)、医学影像处理系统(Picture Archiving andCommunication System,PACS) 、病人计算机化病案(Computer Based Patient Record,CPR) 、统一的医学语言系统(Unified Medical Language System,UMLS) 等方面。医院信息系统正在经历着小型化、智能化和集成化的改造过程。

刺激美国医院采用计算机系统的重要因素有:

● 为病人提供更好、更快的服务,提高医院在医疗服务市场上的竞争力,以吸引更多病人到本院就医。

● 人力工资的昂贵,迫使医院采用计算机以提高劳动效率。

● 国家和保险公司为施行预付款制度(Prospective Payment System,PPS) 而要求医院及时上交复杂的有关DRGS 的报告,迫使医院采用计算机技术。

DRGS(诊断相关分组,Diagnosis —Related Groups)自1983年开始在美国实行,其目的是为了控制不断上涨的老年医疗保险的费用。所谓DRG 编码是在国际疾病分类的基础上,再参照疾病的严重程度、个人状态和并发症做出一个编码。每一个编码有对应的费用,医疗保险单位根据这个编码付费。如果医院的费用超出了规定的费用,则由医院自己赔付,相反若低于规定费用则节约的部分归医院所有。

我国医院信息系统的研发工作,从20世纪80年代初期算起,至今也有十多年的历史,其中经历了单机单任务的阶段,多机多任务的阶段以及微机网络一体化的阶段,应该承认这期间我们有了很大进步。医院对信息的需求永远是HIS 发展的原动力。刺激我国医院广泛采用计算机信息系统的因素主要有:

(1) 医院要强化自身的管理,逐步实现医疗价格评价与按成本收费,实现医院内按成本核算与全面财务计划,并体现在建立和优化医院内合理的分配制度上,为此每个医院都迫切需要建立自己的以财务管理为中心的医院管理信息系统。

(2) 医院要加强医疗服务质量的自我监督、自我控制的能力,为病人提供更快、更好的服务,必然要依赖于计算机信息系统。

(3) 医疗制度的改革正在把病人—医院的二元关系改变为病人—医院—保险机构—政府监督的多元关系。大量的有关病人的诊断、治疗、用药、资源消耗的信息不仅在院内而且要在许多部门之间流通、传递,这将是一件难以用手工完成的繁杂的任务。

(4) 每个医院的信息系统是全国或地区性医疗信息网络的基础,医疗信息网络即所谓“金卫”工程,是我国国民经济信息化的重要组成部分,必然要与“金桥”、“金卡”等国民经济信息网络相连接。

(5) 建立以计算机化病人病历CPR 为核心的HIS 会成为已初步建立医院管理信息系统的那些医院的下一个努力目标。

1.2 医院信息系统的特点

医院信息系统作为企业管理系统的一个子类,具有其自身很强的特点和复杂性。这是由医院本身的目标、任务和性质决定的,它不仅要同其他所有MIS 系统一样追踪管理伴随人流、财流、物流所产生的管理信息,从而提高整个医院的运作效率,而且还应该支持以病人医疗信息记录为中心的整个医疗、科学、科研活动。

广义地说,HMIS 是管理系统(MIS)在医院环境的具体应用。因此它必定具有一些与其他MIS 系统共有的特性。但是,医院信息系统的许多不同于一般MIS 系统的独有的特点,为HIS 的设计与实现带来更高的难度,更多的复杂性。

(1) 在许多情况下,它需要极其迅速的响应速度和联机事务处理能力。在一个急诊病人入院抢救的情况下,迅速、及时、准确地获得他的既往病史和医疗记录的重要性是显而易见的。

(2) 医疗信息的复杂性。病人信息是以多种数据类型表达出来的,不仅是文字类型的数据,而且经常需要图形、图表、影像等类型的数据。

(3) 信息的安全、保密性要求高。病人医疗记录是一种拥有法律效力的文件,它不仅在医疗纠纷案件中,而且在许多其他法律程序中均会发挥重要作用,有关人事的、财务的,乃至病人的医疗信息均有严格的保密性要求。

(4) 数据量大。任何一个病人的医疗记录都是一部不断增长的、图文并茂的书,而一个大型综合性医院拥有上百万份病人的病案是常见的。

(5) 缺乏医疗信息处理的标准。这是另一个突出地导致医院信息系统开发复杂化的问题。目前医疗卫生界极少有医学信息表达、医院管理模式与信息系统模式的标准与规范。计算机专业人员在开发信息系统的过程中要花费极大精力去处理自己并不熟悉的领域的信息标准化问题,甚至要参与制定一些医院管理的模式与算法。医学知识表达的规范化,即如何把医学知识翻译成一种适合计算机的形式,是一个世界性的难题,而真正的病人电子化病历的实现有待于这一问题的解决。

(6) 高水平的信息共享需求。一个医生对医学知识(例如某种新药品的用法与用量,使用禁忌,某一种特殊病例的文献描述与结论等) 、病人医疗记录(无论是在院病人还是若干年前已死亡的病人) 的需求可能发生在他所进行的全部医、教、研的活动中,可能发生在任何地点。而一个住院病人的住院记录摘要也可能被全院各有关临床科室、医技科室、行政管理部门所需要。因此信息的共享性设计、信息传输的速度与安全性、网络的可靠性等也是HIS 必须保证的。

1.3 医院信息系统基本功能规范

卫生部于1997年印发公布了《医院信息系统基本功能规范》,对于加快医院信息化基础设施建设,规范管理,提高医院信息系统软件质量,保护用户利益,推动医院计算机应用的

健康发展,起到了重要的指导作用。随着计算机网络技术的迅速发展,卫生部重大医改政策的实施及医疗模式的转变,原《医院信息系统基本功能规范》已不能适应新形势的需要。为此,卫生部于2001年3月着手修订《医院信息系统基本功能规范》。

《医院信息系统基本功能规范》共分为24章,从以下各个方面规定了相关工作环节的信息管理规范。这些规范的详细内容用户可以参阅附书光盘“相关资料\医院信息系统基本功能规范”文件夹下的文件,每一章的内容实际上对应的就是医院信息管理系统的一个子模块,因此用户最好能够仔细阅读。 ● 数据字典标准化

● 门诊医生工作站分系统功能规范

● 住院医生工作站分系统功能规范

● 护士工作站分系统功能规范

● 临床检验分系统功能规范

● 输血管理分系统功能规范

● 医学影像分系统功能规范

● 手术、麻醉管理分系统功能规范

● 药品管理分系统功能规范

● 门急诊挂号分系统功能规范

● 门急诊划价收费分系统功能规范

● 住院病人入、出、转管理分系统功能规范

● 住院收费分系统功能规范

● 物资管理分系统功能规范

● 设备管理分系统功能规范

● 财务管理分系统与经济核算管理分系统功能规范

● 病案管理分系统功能规范

● 医疗统计分系统功能规范

● 院长综合查询与分析分系统功能规范

● 病人咨询服务分系统功能规范

● 医疗保险接口功能规范

● 社区卫生服务接口功能规范

● 远程医疗咨询系统接口功能规范

根据上面的介绍,总结《医院信息系统基本功能规范》的内容,可以将通用医院管理系统所必备的功能归纳如图6.1所示,其中每个功能都由若干相关联的子功能模块组成。除此之外系统还应包括信息系统必须具备的通用功能,例如权限设置、数据备份与恢复等。

图6.1 医院管理系统应包括的基本功能

因为随书光盘提供的《医院信息系统基本功能规范》,对这些系统的功能都进行了详细的需求描述,所以下面不再详细对医院管理系统进行需求分析,只是列举出每个系统对应的一些功能。

2.1 业务流程

医院管理的基本业务流程如图6.2所示。

6.2 医院管理的基本业务流程

医院门诊业务流程如图6.3所示。

医院门诊药房管理的业务流程如图6.4所示。

病人住院业务流程如图6.5所示。

图6.3 医院门诊业务流程

图6.4 医院门诊药房管理业务流程

图6.5 病人住院业务流程

病人出院结帐业务流程如图6.6所示。

图6.6 病人出院结帐业务流程

2.2 系统字典维护

“系统字典维护”功能模块用于设置医院管理系统的常用字典信息,包括如图6.7所示的子功能模块。

图6.7 “系统字典维护”功能模块

2.3 门诊挂号系统

“门诊挂号系统”功能模块用于建立和维护病人的主索引信息,分配病人的ID 号,确保病人信息的惟一性,为病人建立就诊卡,对门诊病人进行挂号或者预约号处理,为门诊病人的后续活动以及门诊工作量统计提供信息。病人首次就医时可办理IC 卡、磁卡等,实现一卡通看病,持卡病人就诊时通过刷卡代替频繁的排队交费,可以大大提高效率,减少等待时间。挂号时计算机自动分配临时ID 号,可选择输入病人姓名、挂号类别(普诊号、专家号等) 及就诊科室等信息,打印产生门诊挂号单,挂号单上的条码号将是病人各环节就医的依据,实现划价收费、项目检查、药房取药的一体化流水作业。

2.4 门诊划价收费系统

“门诊划价收费系统”功能模块用于在门诊收费处记录病人的缴费信息,并执行相应的统计核算功能,包含的子功能模块如图6.8所示。

图6.8 “门诊划价收费系统”功能模块

“门诊划价”用于完成门诊病人各种处方、检查申请、治疗申请等诊治费用的计价工作,各种药品、检查的价格信息在字典管理中维护。

“门诊收费”用于完成门诊病人各种诊治费用的收取工作,能依据划价单(或其他方法) 查询病人划价信息,进行费用收取、收据打印处理,并保存操作记录备查。

“药品发货”用于药房预先打印需要发货的药品明细,并将药品准备好,这样病人取药时就可以直接给病人,避免拿到病人的交费单后再去找相应的药品,提高工作效率。

2.5 门诊医生工作站

“门诊医生工作站”功能模块是医院信息系统的关键模块,是医疗工作最主要的信息来源。主要功能是完成病历基本指标的填写,病情、病史的记载,医嘱的开立和实施,以及相关辅助功能。该功能模块实现了医生病历收发和医嘱作业的数字化,包含的子功能模块如图

6.9所示。“门诊医生工作站”功能模块是医院管理系统中比较高层次的功能模块,一般医院的管理都达不到应用的要求,该模块应用后,医生的医嘱可以直接输入到计算机,而不是写在处方上,同时划价时可以直接调出电子医嘱,进行划价。

图6.9 “门诊医生工作站”功能模块

2.6 住院病人管理系统

“住院病人管理系统”功能模块用于进行病人入院登记及病人基本情况信息的记录,以及病人在住院过程中的流动控制和管理,为费用管理、病区护理站、医生工作站等模块提供病人的基本信息,包含的子功能模块如图6.10所示。

图6.10 “住院病人管理系统”功能模块

病人办理住院手续时,给病人分配一个住院号,并建立病人住院首页。如果病人是首次住院,分配一个新的住院号;如果病人不是首次住院,系统通过检索病案管理系统,查找到病人所拥有的住院号,在此住院号下新建一份病案,并自动生成病案首页的相关内容。

2.7 住院费用管理系统

“住院费用管理系统”功能模块用于完成住院病人的费用和预收款的记录和监管,病人预收金的催缴,病人出院的费用清算及收据处理,包含的子功能模块如图6.11所示。

图6.11 “住院费用管理系统”功能模块

2.8 住院医生工作站

“住院医生工作站”功能模块用于完成住院部医生病历基本指标的填写,病情和病史的记载,医嘱的开立、实施,以及相关辅助功能。该功能模块实现医生病历收发和医嘱作业的数字化,包含的子功能模块类似于“门诊医生工作站”。

2.9 药房管理系统

“药房管理系统”功能模块用于管理医院药房的采购、入库及出库等业务,包含的子功能模块如图6.12所示。

图6.12 “药房管理系统”功能模块

2.10 病案病历管理系统

“病历”作为医院对患者进行诊疗全过程的完整记录,具有十分重要的作用,国家法律对医院病历的记录、保存等都有严格的要求,当发生医疗纠纷时,病历是调节纠纷的重要依

据。

电子病历有两层含义,核心的含义是“病历”,而“电子”只是一个限定词,说明它的手段、过程与物质形式。因此,电子病历至少应达到以下几个要求:

● 能够准确地按时间序列真实反映患者自入院到出院期间的医疗与护理过程。 ● 可操作性与易操作性。

● 有利于提高医疗质量,促进医务人员掌握相应的知识,提高医疗文书的质量。 ● 能达到作为法律依据所要求的安全性。

● 能达到保护患者个人隐私的安全性要求。

● 信息的记录、传输、保存均以电子数据的形式,而从本质上区别于传统的物质形式(纸张、胶片等) 。

● 输入后的数据不得修改,任何操作都应留有痕迹。

尤其是最后一条,因为电子数据不像纸张数据,如果系统存在漏洞,数据可以随意更改,则电子病历就失去了其存在的意义。

2.11 院长综合查询系统

“院长综合查询系统”功能模块用于从医院信息系统中加工处理出有关医院管理的医、教、研和人、财、物分析决策信息,以便为院长及各级管理者决策提供依据。

2.12 外部数据接口

医院管理信息系统的数据不是孤立的,需要和外部很多系统进行数据对接,例如,医保、社区卫生服务、远程医疗服务等都需要医院提供相应的信息。

“医疗保险数据接口”主要完成医院信息系统与医保部门进行信息交换的功能,包括下载、

上传、处理医保病人在医院中发生的各种与医疗保险有关的费用,并做到及时结算。

“社区卫生服务数据接口”主要用于跟踪病人,提高出院后服务质量,为社区病人转上级医院提供快速、方便的服务,以及为各种医疗统计分析提供基础数据。

“远程医疗服务数据接口”主要用于保证远程医疗咨询系统所需的信息能及时、迅速的从医院信息系统中直接产生并读取,最大限度地避免信息的二次录入,使对方医院能够调阅原始的没有因各种处理带来误差的真实数据与信息。

根据以上需求分析,一个基本的医院管理系统数据库中大致包括80多张表,分别存放相应子功能的数据信息,其中“药品资料”、“病人资料”、“科室资料”等表都是系统的关键表,其他表与这些关键表间的关系是N:1的关系。

3.1 医院管理系统E-R 图

因为整个系统涉及的实体和属性较多,限于篇幅不能也没有必要一一列举。图6.13为医院管理系统关键实体的E-R 图。

图6.13 医院管理系统E-R 图

其他实体与基本信息表间的对应关系都是类似的,同时随书光盘“建库脚本\医院管理系统.sql ”文件提供了创建数据库所有表的脚本,被省略的实体对象和实体属性用户完全可以参考这些脚本,也可以按照第5章中提供的方法使用Microsoft Visio 2002自动生成全部实体和属性的E-R 图。

3.2 医院管理系统表清单

附书光盘“建库脚本\医院管理系统.sql ”文件提供了创建数据库所有表的脚本,下面仅列出一些重要表的名称及其用途供参考,如表6.1所示。其中每张表所包含的字段用户可以自己查看建库脚本和前面的需求分析。

表6.1 医院管理系统表清单

续表

基于以上需求分析和数据库分析,用户对一个标准的医院管理系统应该有了一个全面的认识。下面将用实例说明如何利用PowerBuilder 完成系统的开发。

4.1 实例功能

由于篇幅有限,本实例将详细介绍如图6.14所示功能的开发过程,并简化其中各功能所包含的属性,其他功能用户完全可以参照这些功能的开发方法完成开发。

需要强调的是,由于用户登录和权限管理的功能各个系统实现的方法是一致的,这里就不再详细介绍,具体实现方法参看第1章。

图6.14 详细介绍的功能模块

4.2 系统流程图

系统流程图如图6.15所示。

图6.15 系统流程图

根据实例介绍,“药品资料”和“门诊收费项目”表是系统关键的表,其他各表均与之通过“编号”字段相对应进行多对一的关联。系统共需要10张表,用途分别如表6.2所示。

表6.2 系统表及其用途

5.1 创建数据库

打开SQL Server企业管理器,新建一个数据库,名称为hisbook 。利用光盘中的脚本代

码文件“建库脚本\医院管理系统实例程序.sql ”创建数据库对象,完成数据库的设计。也可以利用“建库脚本\hisbook.bak”文件直接恢复数据库,这样数据库中存在初始的药品、收费项目等信息。

后面几小节将列出几个重点表的建库脚本,其他表的脚本参考光盘的脚本文件。

5.2 创建“药品资料”表

创建““药品资料”表的SQL 脚本如下:

CREATE TABLE [dbo].[药品资料] (

[编号] [varchar] (20) NOT NULL ,

[名称] [varchar] (150) NULL ,

[规格] [varchar] (100) NULL ,

[整量单位] [varchar] (50) NULL ,

[散量单位] [varchar] (50) NULL ,

[入库单价] [decimal](12, 2) NULL ,

[出库单价] [decimal](12, 2) NULL ,

[批发价] [decimal](12, 2) NULL ,

[整散比] [decimal](12, 2) NULL ,

[分类] [varchar] (100) NULL ,

[费用归类] [varchar] (100) NULL ,

[拼音码] [varchar] (50) NULL ,

[效期] [int] NULL ,

[上限] [decimal](12, 2) NULL ,

[下限] [decimal](12, 2) NULL

) ON [PRIMARY]

GO

5.3 创建“病人信息库”表

创建“病人信息库”表的SQL 脚本如下:

CREATE TABLE [dbo].[病人信息库] (

[编号] [varchar] (15) NOT NULL primary key,

[姓名] [varchar] (30) NULL ,

[性别] [varchar] (2) NULL ,

[年龄] [int]NULL ,

[民族] [varchar] (20) NULL ,

[费用类型] [varchar] (20) NULL ,

[电话] [varchar] (15) NULL ,

[拼音码] [varchar] (5) NULL

) ON [PRIMARY]

GO 5.4 创建“门诊挂号”表

创建“门诊挂号”表的SQL 脚本如下:

CREATE TABLE [dbo].[门诊挂号] (

[编号] [varchar] (15) NOT NULL ,

[病人编号] [varchar] (15) NULL ,

[姓名] [varchar] (30) NULL ,

[性别] [varchar] (2) NULL ,

[挂号科室] [varchar] (30) NULL ,

[费用类型] [varchar] (30) NULL ,

[挂号类型] [varchar] (30) NULL ,

[挂号费用] [decimal](12, 2) NULL ,

[医生] [varchar] (30) NULL ,

[时间] [datetime] NULL,

[是否已划价] [varchar] (2) default '否'

) ON [PRIMARY]

GO 5.5 创建“门诊划价”和“门诊划价明细”表

创建“门诊划价”表的SQL 脚本如下:

CREATE TABLE [dbo].[门诊划价] (

[编号] [varchar] (15) NOT NULL ,

[科室] [varchar] (30) NULL ,

[挂号编号] [varchar] (15) NULL ,

[医生] [varchar] (10) NULL ,

[划价时间] [datetime] NOT NULL ,

[划价员] [varchar] (10) NULL ,

[是否收费] [varchar] (2) NULL ,

[收费员] [varchar] (10) NULL ,

[收费时间] [datetime] NULL ,

[划价金额] [money] NOT NULL ,

[是否发药] [varchar] (2) NULL ,

[发药时间] [datetime] NULL ,

[发药员] [varchar] (10) NULL

) ON [PRIMARY]

GO

创建“门诊划价明细“表的SQL 脚本如下:

CREATE TABLE [dbo].[门诊划价明细] (

[编号] [int] IDENTITY (1, 1) NOT NULL ,

[划价编号] [varchar] (15) NOT NULL ,

[药品编号] [varchar] (15) NOT NULL ,

[单价] [decimal](12, 2) NULL ,

[数量] [decimal](12, 2) NULL ,

[金额] [decimal](12, 2) NULL

) ON [PRIMARY]

GO

5.6 创建其他关键表

以下是其他关键表的创建脚本,剩余表可以参看附书光盘。

CREATE TABLE [dbo].[门诊挂号类型] (

[编号] [int] IDENTITY (1, 1) NOT NULL ,

[挂号类型] [varchar] (50) NOT NULL ,

[挂号费] [decimal](12, 2) NOT NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[门诊收费项目] (

[编号] [varchar] (20) NOT NULL ,

[名称] [varchar] (100) NULL ,

[拼音码] [varchar] (100) NULL ,

[费用] [decimal](12, 2) NULL ,

[费用分类] [varchar] (100) NULL ,

[病种分类] [varchar] (100) NULL ,

[备注] [varchar] (100) NULL

) ON [PRIMARY]

GO

5.7 创建主键及外键等表约束

在查询分析器中通过如下代码创建表的主键及外键等表约束。

--主键、外键关联字段

ALTER TABLE [dbo].[药品库存] WITH NOCHECK ADD

CONSTRAINT [PK_药品库存] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[药品资料] WITH NOCHECK ADD

CONSTRAINT [PK_药品资料] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[门诊划价] WITH NOCHECK ADD

CONSTRAINT [PK_门诊划价] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[门诊划价明细] WITH NOCHECK ADD

CONSTRAINT [PK_门诊划价明细] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[门诊挂号] WITH NOCHECK ADD

CONSTRAINT [PK_门诊挂号] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[门诊挂号类型] WITH NOCHECK ADD

CONSTRAINT [PK_门诊挂号类型] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[门诊收费项目] WITH NOCHECK ADD

CONSTRAINT [PK_门诊收费项目] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[药品库存] ADD

CONSTRAINT [FK_药品库存_药品资料] FOREIGN KEY

(

) REFERENCES [dbo].[药品资料] (

[编号]

)

GO

ALTER TABLE [dbo].[门诊划价明细] ADD

CONSTRAINT [FK_门诊划价明细_门诊划价] FOREIGN KEY

(

[划价编号]

) REFERENCES [dbo].[门诊划价] (

[编号]

)

GO

ALTER TABLE [dbo].[门诊挂号] ADD

CONSTRAINT [FK_门诊挂号_门诊挂号类型] FOREIGN KEY

(

) REFERENCES [dbo].[门诊挂号类型] (

[编号]

)

GO

-------------------------------------------

--其他外键、主键等约束参看附书光盘中的脚本。

5.8 创建相关视图

在查询分析器中通过如下代码创建“v 收费项目及药品”视图,该视图对“药品资料”和“门诊收费项目”两张表的数据进行合并操作,从而在划价时实现两张表同时查询的功能。

create view v收费项目及药品

as

select 编号, 名称, 规格, 整量单位 as 单位, 出库单价 as 单价, 拼音码 from 药品资料 union

select 编号, 名称, 费用分类 as 规格, 病种分类 as 单位, 费用 as 单价, 拼音码

from 门诊收费项目

GO

5.9 创建存储过程

系统使用了“sf_药品发出”一个存储过程,实现划价收费后药房发出药品,减少库存的功能。具体计算方法在下面的脚本中有详细的注释,用户可以参考这些注释。

create proc sf_药品发出 @id varchar(15)

as

begin tran

--划价收费后药房发货

update 门诊划价 set 是否发药='是', 发药员='王五', 发药时间=getdate()

where 编号=@id

--减少库存, 演示程序, 直接减少' 西药房' 的库存

--实际应用, 应该根据药房减

update 药品库存 set 药品数量=药品数量-b. 数量 from

药品库存 as a,门诊划价明细 as b where a.药品编号=b.药品编号

and 库房='西药房' --这里应该替换为实际的组别

and 划价编号=@id commit

GO


相关内容

  • 医院门急诊信息管理系统概要设计说明书
  • 医院门急诊信息管理系统 概要设计说明书 拟 制 人______ _________ 审 核 人______________________ 批 准 人______________________ [二O 一三年十月十七日] 1引言 .................................. ...

  • 护理管理学选择题汇总(人卫第三版)
  • 护理管理学选择题 第一章:绪论 一.单选题: C 1.组织职能的主要内容包括( ) A.计划与总结.人员配备.规划与变动.授权 B.结构设计.计划与总结.规划与变动.授权 D.结构设计.人员配备.计 划与总结.授权 B 2.领导工作是一种行为活动,领导工作成功的关键在于( ) A.精打细算.善于沟通 ...

  • 关于医院建筑设计中的总体布局
  • 关于医院建筑设计中的总体布局 于建军 华润(大连)有限公司辽宁大连市116001 摘要:医疗建筑设计的总体规划以及设计内容和设计功能要求比较复杂,现阶段,医疗设备技术更新速度比较快,变化比较多,创造适应社会发展的新型医院建筑模式是建筑师面临的新课题.本文就医院建筑在总体规划设计阶段的步骤.类型.特点 ...

  • 健康教育与促进
  • <健康教育与健康促进>单选题第一章1.下列属于健康的社会决定因素的是 C C.经济条件2.健康促进的基本策略不包括 E E.社会行动3.在健康促进产出模式下,健康教育活动的直接产出是 AA.健康素养4.健康促进的核心策略为 B B.社会动员 5.在现代社会中,影响人类健康最重要的因素是 ...

  • 关于公立医院改革试点的指导意见201002
  • 关于公立医院改革试点的指导意见(全文) 二〇一〇年二月十一日 为贯彻<中共中央 国务院关于深化医药卫生体制改革的意见>(中发[2009]6号)和国务院<医药卫生体制改革近期重点实施方案(2009-2011年)>(国发[2009]12号),指导各地切实做好公立医院改革试点工作, ...

  • 五部门关于印发公立医院改革试点指导意见的通知
  • 关于印发公立医院改革试点指导意见的通知 卫医管发[2010]20号 各省.自治区.直辖市人民政府,新疆生产建设兵团: 卫生部.中央编办.国家发展改革委.财政部和人力资源社会保障部制定的<关于公立医院改革试点的指导意见>,已经国务院同意,现印发你们,请结合本地实际认真贯彻落实.各地在试点过 ...

  • 公立医院改革实施方案
  • 篇一:公立医院改革实施方案 一.改革的思路和目标 (一)总体思路 以"推进发展,提高效率,减轻负担,促进健康"为总体原则,紧抓医保资金总额预付制试点改革契机,围绕医院总体工作思路,力争在公立医院改革领域取得新突破,以改革促发展.惠民生,努力让医院发展更具活力,患者就医更放心.更安 ...

  • 中药上市后再评价的临床定位与若干思考_王昕
  • ·学术探讨· 中药上市后再评价的临床定位与若干思考 1,2113*3 王昕,苏霞,于杰,谢雁鸣,王永炎 (1. 北京博诺威医药科技发展有限公司,北京100024:2. 中国中医科学院博士后流动站,北京100700:3. 中国中医科学院中医临床基础医学研究所,北京100700) [摘要]药物上市后再评 ...

  • 护理质量指标的相关概念与应用
  • ㊀·91· ·继续教育园地· 护理质量指标的相关概念与应用 施㊀雁 (同济大学附属第十人民医院,上海㊀200072) 关键词:护理质量:指标:概念:应用 中图分类号:R47㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1009-8399(2015)01-0091-04㊀㊀质量是医院管理的第一要素,护士与患者接 ...