Semantius Logo

Skills and Learning Paths

1. Overview

Skills-cloud surface of an LMS: employee skill profiles, competency tracking, and skills-driven learning-path recommendation. Masters skill_profiles and learning_paths. Realizes SKILLS-MGMT and LEARNING-PATH. Distinct from LMS-COURSE-DELIVERY because learning paths here are assigned to close skill gaps rather than sequenced as course curricula. Heavy contributors: TALENT-MGMT (talent reviews), ATS (internal mobility), SWP (workforce planning).

2. Entity summary

NameDescription
Learning PathsCurated sequence of courses targeting a role, skill, or certification. Drives ordered enrolment and progress tracking across multiple courses.
Skill ProfilesPer-worker collection of skills with self-assessed and validated proficiency levels, derived from completed courses, certifications, performance signals, and inferred peer-comparison. The central artifact of HCM-side skills-cloud and talent-intelligence offerings.
CertificationsIssued credential against a worker (internal certification, vendor cert, regulatory cert) with issue date, expiry, issuing body, and renewal rules. Drives recertification campaigns.
Course EnrollmentsPer-learner per-course state record: assigned date, due date, attempts, status (not_started, in_progress, completed, expired), score. The operational unit of learning tracking.
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.
Job ProfilesCanonical role definition in the job catalog: title, family, level, responsibilities, required skills and competencies, pay range, FLSA classification. Distinct from positions (which are slots referencing a profile). Many positions share a single job profile.
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.
Performance GoalsIndividual goal or OKR with owner, period, metric, weight, status, alignment to organisational objectives. Reviewed within performance_reviews cycles.
Skills Gap AnalysesComparison of current-state skills inventory vs future-state demand by role, level, and geography. Drives build/buy/borrow strategy: which gaps to close via training (LMS), external hires (ATS), or contingent workforce. Outputs feed both SWP scenarios and LMS curriculum decisions.
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;
  skill_profiles["Skill Profiles"]
  learning_paths["Learning Paths"]
  employees["Employees"]
  hcm_positions["Positions"]
  org_units["Org Units"]
  course_enrollments["Course Enrollments"]
  learner_certifications["Certifications"]
  job_profiles["Job Profiles"]
  skills_gap_analyses["Skills Gap Analyses"]
  performance_goals["Performance Goals"]
  users["Users"]
  org_units -->|"groups"| employees
  org_units -->|"contains"| hcm_positions
  hcm_positions -->|"is_filled_by (opt)"| employees
  job_profiles -->|"defines"| hcm_positions
  employees -->|"holds (opt)"| skill_profiles
  job_profiles -->|"maps_to (opt)"| skill_profiles
  employees -->|"enrolls_in (opt)"| course_enrollments
  skill_profiles -->|"updated by (opt)"| learner_certifications
  skill_profiles -->|"updated by (opt)"| course_enrollments
  job_profiles -->|"requires (opt)"| learning_paths
  job_profiles -->|"expects (opt)"| skill_profiles
  employees -->|"fills (opt)"| hcm_positions
  employees -->|"learns_via"| course_enrollments
  org_units -->|"rolls_up_to (opt)"| org_units
  skills_gap_analyses -->|"prescribes (opt)"| learning_paths
  users -->|"curates (opt)"| learning_paths
  employees -->|"is_linked_to (opt)"| users
  users -->|"manages (opt)"| hcm_positions
  users -->|"leads (opt)"| org_units
  users -->|"owns (opt)"| job_profiles
  users -->|"enrolls in"| course_enrollments
  users -->|"assigns (opt)"| course_enrollments
  users -->|"holds"| learner_certifications
  users -->|"holds"| skill_profiles
  users -->|"owns"| performance_goals
  org_units -->|"has members (opt)"| users
  users -->|"prepares (opt)"| skills_gap_analyses
  class skill_profiles master;
  class learning_paths master;
  class employees embedded_master;
  class hcm_positions embedded_master;
  class org_units embedded_master;
  class course_enrollments embedded_master;
  class learner_certifications embedded_master;
  class job_profiles embedded_master;
  class skills_gap_analyses consumer;
  class performance_goals consumer;
  class users platform_builtin;
  style hcm_positions stroke-dasharray:5 5;
  style org_units stroke-dasharray:5 5;
  style job_profiles stroke-dasharray:5 5;

3. Entities catalog

#data_objectrolemastered innecessitypattern flagsnotes
1learning_paths (Learning Paths)master-required--
2skill_profiles (Skill Profiles)master-requiredpersonal_content-
3learner_certifications (Certifications)embedded_masterlms-compliance-trainingrequiredpersonal_content-
4course_enrollments (Course Enrollments)embedded_masterlms-course-deliveryrequiredpersonal_content-
5employees (Employees)embedded_masterhcm-core-workerrequiredpersonal_content-
6job_profiles (Job Profiles)embedded_masterhcm-org-positionsoptionalsingle_approver-
7org_units (Org Units)embedded_masterhcm-org-positionsoptional--
8hcm_positions (Positions)embedded_masterhcm-org-positionsoptionalsingle_approver-
9performance_goals (Performance Goals)consumertalent-performance-mgmtrequiredpersonal_content-
10skills_gap_analyses (Skills Gap Analyses)consumerswp-demand-forecastrequired--

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-
job_profilesdefineshcm_positionsone_to_manyreferencerequiredsource-
employeesholdsskill_profilesone_to_onereferenceoptionalsource-
job_profilesmaps_toskill_profilesmany_to_manyassociationoptionalsource-
employeesenrolls_incourse_enrollmentsone_to_manyreferenceoptionalsource-
skill_profilesupdated bylearner_certificationsone_to_manyreferenceoptionalsource-
skill_profilesupdated bycourse_enrollmentsone_to_manyreferenceoptionalsource-
job_profilesrequireslearning_pathsmany_to_manyassociationoptionalsource-
job_profilesexpectsskill_profilesmany_to_manyassociationoptionalsource-
employeesfillshcm_positionsone_to_onereferenceoptionalsource-
employeeslearns_viacourse_enrollmentsone_to_manyreferencerequiredsource-
org_unitsrolls_up_toorg_unitsone_to_manyreferenceoptionalsource-
skills_gap_analysesprescribeslearning_pathsone_to_manyreferenceoptionalsource-

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

fromverbtocardinalitynecessityowner_sidenotes
userscurateslearning_pathsone_to_manyoptionalsource-
employeesis_linked_tousersone_to_oneoptionaltarget-
usersmanageshcm_positionsone_to_manyoptionalsource-
usersleadsorg_unitsone_to_manyoptionalsource-
usersownsjob_profilesone_to_manyoptionalsource-
usersenrolls incourse_enrollmentsone_to_manyrequiredsource-
usersassignscourse_enrollmentsone_to_manyoptionalsource-
usersholdslearner_certificationsone_to_manyrequiredsource-
usersholdsskill_profilesone_to_manyrequiredsource-
usersownsperformance_goalsone_to_manyrequiredtarget-
org_unitshas membersusersone_to_manyoptionaltarget-
userspreparesskills_gap_analysesone_to_manyoptionalsource-

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-
employeessignsemployment_contractsone_to_manyrequired-
employeesgeneratesemployment_eventsone_to_manyrequired-
cost_centersfundsorg_unitsone_to_manyrequired-
employeestriggersasset_lifecycle_eventsone_to_manyoptional-
employeesrequestsabsence_requestsone_to_manyoptional-
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-
job_profilesfeedsjob_postingsone_to_manyoptional-
job_profilesmaps_tocoursesmany_to_manyoptional-
employeesbecomescareer_aspirationsone_to_oneoptional-
employeesbecomeswork_shiftsone_to_manyoptional-
employeesbecomescompensation_statementsone_to_oneoptional-
salary_bandsanchorshcm_positionsone_to_manyoptional-
salary_bandsbandsjob_profilesone_to_manyoptional-
employeestriggersbenefit_enrollmentsone_to_manyoptional-
org_unitsmaps_tocost_centersone_to_oneoptional-
employeestriggerscorporate_cardsone_to_manyoptional-
employeesspawnsonboarding_journeysone_to_oneoptional-
employeesspawnshr_casesone_to_manyoptional-
employeesfeedsheadcount_plansone_to_manyoptional-
employeesfeedsagency_time_entriesone_to_manyoptional-
employeesonboarded byonboarding_journeysone_to_manyrequired-
onboarding_tasksspawnscourse_enrollmentsone_to_manyoptional-
coursessequenced_intolearning_pathsmany_to_manyoptional-
coursesenrolled_viacourse_enrollmentsone_to_manyrequired-
course_enrollmentsproduceslearning_recordsone_to_manyrequired-
coursesgrantslearner_certificationsone_to_manyoptional-
hcm_positionsrequirescompliance_assignmentsone_to_manyoptional-
org_unitssponsorscompliance_assignmentsone_to_manyoptional-
cost_centersfundscourse_enrollmentsone_to_manyoptional-
employeesreflectslearning_recordsone_to_manyoptional-
employeesreflected oncompliance_assignmentsone_to_manyoptional-
skill_profilesfeedscandidatesone_to_manyoptional-
skill_profilesfeedscareer_aspirationsone_to_manyoptional-
course_enrollmentsupdatescareer_aspirationsone_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-
employeesenrolls_inbenefit_enrollmentsone_to_manyrequired-
survey_campaignstargetsemployeesmany_to_manyoptional-
performance_reviewsevaluatesperformance_goalsone_to_manyoptional-
performance_goalsaligns_tookr_objectivesmany_to_manyoptional-
position_demand_forecastsgroundsskills_gap_analysesone_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
skill_profilesATS-CANDIDATE-CRM (Candidate CRM) - ATScontributorrequired-
skill_profilesHCM-LIFECYCLE-WORKFLOWS (Employee Lifecycle Workflows) - HCMconsumeroptional-
skill_profilesTALENT-PERFORMANCE-MGMT (Performance and Goal Management) - TALENT-MGMTcontributorrequired-

6.2 Outbound handoffs (events this scope publishes)

source moduletarget domaintarget moduletrigger_eventpayloadintegrationfrictiondescription
LMS-SKILLSATSATS-CANDIDATE-CRMskill_profile.updatedskill_profilesevent_streammediumInternal-candidate skill data flows into ATS for internal mobility sourcing.
LMS-SKILLSLMSLMS-COURSE-DELIVERYlearning_path.assignedlearning_pathslifecycle_progressionlow-
LMS-SKILLSTALENT-MGMTTALENT-PERFORMANCE-MGMTskill_profile.updatedskill_profilesevent_streammediumSkill-profile refresh drives internal mobility, succession, and dev-plan suggestions.

6.3 Inbound handoffs (events this scope reacts to)

target modulesource domainsource moduletrigger_eventpayloadintegrationfrictiondescription
LMS-SKILLSSWPSWP-DEMAND-FORECASTskills_gap_analysis.completedskills_gap_analysesevent_streammediumIdentified gaps drive LMS curriculum updates and assignment campaigns.
LMS-SKILLSTALENT-MGMTTALENT-PERFORMANCE-MGMTperformance_goal.setperformance_goalsevent_streamlowGoal setting drives learning-path suggestions for capability gaps.
LMS-SKILLSLMSLMS-COURSE-DELIVERYcourse_enrollment.completedcourse_enrollmentslifecycle_progressionlow-
LMS-SKILLSLMSLMS-COMPLIANCE-TRAININGlearner_certification.earnedlearner_certificationslifecycle_progressionlow-
LMS-SKILLSHCMHCM-ORG-POSITIONSjob_profile.publishedjob_profilesevent_streamlowJob profile competencies drive LMS skill-profile expectations and required-training assignments.

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

data_objectrole herenecessitycanonical owner(s)slice notes
course_enrollmentsembedded_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)-
job_profilesembedded_masteroptionalHCM-ORG-POSITIONS (HCM)-
learner_certificationsembedded_masterrequiredLMS-COMPLIANCE-TRAINING (LMS)-
org_unitsembedded_masteroptionalHCM-ORG-POSITIONS (HCM)-
performance_goalsconsumerrequiredTALENT-PERFORMANCE-MGMT (TALENT-MGMT)-
skills_gap_analysesconsumerrequiredSWP-DEMAND-FORECAST (SWP)-

7. Lifecycle states (per touched entity)

course_enrollments (Course Enrollment)

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

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1enrolled---Learner enrolled in the course but has not started.
2in_progress----Learner has begun the course content or activities.
3completed-lms-course-delivery:completeLearner met all completion criteria with a passing score.
4failed-lms-course-delivery:failLearner did not meet the passing criteria within allowed attempts.
5expired-lms-course-delivery:expireEnrollment closed unmet at the due date or content expiry.
6withdrawn-lms-course-delivery:withdrawLearner withdrew or was unenrolled before completion.

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.

job_profiles (Job Profile)

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

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1draft---Profile is being authored or revised; not yet available for position assignment.
2approved--hcm-org-positions:approved_job_profileCleared by the catalog owner; ready to be referenced by positions and postings.
3active--hcm-org-positions:active_job_profileIn production use; positions and postings can reference it.
4retired-hcm-org-positions:retired_job_profileNo longer assignable to new positions; historical references preserved.

learner_certifications (Certification)

This scope holds learner_certifications as embedded_master; the canonical state machine is owned by LMS-COMPLIANCE-TRAINING.

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.

learning_paths (Learning Path)

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1draft---Path being curated by L&D with course sequencing.
2published--lms-skills:publishPath released and assignable to roles, skills, or audiences.
3retired-lms-skills:retirePath removed from new assignments and kept for historical reference.

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.

performance_goals (Performance Goal)

This scope holds performance_goals as consumer; the canonical state machine is owned by TALENT-PERFORMANCE-MGMT.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1drafted---Goal authored by employee or manager.
2approved--talent-performance-mgmt:approve_performance_goalManager approves the goal; it becomes part of the cycle.
3in_progress----Goal is being worked.
4completed--talent-performance-mgmt:complete_performance_goalOutcome recorded; counts toward review rating.
5cancelled-talent-performance-mgmt:cancel_performance_goalGoal abandoned (role change, priority shift, etc.).

skill_profiles (Skill Profile)

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1initialized---Profile seeded for the worker from role and prior signals.
2self_assessed----Worker has captured self-assessed proficiency levels.
3validated--lms-skills:validateManager or skills owner validated proficiency entries.
4inactive-lms-skills:deactivateProfile retired (worker exit or role-change reset).

skills_gap_analyses (Skills Gap Analysis)

This scope holds skills_gap_analyses as consumer; the canonical state machine is owned by SWP-DEMAND-FORECAST.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
10draft---Analysis under construction.
20published--swp-demand-forecast:publish_skills_gap_analysisAnalysis published; LMS curricula refresh, ATS sourcing prioritization shifts.
90archived---Analysis superseded by a later cycle.

8. Permissions and business rules (derived)

8.1 Permissions

permissiontierdescriptionincluded in :admin?
lms-skills:readbaseline-readRead access to every entity in the module
lms-skills:managebaseline-manageEdit operational records
lms-skills:adminbaseline-adminEdit reference data and inherit every workflow gate below-
lms-skills:publishworkflow-gate (lifecycle)Transition learning_paths into state published
lms-skills:retireworkflow-gate (lifecycle)Transition learning_paths into state retired
lms-skills:validateworkflow-gate (lifecycle)Transition skill_profiles into state validated
lms-skills:deactivateworkflow-gate (lifecycle)Transition skill_profiles into state inactive
lms-skills:view_all_skill_profilesoverride (personal_content)View all skill_profiles rows beyond row-scope
lms-skills:manage_all_skill_profilesoverride (personal_content)Manage all skill_profiles rows beyond row-scope

8.2 Business rules

rule_namedata_objectsource flagintent
skill_profile_edit_scopeskill_profileshas_personal_contentRow-scope by default; override via lms-skills:view_all_skill_profiles / lms-skills:manage_all_skill_profiles