医院信息化建设历程(4)面向管理的全院级应用阶段
20世纪末和21世纪初,随着计算机硬件和软件技术的逐步成熟,普及并广泛采用了以交换机为核心的星型以太网架构、以Windows为代表的图形界面操作系统、以MSSQL为代表的各种大型关系数据库、以PowerBuilder为代表的C/S架构数据库应用软件开发工具,加上对医院信息化认识的逐步到位,医院信息化化建设从局部应用向全院级应用发展。这一阶段的主要特征体现在:局部应用向全院级多系统应用发展、以收费管理为核心的数据融合、围绕收费的简单临床应用。尽管这一阶段的信息化建设和应用已经逐步覆盖医院大部分业务部门,但针对临床医疗服务的应用仍然较少,主要应用仍然是面向收费和物资管理,所以我们称这一阶段为面向管理的全院级应用阶段。
这一阶段所使用的全院级医院信息化管理系统,也就是我们常称的医院管理信息系统(Hospital Information System,HIS)。从广义上理解,任何在医院使用的信息系统都应该属于HIS范畴,包括临床信息系统(Clinical Information System,CIS)、科研大数据、运营大数据、客户大数据。从狭义上理解,HIS单指面向医院内部管理,尤其是收费和物资管理为主的信息系统。这与该阶段的发展历史有关,在当时HIS提供的主要功能是针对院内的收费和物资管理,为临床医疗服务提供的信息服务非常少,以至于形成了我们现在的习惯性称呼,把HIS理解为单纯的为管理服务的信息系统,而把为临床医疗服务的信息系统称为CIS。
这一阶段的HIS围绕收费管理和物资管理,迅速扩展出众多子系统,除传统的门(急)诊挂号和收费、住院管理和收费、药库药房管理外,在物资及材料管理、设备管理、供应室管理、医生工作站(门诊和住院)、护士工作站(门诊和住院)、医技管理等方面开发出众多子系统,围绕收费和物资管理工作开展信息化服务。2002年4月当时的卫生部印发了《医院信息系统基本功能规范》,对医院信息系统的功能进行了初步界定,一个典型的HIS功能结构如下图:
在这一个阶段还有一个很重要的因素,就是随着基本医疗保险的普及,医保实时结算向医院开放,越来越多的患者需要进行医保刷卡实时结算,而医保实时结算对医院的信息化提出了更高要求,尤其是没有开展医院信息化建设的医院在这样的环境下,立刻面临患者流失的风险。从某种意义上讲,这个阶段医保信息化发展推动了医疗信息化的发展。
这个阶段应用了大量子系统,由于每个子系统不一定是同一家公司的产品,即便是同一家公司产品,不同子系统也可能采用了独立的数据库,只有在以收费为核心业务的子系统相互之间数据融合较好,业务相差较大的子系统之间,数据融合并不完善,甚至出现了不少信息孤岛。比如门诊收费与门诊医生工作站往往数据融合较好,但是与体检系统、制剂室管理等其他子系统就可能没有进行数据融合和信息互联互通。从而形成了这个阶段的一个应用特色,就是全院级网络连通,众多子系统几乎覆盖了院内各个科室,主要围绕院内收费管理和物资管理,但是存在多个子系统之间数据不融合,信息不能互联互通的现象。
这个阶段由于采用了以交换机为核心的网络技术,从最初的总线型网络拓扑结构向星型网络拓扑结构转变,无论是网络的稳定性还是网络传输速率都有很大的提升。在硬件设备上,客户端基本上采用了PC机,服务器普遍采用PC服务器,有条件的医院采用小型机作为数据库服务器。网络拓扑图如下:
由于众多子系统需要采用独立数据库服务,所以医院在硬件设备上增加了大量的服务器用于安装数据库管理系统,一方面增加了建设成本,同时带来的巨大的维护成本。不同公司的不同子系统,运行环境、维护方式不同,导致整个全院级系统运行需要不同公司协同,需要医院系统管理员熟悉各个子系统的安装和维护,对医院系统管理员的技术要求也较高。
由于在软件架构上由于采用C/S模式,使得客户端的维护量增加,每台客户端PC都需要进行数据库客户端程序安装、应用软件安装和升级,如果一个客户端需要应用多个子系统,可能还面临多个子系统的软件安装和升级。另外还涉及安全管理,包括安装杀毒软件、打印机驱动、医保接口安装等等,客户端的安装、升级和维护又成了系统管理员日常工作中最繁忙的一项事务。
随着以MSSQL为代表的大型关系数据库的应用普及,包括SYBASE、Informix、Oracle、DB2等关系数据库都在医院信息系统中出现过,甚至个别公司还采用了面向对象数据库,不过不是主流而已。数据库服务也经历了从单一节点到多节点的发展过程,在这个期间数据库服务的节点与节点之间信息交换较少,每个数据库服务节点为一个特定的子系统或多个子系统提供数据服务。
在这个阶段客户服务模式(C/S)的软件架构是主流,不同公司在处理业务逻辑时采用了不同对策,有些公司将业务逻辑封装到数据库的服务中,比如数据库的存储过程,有些公司将业务逻辑封装在客户端程序中,这种情况下我们往往称之为胖客户端。无论哪种方式,都是客户端程序直接连接到数据库服务器进行数据管理。这个阶段C/S软件开发工具主要集中在微软公司的VB、SYBASE公司的PowerBuilder、Borland公司的Delphi(开发语言为Pascal),后来随着微软公司重点推广.NET后,也有不少公司技术转型到基于C#的.NET开发环境。
无论哪种开发语言和开发工具,在软件开发模式上仍然以模块化+瀑布式开发为主,也有部分公司采用面向对象(OOP)+瀑布式开发的。随着医院对信息化需求越来越高,客户的需求变化也越来越频繁,不同医院由于业务开展的差异性,对同一个软件的功能需求也有不同变化和个性化要求,导致软件开发工作量越来越大,很多公司在面对这种情况采取了不同策略。有些公司将软件开发工作放到了项目上,以项目组为单位组织软件开发工作。这种模式下,一般以公司内的某个时期的版本为基础,项目经理带领项目成员在现场根据客户具体需求进行代码整改,这种模式的优点是客户需求的响应非常好,客户满意度比较高,缺点是对项目经理和成员依赖较大,对软件代码的版本管控力度差。经常出现项目经理一旦离职,程序源代码就失控,后续接任者往往不知道如何下手,可能软件越改越乱,质量越来越差,客户满意度反而下降。另外有些公司采取了集中开发模式,即公司产品集中在研发中心开发,项目组只负责现场实施,不能修改代码。这种模式规避了项目模式中的众多缺陷,软件质量控制得也比较好,但是客户需求的响应速度较慢。两种模式各有优缺点。