Peter Schoof ran a discussion today on whether BPMN is compatible with ACM or not; this was the subject of my talk at the ACM workshop. I responded by giving the justification for this position from my talk and the subsequent discussion.
When hearing the term “business process”, most people think of a static business process – that is one that is done the same way more than once. BPMN has been designed to use on processes that can be repeated — otherwise you would never bother.
With ACM, we talk about work which, in some cases, is never done the same way twice. With ACM, these unpredictable processes must be planned and modified by the case manager. This is about using BPMN for those processes planned or modified directly by the case manager as part of performing the case management.
Patient Treatment Plans
A good example of an ACM plan is a patient treatment plan. I am not talking about “Patient: I have a cold. Doctor: take two aspirins and call me in the morning.” I am talking about real patients with real problems, possibly a complication of an accident, or a combination of symptoms that are not found in a text book.
It is not uncommon for a doctor to come up with a treatment plan that is UNIQUE for that patient. Across millions of patients there are probably duplicates, but in a particular medical center this treatment plan may never have been prescribed exactly this way before, and it may never be needed again.
Treatment plans are important. Patients may have allergies to particular types of medication. There may be a combination of problems that prevent using the standard treatment. Each patient has different amounts of stamina and general health, which may make different approaches more promising. A doctor draws on many many sources of information (sometimes doing serious research on what is currently available). In the end the doctor must come up with a treatment plan, give it to the patient, and institute some means for following up.
Could this treatment plan be represented in BPMN: Yes.
Would it be accurate: Yes.
Would it be understandable: Yes.
Is it overkill: Yes.
Who here thinks that a doctor will be drawing a BPMN diagram for this treatment plan?
This is what we mean by an adaptive process: it is NOT static, it is modified by the professionals themselves. It may be saved and reused, but it is more often modified before use.
Maybe we just need to train the doctors? Maybe it is intelligence? Doctors are smart enough, but they have no time or need to learn BPMN diagrams. They are busy. If they had extra time, they would use it to find better medical treatment, not how to draw diagrams.
There is no real advantage to the doctor or to the patient of a BPMN diagram for a treatment plan.
This has nothing to do with the complexity of the treatment plan, or how complicated the BPMN diagram is. It is not because people drawing diagrams test to draw them in a complicated way. Even if the treatment plan is just “take two aspirins” I can not imagine a doctor drawing a BPMN diagram of this. It would be silly.
But wait: can’t we have both?
That is: some treatment plans are drawn in BPMN, and others as a simple task list. The problem is that no treatment plan is 100% correct, and most have to be modified. If the doctor is not used to drawing BPMN diagrams, then the doctor will not be able to modify one either. Those treatment plans drawn in BPMN will remain static, and will not be adaptive.
If you think that a patient treatment plan is not a good example of an ACM case, then perhaps you don’t understand ACM. Don’t give me a BPM example, and then say: look there is BPM. You need to use an ACM example if you want to understand the reason that BPMN will not work for it. ACM is designed to support people, like doctors, who think for a living. ACM is for people who need to draw up plans on a daily basis, and regularly as part of what they do. For these people ease of creating, ease of modifying trumps accuracy and completeness. Instead of BPMN, what is needed is a way to describe processes that is designed for changing them, not for enforcing that they remains the same.
Doctors may make use of systems that use BPMN: of course. When I say that BPMN is incompatible with ACM, I mean that the actual case manager experience can not include BPMN for their own adaptive plans. Doctors will use many BPM systems based on BPMN for routine tasks. They will also use many traditional applications programmed in Java and C++. I am not saying that everything they touch has to be BPMN free. But the treatment plan, which is the ACM part of the medical experience, the part that the doctor is responsible for drawing up to fit a particular patient, will simply NOT be drawn in BPMN. Not now, not ever.
I am begging to be proven wrong: show me a medical center where a doctors are drawing up treatment plans in BPMN!
Some have thought that what I mean here is about underlying technology “under the covers”. As if this was a discussion of whether Java or PHP is suitable for implementing an ACM system. Please understand: what is used to implement the system is not the discussion here. A programmer might use Java, C++, PHP, COBOL, SQL, UML, or even BPMN to implement the under the covers system. That is a decision of the development team, and does not require the user to know Java, PHP, C++ or any of these other technologies. That is programming, not performing Adaptive Case Management.
The point I am trying to make is about what the case manager must know and use. The case manager does not need to know Java, to use a Java program. I have no issue with using BPMN to implement a system such that the case manager does not need to know BPMN. But ACM is the practice of planning and achieving goals, and has nothing to do with whether the system was implemented in Java or not. We discuss only the process visible to the case manager.