Friday, February 6, 2015

BPMN and Actor/Transaction Diagrams

In all of my playing around with BPMN it's become apparent that it has a number of different uses for IHE profiles.  One of them is to represent actors and transactions.  Here are two views of IHE Radiology's Scheduled Workflow B Profile:

The IHE Actor/Transaction diagram on the left from SWF shows you what the different actors do in the profile.  The collaboration diagram on the right does exactly the same thing. I chose SWF because it's one of the more complex IHE profiles, and I can still capture the detail in almost the same amount of space.  The nice part about the latter component is that the collaboration diagram is computable. I've even embedded the documentation for the actors in the BPMN diagram.

One of the things that's missing from BPMN is a way to indicate which messages (IHE calls them transactions) in the workflow must be supported by the sender and receiver.  This isn't reflected in the Actor / Transaction Diagram that IHE uses either, but does show up in the Actor/Transaction Table that follows it.

BPMN can actually handle this with extensions, as I show in the following example:

    <bpmn2:messageFlow id="MessageFlow_2" name="Patient Update [RAD-12]" sourceRef="#Participant_1" targetRef="#Participant_2">
        <ihe:supportRequired ihe:source="Required" ihe:target="Required"/>

And if I could actually figure out how to use the BPMN Model editor in Eclipse, I might even be able to create this extension without having to edit the XML directly.  At this stage, it looks like I could capture a good deal of IHE Volume I content in BPMN.  I could go a step further and represent some of the use cases in BPMN models.  At this point though, I could see how a model driven development tool could be created for several different types of IHE profile.  I'm unlikely to take this further (at least from the IHE perspective) unless there is some interest in further developing the material further.



  1. The workflow diagrams are too small to read and not image scalable.


    1. If you click on the images, you can see something about twice the size.

    2. The fonts are still too small to read for a better understanding.

    3. The fonts are very small to read even if someone clicks on the picture.