Tuesday, August 20, 2013

#273 Case Management Elements - Activities, Events, Policies, Documents, Stakeholders, Milestones...



Oracle Adaptive Case Management includes the following elements -










 Now most of these are self-explanatory, however in the next couple of posts I'd like to look at how the tooling supports these. Today I'm looking at the above elements and how they are implemented in Oracle BPM 11g PS6.

A previous post introduces each element in more detail -
http://niallcblogs.blogspot.de/2013/07/259-bpm-11g-ps6-case-management-getting_1.html

Short Recap -

  • Data: the Case Data e.g. Tax return for 2012
  • Milestones/Phases e.g. Tax return checked, Tax Rebate approved
  • Outcomes: e.g. Rebate Paid / Bill sent
  • Events: e.g. Tax form arrives, phone call with tax payer
  • Stakeholders: e.g. Tax officer, VAT inspector
  • Policies: e.g. Rebate can only be paid when the Tax return has been fully processed
    • implemented via Business Rules
  • Activities: e.g. check Tax return, compute rebate, contact tax payer
  • Documents: e.g. supporting information such as receipts for 2012.
Oracle Business Rules is a good place to start looking at how these are implemented. Each Case application has a Rules component with a pre-seeded dictionary - well worth looking at.

Just open the rules component created for the Case.
Create a decision table and then create a condition -






















Browse thru some of the structures -

  • Case states include -








Events


Now to the events - these can be leveraged in Business Rules to control the flow of the case. They can also be published to external parties via EDN.
  • Case events include -









  • Activity Events





  • Lifecycle Events






 
  •  Documents Events - fired when documents are added/removed etc. to/from the content management system.






  • Milestone Events - self explanatory
 




  • Data Events pertain to the Case Data and are raised when this data is changed. by case activities or via the API.
  • User Defined Events give us the possibility to react to external events. These could be raised at runtime e.g.case worker gets a phone call from the tax payer in the Tax processing case. He could then create a user defined event - taxPayerCalled - at runtime.
The Status of certain elements can be checked -








So it is very easy to create a condition of the type -
If eventActivity = "CheckTaxReturn" and
If eventActivityType = "COMPLETED"

say we now want to set the Case Milestone - TaxReturnCheck - to completed,
and we also want to activate the activity - payTaxRebate.


We simply add the following actions to the rule

  • reachMilestone "TaxReturnCheck"
  • activateActivity "payTaxRebate"






















 Simple, isn't it?

Activities

Now to the activities -
BPM 11g ACM (Adaptive Case Mgt) currently supports 3 types of activities -
  • Human Task
  • BPM Process - for the structured part of a case
  • Custom - java classes you then register with the case model
Activities can be -
  • manual / automatic
  • conditional/unconditional (defined via Business Rule Policies)
  • repeatable 
Manual activities can be triggered by the case worker via the Case UI. Naturally the policies you define decide on which activity is available to whom and when. 
Stakeholders

according to the ORCL docs - The stakeholders are the different persons involved in the processing of the case. They are case workers that can view the case and work on it. These stakeholders can be assigned permissions on the Case artifacts.



















Conclusion

So essentially this release of Adaptive Case Management allows you to define the parameters within which the Case executes. You define the list of possible Activities. When, and to which Stakeholders these activities are available, is defined in your Policies. Regarding data - we consider Case Data and Documents. Documents are essentially collateral stored in a content management system. Case Data is the salient data used by the case workers in making their decisions.User Defined Events give us the possibility to react to external events at runtime - providing ad hoc support.


No comments: