BRAG colour rules
BRAG (Blue / Red / Amber / Green) is computed at render time from the state of each row. This page lists the rules. Defaults are listed first; configurable thresholds are noted.
For the concept, see The BRAG status system. To change thresholds, see Adjust BRAG thresholds.
Hazards
Section titled “Hazards”Inputs: status, inherent risk level, review date.
| Condition | BRAG |
|---|---|
| Status closed | Blue |
| Inherent risk = Very High and status open | Red |
| Inherent risk = High and status open | Amber |
| Review date past | Red |
Review date in 0–14 days (configurable: reviewAmberDays, default 14) | Amber |
Review date in 14–60 days (configurable: reviewGreenDays, default 60) | Green |
| Review date in more than 60 days (or no review date) | Blue |
The first matching rule wins, in the order listed.
Incidents
Section titled “Incidents”Inputs: status, notifiable flag, regulator-notified state, investigation due date, occurred-at.
| Condition | BRAG |
|---|---|
| Status closed | Blue |
Notifiable + regulator not yet notified + occurred more than regulatorRedHours ago (default 24) | Red |
Status under-investigation + no due date + occurred more than staleInvestigationDays ago (default 30) | Red |
Status under-investigation + investigation due in investigationAmberDays (default 7) or fewer | Amber |
| Status under-investigation otherwise | Green |
| Otherwise (e.g. reported but no investigation yet) | Amber |
Actions
Section titled “Actions”Inputs: status, due date.
| Condition | BRAG |
|---|---|
| Status completed or verified | Blue |
| No due date | Blue |
| Due date past | Red |
Due in 0–dueAmberDays (default 14) | Amber |
Due in dueAmberDays–dueGreenDays (default 60) | Green |
Due more than dueGreenDays away | Blue |
Inspections
Section titled “Inspections”Scheduled (not yet completed)
Section titled “Scheduled (not yet completed)”Inputs: status, scheduled date.
| Condition | BRAG |
|---|---|
| Status cancelled | Blue |
| Scheduled date past | Red |
Scheduled in 0–scheduledAmberDays (default 7) | Amber |
Scheduled in scheduledAmberDays–scheduledGreenDays (default 14) | Green |
Scheduled more than scheduledGreenDays away | Blue |
| Status in-progress | Blue |
Completed
Section titled “Completed”Inputs: score percentage.
| Score | BRAG |
|---|---|
≥ greenThresholdPct (default 100) | Green |
≥ passThresholdPct (default 80) | Amber |
Below passThresholdPct | Red |
Hazardous substances
Section titled “Hazardous substances”Inputs: status, whether a safety data sheet is held, its expiry date, and how many hazard classifications are recorded.
| Condition | BRAG |
|---|---|
| Status ceased | Blue |
| No safety data sheet held | Red |
| Sheet expired | Red |
| No hazard classification recorded | Amber |
Sheet expires in 0–90 days (configurable: sdsAmberDays, default 90) | Amber |
| Sheet held, but no issue date recorded | Amber |
Sheet expires in 90–365 days (configurable: sdsGreenDays, default 365) | Green |
| Sheet current for more than 365 days | Blue |
The first matching rule wins, in the order listed. Two of these are worth explaining, because they are the ones people query.
A missing sheet outranks an expired one. You cannot safely handle, store, or respond to a spill of a substance whose data sheet you do not hold, and every jurisdiction we support requires one. A stale sheet is bad; no sheet is worse.
A missing classification is amber, not red. The organisation has done the main thing — recorded the substance — and the consequence is incompleteness rather than danger: the substance counts toward no quantity threshold, so it is invisible to the controls report. Section 2 of the safety data sheet has the answer.
“Holds a sheet” means any of three things: an attached document, a recorded issue date, or a recorded expiry date. One definition, used everywhere the register is coloured and everywhere it is reported on. A sheet on file with no issue date is amber rather than green — unknown currency is a real gap, and treating it as fine is the failure this whole system exists to prevent.
Hovering the badge on any substance tells you which rule fired and what to do about it.
Enrollments (training)
Section titled “Enrollments (training)”Inputs: status, expiry date.
| Condition | BRAG |
|---|---|
Status not Passed | Blue |
| Expiry past | Red |
Expiry in 0–expiryAmberDays (default 30) | Amber |
Expiry in expiryAmberDays–expiryGreenDays (default 180) | Green |
Expiry more than expiryGreenDays away (or no expiry) | Blue |
Configuring the thresholds
Section titled “Configuring the thresholds”Every value above marked “configurable” is editable in Organisation Settings → Configuration → BRAG thresholds. See Adjust BRAG thresholds.