Program & Short Course Summary

Program Performance Overview
Student Enrollment Status
Name Type Accreditation Level Provider Date Range Total Cohorts Enrolled Active Inactive Completed Avg Progress Avg Attendance Key Issues Actions

Cohort Details

Issues Tracker

Cohort Issue Description Priority Reported By Deadline Status Resolved By Actions

Trainer Dashboard

Changes auto-sync to overview
Select a cohort to start updating
Choose a cohort from the dropdown above

Manage Data

Add Program / Short Course
Add Cohort
Add Unit

Unit Templates

Define unit templates for each program or short course. When you create a new cohort, these units will be automatically added.

Add Unit Template
Existing Templates
Order Unit Code Title Type Active Actions
Select a program to view its unit templates

Unit Library

View all units in the system, including templates and units added to cohorts. Units are organized by program or short course.

All Units
Unit Code Title Program / Short Course Course Type Type Unit Type Status
Loading unit library...

Delete Data
Delete Program

This will delete the program and ALL its cohorts, units, students, and attendance records.

Delete Cohort

This will delete the cohort and ALL its units, students, and attendance records.

System Manual

Version 3.8.2
Overview

The Programme Management Registry System (PMRS) is a comprehensive web application designed for tracking Technical and Vocational Education and Training (TVET) program progress across multiple cohorts.

Key Features:
  • Program and Short Course Management with accreditation tracking
  • Cohort tracking with start/end dates, location, and trainer assignment
  • Date-based attendance register with status codes
  • Unit progress logging with completion tracking
  • Issues tracking and resolution management
  • Visual analytics with charts and KPI metrics
  • Year-based filtering for historical reporting
  • CSV export functionality for reporting
Getting Started
1. Sign In

Click the Sign In button in the top-right corner. There are two login options:

  • Admin Login - Enter the access code provided by your administrator for full system access
  • Trainer Login - Use your username and password to access your assigned cohorts
2. Navigation

Use the sidebar on the left to navigate between different sections:

  • Overview Dashboard - View program summaries and analytics
  • Cohort Details - View detailed cohort information
  • Issues Tracker - Log and track cohort-related issues
  • Trainer Dashboard - Manage attendance and progress
  • Manage Data - Add or delete programs, cohorts, and units
3. Authentication Required

Most data modification actions require you to be signed in. View-only access is available without authentication.

Overview Dashboard
KPI Cards

The dashboard displays key performance indicators including:

  • Total Programs/Courses - Number of programs and short courses
  • Active/Completed Cohorts - Cohort status breakdown
  • Average Progress - Overall program completion rate
  • Average Attendance - Overall attendance percentage
  • Open Issues - Number of unresolved issues
Filtering

Use the dropdown filters to narrow results:

  • Year Filter - View data for specific years
  • Course Type Filter - Show Programs only or Short Courses only
Charts

Interactive charts display progress/attendance averages and cohort status distribution.

Export

Click Export Summary or Export Cohorts to download CSV reports.

Cohort Details

View detailed information about each cohort including:

  • Program name and type
  • Location and trainer
  • Start and end dates
  • Current phase/stage
  • Progress and attendance percentages
  • Associated units and their completion status

Use the Cohort Filter dropdown to view specific cohorts.

Issues Tracker
Adding Issues

Click Add Issue to log a new issue:

  • Select the related cohort
  • Describe the issue
  • Suggest a resolution action
  • Set a deadline
Issue Status
  • Open - Issue requires attention
  • In Progress - Issue is being addressed
  • Resolved - Issue has been resolved
  • Closed - Issue closed without resolution
Resolved By Tracking

When you mark an issue as resolved, you'll be prompted to enter your name. This creates an audit trail showing:

  • Who resolved the issue
  • When it was resolved (date)

This helps maintain accountability and provides a clear record of issue resolution.

Trainer Dashboard

The Trainer Dashboard provides tools for managing daily cohort activities:

1. Select a Cohort

Choose a cohort from the dropdown to begin managing attendance and progress.

2. Attendance Register

Track daily attendance for all students (see Attendance Register section below).

3. Cohort Progress

Use the slider to update overall cohort progress percentage and click Update to save.

4. Unit Progress Log

Update individual unit completion rates and status for each cohort. Options include:

  • Not Started - Unit training has not begun
  • In Progress - Unit training is ongoing
  • Completed - Unit has been completed
5. Student Assessments

Record and track competency-based assessments for each student:

  • Click Record Assessment to add a new assessment
  • Select student, unit, assessment type, and date
  • Enter score percentage (optional) and competency status
  • Add assessor name and feedback notes

Assessment types include: Written Test, Practical, Portfolio, Observation, Project, and Oral.

6. Certificates (Admin Only)

Generate and manage completion certificates:

  • Click the yellow Certificates button to generate certificates for all completed students
  • Only students with all units marked "Competent" will receive certificates
  • View issued certificates in the Issued Certificates section
  • Click the print icon to view and print individual certificates
  • Certificates include student details, program info, units completed, and attendance

Certificate IDs follow the format CERT-YYYY-NNNNNN for easy tracking and verification.

Assessment & Grading
Competency Status Codes
Code Status Description
CCompetentStudent has demonstrated competency
NYCNot Yet CompetentStudent needs more practice/training
NANot AssessedAssessment not yet completed
RReassessmentReassessment required
Student Transcript

View a complete summary of a student's assessment results across all units. The transcript shows:

  • Student and program information
  • Completion progress bar
  • Unit-by-unit competency status
  • Number of assessment attempts per unit
User Roles

The system supports role-based access control with five user roles:

Role Permissions
Admin Full access to all features including program/cohort management, trainer management, AI reports, audit logs, and data deletion
Student Admin Manage student registry and enrollments. Cannot access trainer management, AI reports, or audit logs
Trainer Mark attendance and update student details within assigned cohorts. Cannot add or remove students
Assessor Record and manage assessments. View student data and export reports
Student View own progress and assessment results (limited access)

Trainers and Student Admins log in via the Trainer Login form. Admins assign roles when creating accounts.

Attendance Register
Spreadsheet-Style Interface

The attendance register uses an intuitive spreadsheet layout:

  • Rows - Each row represents a student
  • Columns - Each column represents a date
  • Cells - Click to cycle through status codes
Adding Dates (Columns)

Use the date picker in the header to add new attendance columns. Each date can only be added once.

Adding Students (Rows)

Type a student name in the input field at the bottom of the grid and press Enter to add a new student.

Status Codes

Click any cell to cycle through attendance statuses:

Code Status Description
PPresentStudent attended the session
AAbsentStudent was absent without excuse
LLateStudent arrived late
NNo ShowStudent did not appear (expected)
EExcusedAbsence was excused (not counted)
Attendance Calculation

Attendance percentage is calculated as: (Present + 0.75 * Late) / (Total - Excused) * 100. Excused absences are not counted against attendance.

Certificates (Admin Only)
Certificate Generation

The system allows administrators to generate completion certificates for students who have successfully completed all units in a program.

Requirements for Certificate
  • Student must have completed all units in the cohort
  • Each unit must be assessed with "Competent" status
  • Only administrators can generate certificates
Generating Certificates
  1. Go to Trainer Dashboard
  2. Select a cohort from the dropdown
  3. Click the yellow Certificates button in the Unit Progress Log header
  4. Confirm to generate certificates for all eligible students
Viewing Issued Certificates

The Issued Certificates section shows all certificates for the selected cohort:

  • Certificate ID - Unique identifier (CERT-YYYY-NNNNNN format)
  • Student Name - Name of the certificate holder
  • Issue Date - Date the certificate was issued
  • Units - Number of units completed out of total
  • Attendance - Student's attendance percentage
Printing Certificates

Click the print icon next to any certificate to open the printable view. The certificate includes:

  • Student name and ID
  • Program name and provider
  • List of all units of competency
  • Attendance percentage and completion summary
  • Issue date and authorized signature
  • Certificate ID for verification
Certificate IDs are automatically generated using the format CERT-YYYY-NNNNNN, where YYYY is the issue year.
Manage Data
Adding Data
  • Add Program/Short Course - Create new programs with ID, name, accreditation status, level, and provider
  • Add Cohort - Create cohorts linked to programs with location, trainer, and phase
  • Add Unit - Create units linked to cohorts with code, title, and status
Unit Templates

Unit templates allow you to define a standard set of units for each program or short course. When you create a new cohort, these units are automatically added, eliminating repetitive data entry.

How to use:

  1. In the Unit Templates section, select a program or short course from the dropdown
  2. Enter the unit code (e.g., BSBWHS301), title, and display order
  3. Click Add Template to save the template
  4. Repeat for all units in the program's curriculum

Template Options:

  • Display Order - Controls the sequence in which units appear (lower numbers appear first)
  • Active/Inactive - Toggle templates on or off. Inactive templates are not copied to new cohorts
When you create a new cohort for a program with templates, all active units are automatically added with "Not Started" status. The success message will indicate how many units were created.
Unit Library

The Unit Library provides a comprehensive view of all units across all programs and short courses in the system. It shows both unit templates and actual cohort units in a single searchable table.

Features:

  • Search - Find units by code or title using the search box
  • Filter by Course Type - View only Program units or Short Course units
  • Type Indicator - Shows whether a unit is a Template or a Cohort Unit
  • Status - Displays Active/Inactive for templates or completion status for cohort units
  • Unit Type - Shows Core (blue), Elective (cyan), or Module (purple) classification for each unit
Deleting Data

Warning: Delete operations are permanent and cascade to related data:

  • Deleting a Program removes ALL its cohorts, units, students, attendance records, issues, and unit templates
  • Deleting a Cohort removes ALL its units, students, attendance records, and issues

Always confirm before deleting. This action cannot be undone.

Manage Trainers (Admin Only)

The Manage Trainers section allows administrators to create and manage individual trainer login accounts. Each trainer can be assigned to specific cohorts, limiting their access to only those cohorts.

Creating a Trainer Account
  1. Navigate to the Manage Trainers tab (Admin only)
  2. Fill in the trainer details:
    • Username - Unique login username for the trainer
    • Display Name - Full name shown in the system
    • Email - Optional contact email
    • Password - Minimum 6 characters
  3. Select the cohorts the trainer should have access to
  4. Click Create Trainer
Trainer Login

Trainers sign in using the Trainer tab in the login modal. They enter their username and password to access their assigned cohorts.

Managing Existing Trainers
  • Edit - Change the trainer's password
  • Delete - Remove the trainer account permanently
Cohort Access: Trainers only see cohorts they are assigned to in their Trainer Dashboard. This ensures each trainer focuses on their specific cohorts without seeing unrelated data.
AI Assistant

The AI Assistant is an intelligent chat feature designed to help you navigate and use PMRS more effectively.

What Can the AI Assistant Help With?
  • System Navigation - Learn how to use different features like dashboards, cohort management, and data entry
  • Programs & Short Courses - Get information about available programs and courses in the system
  • Feature Guidance - Understand how to track attendance, manage units, log issues, and record assessments
  • System Updates - Learn about recent changes and new features
How to Use
  1. Click AI Assistant in the sidebar navigation
  2. Type your question in the message box at the bottom
  3. Press Enter or click Send to submit your question
  4. The AI will respond with helpful guidance
Note: The AI Assistant is focused on helping you with PMRS. For questions outside this scope, it will politely redirect you to system-related topics.
Recent Changes & Updates

This section provides detailed information about recent system updates, changes, and any actions you may need to take.

Latest: Version 3.8.2
Released January 2026 - Improved Cohort Selector
Current
What's New in v3.4.x
Custom Unit Templates

Each cohort now has independent unit lists. Add or delete units without affecting other cohorts using the same program template.

Feature
Add Unit to Cohort

Add units directly to a cohort from the Trainer Dashboard. Select from existing units or create new ones.

Feature
Delete Unit from Cohort

Admins can delete individual units from cohorts without affecting other cohorts or templates.

Feature
Sync Unit Names

Update unit names across all cohorts from templates. Sync metadata without adding or removing units.

Feature
Custom Units Badge

Visual indicator shows when a cohort has customized units that differ from the program template.

UI
Previous: v3.3.0
Course Progress Report

Trainer Dashboard section showing unit delivery status, start/end dates, and student completion progress.

Feature
Unit Delivery Tracking

Set start and end dates for units; status auto-updates (Pending → Active → Done).

Feature
Previous: v3.2.1
Student Admin Restrictions

Student Admin role cannot modify Unit Progress Log or Assessments (view-only).

Security
Previous: v3.2.0
Course Attendance History

Comprehensive per-enrollment attendance breakdown showing total days present, absent, late, excused, total hours, and session count.

Feature
Print/PDF Export

Print or save student profiles as PDF including all enrollment history and attendance details with secure token-based access.

Feature
Hours Calculation Fix

Fixed attendance hours calculation to match grid logic: Present=full hours, Late=half hours, Excused=full hours.

Bug Fix
Previous: v3.1.1
Email Validation

Added email format validation before sending. Invalid emails are flagged in the compose modal and skipped during send.

Bug Fix
API Path Fix

Resolved double /api/api/ prefix that was causing the email compose form to fail loading.

Bug Fix
Previous: v3.1.0
Cohort Email System

Send bulk emails to enrolled students with templates (Welcome, Reminder, Announcement) and personalization.

Feature
Email History Tracking

View sent email history per cohort with delivery status and recipient counts.

Feature
Role-Based Email Access

Admin, Student Admin, and Trainers (for assigned cohorts) can send cohort emails.

Security
Previous: v3.0.0
Database Migrations

Added Flask-Migrate (Alembic) for safe, versioned schema changes with upgrade/downgrade paths.

Infrastructure
Production Deployment

Configured Gunicorn with optimal worker/thread settings for production stability.

Infrastructure
Multiple Assessment Types

Assessments now support multiple types via checkboxes (Written, Practical, Portfolio, Observation, Project, Oral).

Feature
Multiple Document Links

Attach multiple evidence URLs per assessment with add/remove functionality.

Feature
Click-to-Select Hours

Faster attendance hours entry with color-coded picker (0-8h in 0.5 increments).

Enhancement
Admin-Only Student Deletion

Student deletion restricted to administrators with cascade confirmation showing affected records.

Security
Previous: v2.9.0
Attendance Sheet Improvements

Fixed student numbering across multi-page sheets, proper enrollment query for all students.

Bug Fix
Single Trainer Certification

Trainer certification section now appears only on the last page to save paper.

Enhancement
Previous: v2.8.0
Global Year Filter

System-wide year filtering with fallback to program start_date when cohort start_date is null.

Feature
Attendance Hours Tracking

Program-configurable daily hours with cohort overrides, manual adjustments, and cumulative totals.

Feature
Keyboard Shortcuts

Quick attendance entry with P/L/A/E/N/W keys for faster data entry.

Feature
Editable Enrollment Dates

Enrollment and completion dates can now be edited from the Student Directory.

Feature
Previous: v2.6.0
Grouped Export

New "Programs with Cohorts" export option groups cohorts under their parent programs in CSV.

Feature
Flexible Enrollment Status

All enrollment statuses can now be edited from Student Directory.

Feature
Previous: v2.5.0
Auto-Calculated Progress

Cohort progress automatically calculated from unit completion rates.

Enhancement
Assessment Document Links

Attach document links (Google Drive, OneDrive) for assessment evidence.

Feature
Previous: v2.4.0
Expandable Cohort Breakdown

Programs with multiple cohorts show clickable numbers to expand and see individual cohort details.

Feature
Admin-Only Student Management

Only administrators can add or remove students from attendance registers to ensure data integrity.

Security
Previous: v2.2.0
Double-Click Attendance Protection

Attendance status changes now require double-click to prevent accidental modifications.

Data Protection
Automated Enrollment Status

Dashboard auto-calculates Active/Inactive status based on attendance patterns.

Automation
Previous: v2.0.2
Bulk Certificate Generation

Generate certificates for all completed students in a cohort with one click. Only students who have completed all units with "Competent" status receive certificates.

Feature
Printable Certificates

Professional certificate template with student details, program information, units of competency, and signature blocks. Print-ready design optimized for A4 paper.

Feature
Issued Certificates Dashboard

New "Issued Certificates" section in Trainer Dashboard shows all certificates for the selected cohort with quick access to view and print each certificate.

Feature
Completion Validation

System validates that students have completed all units with competent status before issuing certificates. Prevents incomplete certifications.

Enhancement
Previous: v2.0.1
Permanent Student IDs

Students now receive permanent IDs (STU-YYYY-NNNNNN) that persist across all program enrollments.

Major Feature
Student Directory

Centralized student directory for managing all learner profiles with search and filtering.

Feature
Previous Improvements
  • Attendance Independence (v1.3.6): Attendance grid updates independently from unit progress saves
  • Withdrawn Status (v1.3.5): Students can be marked as "Withdrawn" with 0% attendance calculation
  • Performance Optimization (v1.3.4): Optimized attendance recomputation from N+1 to bulk query
  • Week Separators (v1.3.3): ISO week numbering for consistent visual boundaries in attendance grid
  • AI Report Generator (v1.3.2): Admin-only natural language to SQL report generation with GPT-4o-mini
  • Accurate Attendance (v1.3.0): ALL session dates now count; unfilled days = Absent (0%)
Action Required

No action required for this update.

All changes are backward compatible. Your existing data remains intact. New features are available immediately.

Version History Admin Only
v3.8.2 Improved Cohort Selector
January 2026
  • Cohort Dropdown: Groups cohorts by program for easier navigation
  • Search: Instant search filter to quickly find cohorts as the list grows
  • Program Headers: Visual headers with cohort counts for organized browsing
  • Report Card/Transcript Fix: Corrected student ID linking for proper document generation
v3.8.1 Editable Cohort Names
January 2026
  • Cohort names can now be edited from the Edit Cohort modal
  • Edited names displayed throughout the system while preserving original ID
v3.8.0 Student Report Cards
January 2026
  • Report Card Generator: One-click printable report cards from Student Profile
  • No Data Duplication: Reuses existing assessment, attendance, and enrollment data
  • Visual Progress Tracking: Progress bar, completion stats, and attendance summary
  • Unit Status Grid: All units with Competent/In Progress/Not Started badges
  • Print/PDF Ready: Professional format optimized for printing and PDF export
v3.7.0 Trainer Session Notes
January 2026
  • Session Notes: Daily session notes feature for trainers to log cohort activities
  • Per-Cohort, Per-Date: One note per day per cohort with session details
  • Note Categories: Theory, Practical, Assessment, Review, Field Work, General
  • Topics & Follow-ups: Track topics covered and action items for next session
  • Editable with History: Notes can be edited anytime with "Edited" indicator
  • Access Control: Trainers create/edit own notes; Admin/Student Admin view all (read-only)
v3.6.1 Student Notes/Comments
January 2026
  • Student Notes: Add private notes to student profiles for administrative tracking
  • Note Categories: Organize by type (General, Academic, Attendance, Medical, Administrative, Behavioral)
  • Notes History: View all notes with author, timestamp, and category
  • Note Management: Add, view, and delete notes from Student Profile
  • Audit Trail: All note actions are logged for accountability
v3.6.0 Student Progress Overview
January 2026
  • Student Progress Overview: New Trainer Dashboard section with student-by-unit progress grid
  • Auto-Calculated: Progress calculated automatically from assessment competency records
  • Visual Grid: Spreadsheet view with students as rows, units as columns, showing completion status
  • Click-to-Filter: Click any cell to jump to that student's assessments for the unit
  • Progress Tracking: Per-student and cohort-wide completion percentages
v3.5.0 Enhanced Issues Tracker & System Policy
January 2026
  • Issues Tracker: Full cohort names displayed with program for better readability
  • Issue Evidence Links: Attach document/evidence URLs when creating or resolving issues
  • Resolution Notes: Add notes explaining how an issue was resolved
  • PDF Export: Export Issues Tracker as printable PDF report with all details
  • Resolve Modal: Professional Bootstrap modal with resolution details fields
  • System Policy & Procedures Manual: In-app documentation with PDF download
v3.4.1 Sync Unit Names
January 2026
  • Sync Unit Names: New button to sync unit names/titles from templates to cohorts without adding/removing units
v3.4.0 Custom Unit Templates
January 2026
  • Custom Unit Templates: Cohorts can have independent unit lists that don't sync from program templates
  • Template Independence: Manually adding/deleting units marks cohort as "Custom Units"
  • Sync Warning: Confirmation dialog when attempting to sync templates on custom cohort
  • Visual Indicator: "Custom Units" badge displayed in Trainer Dashboard
  • Unit Deletion: Admin can now delete individual units from cohorts
v3.3.0 Course Progress Report
January 2026
  • Course Progress Report: New Trainer Dashboard section with unit delivery tracking
  • Unit Delivery Tracking: Set start/end dates; status auto-updates (Pending → Active → Done)
  • Progress Export: Download course progress as CSV
  • Login UI: Tab now shows "Trainers / Admin"
v3.2.1 Role Permissions & Security
January 2026
  • Student Admin Restrictions: Cannot modify Unit Progress Log or Assessments (view-only)
v3.2.0 Course History & Print Improvements
January 2026
  • Course Attendance History: Per-enrollment breakdown with days present, absent, late, excused, total hours, and sessions
  • Print/PDF Export: Print student profiles with full attendance history using secure token-based access
  • Hours Calculation Fix: Attendance hours now match grid logic (Present=full, Late=half, Excused=full)
v3.1.1 Email Validation & Bug Fixes
January 2026
  • Added email format validation before sending; invalid emails flagged in compose modal
  • Fixed double /api/api/ prefix causing email compose form to fail loading
v3.1.0 Cohort Email System
January 2026
  • Send bulk emails to enrolled students via Resend integration
  • Email templates: Welcome, Reminder, Announcement with personalization
  • Email history tracking per cohort with delivery status
  • Role-based email access for Admin, Student Admin, and assigned Trainers
v3.0.0 Database Migrations, Multi-Type Assessments & Production Deployment
January 2026
  • Added Flask-Migrate (Alembic) for safe, versioned database schema changes
  • Configured Gunicorn production deployment with optimal worker/thread settings
  • Assessments now support multiple types via checkboxes (Written, Practical, Portfolio, Observation, Project, Oral)
  • Multiple document links per assessment with add/remove functionality
  • Click-to-select hours picker with color-coded buttons (0-8h in 0.5 increments)
  • Admin-only student deletion with cascade confirmation modal
  • XSS security fix for document link editing using safe DOM APIs
v2.9.0 Printable Attendance Sheet Improvements
January 2026
  • Fixed student numbering across multi-page attendance sheets
  • Fixed enrollment query to correctly display all students in cohort
  • Improved print styling with balanced, professional borders
  • Trainer Certification section now appears only on last page (saves paper)
  • Optimized print layout for better A4 landscape fit
v2.3.0 Cohort Breakdown & Trainer Permissions
December 2025
  • Expandable cohort breakdown for programs with multiple cohorts
  • Admin-only student management - trainers cannot add/remove students
  • Dashboard auto-refresh changed to 60 seconds (from 10s)
  • Cohort expansions persist during auto-refresh until manually closed
  • Fixed orphaned enrollment data causing dashboard/attendance mismatch
  • "Total Students" column in breakdown matches dashboard enrolled count
v2.2.0 Data Integrity & Enrollment Automation
December 2025
  • Double-click attendance protection prevents accidental status changes
  • Automated enrollment status (Active/Inactive) based on attendance metrics
  • Dashboard Enrolled column shows total students (active + enrolled + inactive)
  • 4 new trainer source categories for enrollment tracking
v2.0.2 Certificate System Enhancement
December 2025
  • Bulk certificate generation for all completed students in a cohort
  • New "Issued Certificates" dashboard showing all cohort certificates
  • Professional printable certificate template with units of competency
  • Completion validation - requires all units assessed as "Competent"
  • Print-ready certificate design optimized for A4 paper
v2.0.0 Permanent Student IDs & Learner System
December 2025 - Major Release
  • Permanent student IDs (STU-YYYY-NNNNNN) that persist across all program enrollments
  • New Student Directory for centralized learner management
  • Learner and Enrollment database models replacing cohort-scoped student records
  • Multi-enrollment tracking for students across multiple programs
  • 103 unique learner profiles consolidated from 104 student records
  • Complete enrollment history with attendance tracking per enrollment
  • Backward compatible with existing attendance, assessments, and certificates
v1.3.9 Production Scalability & Trainer Login
December 2025
  • Gunicorn production deployment: 4 workers x 4 threads (16 concurrent requests)
  • Database connection pool: 20 max connections optimized for 15+ trainers
  • 5 new performance indexes on cohort-related queries
  • Individual trainer accounts with username/password authentication
  • Cohort-specific access control for trainers
  • Admin "Manage Trainers" interface for account management
  • Session expiry handling with friendly notifications
  • All 17 API endpoints protected with 401 detection
v1.3.6 Attendance Independence Fix
December 2025
  • Attendance grid no longer auto-reloads when updating unit completions
  • Unit saves use refreshUnitsOnly() which skips attendance grid reload
  • Prevents accidental status changes during unit progress updates
v1.3.5 Withdrawn Status & Student Management
December 2025
  • Withdrawn attendance marking (W) with light badge styling
  • Expanded student completion_status to include withdrawn
  • Full AI report support for withdrawn student queries
  • Attendance cycle expanded to 6 statuses
v1.3.4 Performance Optimization
December 2025
  • Optimized attendance recomputation: eliminated N+1 queries, now single bulk query
  • Immediate UI feedback during attendance date operations with loading toasts
  • Parallel data refresh with Promise.all() for faster updates
  • Responsive system performance even with 100+ students and 50+ attendance dates
v1.3.0 Accurate Attendance & Production Ready
November 2025
  • Attendance calculation: ALL session dates now count - unfilled days = Absent (0%)
  • Realistic tracking: Encourages complete attendance record-keeping
  • White text headers: Improved contrast for navbar and assessment headers
  • Production ready: Debug logging disabled, FLASK_DEBUG removed
v1.2.9 Draggable Modal & Enhanced Note Icons
November 2025
  • UI enhancement: Professional draggable Bootstrap modal for editing attendance date notes
  • Date display: Full formatted dates with calendar icon
  • Icon improvements: Upgraded note icons to 14px clipboard icons
v1.2.8 Assessment System Fix & Database Update
November 2025
  • Bug fix: Resolved assessment recording error (IntegrityError) when saving assessments
  • Schema update: Assessments now use unit_id (integer) instead of unit_code for proper foreign key relationships
  • Database migration: unit_code column made nullable, unit_id set as required field
  • Frontend update: Assessment form and filters now use unit ID for reliable data handling
  • Data integrity: Includes unit code normalization from v1.2.7 (trim whitespace, uppercase)
v1.2.7 Unit Code Normalization
November 2025
  • SQLAlchemy validators auto-normalize unit codes (trim whitespace, uppercase)
  • All existing unit codes cleaned and normalized to prevent duplicates
  • Defense-in-depth protection against duplicate entries
v1.2.6 Unit Template Sync
November 2025
  • Auto-sync: New unit templates automatically add to all existing cohorts
  • Manual sync button in Unit Progress Log for on-demand syncing
  • Real-time refresh: Trainer Dashboard updates when switching tabs
  • Smart sync: Prevents duplicate units using unit code matching
  • Feedback: Shows count of synced units in toast notifications
v1.2.5 AI Assistant Integration
November 2025
  • New AI Assistant tab in sidebar navigation
  • Interactive chat interface for system help and guidance
  • Get information about programs, short courses, and system features
  • Powered by OpenAI via Replit's integrated AI service
  • Professional UI with message history and loading states
v1.2.4 Unit Count Display
November 2025
  • Unit Progress Log header now displays total unit count (e.g., "11 Units")
  • Count updates dynamically when switching between cohorts
  • Black text on light badge for improved visibility
  • Proper singular/plural handling ("1 Unit" vs "11 Units")
v1.2.3 Unit Classification (Core/Elective)
November 2025
  • Unit Type field added to distinguish Core, Elective, or Module units
  • Unit type automatically inherited from templates to new cohort units
  • Visual badges for easy classification (Core: blue, Elective: cyan, Module: purple)
  • Unit Library shows new classification in searchable table
  • Backward compatible - existing units default to Core
v1.2.2 Performance & UI Enhancements
November 2025
  • Cohort selection now loads ~3-4x faster with parallel API loading
  • Trainer Dashboard layout improved: Full-width attendance register, compact cohort progress bar
  • Enhanced attendance visuals: gradient buttons, zebra-striped rows, sticky student column
v1.2.1 Issue Resolution Tracking
November 2025
  • Resolved By column in Issues Tracker showing who resolved and when
  • Compact sidebar design for better content visibility
  • Recent Changes section in System Manual
v1.2.0 Program Unit Templates
November 2025
  • Unit Templates - Define reusable unit templates for programs and short courses
  • Unit Library - View all units in the system with search and filter
  • Automatic unit creation when new cohorts are added
  • Template management with display order and active/inactive status
  • Professional toast notification system
  • Improved unit model for better data flexibility
v1.1.0 Assessment & RBAC
November 2025
  • Competency-based assessment tracking per student/unit
  • Assessment types: Written Test, Practical, Portfolio, Observation, Project, Oral
  • Student transcript generation with competency status
  • Role-Based Access Control (Admin, Trainer, Assessor, Student)
  • Role-specific sidebar navigation and permissions
v1.0.0 Initial Release
November 2025
  • Program and Short Course management with accreditation tracking
  • Cohort management with location, trainer, and phase tracking
  • Date-based attendance register with spreadsheet-style UI
  • Status codes: Present, Absent, Late, No Show, Excused
  • Unit progress logging with completion tracking
  • Issues tracker with status management
  • Visual analytics dashboard with Chart.js
  • Year-based filtering for historical data
  • CSV export for summary and cohort data
  • Session-based access code authentication
  • PostgreSQL database backend
  • Responsive design with Bootstrap 5
Roadmap - Planned Features
  • Full Student Registration Database with demographics
  • Student enrollment workflows and documentation
  • Advanced reporting and analytics
  • Email notifications for issues and deadlines
  • Student portal for viewing progress
  • Certificate generation upon completion
System Policy & Procedures
Document Version 1.0 | This document is regularly reviewed and updated as the system evolves.
1. Purpose

This document establishes the policies, procedures, and guidelines for the effective use and administration of PMRS (Programme Management Registry System). It serves as the authoritative reference for all system users and administrators.

2. User Roles & Permissions
Function Admin Student Admin Trainer Assessor Student
Create students---
Delete students----
Manage enrollments---
Record attendance✓*--
Edit assessments-✓*✓*-
Issue certificates----
Send cohort emails✓*--
System settings----
* Assigned cohorts only
3. Attendance Status Codes
CodeStatusHours Calculation
PPresentFull daily hours
AAbsent0 hours
LLateHalf daily hours
EExcused0 hours
WWithdrawn0 hours
NNo Show0 hours
4. Enrollment Status Lifecycle
Enrolled Active Completed
Active Inactive Withdrawn
5. Issue Priority Levels
PriorityResponse TimeUse Case
HighImmediateSafety, compliance, critical operations
MediumWithin 3 daysQuality issues, non-critical problems
LowWithin 1 weekMinor improvements, suggestions
6. Data Security
  • All personal data is encrypted in transit (HTTPS)
  • Passwords are securely hashed and never stored in plain text
  • Role-based access control limits data visibility
  • Audit logging tracks sensitive operations
  • Rate limiting prevents abuse
7. System Evolution

This system is designed to evolve with organizational needs.

  • Policies are reviewed annually and when significant changes occur
  • Version numbering follows semantic versioning (Major.Minor.Patch)
  • All changes are documented in the Version History
  • Users are notified of significant policy updates
For the complete System Policy & Procedures Manual, download the PDF or editable Markdown file above.

AI-Generated Reports

Admin Only
Generate SQL Query Report

Use natural language to query program data. Examples:

  • "Male graduates for 2025"
  • "Students with attendance below 50%"
  • "Completed assessments by cohort"
  • "Program completion rates"
AI converts your query to SQL and executes it securely

Attendance Reports

Monthly Attendance Summary
Cohort Attendance Comparison

Student Directory

Admin Only - Student Registry
All Students 0
# Student ID Name Gender Email Phone Enrollments Status Actions
Loading students...

Manage Trainer Logins

Admin Only
Add New Trainer
Lowercase, no spaces
Hold Ctrl/Cmd to select multiple
Existing Trainers
Username Display Name Role Assigned Cohorts Last Login Actions
Loading trainers...

Audit Logs

Admin Only
Timestamp User Type User ID Action Resource Resource ID Details IP Address
Loading audit logs...
Showing last 100 audit entries