Designing your first OpenFn workflow
This article explains how to use the information gathered during discovery to determine the specific workflow steps, design your workflow, and draft a diagram to document the steps in the process you would like to automate.
Why diagram your workflow?
During requirements gathering you might outline the new workflow with a list of steps or use existing documentation on a business process/protocol. For example:
- New patient visits clinic
- Worker registers patient in mobile app (KoboToolBox)
- Every day, sync new patients to national health information system (DHIS2)
Next, consider visually outlining the structure and flow of a workflow to ensure it can be more easily understood by various stakeholders. Diagraming can help to capture:
- The right flow/sequence of steps,
- Dependencies,
- Redundancies, and
- Who is responsible for each step
Main steps to workflow diagramming
- Diagram the human/manual process steps of this workflow,
- Identify opportunities for automation,
- Detail the functional steps of the ideal automation process,
- Share the diagram with all stakeholders for final sign off, and update it as necessary
The output of this exercise is clear documentation on how a business process will be executed by automation, humans, and often a combination of both.
Diagram using global standards
When diagramming, consider using global standards like BPMN (business process model and notation) so that diagrams are consistent and can be understood by outside parties. BPMN (learn more about standard BPMN 2.0) has flowchart-like symbols and precise notation that can be translated to software process components.
Check out these resources for learning & building your own BPMN diagrams:
BPMN.io
open-source modeler: https://bpmn.io/Camunda BPMN Tool
includes a free tool and tutorial: https://camunda.com/bpmn/LucidChart
provides a very user-friendly diagramming interface: https://www.lucidchart.com/pages/bpmn
Looking for a crash course? This video provides a quick overview of BPMN and how to use it: https://www.youtube.com/watch?v=BwkNceoybvA
OpenFn Examples of BPMN Diagrams
See the below example BPMN diagram for the user story:
As a program manager, I want to extract beneficiary details ("tracked entity instances") from my country's DHIS2 system, so that I can enroll them as contacts in my SMS campaign configured on RapidPro to send them automated alerts and program updates.