Adaptive Case Management in Oracle BPM – Concepts and Major differences between 11g and 12c

Adaptive case management (ACM) is not new functionality in the Oracle Business Process Management (BPM) suite although this is something that has not been looked at closely by many clients. There are several benefits of using Adaptive Case Management versus using rigid or structured-only BPM. After looking at some of the features in ACM, it seemed to me like most business process management use cases warrant the use of Adaptive case management.

Lets take a closer look at Oracle’s Adaptive Case Management features. We looked at some of the features in 11g and wanted to compare it to what’s in 12c.

The major case artifacts

Here are the major components used in adaptive case management. I have not covered all the facets of case management which can be found in Oracle Documentation here:

  1. Case

A Case represents the entity that encapsulates all the information about a logical combination of structured and ad-hoc activities, people participating in those activities, statuses of those activities and the end result (outcome) of the case. Traditional database-driven custom case management systems would store this entity as an application, submission, case and many other terms. The case is driven by case rules elaborated further below.

2. Case Milestones

Traditional database systems that have been used in the past to mimic case management functionality use a combination of entity statuses to describe the overall status of a Case i.e. Request Status, Application Status, Product Status, etc. In ACM, we have the concept of Milestones which can either be REACHED or REVOKED. So a combination of milestones being reached or revoked can indicate how far along you are in a given case instance.

3. Case Outcomes

Outcomes indicate final or terminating statuses of a case. You could have a car rental scenario where the car renter returned the car and the outcome would be “Case Closed – Car Returned”. You can have multiple possible outcomes but usually only one outcome type is used when terminating a case.

 4. Case Activities

Case Activities can be structured BPM processes, Human task or custom java code. Any BPM Process can be designated as a case activity. Herein lies the capability to accommodate structured and unstructured activities. A BPM Process activity would be a structured activity, while the Human task and java case activity would be unstructured. The case can determine whether these structured or unstructured activities can be invoked multiple times or whether it has to be activated at least once before the case can be closed.

5. Case Rules

This is the most crucial component of Oracle ACM. Every Case has Case rules associated that are used to navigate through the case using the combination of milestones, case activities and outcomes. Business rules can be used to either trigger milestones, outcomes or activities. The allows you have some mind boggling scenarios that would have required a lot of brute force coding using traditional BPM. Surfacing the Case rules in SOA composer enables business users to change the rules at run-time without deploying any code. This enables an extremely flexible solution with very quick time-to-market –  a rarity even in 2015. The caveat to this feature is the burden of testing the rules thoroughly. Test Automation using SOAP UI or other test automation suites is highly recommended.

The major new features in Oracle Adaptive Case Management 12c are:

Sub cases and linking cases

Linking cases in the Case workspace

Linking cases in the Case workspace

In 12c, you can link other cases to a primary case. This scenario is often encountered in most case management scenarios. You could have a car rental case that could be linked to a fraud prevention case. You can designate a case as a sub case which permits the sub case access to the parent case’s data. This feature then lets you navigate between the linked cases when using the out of box Case Workspace. Alternatively you can use the Case API to add or remove case links.

Setting deadline expiration on a Milestone

ACM 12c Case milestone deadlines

ACM 12c Case milestone deadlines

Milestones in some use cases could be time bound. Being able to set a deadline expiration on a milestone is a very useful feature that’s available out of box in ACM 12c. Expiration of the deadline can be used to trigger case activities, events, other milestones and even outcomes. This allows for some very interesting scenarios that can be accomplished easily compared to traditional database driven custom case management systems. If deadline based expiration is required in BPM 11g, it can be accomplished although its a lot more work with additional case activities compared to BPM 12c.

Case level Flex fields

Case Level Flex Fields

Case Level Flex Fields

Being able to search for a case by different attributes is an often common scenario. Case level flex fields attempts to solve this problem. Although the tables for case level flex fields already existed in 11g SOAINFRA tables, it appears that this feature was not implemented in the application till 12c was released.

Stay tuned for more updates on Oracle Case management!