I have been anticipating this post for some time now. After making my way past graph theory, Petri nets, and BPMN 2.0, then experimenting with several BPM suites, I can finally focus on designing clinical workflow applications! When I began investigating workflow technology, my main goal was finding BPM suites with four properties: 1) mature community editions, 2) cloud capability, 3) written in a mainstream language, and 4) suitable for use with small to medium-sized practices. These properties were deemed most important because they allow me to freely experiment with core functionality, allow for integration with other services, do not require on-site servers, and are affordable.
Sales practices are one of the things I hate most about dealing with software companies. When I inquire about the cost of a product, I want a price, not an offer of a sales call. Even worse, when a salesperson does call, he/she is rarely able to answer technical questions. Technical questions about software products are common. Why not make it possible to ask for a technical call instead of having to suffer through a clueless salesperson??? Better still, why not put that information front-and-center where it is easy to find instead of building slick websites with pretty graphics and animation and zero information? It’s 2016!!! I immediately eliminated companies that followed this pattern.
Evaluating BPM suites takes time. Even though all suites do basically the same things, terminology, navigation, and other product-specific attributes slow down the process (no pun intended, but if it amuses, go with it…). Aside from learning the suites, my other evaluation issue was having to learn BPMN 2.0. Interestingly, BPMN 2.0 modeling capabilities turned out to be good evaluation criteria.
The final BPMN 2.0 spec was released in 2011, and it was significantly more complex than the previous iteration. Support for BPMN 2.0 features has been uneven across companies as visual modeling tools vary in how many BPMN 2.0 elements they support. However, the more important issue for me was how easy they were to use. One aspect of ease-of-use is whether the modeling tool is standalone or part of a suite. When initially learning BPMN, standalone tools are the best choice. Most standalone modelers are lightweight with just enough features to make them useful; also, setup is usually a snap.
When selecting BPMN suites, Macintosh support was important for me. I use a Mac and wanted systems that would run on OSX. All my writing is done on a Mac, and I wanted to have the suite readily available while writing. Of course, requiring Mac support narrowed the field, but not too much. However, support for Windows is not an issue. I have Windows 7 in a BootCamp partition on my MacBook Pro as well as Windows LAN setup in my office with a Dell PowerEdge Server and two Windows desktops with Windows 7 Professional.
Applying the criteria above, and hating sales calls, I settled on four systems for testing: Bizagi, Bonitasoft, Camunda, and ProcessMaker. Here are my very informal impressions.
Camunda has the niftiest visual modeling tool. It is very easy to use, all features are easy to access, and it supports BPMN 2.0 quite well. It is a standalone tool that would be my first choice if I were teaching a modeling class. All four systems have good modeling tools, but Camunda’s was simply the easiest to use from download to first process model. I quite literally never read any instructions for using it.
I liked Bizagi; however, its strong ties to Windows made it less suitable for my work habits. It is on my BootCamp partition, but I found it inconvenient because I like working on OSX. Should I ever need a Windows-centric system, Bizagi would be my first choice.
On first impression, Bonitasoft has one of everything. There are programming hooks, APIs, etc. that allow one to build just about anything. Bonita is complex and capable. To its credit, Bonita has a huge trove of training materials that makes learning as painless as possible. Generally speaking, I like Bonitasoft, but the way data/variables are handled seemed cumbersome. Setting up variables required too many steps. Bonita has a lot of features, but the way those features are integrated makes using them less than intuitive. Overall, my impression of Bonitasoft is that is a feature-rich system with plenty of capability, and the time spent learning it will pay off.
ProcessMaker was the last system evaluated. I had settled on Bonitasoft, but then decided to give ProcessMaker a try because of something that showed up in my Twitter feed (can’t remember what). Anyway, when investigating the product, I found it was available from Bitnami. Bitnami is a cloud hosting company that has made deploying cloud-based applications a no-brainer. In fact, it is almost as easy as a local install. I began using Bitnami when experimenting with PHP-based content management systems. Using Bitnami, one can download an application to his/her local machine then later deploy to Amazon, Google, or Microsoft clouds. Having had many positive experiences with Bitnami, I installed ProcessMaker.
ProcessMaker has PHP origins, which stands out (for better or worse depending on one’s worldview) from most other BPM suites where Java is the standard. ProcessMaker has a good visual modeler that is easy to learn. The thing that blew me away about ProcessMaker was how easy it was to learn the system and create a functioning workflow application. In hindsight, I think this is due to the way ProcessMaker is set up. It seems more like a programming language IDE than a BPM suite frontend. It also behaves like a programming language. The way one declares variables or creates users is intuitive (at least if one knows a programming language). Unlike the other suites, I never once found myself scratching my head trying to figure out how or why a feature worked as it did–there were no surprises.
These are all great products, and each has its good points. Here are my final thoughts:
- Camunda Modeler is my choice for teaching and learning BPMN 2.0 modeling.
- Bonitasoft seems to be the most feature-rich of the four systems.
- If Windows support is important, then Bizagi makes sense.
- ProcessMaker is a great tool and was the easiest to experiment with.
Going forward, I will be using ProcessMaker and Bonitasoft, and periodically comparing how they are in terms of creating and deploying applications.
Last summer, I set out to experiment with workflow technology and iOS programming with the goal of understanding how to design cloud-based clinical care systems that provide process support via workflow technology. I am very pleased with the outcome of these explorations and ever more convinced that the technologies needed for next-generation EHR systems are here.
Look for workflow tech explorations and BPMN modeling discussions at Clinical Workflow Center. Next week, back to primary care and HIT…