Auto-Assignment of Certification Requirements Based on Role + State + Client

Overview

Build a rules-engine-driven workflow that automatically generates a full set of required certifications for a worker based on three inputs: Role, State, and Client/Hospital. Once generated, the system should manage the full lifecycle of each requirement — including status tracking, reminders, and renewals.


Problem

Today, certification requirements are manually determined and tracked, leading to:

  • Missed or inconsistent requirements across similar placements
  • Manual effort to look up what's needed per state/client
  • Compliance gaps when certifications expire without notice
  • No standardized process for renewals or reminder notifications

Proposed Solution

1. Rules Engine — Layered Requirement Logic

Requirements should be resolved by stacking rules in priority layers:

| Layer | Scope | Example | | -- | -- | -- | | Universal | All roles, all states, all clients | BLS, TB Test, Background Check, Drug Screen, HIPAA, OSHA, Fire Safety | | Role-specific | By role | RN → ACLS, IV Cert, State License; CNA → Abuse Training; RT → Ventilator Competency | | State-specific | By role + state | RN in California → COVID Vax, Hepatitis B; RN in CA/NY at certain hospitals → NRP | | Client-specific | By role + client/hospital | Hospital clients → PALS, Restraint Training, Physical Exam; SNF clients → Dementia Care |

Example: An RN in California at Hospital A (Kaiser) would auto-receive:

  • BLS, ACLS, PALS, NRP, TB, Flu, COVID, Hepatitis B, Background Check, Drug Screen, HIPAA, OSHA, Fire Safety, State License, IV Cert, Restraint Training, Physical Exam, Ventilator Competency

2. Certification Lifecycle Management

Each generated certification record should track:

  • Status: Missing → Submitted → Active → Renewal Due → Expired
  • Issue date and expiration date (auto-calculated from validity period)
  • Renewal window (configurable per cert type, e.g., 60 days before expiry for BLS, 90 days for licenses)
  • Non-expiring certs (e.g., Hepatitis B) marked as "Completed" with no renewal cycle

3. Reminders & Notifications

  • Automated reminders sent when a certification enters its renewal window
  • Escalation notifications if a cert expires without renewal
  • Channels: Email + in-app notifications (SMS as a future enhancement)
  • Configurable reminder cadence (e.g., 60 days, 30 days, 14 days, 7 days before expiry)

4. Admin Configuration

  • Admin UI to manage rules (add/edit/remove cert requirements per role/state/client combination)
  • Ability to bulk-update rules (e.g., "add COVID vaccination requirement to all California roles")
  • Audit log of rule changes

Acceptance Criteria

  • [ ] Given a Role + State + Client selection, the system auto-generates the correct set of required certifications
  • [ ] Rules are layered (universal → role → state → client) and produce the union of all matching rules
  • [ ] Each certification has a configurable validity period and renewal window
  • [ ] Certifications auto-transition to "Renewal Due" status when entering their renewal window
  • [ ] Certifications auto-transition to "Expired" when past their expiration date
  • [ ] Reminder notifications are sent at configurable intervals before expiration
  • [ ] Admins can create, edit, and delete rules via an admin interface
  • [ ] Compliance percentage is calculated and visible per worker
  • [ ] Non-expiring certifications (e.g., Hepatitis B) are handled correctly

Technical Considerations

  • Rules engine should be data-driven (stored in DB, not hardcoded) for easy admin management
  • Consider a certification_rules table with columns: role, state, client, cert_type, validity_months, renewal_window_days
  • Background job / cron for daily status checks and reminder dispatch
  • API endpoints needed: generate requirements, update cert status, CRUD for rules, get compliance summary

Out of Scope (Future Enhancements)

  • SMS notifications
  • Integration with third-party credential verification services
  • Worker self-service upload portal (separate ticket)
  • Mobile push notifications

Please authenticate to join the conversation.

Upvoters
Status

In Review

Board

💡 Feature Request

Date

About 23 hours ago

Author

Linear

Subscribe to post

Get notified by email when there are changes.