工作流技术在医疗卫生行业的应用(一)
---- 工作流技术介绍
1. 工作流的概念
1.1. 定义
这里引用WFMC(Workflow Management Coalition)的定义:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。
其他还有各种不同组织从不同角度进行的定义。
工作流管理信息系统(WFMC的定义)是一个软件系统,它完成工作流的定义和管理,并按照在计算机预先定义好的工作流逻辑推进工作流实例的执行。
需要注意的要点如下:
1) 工作流管理信息系统之于业务流程,如同数据库管理系统之于数据存储。将业务流程的处理独立于业务层面的具体逻辑,形成流程处理操作系统;
2) 工作流技术首先在办公自动化中广泛应用,并逐渐发展到其他方面,例如,常见的群件系统(MS Exchange\Lotus Notes Domino)都有流程定制、自动执行方面的内容,这些系统都强调的是如何接口其他系统,但是如果在具体的业务系统中内嵌工作流的引擎或核心,则可以产生更加强大、自动灵活化的功能;
3) 工作流技术在中国越来越多的受到关注,是CSDN总结的2004年的十大热门技术之一。各种开源不开源的工作流系统近年来出现不少。
1.2. 相关理论
1、 FSM(Finite State Automaton Machine),有限状态自动机
有限状态自动机的描述,在大学本科的书本中有介绍,以下引用问题形式的例子。
前提:使用FSM描述从学校开车到家里的决策过程
图示:
上图可以用下表表示之:
输入
状态 启动 绿灯 红灯 到家
停车 开车
开车 开车 剎车 停车
剎车 开车 剎车
? 有限状态集合(a finite set of states) = {停车, 开车, 剎车}
? 有限输入集合(a finite set of permissible input symbols) = {启动, 红灯, 绿灯, 到家}
? 上表为「状态转换规则」(state transition function)
? 起始状态(initial state)及最终状态(final state)均为停车(必为「有限状态集合」之元素)。
2、 UML1.x活动图
活动图适于工作流程建模,它相对于状态图的一个最大的优点是容易做并发线程的分叉控制,这些并发线程可以同时执行也可以顺序执行;它还有一个优点是有泳道的概念,可以控制工作流引擎中的任务的产生。
例如:XPDL的两个最重要的概念是Process和Activity。XPDL中的Activity是基于UML1.x中的活动图的概念。
UML活动图是状态图的一种扩展形式,它展示出对象执行某种行为时或者在业务过程中所要精力的步骤和判定点。每个步骤(活动)用一个圆角矩形(比状态图更扁更圆)表示,菱形图标代表判定点。它很像程序设计课中学到的流程图。UML活动图可用于表达一个对象的操作和一个业务过程。活动图与状态图的主要区别是,状态图图出显示的是状态,而活动图突出显示的是活动。
3、 UML2.0活动图与状态图
UML2.0的活动图中,节点不叫活动(Activity)而叫动作(action),活动成了一个高层次的概念,它包含一个动作序列。一个活动图展现一系列的动作,这些动作组成了活动。
4、 Petri网
Petri网是一种适合于描述异步并发现象的系统模型,它既有严格的数学定义,又有直观的图形表示,既有丰富的系统描述手段和系统。具体参看《Petri网原理》或《Petri网的行为理论及其应用》。
2. 工作流的相关规范/标准
2.1. 规范列表
技术类别 名称 组织 说明
纯XML技术 XPDL(Xml Process Definition Language) WFMC 大部分工作流系统支持WFMC规范
BPML(Business Process Model Language) BPMI
WMF(Workflow Management Facility) OMG 扩展Corba
WEB服务技术 WSCI BEA,Intalio,SAP,Sun四家公司提出
ebXML
BPEL4WS
其他 没有规范的独立实现
2.2. XPDL
具体参见《工作流管理联盟工作流标准》。
WFMC是由多家公司联合成立的国际标准组织,其目的是通过制定工作流技术及其标准,提高不同工作流产品之间的连通性和协同工作能力。通过使用标准可以使不同的产品之间协同工作,也可以改善工作流产品与其他IT服务(电子邮件、文档管理)之间的集成。
系统的核心部分是工作流引擎,引擎是驱动流程流动的主要部件,它负责解释工作流流程定义,创建并初始化流程实例,控制流程流动的路径,记录流程运行状态,挂起或唤醒流程,终止正在运行的流程,与其他引擎之间通讯等等工作。WfMC没有针对引擎的实现提供具体的标准,因为对引擎做过多的约束并没有多大的现实意义。
一个工作流管理系统可以包含一个或多个引擎,并通过API向外部提供五个方面的功能服务,这些功能分别为:
? 接口1-流程定义的导入导出
? 接口2-同客户端应用程序和工作列表处理程序之间的交互
? 接口3-软件工具和应用程序的调用
? 接口4-不同工作流管理系统之间的协同工作
? 接口5-管理和监视功能
通过这五个接口,工作流管理系统可以同外部的软件工具进行交互,这些工具可以由同一厂商提供,也可以由不同的厂商提供,但前提是这些工具都必须遵循WfMC的规范。用户也可以有充分的选择空间来决定哪一厂商的产品,或者自己开发属于哪一个接口的工具。
(http://www.wfmc.org/standards/model.htm)
2.3. BPEL4WS
参见:http://www.huihoo.org/openweb/bpel4ws1.0/index.shtml.htm
BPEL4WS即Web 服务的业务流程执行语言(Business Process Execution Language for Web Services)。
系统集成需要的不仅仅是通过使用标准协议来进行简单交互的能力。仅当应用程序和业务流程能够通过使用标准流程集成模型来集成复杂的交互时才能发挥 Web 服务作为集成平台的全部潜力。所以,BPEL4WS定义了两种使用范型:业务协议和可执行流程.
BPEL4WS 流程可以定义业务协议角色。例如,在供应链协议中,买卖双方是两个不同的角色,双方都有自己的抽象流程。他们的关系通常被模拟成伙伴链接。抽象流程使用所有的 BPEL4WS 概念但它对待数据处理的方式反映了描述业务协议公共部分所需的抽象程度。具体地说,抽象流程仅处理有关协议的数据. BPEL4WS 提供了把有关协议的数据识别为消息属性的方式。另外,抽象流程使用不确定的数值来隐藏行为的私有部分。
BPEL4WS 也可被用来定义可执行流程。流程的逻辑和状态决定了在每个业务伙伴那里进行的 Web 服务交互的性质和顺序,从而决定了交互协议。虽然从私有实现的角度来看并不需要完整地定义 BPEL4WS 流程,但是 BPEL4WS 为仅依赖于 Web 服务资源和 XML 数据的业务流程有效地定义了可移植的执行格式。
BPEL4WS1.1规范主要规定两种范型要共用的核心模块.两种范型独立使用的概念在规范中作为扩展部分。
2.4. ebXML
具体参看:[/url][url=http://www.ebxml.org/]www.ebxml.org
ebXML(电子商务可扩展性标识语言)是设计用来帮助标准商业流程的规划和建模的,通过提供描述商业交易的规格和标准方式,ebXML就可以执行这些过程,让公司能用标准方式互相交流。
ebXML规范的细节非常复杂,因为用一种标准格式来描述如何与其他企业进行商业交流不是一个容易的事。
ebXML的技术体系结构尽可能使用了现存的标准,建立在EDI经验之上,并利用了XML的灵活性和Internet的普及性,整个体系结构是模块式的。
工作流技术在医疗卫生行业的应用(二)
---- 工作流技术应用
3. 工作流应用领域分析
3.1. 政务办公自动化
这部分内容已经应用多年,功能也不断完善,一般都基于邮件系统进行开发。例如MS Exchange或notes/domino等群件系统,并且也在不断扩展,实现与应用系统的接口等。这是工作流应用的传统方面。
3.2. 基于流程的应用整合
随着企业范围内系统的增加,针对不断产生的“信息孤岛”,企业开始进行EAI(企业应用集成),而这些应用也不是简单的整合,但部分是基于流程的应用集成。这样商业流程管理(BPM)重组开始被大家重视。
这是工作流应用的新的方面,基于广域范围内的“城市数字卫生信息网”的规划,还是医院内部信息资源的整合,以满足医院信息系统向信息资源的整合利用发展都需要基于流程的应用系统整合。
3.3. 在业务应用中嵌入流程引擎
在同一个业务系统内部,有复杂的数据流存在,这些数据流随着业务的变化而发生变化,形成程序的不断修改,也造成的程序的不稳定。在业务系统中引入工作流引擎,实现将业务系统中数据流程的处理进行流程抽象,形成模型。实现业务应用系统的升华,提供一个较为通用的业务处理系统。
例如临床路径是在业务中嵌入流程引擎的是一个很好的例子。
4. 临床路径的实现
4.1. 临床路径的概念
为了避免医疗费用的浪费,并且能够提升照顾病人的质量,医院通常都会有很多组织及措施来达成医院管理的目标。例如:整体质量管理( total quality management ),各案管理( case management ),以病人为中心的照护单位( patient-centered care units ),成果管理 ( outcomes management ) 和临床路径( clinical path )等,虽然各种组织及措施各有不同的特色,但其目标却是一致的,都是为了要做到减少医疗费用的浪费,同时在照顾病人方面能够维持一定的水平。 临床路径的施行就是在病人住院后依照临床路径的建议治疗病人,然后由专科护理师每天对照实际的治疗程序和临床路径的差异,直到病人出院。最后再由特定的组织人员分析及评估差异的原因,作为以后修改临床路径的参考及避免不必要的医疗浪费。
临床路径是医疗管理者用来控制医疗成本及改善医疗质量的方法之一 。 也是成果管理( outcomes management )的工具之一,所谓成果管理就是利用分析、评估及广布医疗成果来改进整个医疗体系的管理方式。临床路径是由管理决策者、医师、护理人员及其它医疗有关的人员组成的医疗组或委员会,根据某种疾病或某种手术方法制定了一种治疗模式,让病人由住院到出院都依此模式来接受治疗。路径完成后,组织内的成员再根据临床路径的结果来分析、评估及检讨每一个病人的差异,以避免下一个病人住院时发生同样的差异或错误,依此方式来控制整个医疗成本并维持或改进医疗的质量。
4.2. 临床路径的分解
4.2.1. 参与者
临床路径的参与者有管理决策者、医生、护理人员等。
4.2.2. 临床路径施行流程图
将临床路径实施转换为工作任务和工作流流程图,实现工作流的定义。
4.2.3. 临床记录与差异表
随着工作流的执行,产生临床记录与差异报表,实施工作执行监督控制。
4.2.4. 辅助管理
对于不可以实行临床路径管理的,实行个案管理或其他常规方法。
4.3. 临床路径工作流实现的关键点
4.3.1. 流程定义
按照工作的定义规则,定义临床路径。逐步细化的流程定义,形成流程定义库,将流程定义与相关治疗经验、成本控制、管理决策等结合起来。
4.3.2. 流程执行规则
流程执行规则,就是各个任务/步骤的执行输出,经过规则判定,进行流程的前进;判断的结果经过差异分析逻辑层面,如发现差异和异常状况,进行报警记录。
4.3.3. 路径的关键点控制
一个临床路径有几个非常关键的步骤,也可以叫做临床要径,这些步骤不仅仅决定医疗质量、也决定执行的时间长短,程序实现要对临床要径做好控制。
4.3.4. 差异分析
差异分析系统,是临床路径工作流实现的核心之一,是实现临床路径不断完善,并良好推进的主要功能。