General

What is Case Management? (for busy developers and architects)

Have you ever heard from you customer: “we need something like a Case Management“?

Then your team comments… “This is biz stuff! Why do we need this? How should we do it? and mainly WHAT IS THIS? “

First, please think about this:

How can you detail using a diagram the exact flow and tasks, that should happen, for example, in a hospital emergency system? The patient gets to the hospital and first goes through triage with a nurse, then … what? Cardiologist? X-Ray? Orthopedist? Should one take medicine or should the blood be taken for analysis?

Don’t worry if you don’t know the answer. Not even the best business analysts would be able to draw the full pre-defined flow for this use case.

Even though we don’t know the whole flow, we know some tasks involved, we know the actors and integrations involved. We know there are a lot of repeatable tasks. Things that can be automated. And lots of useful metrics (KPIs) that can be extracted to help on executive business decisions.

You can model these kind of processes when you use Case Management.

“Case management is a dynamic workflow where next steps can be defined or even created during runtime, during the process execution”.

BPMN – Business Process Model and Notation – is a modeling notation specification. It allows drawing workflows that are converted and processed as code.

CMMN – Case Management Model and Notation – is also a modeling notation to allow graphical designing of cases (dynamic processes).

BPMN is a very common modeling notation and you can model processes like this: you have a starting point, some human tasks, decisions points, some automated tasks, and an end event.

New Hiring Process: A simple BPMN sample

Now, note the difference. With case management, you don’t necessarily need to specify the next task to be executed, as it can be defined dynamically when the case starts. You don’t need a start event, nor an end event. You can have ad-hoc tasks. Milestones can be achieved. You can create Case Files to keep and share data through all case tasks. Case Comments will be also available and shared through the whole case.

IT Order: Case Management sample

From a simplistic point of view: case management will allow you to create dynamic and flexible workflows.

A Case definition is so flexible it can be designed with zero tasks. All tasks can be created automatically during the whole case lifecycle.

Expand your architectures by extracting the processes and rules to a specific service with its own lifecycle. Flexible processes are possible, trending and are supported with community projects like jBPM (and the enterprise version, RHPAM – Red Hat Process Automation Manager).

The IT Order example above can be easily tested if you download jBPM and import the available showcase project “IT Orders”. More information about this sample can be found here.

Case management is a really common scenario within companies requirements for the I.T. teams, and few architects and developers have the experience to identify it and deliver it with the proper solution.

Be an outstanding professional.
Allow the magic to happen, let the engine work for you.