Friday, October 8, 2010

Case Management combined with BPM

The Cordys BOP4 BPMS suite offers -amongst other features- Case Modelling and -obviously- Business Process Modelling (BPM)
 
As most of you will know BPM is based on the OMG standard BPMN and is intended for relatively well defined business processes that follow a certain sequence of steps in order to meet a certain business goal. Examples: account payable, handling purchase orders, new hires etc.
 
Case Modelling is intended for processes or activities that in general may not be squeezed into a rigid flow. Each instance of a case model (case) has unique characteristics and (free format) information attached and requires a specific approach. The so-called "case workers" are in general professionals with specialized skills, who should decide per case what action to take and at what time, and what information is relevant to the case. This requires that case workers are not restricted by rigid sequences and data structures.
The generic aspects that apply to each case instance (e.g. state transitions or constraints in the order of activities) can be defined using Case Modelling, and still may leave a lot of freedom to the case worker. Case modelling is therefor more suitable in case of complex processes like insurance claims, all kind of disputes and complex loan applications.
 
Can't this Case behaviour be accomplished in BPM? Obviously BPMN supports parallelism and loops, and steps may be defined as "optional". Hence it may be possible to model similar functionality in BPM, but only with additional effort. Besides that BPM is lacking specific functionality like attaching documents, work assignments and state transitions.
 
There is however also some functionality that Cordys Case Management lacks in comparison to BPM, e.g. the possibility to add web-service invocation steps and the execution of business rules. 
 
The description and examples above may suggest that BPM and Case Modelling are mutual exclusive. I however am convinced that each process may potentially contain both BPM and Case Model characteristics.
 
An example: A visit of a patient in a hospital may require an well defined administrative sign-up process (which could be implemented in a BPM), followed by a more more agile diagnosis or treatment (which could be a Case model).
 
Cordys BOP4 has recognized this need, and allows to use BPM and Case Modelling together:
A BPM can be added as an activity to a Case model, and a case model can be incorporated as a step in a BPM.
 
This provides us with the following options:
 - Decide for each process separately whether to make it a BPM or Case Model (selecting the most appropriate)
 - Make each process a BPM process that may include Case Model steps.
 - Make each process a Case, that may contain BPM sequences.
  
I advise to pick option 2 and make every process a BPM, and include Case Models if required. (Note that this may even be a just an start and end activity, and just a single Case Model invocation)
 
There are two technical arguments to favor this option:
 - Cordys BOP4 allows to generate a Web Service on a BPM (and hence invoke it from externally)
 - BPM in Cordys BOP4 allows to use BAM. Selecting BPM as top-level process makes it easier to monitor the overall process state.
  
Obviously future features in both BPM and/or Case Management in may influence the advise above.  
 
 

1 comment:

  1. Nice blog.

    We have come to almost the same conclusion.

    Basically Case Mgmt modeling and execution is a superset of procedural BPM(N) "programming".

    Rules, especially "guardrail" rules, play a very important part in the CM-platform.

    That's why rule-based vendors are way better positioned to deliver this potentially devastating platform than the traditional programming vendors.

    ReplyDelete