A role-to-training mapping is the right idea and slightly too simple on its own. Two people with the same job title at two sites frequently need different training, and a system that cannot express that gets worked around with a manual list, which is the thing it was built to avoid.
Key takeaways
Requirements attach to a role plus attributes: site, equipment, shift, driving.
Person-level additions exist and are recorded with a reason, because reality has exceptions.
A person-level removal does not exist. Exceptions add, never subtract.
A requirement removed from a role marks assignments not-required and keeps completions.
The engine runs on a schedule as well as on change, so a sheet edit takes effect the same day.
Role plus attributes
Attribute
Example
What it adds
Role
Warehouse operative
The base list: manual handling, fire, induction
Site
Ashford depot
Site induction, and the fuel bay awareness talk
Equipment
Counterbalance forklift
The forklift ticket and its refresher
Driving
Company vehicle
Driver awareness, licence check
Shift
Nights
Lone working, and the different first-aid arrangement
Responsibility
First aider
The first-aid qualification and its three-year refresher
Six attributes covers essentially every case in a small business, and none of them is exotic — every one is something the business already knows about a person. The combination is what produces the list, so a warehouse operative on nights at Ashford who drives a forklift gets a materially different list from the same job title on days at another site, without anybody maintaining two roles.
The engine
Fig 1. How a person’s outstanding training is computed. Nothing is stored per person except completions and additive exceptions; the list itself is derived every time.
Database
Machine learning
Management
Analytics
Front-end & mobile
People
Exceptions add, never subtract
Person-level additions are necessary: somebody is designated a fire marshal, somebody is being trained into a new role, somebody had an incident and additional training was agreed. All of those are real and none of them fits a role mapping.
Person-level removals do not exist, and the omission is deliberate. “This person does not need the manual handling that everybody else in their role needs” is either a mistake in the role mapping or a decision that ought to be visible, and both are better handled by changing the mapping or changing the attributes than by a quiet exception that nobody reviews.
The one legitimate-looking case — somebody holds an equivalent qualification from elsewhere — is handled as a completion rather than an exception. Record the external qualification with its expiry, and the requirement is satisfied through the normal path with a proper record of why.
Removing a requirement
Fig 2. What happens when a requirement is dropped from a role. Outstanding assignments stop; completed ones stay, because they describe something that actually occurred.
App integration
Machine learning
Security & identity
Management
Marking outstanding assignments not-required rather than deleting them matters for the gap report: a sudden drop in outstanding training should be explainable, and “eleven assignments became not-required on the 4th because the requirement was dropped” is a much better answer than a chart that quietly improved.