Automatic System Role Assignment based on locality

I am looking for a way, WITHOUT USING DYNAMIC ROLES, that when a person record has X location (or department) + X Business role they get X System role automatically. For example. Bob gets assigned "site 1" location, and the business role "admin", he gets automatically the system role "site 1 admin". Is that possible to accomplish without using dynamic roles?