About signal flows
What a signal flow is responsible for, and how flows are checked against an incoming message.
A signal flow is one complete answer to the question "what should happen when this kind of message arrives?". It decides which messages it answers, how it reads them, what it writes to DHIS2, and who gets alerted.
One flow, four responsibilities
A flow owns its claim (which messages belong to it), its grammar (how those messages are read), its mapping (what is written to DHIS2), and its recipients (who is told). Keeping all four together is deliberate: changing how a message is parsed without changing what it writes is almost always a mistake, and the flow is the unit where both are visible at once.
How a message finds its flow
Flows are checked in the order shown in the list, and the first match wins. A flow can claim messages in one of three ways.
| Claim type | Matches | Typical use |
|---|---|---|
| Starting words | Messages beginning with one of a list of words | The normal case — a keyword per kind of report |
| Pattern | Messages matching a regular expression | Message shapes that words alone cannot describe |
| Fallback | Anything no other flow claimed | A single catch-all, always checked last |
Only one fallback
At most one published flow may be the fallback. If a second published flow also claims everything unclaimed, whichever is checked second would never receive a message — the portal refuses to publish into that collision and tells you which flow it conflicts with.
Draft and published
Every flow is either a draft or published. Only published flows see real traffic. A draft can be edited, saved, and revisited freely without any effect on the running system, which makes it the right place to build up a configuration over several sittings.
Returning a published flow to draft takes it out of the pipeline immediately. Messages it used to claim will fall through to whichever flow claims them next — usually the fallback — so it is worth knowing what that is before unpublishing.
The shape of the work
Configuring a flow means walking eight wizard steps, curating its signal codes, and then publishing. Those are covered in order:
- The flow list — creating a flow and reading the list.
- The flow wizard — the eight steps.
- Codes and families — signal codes and their groupings.
- Replies and recipients — what goes back out.
- Versions and publishing — going live.