Risk Formulas
Risk formulas turn the three scoring dimensions into a number and a band. There are two formula types, and they have deliberately different rules about what they may reference.
The two formula typesβ
| Type | Produces | May reference |
|---|---|---|
| Score | The numeric risk score | [P] [F] [S] |
| Risk value | The risk level (band) | [P] [F] [S] [RS] |
[RS] is the resulting score. A level formula may read it; a score formula may not β it is the thing the score formula exists to produce, and the system refuses to save a score expression that names it.
Fieldsβ
-
Code / Name
The formula's identity. -
Formula type
Score or Risk value. Set this first β it decides which variables the editor will accept. -
Expression
The Excel-style expression itself. -
Blank value default
What an unanswered variable is worth. Empty (the default) means the formula refuses to score while any variable it names has no value. See Blank value default below. -
Active
Only active formulas are evaluated. If no score formula is active, users type the score manually; if no level formula is active, they pick the level manually. See Scoring.
Writing expressionsβ
Expressions use familiar spreadsheet syntax. Both IF(a:b:c) and IF(a,b,c) are accepted, and the usual functions are available: MAX, MIN, SUM, AVERAGE, ROUND and their relatives.
A simple score formulaβ
[P]*[F]*[S]
A level formula with an overrideβ
IF([S]>=15 : 5 : IF([RS]>400 : 4 : IF([RS]>200 : 3 : IF([RS]>70 : 2 : 1))))
This bands the score into five levels, but forces the top band whenever severity alone is high enough β the common requirement that a potentially fatal hazard is never rated low just because exposure is rare.
Variables are written in brackets on purpose. Without them, the F in IF( would be indistinguishable from the frequency variable. The brackets are also how the system detects whether a formula uses frequency at all, which decides whether the frequency field is shown on the scoring screen.
Your own fields as variablesβ
Any parametric field you have defined on the record this formula scores can be named in an expression, in brackets, exactly like the built-in variables:
[P]*[F]*[S]*[exposure_factor]
Which of your fields are eligible:
| Field type | Usable in a formula |
|---|---|
| Number, Decimal | Yes |
| Yes / No | Yes β counts as 1 or 0 |
| Single select | Only if every option's value is a number or a yes/no |
| Everything else β text, dates, files, references, multi-select | No |
A select over labels is a category, and multiplying by a category means nothing however tidy the arithmetic looks. The formula editor's palette lists the eligible fields beside the built-in variables, so you do not have to remember the key.
The score shown live on the assessment screen is worked out from the same fields as the stored score, so what you see while filling the form is what gets saved. See Parametric Fields for how to define one.
Blank value defaultβ
A blank field is not zero. By default, a formula that names a field with no value refuses to score at all, and the record keeps whatever it had. That is deliberate: an empty cell would evaluate as nought, and a score of nought reads as no risk rather than not answered yet.
That default is right when every variable is compulsory, and wrong when a parametric field is genuinely optional. So each formula carries its own setting:
-
Blank value default β empty (the default)
Refuse to score while any referenced variable has no value. -
Blank value default β a number
Every unsupplied variable evaluates as that number. Set it to1for a multiplier that should have no effect when unanswered, or0for an addend.
One number applies to all of that formula's variables; it is not set per field. Zero is a legitimate choice β leaving the setting empty is what means "no default", not entering 0.
Before setting a blank value default, be sure the answer it produces is one you would defend. "Treat blanks as 1" quietly turns an unanswered exposure factor into a full-weight one.
The formula editorβ
Expressions are not typed into a plain text box. The editor provides:
- A token palette of the variables you may use. The palette follows the selected formula type, so switching from score to risk value changes what is offered.
- A live check that validates the expression as you type.
- A try-it panel that evaluates the expression against values you supply, so you can confirm the bands behave as intended before making the formula active.
Validate against the edges, not the middle. The interesting failures in a banding formula are at the boundaries β the score that should just tip into the next band, and the severity value that should force the override.
Authorization and Access Controlβ
Creating and editing formulas is restricted by role-based permissions. Because a formula change silently reclassifies how new assessments are scored, this is normally the most tightly held permission in the module.
Activate a new formula deliberately and record why. Existing risks keep their stored scores and levels, so a formula change creates a register where old and new assessments were banded by different rules β which is fine, provided somebody wrote down when it happened.