eCEBSeCEBS Docs
Signal flows

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 typeMatchesTypical use
Starting wordsMessages beginning with one of a list of wordsThe normal case — a keyword per kind of report
PatternMessages matching a regular expressionMessage shapes that words alone cannot describe
FallbackAnything no other flow claimedA 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:

On this page