一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于医院后勤系统的自适应流程引擎系统和方法与流程

2022-10-13 05:47:41 来源:中国专利 TAG:


1.本发明涉及医院后勤领域,具体涉及一种能够在较低人力参与的情况下,实现医院后勤系统的自适应流程引擎系统和方法。


背景技术:

2.医疗卫生事业与人民群众切身利益密切相关,是社会高度关注的热点之一,后勤管理工作是整个医院发展的基础,不断普及和完善的基础建设对医院的信息化建设提出了更高的要求,高效的后勤管理成为了众多医院探讨的重要课题。目前国内很多医院的后勤管理方式正处于从以人为参与为主向信息化自动化转型的阶段,这其中也存在一些特殊场景和问题。
3.医院后勤领域具有大量的专用业务,这些业务都具有流程特性,例如,工单流程、品质管理、物资管理、保洁管理、人员管理等,大部分的业务系统建立时间早,大多采用硬编码的方式实现,一旦需要变更业务则需要修改系统代码,往往需要投入大量的开发成本。
4.引入流程引擎后,如果全部采用全新的流程运行方式仍会面临一些困难,部分原有的业务流程由于后勤人员操作已经适应,全部改造进行流程改造会导致部分年龄较大、已经熟悉使用的后勤人员适应困难、花费较多的时间。
5.常规的流程功能存在一定的缺陷,如原有业务发生改动,需要人工操作流程系统建立新的流程来适应新的业务场景;并且,常规的流程也缺乏对应的评价机制,无法对已执行流程进行评价总结,不便于流程结束后进行复盘分析,缺乏针对业务及流程做出相应的改进的基础数据。


技术实现要素:

6.本发明的目的在于克服现有技术的不足之处,提供一种基于医院后勤系统的自适应流程引擎系统和方法,可以实现对历史业务的流程化改造,既能和历史业务共存,解决年龄较大适应困难和学习成本花费较高的问题,又能对流程的实际运行流转进行评价,沉淀流程运行数据,基于此计算分析推送出适应各个医院场景的流程修改方案,实现流程的自适应修改。
7.为了克服上述现有技术中存在的缺陷和不足,本发明采用以下技术方案:一种基于医院后勤系统的自适应流程引擎系统,包括流程评价模块和流程自适应模块,其中:所述流程评价模块,用于对每个流程实例的流程节点及流程整体进行评价处理并保存,为流程的数字化管理提供依据,为流程的自适应改进提供数据支撑;所述流程自适应模块,用于对流程的评价处理结果进行收集和分析,推算出流程的自适应修改方案,调用流程引擎系统接口进行流程自适应修改。
8.进一步的,流程评价模块对每一个流程实例进行定义,对每个流程节点为后期复盘分析或自适应修改的流程建立评价维度,针对每个流程节点自定义当前流程节点的缩放
系数和偏置量。
9.进一步的,用户根据评价维度对当前流程节点进行评价后,流程评价模块自动基于用户的评价按照预订标准打分原则进行当前流程节点的基础评分。
10.进一步的,对于当前流程节点的基础评分,基于流程实例定义时的配置,流程评价模块计算当前流程节点的加权得分,将当前流程节点的若干个评价维度的加权得分抽象为对应的得分详情向量存入自适应流程引擎系统的数据库中,与流程实例的对应流程节点绑定。
11.进一步的,流程流转到结束节点时,流程评价模块计算该流程实例的整体得分;流程实例流转结束后,流程评价模块将各流程节点的加权得分及流程实例整体得分推向流程自适应模块的数据中台。
12.进一步的,流程自适应模块的数据中台根据累计沉淀的流程数据,分析该流程是否存在改进点,推算出备选的自适应修改方案;用户根据实际业务需要,选择流程自适应模块推送的自适应修改方案,做出对相应流程的改进;下一次,该流程则根据改进后的流程定义生成流程实例。
13.进一步的,基于医院后勤系统的历史业务,按照医院现场需要对历史业务进行改造时,在自适应流程引擎系统中进行配置进行对接。
14.进一步的,用户选择自适应修改方案做出改进的时候,通过post请求调用自适应流程引擎系统接口进行修改。
15.一种基于医院后勤系统的自适应流程引擎方法,其步骤如下:s1,对每一个流程实例进行定义,对每个流程节点为后期复盘分析或自适应修改的流程建立评价维度,针对每个流程节点自定义当前流程节点的缩放系数和偏置量;s2,用户根据评价维度对当前流程节点进行评价后,基于用户的评价,按照预订标准打分原则进行当前流程节点的基础评分;s3,基于流程实例定义时的配置,利用当前流程节点的基础评分计算当前流程节点的加权得分;然后,将当前流程节点的若干个评价维度的加权得分抽象为对应的得分详情向量存入数据库,与流程实例的对应流程节点绑定;s4,流程流转到结束节点时,利用该流程实例各流程节点的加权得分计算得出该流程实例的整体得分,在流转结束后,将各流程节点的加权得分及流程实例的整体得分存入数据库;s5,对累计的多个流程实例的流程数据进行分析,得出该流程是否存在改进点,推算出备选的自适应修改方案;用户根据实际业务需要,选择自适应修改方案做出改进;下一次,该流程则根据改进后的流程定义生成流程实例。
16.对于所述自适应流程引擎方法,用于历史业务对接时:在流程引擎操作页面中配置业务抽离出来的流程,在每个流程节点配置对应于在原有业务页面的操作地址,无需进行流程引擎代码的开发;对原有业务接口进行改造,进行回调流程操作接口,实现流程与业务的双向关联;熟悉原有业务场景操作的用户,依然可以采用自己熟悉的方式进行操作,能统一管理原有业务。
17.通过这种历史业务对接操作,既能保留历史业务的操作页面和方法,又能在流程
引擎操作页面操作,并通过流程引擎归档进行统一管理。
18.针对上述自适应流程引擎系统和方法,其中:所述评价维度至少包括时间花费、服务质量、服务态度。
19.对于某一个流程实例的某一个流程节点的加权得分算法如下:对于第i个流程节点:xj为评价维度j的基础得分,其中j=1,2,
……
,n;αj为评价维度j的缩放系数,bj为评价维度j的偏置量,n表示评价维度的个数;第i个流程节点的得分用一个n维向量表示:。
20.流程节点i的评价维度j的得分为得分详情向量的第j个分量,表示为s
ij
:。
21.流程节点i的加权得分为得分详情向量的n个维度分量的和,表示为si:。
22.所述流程实例的整体得分s的算法如下:其中,m为流程定义中评价流程节点的个数。
23.对累计的多个流程实例的流程数据进行分析的情况包括但不限于:1、如果某一流程的流程节点i的评价维度j的得分s
ij
低于当前流程的评价维度j的平均得分的20%,则表明流程节点i的评价维度j在当前业务使用情况中存在改进的可能。其中,当比较阈值不合理时,用户根据当前业务使用情况对评价维度j的得分与当前流程的评价维度j的平均得分sj'相比的阈值进行自定义调整。
24.2、如果某一流程的流程节点i的评价维度j的得分s
ij
高于当前流程的评价维度j的平均得分sj'的20%,则有可能表明当前流程节点的设置不合理。其中,当比较阈值不合理时,用户根据当前业务使用情况对评价维度j的得分与当前流程的评价维度j的平均得分sj'相比的阈值进行自定义调整。
25.3、如果某一流程的流程节点i的加权得分si低于流程实例的整体得分s的20%,则说明当前流程节点i的完成度较低;其中,当比较阈值不合理时,用户根据当前业务使用情况对流程节点i的加权得分si与流程实例的整体得分s相比的阈值进行自定义调整。
26.当多个流程实例的流程节点i均为同一处理人或同一组织下的处理人时,经过判断得到:任务流程节点完成度不好的原因与业务处理人员关系较大时,可以考虑将该流程节点i的处理人修改为当前处理人或处理组织的上级,然后由上级分配任务,转交当前任务给下级处理人,以起到领导督促的作用。
27.针对累计的多个流程实例的流程数据的分析,产生的流程修改建议包括有增加流程节点(addprocessnode)、并合流程节点(mergeprocessnode)、修改流程节点等。
28.对于新增流程节点,具体操作为:1.1进行语义分析,需要拆分流程节点i,则拆分成流程节点k和流程节点h;1.2新建流程节点k,将原流程节点i的前驱流程节点指向新流程节点k;1.3新建流程节点h,将流程节点k指向流程节点h,将流程节点h指向流程节点i所指的节点;1.4删除原流程节点i及与流程节点i相关的边;1.5更新流程定义并重新部署。
29.所述新增流程节点算法的伪代码设计如下:算法的输入为流程图g0=(v0, e0),变更流程节点v1,v0为流程图定义的流程节点集,e0为流程图的边集,《va, vb》表示由流程节点va指向流程节点vb的边,由于算法是对流程图进行更新并重新部署,因此不需要输出。
30.所述新增流程节点算法具体为:输入:流程图g0=(v0, e0),变更流程节点v1输出:voidv
1 = split(v1) //语义分析,拆分成有序的流程节点列表size = v1.size()v0.addnode(v1[size-1])// 往图中添加v1里的每个流程节点,及先后两个流程节点的边for (inti = 0; i《 size-1; i ) {
ꢀꢀꢀꢀꢀꢀꢀv0
.addnode(v1[i])
ꢀꢀꢀꢀꢀꢀꢀ
e0.addedge(《v1[i],v1[i 1]》)}// 遍历边集e0,将变更流程节点v1的出边和入边赋到新的节点上,删除与流程节点v1原来直接相连的边for (each e in e0) {
ꢀꢀꢀꢀꢀꢀꢀ
if(e定义为《vi, v1》){ // vi为变更流程节点v1的前驱流程节点
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.addedge(《v
i,v1
[0]》)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.deleteedge(《vi, v1》)
ꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀ
if(e定义为《v1, vi》){// vi为变更流程节点v1的后继流程节点
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.addedge(《v1[size-1]),vi》)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.deleteedge(《v1, vi》)
ꢀꢀꢀꢀꢀꢀꢀ
}}v0.deletenode(v1) //删除原流程节点v1updateprocessanddeploy(g0) //更新流程定义并重新部署。
[0031]
对于合并流程节点,具体操作为:2.1新建流程节点h;2.2将流程节点i的前驱流程节点都指向流程节点h;2.3将流程节点h指向流程节点k所指的流程节点;
2.4删除原流程节点i及与流程节点i相关的边;2.5更新流程定义并重新部署。
[0032]
所述合并流程节点算法的伪代码设计如下:算法的输入为流程图g0=(v0, e0),变更流程节点顺序列表v1,v0为流程图定义的流程节点集,e0为流程图的边集,《va, vb》表示由流程节点va指向流程节点vb的边,由于算法是对流程图进行更新并重新部署,因此不需要输出。
[0033]
所述合并流程节点算法具体为:输入:流程图g0=(v0, e0),变更流程节点顺序列表v1输出:voidsize = v1.size()v
0 = v1[0]v
1 = v1[size-1]init v2// 初始化v2节点v2《-v
1 // 将v1集合节点的工作内容添加到流程节点v2,并抽取出公共的处理人或组织到v2//遍历边集e0,将变更流程节点v1的出边和入边赋到新的流程节点上for (each e in e0) {
ꢀꢀꢀꢀꢀꢀꢀ
if(e定义为《vi, v0》){ //vi为v0中的流程节点v0的前驱流程节点
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.addedge(《v
i,
v2》)
ꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀ
if(e定义为《v1, vi》){// vi为v0中的流程节点v1的后继流程节点
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.addedge(《v2,vi》)
ꢀꢀꢀꢀꢀꢀꢀ
}}for (each v in v1){
ꢀꢀꢀꢀꢀꢀꢀv0
.deletenode(v) //删除v1集合中的流程节点
ꢀꢀ
e0.deleteedge(v)// 删除流程节点v的出边和入边}updateprocessanddeploy(g0) //更新流程定义并重新部署。
[0034]
所述修改流程节点,使流程节点i由上级指派任务给下级的操作步骤如下:3.1找到流程节点i处理人的上级组织o;3.2修改流程节点i的处理人为上级组织o;3.3为流程节点添加转交按钮,由上级组织o的处理人指派下级处理;3.4更新流程定义并重新部署。
[0035]
在上述流程修改算法的流程重新部署后,流程定义key不变,下次发起的流程将会基于流程定义key选择新部署的流程定义生成对应的流程实例,实现自适应修改后的流程流转功能。
[0036]
本发明的有益效果如下:本发明可以针对历史业务的流程化改造,增加对流程的实际运行流转的评价机
制,根据评价累积形成流程节点和流程整体的得分,沉淀相应的流程运行数据进行复盘分析,可推算出适应各个医院场景的流程修改方案,实现流程的自适应修改,而不用建立新的流程适应新的业务场景;同时,还能满足和历史业务共存,用户可以根据自己习惯适用现在的流程,从而解决业务人员年龄较大、适应困难、学习成本花费较高等问题。
附图说明
[0037]
图1为本发明的系统流程图。
[0038]
图2为本发明的历史业务对接流程示意图。
[0039]
图3为本发明的流程评价的流程图。
[0040]
图4为本发明的新增流程节点示意图。
[0041]
图5为本发明的合并流程节点示意图。
具体实施方式
[0042]
以下结合说明书附图对本发明的技术方案进行清楚、完整的描述,显然,此处所描述的具体实施例仅用以解释本发明,并不限于本发明。
[0043]
实施例1如图1所示,一种基于医院后勤系统的自适应流程引擎系统,包括流程评价模块和流程自适应模块,其中:所述流程评价模块,用于对每个流程实例的流程节点及流程整体进行评价处理并保存,为流程的数字化管理提供依据,为流程的自适应改进提供数据支撑;所述流程自适应模块,用于对流程的评价处理结果进行收集和分析,推算出流程的自适应修改方案,调用流程引擎系统接口进行流程自适应修改。
[0044]
进一步的,流程评价模块对每一个流程实例进行定义,对每个流程节点为后期复盘分析或自适应修改的流程建立评价维度,针对每个流程节点自定义当前流程节点的缩放系数和偏置量。
[0045]
进一步的,用户根据评价维度对当前流程节点进行评价后,流程评价模块自动基于用户的评价按照预订标准打分原则进行当前流程节点的基础评分。
[0046]
进一步的,对于当前流程节点的基础评分,基于流程实例定义时的配置,流程评价模块计算当前流程节点的加权得分,将当前流程节点的若干个评价维度的加权得分抽象为对应的得分详情向量存入自适应流程引擎系统的数据库中,与流程实例的对应流程节点绑定。
[0047]
进一步的,流程流转到结束节点时,流程评价模块计算该流程实例的整体得分;流程实例流转结束后,流程评价模块将各流程节点的加权得分及流程实例整体得分推向流程自适应模块的数据中台。
[0048]
进一步的,流程自适应模块的数据中台根据累计沉淀的流程数据,分析该流程是否存在改进点,推算出备选的自适应修改方案;用户根据实际业务需要,选择流程自适应模块推送的自适应修改方案,做出对相应流程的改进;下一次,该流程则根据改进后的流程定义生成流程实例。
[0049]
进一步的,基于医院后勤系统的历史业务,按照医院现场需要对历史业务进行改造时,在自适应流程引擎系统中进行配置进行对接。
[0050]
进一步的,用户选择自适应修改方案做出改进的时候,通过post请求调用自适应流程引擎系统接口进行修改。
[0051]
对应上述系统的自适应流程引擎方法,其步骤如下:s1,对每一个流程实例进行定义,对每个流程节点为后期复盘分析或自适应修改的流程建立评价维度,针对每个流程节点自定义当前流程节点的缩放系数和偏置量;s2,用户根据评价维度对当前流程节点进行评价,然后基于用户的评价,按照预订标准打分原则进行当前流程节点的基础评分;s3,基于流程实例定义时的配置,利用当前流程节点的基础评分计算当前流程节点的加权得分;然后,将当前流程节点的若干个评价维度的加权得分抽象为对应的得分详情向量存入数据库,与流程实例的对应流程节点绑定;s4,流程流转到结束节点时,利用该流程实例各流程节点的加权得分计算得出该流程实例的整体得分,在流转结束后,将各流程节点的加权得分及流程实例的整体得分存入数据库;s5,对累计的多个流程实例的流程数据进行分析,得出该流程是否存在改进点,推算出备选的自适应修改方案;用户根据实际业务需要,选择自适应修改方案做出改进;下一次,该流程则根据改进后的流程定义生成流程实例。
[0052]
对于所述自适应流程引擎方法,用于历史业务对接时,业务侧操作调用和流程侧操作调用如图2所示,分别具体为:在流程引擎操作页面中配置业务抽离出来的流程,在每个流程节点配置对应于在原有业务页面的操作地址,无需进行流程引擎代码的开发;对原有业务接口进行改造,进行回调流程操作接口,实现流程与业务的双向关联;熟悉原有业务场景操作的用户,依然可以采用自己熟悉的方式进行操作,能统一管理原有业务。
[0053]
通过这种历史业务对接操作,既能保留历史业务的操作页面和方法,又能在流程引擎操作页面操作,并通过流程引擎归档进行统一管理。
[0054]
如图3所示,评价流程如下:1、流程页面拖拽流程图元生成需要的流程图定义,针对每个流程节点,为后期需要进行复盘分析或自适应修改的流程建立评价维度(如:当前节点的预期时间花费,流程节点定义的服务质量评价项,服务态度评价选项等),针对每个流程节点自定义当前流程节点的缩放系数和偏置量。
[0055]
其中,服务质量评价项可以分为:非常好、不错、一般、差、非常差,服务态度评价选项可以分为:优、良、差、投诉内容等。
[0056]
2、业务人员处理到达自己的流程节点时,为每一个用户必选的流程节点评价维度进行评价选项的勾选,提交当前流程节点,流程评价模块自动基于评价进行当前流程节点的基础评分,对于用户选项的评价,按照预订标准打分,对于时间的评价为,预期当前节点的完成时长t1,实际花费时长t2,时间基础得分s
t
计为s
t
=3*t1/t2,若s
t
》5,则s
t
=5,若s
t
《1,则s
t
=1。
[0057]
例如,预订标准打分的标准可以为:非常好(5分)、不错(4分)、一般(3分)、差(2分)、非常差(1分)。
[0058]
3、对于流程实例中第i个流程节点,加权得分算法如下:对于第i个流程节点,xj为评价维度j的基础得分,其中j=1,2,
……
,n;αj为评价维度j的缩放系数(默认为1),bj为该维度的偏置量(默认为0),则存在n个评价维度(至少包括时间花费、服务质量、服务态度
……
),第i个流程节点的得分用一个n维向量表示:。
[0059]
流程节点i的评价维度j的得分为得分详情向量的第j个分量,表示为s
ij
:。
[0060]
流程节点i的加权得分为得分详情向量的n个维度分量的和,表示为si:。
[0061]
4、流程流转到结束节点时,计算该流程实例的整体得分s,算法如下:其中,m为流程定义中评价流程节点的个数。
[0062]
5、流程实例流转结束后,将流程实例的各流程节点及流程实例整体得分情况推向医院后勤系统的数据中台,由数据中台分析计算流程是否存在改进点,并往流程引擎系统推送改进建议。
[0063]
针对累计的多个流程实例的流程数据的分析,产生的流程修改建议包括有增加流程节点、并合流程节点、修改流程节点等。
[0064]
实施例2在实施例1的基础上,本实施例中对累计的多个流程实例的流程数据进行分析的情况可以是:如果某一流程的流程节点i的评价维度j的得分s
ij
显著低于当前流程的评价维度j的平均得分的20%,则表明流程节点i的评价维度j在当前业务使用情况中存在改进的可能。后期,当用户认为比较阈值20%不合理时,可以根据当前业务使用情况进行自定义调整。
[0065]
以时间花费的评价维度为例,说明可能存在但不限于以下的几种情况:a、当前节点的业务操作其他必要时间花费较高,如某项维修操作业务,维修人员需要从其公司赶到医院现场(此种情况可在配置时添加路程耗时的对应偏置量bj);b、当前节点的业务操作复杂,工序多,需要较长的耗时(操作复杂可修改放大系数αj,工序多可添加任务节点);c、该环节的业务人员工作拖沓,效率低等。
[0066]
实施例3
在实施例1的基础上,本实施例中对累计的多个流程实例的流程数据进行分析的情况可以是:如果某一流程的流程节点i的评价维度j的得分s
ij
显著高于当前流程的评价维度j的平均得分的20%,则有可能表明当前流程节点的设置不合理。后期,当用户认为比较阈值20%不合理时,可以根据当前业务使用情况进行自定义调整。
[0067]
如:第i-1个节点和第i个节点均为同一人操作的两个节点,且前后的相关性很大,比如将某种设备的安装与调试划分成了两个节点,安装好后,调试很快,则会造成调试这个任务节点i的时间维度j的评价得分s
ij
明显高于sj',因此可以将两个任务节点合并为一个任务节点。
[0068]
实施例4在实施例1的基础上,本实施例中对累计的多个流程实例的流程数据进行分析的情况可以是:如果某一流程的流程节点i的加权得分si显著低于程实例的整体得分的20%,则说明当前流程节点i的完成度较低。后期,当用户认为比较阈值20%不合理时,可以根据当前业务使用情况进行自定义调整。
[0069]
当多个流程实例的流程节点i均为同一处理人,或同一组织(如角色、部门、岗位等)下的处理人时,经过判断得到任务流程节点完成度不好的原因与业务处理人员关系较大,可以考虑将该流程节点i的处理人修改为当前处理人或处理组织的上级,然后由上级分配任务转交当前任务给下级处理人,以起到领导督促的作用。
[0070]
实施例5在实施例1-4的任一基础上,如图4所示,新增流程节点具体操作为:1、在数据中台进行语义分析,若要拆分流程节点i(比如:安装并调试),则拆分成流程节点k(安装)和流程节点h(调试)。
[0071]
2、新建流程节点k,将原流程节点i的前驱流程节点指向新流程节点k。
[0072]
3、新建流程节点h,将流程节点k指向流程节点h,将流程节点h指向流程节点i所指的节点。
[0073]
4、删除原流程节点i及与流程节点i相关的边。
[0074]
5、更新流程定义并重新部署。
[0075]
所述新增流程节点算法的伪代码设计如下:算法的输入为流程图g0=(v0, e0),变更流程节点v1,v0为流程图定义的流程节点集,e0为流程图的边集,《va, vb》表示由流程节点va指向流程节点vb的边,由于算法是对流程图进行更新并重新部署,因此不需要输出。
[0076]
所述新增流程节点算法具体为:输入:流程图g0=(v0, e0),变更流程节点v1输出:voidv
1 = split(v1) //语义分析,拆分成有序的流程节点列表size = v1.size()v0.addnode(v1[size-1])// 往图中添加v1里的每个流程节点,及先后两个流程节点的边
for (inti = 0; i《 size-1; i ) {
ꢀꢀꢀꢀꢀꢀꢀv0
.addnode(v1[i])
ꢀꢀꢀꢀꢀꢀꢀ
e0.addedge(《v1[i],v1[i 1]》)}// 遍历边集e0,将变更流程节点v1的出边和入边赋到新的节点上,删除与流程节点v1原来直接相连的边for (each e in e0) {
ꢀꢀꢀꢀꢀꢀꢀ
if(e定义为《vi, v1》){ // vi为变更流程节点v1的前驱流程节点
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.addedge(《v
i,v1
[0]》)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.deleteedge(《vi, v1》)
ꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀ
if(e定义为《v1, vi》){// vi为变更流程节点v1的后继流程节点
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.addedge(《v1[size-1]),vi》)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.deleteedge(《v1, vi》)
ꢀꢀꢀꢀꢀꢀꢀ
}}v0.deletenode(v1) //删除原流程节点v1updateprocessanddeploy(g0) //更新流程定义并重新部署。
[0077]
实施例6在实施例1-4的任一基础上,如图5所示,对于合并流程节点,具体操作为:1、新建流程节点h。
[0078]
2、将流程节点i的前驱流程节点都指向流程节点h。
[0079]
3、将流程节点h指向流程节点k所指的流程节点。4、删除原流程节点i及与流程节点i相关的边。
[0080]
5、更新流程定义并重新部署。
[0081]
所述合并流程节点算法的伪代码设计如下:算法的输入为流程图g0=(v0, e0),变更流程节点顺序列表v1,v0为流程图定义的流程节点集,e0为流程图的边集,《va, vb》表示由流程节点va指向流程节点vb的边,由于算法是对流程图进行更新并重新部署,因此不需要输出。
[0082]
所述合并流程节点算法具体为:输入:流程图g0=(v0, e0),变更流程节点顺序列表v1输出:voidsize = v1.size()v
0 = v1[0]v
1 = v1[size-1]init v2// 初始化v2节点v2《-v
1 // 将v1集合节点的工作内容添加到流程节点v2,并抽取出公共的处理人或组织到v2//遍历边集e0,将变更流程节点v1的出边和入边赋到新的流程节点上
for (each e in e0) {
ꢀꢀꢀꢀꢀꢀꢀ
if(e定义为《vi, v0》){ //vi为v0中的流程节点v0的前驱流程节点
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.addedge(《v
i,
v2》)
ꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀ
if(e定义为《v1, vi》){// vi为v0中的流程节点v1的后继流程节点
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e0.addedge(《v2,vi》)
ꢀꢀꢀꢀꢀꢀꢀ
}}for (each v in v1){
ꢀꢀꢀꢀꢀꢀꢀv0
.deletenode(v) //删除v1集合中的流程节点
ꢀꢀ
e0.deleteedge(v)// 删除流程节点v的出边和入边}updateprocessanddeploy(g0) //更新流程定义并重新部署。
[0083]
实施例7在实施例1-4的任一基础上,如图4所示,所述修改流程节点,使流程节点i由上级指派任务给下级的操作步骤如下:1、在医院后勤系统的人员服务模块中找到流程节点i处理人的上级组织o。
[0084]
2、修改流程节点i的处理人为上级组织o。
[0085]
3、为流程节点添加转交按钮,由上级组织o的处理人指派下级处理。
[0086]
4、更新流程定义并重新部署。
[0087]
在上述流程修改算法的流程重新部署后,流程定义key不变,下次发起的流程将会基于流程定义key选择新部署的流程定义生成对应的流程实例,实现自适应修改后的流程流转功能。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献