As part of the Activity-based Design (ABD) workflow project on which I am engaged in at Intermountain Health, I agreed to do a literature search on the topic. Since I believe this is of general interest to us in openEHR, I’m making it an open question. Note that the design work of the ABD group will eventually be published open source.
I am particularly interested in formalisms, frameworks and experience with any kind of ‘adaptive’ or ‘cooperative’ workflow system, also analytical approaches. Information about current research efforts with no publications welcome as well.
If you know of useful resources in this area, please add to this Wiki page. Please (please!) try to qualify any link with at least a short description or category of the resource.
can you add something to the wiki page (link below)? We would particularly like to know whether you see BPMN as good / adequate / limiting in clinical workflows, and any kind of experience reports, models or anything else you can point us to from your work.
this looks very relevant. Can you add it to the wiki page as a response (doing this means I can more easily track back to contributors).
Is Essomenic some sort of patented modelling approach (there are indicators on the slides the seem to imply this)? Is there a publicly visible specification of the formalism?
I added a bit more background information on the ABD workflow project:
Activity-Based Design is based on the idea that an ‘Activity’ is the unit of clinical work, and thus also the unit of formal definition of a workflow. An Activity as currently conceived includes:
semantic model (elements) - something like an archetype or template
potentially pre- and post-conditions for execution
definition of workflow execution state
potentially a definition of user interaction, e.g. how to react to user choosing terms etc
activity-based costing data, e.g. ICD codes, charge ids
qualification - who can perform this Activity?
scheduling information
Workflows are assumed to be made of sub-workflows and ultimately Activities. It is assumed so far that there are 3 kinds of workflows:
imperative - essentially fixed, deterministic; probably good for mainly admin tasks
adaptive - workflows that can be modified or executed differently than the definition, without forcing abandonment
cooperative - workflows that are adaptive and involve multiple execution agents.
The ABD work is current research at Intermountain Healthcare, and has at least 12 months to run. Accordingly, all current thinking is, in the usual way, somewhat speculative. Implementations are being built to test the current state of the ideas as they are at any point in time.
Very interesting. Good to see Intermountain tackling wflow. Especially the idea of adaptive wflows is intriguing. Cooperative category sounds like a true challenge.
Inevitable questions follow:
Any specs out there? Any code? A shared space for comments/Qs/Chat?
Comments:
I have long thought that workflows were underutilized in hcare due to attempts to model them either at a too formal level (petri nets,colored petri nets or such) or at a too simple level that could not handle the complexity of healthcare. Something thought specifically for the domain may do really well. I remember studying process mining and delta analysis with the aim of analyzing existing workflows to see how much they deviate from clinical guidelines, but that dream died at one point A healthcare specific computable workflow could allow a lot of interesting things. Hope this one takes off.
Hello Thomas,
I would like to refer you to CMMN. It seems to mostly have all the attributes u define for “Activity”.
CMMN does not define “flows” as BPMN does, its more of a “business event” based workflow definition centred around data rather than process.
CMMN defines CaseFile (probably implemented using OpenEHR data models) to store all data related to a case.
A small brief, based on your “Activity” definition:
Semantic model includes things like CasePlan, PlanningItem, Task (HumanTask, ProcessTask, CaseTask) which can define a case plan to solve a “case”, which in this case is the process of providing “patient care”. Concept of Stage can be used to group tasks together as a logical unit. Concept of Milestone, to signal something important. Concept of UserEvent and TimerEvents to
Has the concept of Entry and Exit Sentry, which in turn has 2 parts, one to implement “events” other to implement arbitrary business logic. This can be applied to any PlanningItem (refers to a Stage or Task). Has constructs like, “activation”, “repeat”, “discretionary tasks” etc.
Every Task/Stage/Milestone/Event has a well defined lifecycle to control their states.
HumanTask coupled with forms can probably model all user interactions
Tasks can be “assigned” to individuals using custom extensions to CMMN specification. PlanningTable can help with deciding who can perform the tasks under what context.
Concept of CaseFileEvent to react to changes in CaseFile data.
Along with BPMN2.0, I think we can define very complex “flows” and also be “adaptive”.
So the idea is to use CMMN to define “WHAT” of a process and BPMN2.0 to define “HOW” of that process.
We have successfully used this combination to drive very complex flows in ECommerce business operations. however I think that the combination of BPMN and CMMN can be used to model quite complex flows in clinical work flows as well.
Very interesting. Good to see Intermountain tackling wflow. Especially the idea of adaptive wflows is intriguing. Cooperative category sounds like a true challenge.
Inevitable questions follow:
Any specs out there? Any code? A shared space for comments/Qs/Chat?
it's coming
This literature / activity survey is part of getting those first specs and examples together. I have seen working code BTW, but they want to refine it a bit further before making it visible.
This is very relevant. Can you please post this as an answer to the wiki page, that way it won’t get lost, and we can get back to you as we process the information.
We are collaborating, for some time now, with a research group with
expertise in clinical processes, mostly related to clinical practice
guidelines (but not restricted to them). They have worked with
specific-purpose guideline languages (Asbru and PROforma) and, more
recently, with languages from the BPM (business process management)
field. Guideline languages can be seen as adaptive workflow systems,
because processes are non deterministic, and usually do not consider
multiple execution agents. In the context of guideline languages, we
have a joint work where we combine the PROforma language with openEHR
archetypes (see http://dx.doi.org/10.1007/978-3-642-22218-4_35 and http://dx.doi.org/10.1016/j.jbi.2013.05.004). In the context of
BPM/workflows, the group has analysed the suitability of the so-called
workflow control patterns for the representation of guideline
processes (see http://dx.doi.org/10.1186/s12911-016-0253-z). On the
other hand, they have used the BPMN language (concretely, BPMN 2.0) as
a tool for the specification of clinical guidelines, specification
which is then (semi)automatically transformed to a guideline language
(see http://dx.doi.org/10.1007/978-3-319-13281-5_9). They have also
used BPMN for the specification of guidelines of a certain size (e.g.
a significant part of the NCCN prostate cancer guideline).