自动化是降低成本和提高业务流程效率的重要方式,自动化场景范围很广,从简单和重复的系统交互到涉及系统和人工决策的复杂、不可预测的情况。BPM应用程序最擅长建模可重复的活动序列,不适合需要人工决策的不可预测的场景。案例管理解则可以很好的解决偶然性和复杂性的流程。案例管理目前广泛用于处理客户投诉、合同生命周期管理、入职等。使企业能够控制复杂的场景并有效地找到解决方案。例如贷款案例管理、保险索赔案例。
\
BPMN流程我们已经熟悉,对应用场景建模还能比较顺畅,但新的CMMN,我们一下子要对应用场景实际情况建案例管理模型还是不容易的。只有先学习规范标准,再参考一些案例,才能不断提高我们对案例模型建模的认识,一旦我们工作中遇到可用的场景,也才能得心应手的想到如何去做。
CMMN 模型元素介绍
-
案例元素:模型计划和用例
案例的所有内容都包含在案例计划模型中,模型在视觉上被描述为一个大档案。官方给出案例模型的一些例子,如贷款申请、保险索赔、客户投诉等。
-
案例元素:阶段
案例的元素通常在Stages 中组合在一起,可用于标识划分阶段性。
-
案例元素:手动和自动任务和里程碑
手动任务和自动任务和BPMN差不多,有区别的是里程碑、案例任务、流程任务。里程碑可以标识何时到达或满足案例中的某个关键点。案例任务与流程任务则很明显表示可以嵌套案例和流程。
-
案例元素:事件监听器和触发器
事件表示事件触发元素,常用用户事件。
-
案例元素:哨兵和链接
具有哨兵标识,代表这个元素只有进入可用或退出则不可用。
激活生命周期
在我们自己的应用程序中,待办任务列表依然是激活的任务,可激活事件及项目实例,可以渲染成界面的操作按钮,也可以是隐藏在代码层面的逻辑。
三、保险索赔案例流程
管理保险索赔需要人工干预和系统处理,如何在Flowable 中使用 CMMN 管理保险索赔?
需求描述:
保险索赔参与方有【索赔用户】、【保险公司业务员】、【其他第三方服务】,我们需要设计【索赔用户】发起索赔后,整个索赔流程生命周期的一套管理系统,并且提供审计信息。
流程描述:
1.索赔流程分为三个阶段:收到索赔请求、调查索赔、处理索赔
2.整个索赔流程【索赔用户】可以退出索赔,【保险公司业务员】可随时激活 [ 更新索赔关联明细 ] 任务
3.第一阶段:当收到索赔请求时候
- 【保险公司业务员】必须有 [ 索赔详细进行审核 ] 任务
- 【保险公司业务员】可以根据情况 ,选择激活 [ 从第三方获取报告 ]|[ 从警局获取报告 ] (如果激活从警局获取报告则不需要第三方报告)
- 【保险公司业务员】在第一阶段可随时完成并退出第一阶段,进入第二阶段。
4.第二阶段:
- 进入则启动 [ 调查及调整索赔流程 ]
- 完成索赔调整流程,需要【索赔用户】选择 [ 接受索赔 ]|[ 拒绝索赔 ]
(里程碑除了存在与否之外没有其他实际行为——在 Flowable 中,如果里程碑处于活动状态,则会为其创建一个变量。)
5.第三阶段:
【保险公司业务员】必须确认 [ 通知到索赔人索赔结果 ] 信息
同时启动 [ 索赔支付流程 ]
索赔支付流程很简单,就是 [ 转账确认 ] , [ 通知索赔用户 ] 。但是会根据【索赔用户】选择的结果判断是否进入索赔支付流程。(其实也就是个变量值)
建模过程对比:
从建模过程来对比CMMN与BPMN,我们能感受出来,对不可预测的事件CMMN更灵活,例如更新索赔明细,可能会重复多次的发起,第一阶段的收集报告,可能从第三方,也可能直接从警局获取,甚至,我们可以在任何时候完成第一阶段进入第二阶段。对比起来,CMMN建模更加考虑人的选择,用BPMN建模起来很绕很多弯。当然,在案例模型中,我们甚至能集成流程模型,这样相当于流程模型只是一个子功能点,我们可以在更高点的维度进度业务建模。
运行案例模型:
1.同样对于发布的案例模型应用,我们在首页应用墙可以看见。
2.启动案例,可以看见活动任务及相关可激活事件、任务以及根据图显示案例处在第一阶段。
3.切换【业务员张三】账号,可以看到该条任务,以及索赔审核表单。
同时操作界面可以选择 [ 启动获取第三方报告 ] 、 [ 启动获取警局报告 ] 、 [ 启动获取额外信息 ] 、 [ 启动更新索赔关联明细 ] ,当然,也可以直接点击 [ 完成索赔明细资料 ] 进入第二阶段,我们启动并完成对应任务。
4.进入第二阶段,完成索赔调整流程
【业务员张三】完成任务
进入子阶段,这里需要【索赔用户】 接受索赔或者拒绝索赔
5.切换【索赔用户】并点击接受索赔
6.切换【业务员张三】,查看监控图,显示激活 [ 将结果通知索赔人 ] 、 [ 完成索赔支付]
完成对应任务和流程
7.任务结束,案例流程自动完结
微信公众号搜索 土豆仙 关注更多即时技术文章,整理原创不易,转载请标明出处。