Semantius Logo

Compliance Training

1. Overview

Mandatory regulatory training assignment, tracking, and certification: sexual harassment training (CA SB-1343), HIPAA, OSHA, anti-bribery, SOX, GDPR, AML. Masters compliance_assignments and learner_certifications. Realizes COMPLIANCE-TRAIN and CERT-MGMT. Distinct from general LMS course delivery: assignments are mandatory and time-bound, lifecycle includes overdue/waived/expired states with regulator-evidence retention, and ownership typically sits with GRC/Compliance, not L&D.

2. Entity summary

NameDescription
CertificationsIssued credential against a worker (internal certification, vendor cert, regulatory cert) with issue date, expiry, issuing body, and renewal rules. Drives recertification campaigns.
Compliance Training AssignmentsMandatory training assignment tied to a regulation, role, location, or hire-event (anti-harassment, AML, GDPR, OSHA, HIPAA). Carries due date, escalation policy, audit log.
Cost CentersOrganisational unit for cost allocation: name, code, manager, hierarchy, currency. Drives variance reporting and project / departmental P&L. A near-universal foreign key in finance and payroll.
CoursesAtomic learning unit: e-learning module, video, live session, blended programme, external content. Carries content reference, duration, format, language, prerequisites, certification award.
EmployeesCanonical record of a person currently or formerly employed by the organization. Carries identity (legal name, contact, IDs), employment metadata (start date, end date, employment type, country), and pointers to position, job profile, org unit, manager, and life-event history. The most multi-mastered data object in the catalog: HCM masters the core HR slice, Payroll masters the comp/withholding slice, and IGA masters the identity/access slice. Onboarding, PA, and Talent Management consume or contribute.
Org UnitsNode in the organizational hierarchy: division, business unit, department, team. Carries manager, cost center alignment, geographic scope, and parent/child relationships. HCM masters the operational hierarchy; EPM contributes the cost-center mapping (which would be Finance-mastered once a Finance/GL domain is loaded).
PositionsApproved slot in the org - a ‘chair’ with role definition, cost center, reporting line, location, and FTE allocation. Distinct from job_profiles (the catalog definition) and from employees (the person filling the slot). A position can be open, filled, or eliminated. SWP designs future positions via org_designs; HCM operationalizes them once approved.
Onboarding TasksDiscrete to-do within a journey: sign I-9, attend orientation, complete compliance training, meet buddy, receive laptop. Carries assignee (new hire / manager / IT / facilities / HR), due date, completion state, evidence, and task type (form / training / meeting / provisioning / acknowledgement). Many tasks are local; a subset triggers cross-domain handoffs into ITSM, IWMS, Payroll, LMS, IGA, or HRSD.
Policy AttestationsRecord that a user read, understood, and acknowledged a policy; timestamp, version, medium, completion evidence.
flowchart TD
  classDef master fill:#d4f4dd,stroke:#27ae60,color:#0b3d20;
  classDef embedded_master fill:#fff4cc,stroke:#c79100,color:#5b4500;
  classDef consumer fill:#e8def8,stroke:#7b1fa2,color:#3a155d;
  classDef platform_builtin fill:#e0e0e0,stroke:#424242,color:#1a1a1a;
  org_units["Org Units"]
  compliance_assignments["Compliance Training Assignments"]
  learner_certifications["Certifications"]
  employees["Employees"]
  cost_centers["Cost Centers"]
  courses["Courses"]
  hcm_positions["Positions"]
  onboarding_tasks["Onboarding Tasks"]
  policy_attestations["Policy Attestations"]
  users["Users"]
  org_units -->|"groups"| employees
  org_units -->|"contains"| hcm_positions
  hcm_positions -->|"is_filled_by (opt)"| employees
  cost_centers -->|"funds"| org_units
  org_units -->|"maps_to (opt)"| cost_centers
  courses -->|"fulfills (opt)"| compliance_assignments
  courses -->|"grants (opt)"| learner_certifications
  hcm_positions -->|"requires (opt)"| compliance_assignments
  org_units -->|"sponsors (opt)"| compliance_assignments
  employees -->|"reflected on (opt)"| compliance_assignments
  employees -->|"fills (opt)"| hcm_positions
  org_units -->|"rolls_up_to (opt)"| org_units
  users -->|"owns (opt)"| courses
  employees -->|"is_linked_to (opt)"| users
  users -->|"manages (opt)"| hcm_positions
  users -->|"leads (opt)"| org_units
  users -->|"owns (opt)"| cost_centers
  users -->|"performs (opt)"| onboarding_tasks
  users -->|"created (opt)"| onboarding_tasks
  users -->|"authors (opt)"| courses
  users -->|"must complete"| compliance_assignments
  users -->|"owns (opt)"| compliance_assignments
  users -->|"holds"| learner_certifications
  org_units -->|"has members (opt)"| users
  class org_units embedded_master;
  class compliance_assignments master;
  class learner_certifications master;
  class employees embedded_master;
  class cost_centers embedded_master;
  class courses embedded_master;
  class hcm_positions embedded_master;
  class onboarding_tasks consumer;
  class policy_attestations consumer;
  class users platform_builtin;
  style org_units stroke-dasharray:5 5;
  style cost_centers stroke-dasharray:5 5;
  style hcm_positions stroke-dasharray:5 5;

3. Entities catalog

#data_objectrolemastered innecessitypattern flagsnotes
1learner_certifications (Certifications)master-requiredpersonal_content-
2compliance_assignments (Compliance Training Assignments)master-required--
3cost_centers (Cost Centers)embedded_masterERP-FIN (domain-level, not modularized)optional--
4courses (Courses)embedded_masterlms-course-deliveryrequired--
5employees (Employees)embedded_masterhcm-core-workerrequiredpersonal_content-
6org_units (Org Units)embedded_masterhcm-org-positionsoptional--
7hcm_positions (Positions)embedded_masterhcm-org-positionsoptionalsingle_approver-
8onboarding_tasks (Onboarding Tasks)consumeronb-journey-mgmtrequiredpersonal_content-
9policy_attestations (Policy Attestations)consumerGRC (domain-level, not modularized)required--

4. Aliases and industry synonyms

(no industry-scoped aliases or non-synonym alias types loaded for this scope; generic synonyms are omitted as common knowledge.)

5. Relationships

5.1 Intra-scope edges

fromverbtocardinalitykindnecessityowner_sidenotes
org_unitsgroupsemployeesone_to_manyreferencerequiredsource-
org_unitscontainshcm_positionsone_to_manyreferencerequiredsource-
hcm_positionsis_filled_byemployeesone_to_onereferenceoptionaltarget-
cost_centersfundsorg_unitsone_to_manyreferencerequiredsource-
org_unitsmaps_tocost_centersone_to_onereferenceoptionalsource-
coursesfulfillscompliance_assignmentsone_to_manyreferenceoptionalsource-
coursesgrantslearner_certificationsone_to_manyreferenceoptionalsource-
hcm_positionsrequirescompliance_assignmentsone_to_manyreferenceoptionalsource-
org_unitssponsorscompliance_assignmentsone_to_manyreferenceoptionalsource-
employeesreflected oncompliance_assignmentsone_to_manyreferenceoptionalsource-
employeesfillshcm_positionsone_to_onereferenceoptionalsource-
org_unitsrolls_up_toorg_unitsone_to_manyreferenceoptionalsource-

5.2 Built-in edges (users and other platform built-ins)

fromverbtocardinalitynecessityowner_sidenotes
usersownscoursesone_to_manyoptionalsource-
employeesis_linked_tousersone_to_oneoptionaltarget-
usersmanageshcm_positionsone_to_manyoptionalsource-
usersleadsorg_unitsone_to_manyoptionalsource-
usersownscost_centersone_to_manyoptionalsource-
usersperformsonboarding_tasksone_to_manyoptionalsource-
userscreatedonboarding_tasksone_to_manyoptionalsource-
usersauthorscoursesone_to_manyoptionalsource-
usersmust completecompliance_assignmentsone_to_manyrequiredsource-
usersownscompliance_assignmentsone_to_manyoptionalsource-
usersholdslearner_certificationsone_to_manyrequiredsource-
org_unitshas membersusersone_to_manyoptionaltarget-

5.3 Cross-scope edges

fromverbtocardinalitynecessitynotes
employeestriggersiga_provisioning_eventsone_to_manyoptional-
employeesfinalized byonboarding_document_collectionsone_to_manyoptional-
pre_employeespromotes toemployeesone_to_onerequired-
legal_holdsidentifies_custodians_fromemployeesmany_to_manyoptional-
legal_advice_recordsreferencesemployeesmany_to_manyoptional-
employeesis host forhost_assignmentsone_to_manyrequired-
job_profilesdefineshcm_positionsone_to_manyrequired-
employeessignsemployment_contractsone_to_manyrequired-
employeesgeneratesemployment_eventsone_to_manyrequired-
employeestriggersasset_lifecycle_eventsone_to_manyoptional-
employeesrequestsabsence_requestsone_to_manyoptional-
employeesholdsskill_profilesone_to_oneoptional-
org_unitsengagescontingent_workersone_to_manyoptional-
org_unitsis_scored_byengagement_driversone_to_manyoptional-
org_unitsis_measured_bypeople_kpisone_to_manyoptional-
employeestriggersservice_requestsone_to_manyoptional-
org_unitstriggersiga_entitlement_definitionsone_to_manyoptional-
employeestriggerspay_runsone_to_manyoptional-
hcm_positionsspawnsjob_requisitionsone_to_manyoptional-
employeesenrolls_incourse_enrollmentsone_to_manyoptional-
job_profilesmaps_tocoursesmany_to_manyoptional-
employeesbecomescareer_aspirationsone_to_oneoptional-
employeesbecomeswork_shiftsone_to_manyoptional-
employeesbecomescompensation_statementsone_to_oneoptional-
salary_bandsanchorshcm_positionsone_to_manyoptional-
employeestriggersbenefit_enrollmentsone_to_manyoptional-
employeestriggerscorporate_cardsone_to_manyoptional-
employeesspawnsonboarding_journeysone_to_oneoptional-
employeesspawnshr_casesone_to_manyoptional-
employeesfeedsheadcount_plansone_to_manyoptional-
employeesfeedsagency_time_entriesone_to_manyoptional-
onboarding_stagescontainsonboarding_tasksone_to_manyrequired-
employeesonboarded byonboarding_journeysone_to_manyrequired-
onboarding_tasksemitsservice_requestsone_to_manyoptional-
onboarding_taskstriggersasset_lifecycle_eventsone_to_manyoptional-
onboarding_tasksemitsservice_incidentsone_to_manyoptional-
onboarding_tasksemitsworkplace_service_requestsone_to_manyoptional-
onboarding_tasksspawnshr_casesone_to_manyoptional-
onboarding_tasksspawnsiga_access_requestsone_to_manyoptional-
onboarding_tasksspawnscourse_enrollmentsone_to_manyoptional-
coursessequenced_intolearning_pathsmany_to_manyoptional-
coursesenrolled_viacourse_enrollmentsone_to_manyrequired-
skill_profilesupdated bylearner_certificationsone_to_manyoptional-
cost_centersfundscourse_enrollmentsone_to_manyoptional-
compliance_obligationstracked bycompliance_assignmentsone_to_manyoptional-
compliance_assignmentstriggersiga_provisioning_eventsone_to_manyoptional-
employeesreflectslearning_recordsone_to_manyoptional-
employeesdeclareslife_eventsone_to_manyoptional-
org_unitssponsorsbenefit_plansmany_to_manyoptional-
employeesupdated bylife_eventsone_to_manyoptional-
survey_campaignstargetsorg_unitsmany_to_manyoptional-
org_unitsownsaction_plansone_to_manyoptional-
employeessubmitssurvey_responsesone_to_manyoptional-
employeesflagged onengagement_driversone_to_manyoptional-
employeesreflected onengagement_driversone_to_manyoptional-
employeesraiseshr_casesone_to_manyrequired-
employeesupdated byhr_casesone_to_manyoptional-
case_categoriesdrivesemployeesone_to_manyoptional-
contingent_workersreviewed_againstemployeesone_to_oneoptional-
candidatesbecomesemployeesone_to_onerequired-
employeeslearns_viacourse_enrollmentsone_to_manyrequired-
employeesenrolls_inbenefit_enrollmentsone_to_manyrequired-
survey_campaignstargetsemployeesmany_to_manyoptional-
workforce_scenariosdriveshcm_positionsone_to_manyrequired-
org_designsproposeshcm_positionsone_to_manyrequired-

6. Cross-domain context

6.1 Master consumers (other modules / domains that embed this scope’s masters)

data_objectother module / domainrolenecessitynotes
compliance_assignmentsHRSD-CASE-MGMT (HR Case Management) - HRSDconsumeroptionalConsumed by HRSD-CASE-MGMT when an inbound handoff escalates to an HR case. Routed via B10b 2026-05-26 audit fixes.
compliance_assignmentsIGA-AUTO-PROVISIONING (IGA Automated Provisioning) - IGAconsumeroptionalOverdue compliance training fires auto-revoke of gated access (e.g. PII data, regulated systems).
learner_certificationsLMS-SKILLS (Skills and Learning Paths) - LMSembedded_masterrequired-

6.2 Outbound handoffs (events this scope publishes)

source moduletarget domaintarget moduletrigger_eventpayloadintegrationfrictiondescription
LMS-COMPLIANCE-TRAININGGRC(domain-level)compliance_assignment.overduecompliance_assignmentsevent_streamhighCompliance training overdue is a control failure; GRC tracks obligation status, IGA may suspend high-risk access.
LMS-COMPLIANCE-TRAININGGRC(domain-level)compliance_assignment.duecompliance_assignmentsevent_streammediumGRC obligation tracker updates the per-employee compliance status to ‘due’ so the regulator-evidence dashboard reflects the impending breach risk. Drives audit-evidence reporting (e.g., Compliance Operations dashboard).
LMS-COMPLIANCE-TRAININGHRSDHRSD-CASE-MGMTcompliance_assignment.duecompliance_assignmentsapi_callmediumHR Service Delivery opens (or updates) an employee-facing case/task with the impending obligation, deadline, and link to the assigned course. Failure mode: when an HRSD platform isn’t deployed, the nudge falls back to direct email and the in-tool reminder.
LMS-COMPLIANCE-TRAININGIGAIGA-AUTO-PROVISIONINGcompliance_assignment.overduecompliance_assignmentsapi_callhighSevere overdue (PCI, HIPAA, SOX-relevant) may auto-suspend system access pending completion. Alert-without-feedback-loop common.
LMS-COMPLIANCE-TRAININGHCM(domain-level)compliance_assignment.duecompliance_assignmentsevent_streammediumCompliance assignment due-date nudges to HCM-mastered manager/employee record. HCM surfaces the impending obligation on the employee profile and routes a reminder to the line manager.
LMS-COMPLIANCE-TRAININGLMSLMS-SKILLSlearner_certification.earnedlearner_certificationslifecycle_progressionlow-

6.3 Inbound handoffs (events this scope reacts to)

target modulesource domainsource moduletrigger_eventpayloadintegrationfrictiondescription
LMS-COMPLIANCE-TRAININGGRC(domain-level)compliance_policy.updatedpolicy_attestationsapi_callmediumPolicy version triggers LMS compliance-training requirement for scoped users.
LMS-COMPLIANCE-TRAININGLMSLMS-COURSE-DELIVERYcourse.publishedcourseslifecycle_progressionlow-
LMS-COMPLIANCE-TRAININGONBOARDINGONB-JOURNEY-MGMTtask.compliance_training_requiredonboarding_tasksapi_callmediumCompliance training items (security awareness, anti-harassment, HIPAA, country-specific code-of-conduct, role-specific certifications) trigger LMS enrollments. LMS masters the enrollment record and completion certificate; Onboarding consumes the completion event to close out its task. Friction sits in keeping the training catalog mapped to roles/jurisdictions.

6.4 Master providers (modules / domains that own masters this scope embeds)

data_objectrole herenecessitycanonical owner(s)slice notes
cost_centersembedded_masteroptionalERP-FIN (Core ERP Financial Management)-
coursesembedded_masterrequiredLMS-COURSE-DELIVERY (LMS)-
employeesembedded_masterrequiredHCM-CORE-WORKER (HCM), PAYROLL (Payroll Management), IGA (Identity Governance and Administration), MDM (Master Data Management)-
hcm_positionsembedded_masteroptionalHCM-ORG-POSITIONS (HCM)-
org_unitsembedded_masteroptionalHCM-ORG-POSITIONS (HCM)-
onboarding_tasksconsumerrequiredONB-JOURNEY-MGMT (ONBOARDING)-
policy_attestationsconsumerrequiredGRC (Governance, Risk and Compliance)-

7. Lifecycle states (per touched entity)

compliance_assignments (Compliance Training Assignment)

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1assigned---Mandatory training assignment created for a learner with due date.
2in_progress----Learner has started the underlying course or activity.
3completed-lms-compliance-training:completeLearner finished the assignment within the due window.
4overdue----Due date passed without completion and escalation policy engaged.
5waived-lms-compliance-training:waiveAssignment formally waived by compliance owner with audit reason.
6expired-lms-compliance-training:expireAssignment closed unmet at the regulatory deadline.

courses (Course)

This scope holds courses as embedded_master; the canonical state machine is owned by LMS-COURSE-DELIVERY.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1draft---Course being authored by an instructional designer or SME.
2in_review----Content under review by L&D or compliance reviewers.
3published--lms-course-delivery:publishCourse released to the catalog and available for enrollment.
4retired-lms-course-delivery:retireCourse removed from the catalog and kept for historical transcripts.

employees (Employee)

This scope holds employees as embedded_master; the canonical state machine is owned by HCM-CORE-WORKER.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1draft---Pre-hire stub created during requisition or onboarding handoff; not yet a worker of record.
2active--hcm-core-worker:active_employeeWorker is currently employed and appears in headcount, payroll eligibility, and directory feeds.
3on_leave--hcm-core-worker:on_leave_employeeEmployee is on approved leave (parental, medical, sabbatical); active record but suppressed from some downstream feeds.
4suspended--hcm-core-worker:suspended_employeeEmployment temporarily halted (investigation, disciplinary); pay and access may be paused.
5terminated-hcm-core-worker:terminated_employeeEmployment ended (voluntary or involuntary); final pay processed, access deprovisioned.

hcm_positions (Position)

This scope holds hcm_positions as embedded_master; the canonical state machine is owned by HCM-ORG-POSITIONS.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1proposed---Position has been designed but not yet approved against the headcount plan.
2approved--hcm-org-positions:approved_positionCleared by headcount/finance owner; eligible to spawn a requisition.
3open--hcm-org-positions:open_positionApproved and actively being recruited against; not yet filled.
4filled--hcm-org-positions:filled_positionAn employee occupies the position.
5frozen--hcm-org-positions:frozen_positionTemporarily not fillable (hiring freeze, budget hold); retains the slot.
6eliminated-hcm-org-positions:eliminated_positionRemoved from the org structure permanently.

learner_certifications (Certification)

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1issued-lms-compliance-training:issueCredential awarded to the learner with issue and expiry dates.
2active----Credential in force and valid for compliance or role requirements.
3renewing----Recertification campaign engaged before expiry.
4renewed--lms-compliance-training:renewCredential renewed with a fresh validity window.
5expired---Credential past its expiry date and no longer valid.
6revoked-lms-compliance-training:revokeCredential withdrawn by the issuing body or L&D for cause.

onboarding_tasks (Onboarding Task)

This scope holds onboarding_tasks as consumer; the canonical state machine is owned by ONB-JOURNEY-MGMT.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1pending---Task assigned; due date set; not yet started.
2in_progress----Assignee has started work or partial evidence captured.
3completed-onb-journey-mgmt:completed_onboarding_taskTask done; evidence (form, acknowledgement, signature, ticket id) captured.
4skipped-onb-journey-mgmt:skipped_onboarding_taskTask waived by manager/HR for this journey.
5cancelled-onb-journey-mgmt:cancelled_onboarding_taskTask voided (journey cancelled, prerequisite removed).

org_units (Org Unit)

This scope holds org_units as embedded_master; the canonical state machine is owned by HCM-ORG-POSITIONS.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1draft---Org unit defined as part of a future structure; not yet operational.
2active--hcm-org-positions:active_org_unitOperational unit; carries headcount, cost-center linkage, and reporting lines.
3reorganized-hcm-org-positions:reorganized_org_unitUnit folded into or replaced by a new structure; references remain for history.
4closed-hcm-org-positions:closed_org_unitUnit dissolved; no employees or positions reside in it.

8. Permissions and business rules (derived)

8.1 Permissions

permissiontierdescriptionincluded in :admin?
lms-compliance-training:readbaseline-readRead access to every entity in the module
lms-compliance-training:managebaseline-manageEdit operational records
lms-compliance-training:adminbaseline-adminEdit reference data and inherit every workflow gate below-
lms-compliance-training:issueworkflow-gate (lifecycle)Transition learner_certifications into state issued
lms-compliance-training:renewworkflow-gate (lifecycle)Transition learner_certifications into state renewed
lms-compliance-training:revokeworkflow-gate (lifecycle)Transition learner_certifications into state revoked
lms-compliance-training:completeworkflow-gate (lifecycle)Transition compliance_assignments into state completed
lms-compliance-training:waiveworkflow-gate (lifecycle)Transition compliance_assignments into state waived
lms-compliance-training:expireworkflow-gate (lifecycle)Transition compliance_assignments into state expired
lms-compliance-training:view_all_certificationsoverride (personal_content)View all learner_certifications rows beyond row-scope
lms-compliance-training:manage_all_certificationsoverride (personal_content)Manage all learner_certifications rows beyond row-scope

8.2 Business rules

rule_namedata_objectsource flagintent
certification_edit_scopelearner_certificationshas_personal_contentRow-scope by default; override via lms-compliance-training:view_all_certifications / lms-compliance-training:manage_all_certifications