案例研究:北京市西城区卫生局如何应用SOA
朱树宏(北京市西城区卫生局信息规划处主任):我先简单的介绍一下西城区项目的背景,这个项目早上的时候也简单的介绍过,有的人说没有听懂。我们当初启动这个项目的动机是因为公共卫生引起的。这个项目名称有好几个,因为这个是一个应急系统的延伸产物,然后北京市有三横一竖的规划,最后有一个医改推动,所以我们开始做社区卫生项目。按照原来的规划,只是把社区卫生做起来就可以了,医院做医院,系统做系统,本来是没有必然关系的。从我兼任信息中心主任,到今年信息化的规划来说原来整体的规划都发生了变化。到6月份的时候,正好和IBM这边接触,因为以前更多的是接触IBM的产品,比如说我要买他的服务器。然后和IBM谈架构,但是其中我们仅仅是想卫生局的系统规划的时候用一个统一架构去做。后来发现这个问题最简单,最复杂的问题是两个方面,第一个是社区卫生信息系统有问题,医院的系统非常的可怕,非常的大,都是各家厂家自己做的。而且这些数据系统都是从原来医院系统改过来的。像小的社区中心我们西城区就达到了18个系统,包括我们自己还有独立做网站的,集控的一堆系统。再加上计生上线,因为他是孕龄妇女的保健,还有残保健,还有跟财政之间有结算,所以这样等于说我们的这个系统就变成一个否认冗余庞大的系统。所以只好请IBM开始规划系统,因为这个原因谈起了SOA的问题。
我们对SOA的理解和很多人不一样,我们是从应用开始向后推的。也就是应用的相对独立性和他们之间的关系,倒过来推应用服务的构建,最后到系统。到目前为止,他的系统可能是全国少有家区域医疗做的最多的,他的名字叫区域协作系统。这部分包括这方面,一个是医院信息化,这是医院自己的事情,基本医疗包括。还有社区信息化,还有中间公共卫生的信息化。整体来说这就是背景。从目标来说,西城区年底前,我们还将开一个发布会,我们是最先做成健康档案数据中心和存储中心的,而且把会诊、预约挂号、门诊等等都做到系统上了。我们要求11家三甲医院全部进入系统,这是多对多的,这就迫使卫生局必须要出面解决这个问题。我们和IBM这边的联系也越来越紧密,因为我们从底层开始都是和他们合作。
我们一方面需要一个健壮的架构,因为我们本身需求就有一个成熟度的问题。第二,我们的服务肯定是分部上线的,其实大家做IT最后不谈IT就是因为都是业务限制了部门的进展。另一方面,因为政府有一个特点,他在立项到项目实施要变化很多次,因为我们以前客户理解不同,当你有第一个产品出来之后,反而变成原型成为改进下一个系统的依据。这也迫使我们不得不用SOA的架构来解决这个问题。一个是我们系统的成熟度,我们可以逐步健壮的走。第二,开发商和我们的应用之间可以配合起来。第三,确实很多的系统我们是无法替代的。我们归纳了三种,一种是我们只能把他封装相对独立的放到系统中来,第二他现在系统很成熟,但是他的架构有问题,我们现在是消化吸收了。第三个部分是原来的需求是没有的,我们要新建系统。我们把我们的应用服务分为三类,这样也迫使我们不能不用SOA来走。我们和IBM合作以后,我们也感受到了SOA的好处。因为大家以前对SOA有很多的理解,大家认为这是底层的架构。但是我们真正做了以后,其实SOA还是从用户这一方谈起,真正从服务的成熟度来反过来反映我们的SOA成熟度,这样我们拿这个架构就有意义了。
你们要了解了这些背景以后,你们就了解作为区域医疗推动来讲,一方面是从SOA架构,另一方面SOA的服务来说,要从多个方面,一个是体制,这是最根本的。第二是用户对自己服务的理解,是不是真正按照SOA的架构做处理。第三,需要有一个大的公司(像IBM这样的公司)帮助你把底层的架构做好。因为可能底层集成到平台以后可能会出现其他的问题。
记者:我这里有两个问题,第一,同一个区在做不同的职能部分进行横向整合比较容易,但是不同级别的纵向整合比较难,在上海可能卫生局要做不同区架构整合的时候,他们会找不同区的卫生局来,他们各自有各自的系统和各个区统一,我们这个做下来之后,对我们将来进行纵向整合,比如说和北京其他区进行联动和信息共享的时候是不是有一些帮助,或者说到时候整个北京卫生系统进行信息共享的时候会不会有问题。第二,你刚刚说到公共卫生医疗的信息化是从HIS系统做起来的,目前这个连具体的标准都没有,这个是怎么解决的?
朱树宏:我说一下个人的观点,可能和你相反,纵向是容易的,横向是难的。比如说我和计生局打交道是比较难的,因为他有自己的系统。而纵向是比较容易的。我个人理解,整个系统的成功指挥在区县这个层面,在市级局面是不能完成的。另外说到这样一个标准的问题,其实我们要SOA这样的东西,你不管是讲不讲SOA,你都是按照SOA的思路在做。因为在标准这个问题上来说,我们可以这样讲,在美国差不多这方面有50个标准左右,包括法律整理。HIS主要做的工作是做交换,其实有没有都应该定义双方的交换,为什么在西城区范围内做的原因是西城区没有再下一级了,而且医院本身是属地管理,他是唯独有可能在地方财政的帮助下完成这个事情,而且是有帮助的。而市一级的卫生局来说,他需要统计和指导。我觉得标准方面我的建议是你把国际标准拿过来用,你可以做本地化,因为一定要做本地化,像中医就缺,像国内的很多特色你要做。这就涉及到开发商的态度,因为IBM提供的思路是值得我们借鉴的,我把我的平台和数据的模板切开,我可以不停的按照版本来转换我的协议。无论怎么样定义,只要保证保准同样就可以了。其实我们更多像发电报一样,更多的修改我的密码本,而不是更多的修改我们的密码机。假如说我可以把我的交换标准做到这一层的话,其实你有没有国际标准,有没有国内标准是没有意义的。而事实上从我们目前西城的做法来看,,我只要觉得不完善我就重新发布一个新标准,我的系统和平台并不需要做开发。在SOA中我的服务可以任意被替换,这个替换的理由是我的成熟度。他的服务和关联服务之间的关系也是通过底层完成的,就不用说我的服务被修改以后要修改我的底层。我觉得SOA一方面让我们摆脱了标准对我们的干扰,第二是摆脱了我们的关联服务之间的关系。
记者:我们临时的标准是卫生局统一的吗?
朱树宏:对,等于是在国际标准之上发布一个区域适用的标准。因为你的应用很窄,反而更有意义。这样可以保证你的解决都有效,这样也节省成本,避免标准的干扰。
记者:我知道北京120有一个北京市的应急指挥系统,包括消防和医疗系统都有一些对接,消防那边也有他的大的指挥中心,这些中指挥中心的建立都很久了,你在规划西城区整体架构的时候,会不会首先原有的其他单位的影响。
朱树宏:比如说我现在有一套架构,无论他先进还是不先进。第一个是要通报事情本身,第二是了解事件的要件。其实那时候我们是不同的分工,你的系统跟踪他就行,而回到医院是医院内部的问题了。我们在做系统的时候都替对方想了太多问题,我们认为合作系统中,更多的应该是自扫门前雪。我们和120现在的传输很简单,一个是我通报事情,第二是告诉你要件信息,第三告诉你信息的刷新速度。我把我的数据给他就可以了,我把我的网站对你开放,你直接用就可以了。因为你只要把你的任务给对方,要求给对方,对方把结果给你就可以了。我们在系统之间联动的时候,我们做到消息的同步就可以了,这个消息的同步可以手工录入,转过来也可以。最后才是系统联动的层面。我们建议,在做这个系统的时候,就做两个接口,一个是服务的网关接口,一个是信息的网关接口。
记者:我们现在的做了IBM说的第几个阶段了呢?
朱树宏:其实从建设来说,我们现在已经完全做到了是标准化服务了。因为我们现在数据库之间的复制还没有做成,所以只能说达到了第三个阶段。
记者:我们其实还是像区域性的孤岛,我们在做双向转诊的时候还是要通过人工的方式来做的。
朱树宏:不是,假如说东城没有,但是我们的服务完全是开放的,就像读PDF文件一样,我们可以给你阅读器,而且完全可以做修改。我们做的是区域和区域之间的路由。而其实医疗中跨区医疗是很少的。因为这几家医院是固定的,这种专业医院的系统我们提供一个特别的系统,你可以在我的系统上完成所有调的权限。你得允许对方在我的系统上操作,但是前提条件是我的病人条码在你那里。你通过条码通过一个隐私的控制,你调到所有的文档。所以这样孤岛就不存在了。
记者:作为最终用户的您,您如何看IBM提出的智能SOA和其他供应商提出的普通SOA的区别。
朱树宏:其实智能SOA是迟早要提出来的概念。因为服务的概念是应用,从用户来说一定是有一个系统,系统可能是某一个独立的操作,也可能是服务的组合,但是他一定有一个的边界。所谓的智能SOA,我做的高级一点,适应的群体多一些,我的边界更加的清晰一些。其实到最后落到最后还是Smart Client,我觉得智能SOA是一个系统的东西。我对IBM智能SOA的理解是,我觉得我们的SOA正在朝向成熟的方向走,我们更多向成本和适用性的方向去考虑才是有意义,而且我们也是这么做的。就像我们做HIS一样,为什么很难做?就是因为他所谓的时效性是有关的。其实这还是被应用给逼的,作为厂商来说,更多是我的应用需求有了之后,可以提供同等级的服务。我们要让他更健壮,更灵活,更智能,包括真正的服务。我个人觉得用户要自身考虑自身的成熟度,以及系统开发商的成熟度,因为IBM提供给我们更多的是两个东西,一个是工具,一个是理念,第三更多是案例的参考。
记者:您觉得从IBM第一层到最后一层的过程是非常完善的吗?
朱树宏:我觉得从IBM本身来说没有问题。而对于我们医疗行业来说,除非是我们医改成功了。我觉得对行业来说,要看成熟度。因为医疗行业是新兴的行业,而且他本来信息化程度是比较薄弱的,因为以前都是小的提供商来提供的。第一他没有好的数据库,第二他的经验不足以支撑他的产品成熟度。这是我们相对来说的另外一个问题。第三,从卫生行业本身来说,他涉及到政治,涉及到国民生产总值,实际上从一定程度上来说,我们是永远做不到的。我觉得IBM的对更多的相对稳定的行业来说是可以完善的。我觉得我们只能是无限接近,也许某一类的服务做到接近百分之百,但是有很多的服务,如果按照绝对的百分比来说我们永远达不到,但是从某一类的应用来说,我还是可以做到的。
记者:两位站在供应商和用户的角度上,能不能阐述一下,IBM在实施SOA的过程中,是否考虑实施成本的问题?IBM是如何帮助客户减少他们的成本的?
朱树宏:从成本来说,我作为信息中心的规划和主管部门来说,如果我们真正的冷静去思考冷静的去做的话,成本是最低的。对于厂商来说,只有一个成本,就是我在购买SOA平台的时候,我的成本是上来的,比如说以前我没有中间件,而现在我因为架构的需要,我在硬件和软件的一次性投入上来说我需要有一个成本的增加。但是你要看你放在时间段来看,我觉得总体成本来说,我后买要比先买成本更高,因为我每上一个产品,其他的产品是要被替代的,而这个产品会要被成熟产品所替代的。因为工具用的不成熟只能是妨碍而不是积累。我觉得用两个同样的产品来说,如果目标一致的话,我一定会用成熟度高的。我觉得这是两种不同的思维来看待这个东西。