Training¶
Regulators expect staff to be qualified by education, training, and experience for the work they perform — and expect that training to be recorded and kept current. A training gap is one of the most common inspection findings, which is why the Training module exists: it defines who needs to know what, captures that they know it, and keeps everything current automatically as documents and roles change.
You'll use this module as a Trainee completing an assignment, a Training Administrator (typically your QA Owner) managing the matrix and ad-hoc assignments, a Line Manager approving training plans for your reports, or occasionally a Trainer signing off an instructor-led session.
The training matrix¶
The matrix is the standard, repeatable way training gets assigned. It says: if you hold this job function, you must be trained on this list of items.
- A Job Function is a named role — "QC Analyst", "Aseptic Operator".
- A Training Requirement is an item required for that job function: either a controlled document (the most common case) or a reference to an external course.
- The matrix is the full grid of job functions against their requirements.
When the matrix changes — a new requirement is added to a job function, or a person joins a job function — QStack automatically creates training assignments for the people affected. See People for how job function assignment works.
The matrix view shows people as rows (filterable by department, job function, active/inactive) and training requirements as columns (filterable by document type or source). Each cell is:
| Colour | Meaning |
|---|---|
| Green | Current |
| Yellow | Assigned, not yet overdue |
| Red | Overdue |
| Grey | Not applicable |
Click any cell to drill into the training record. You can also flip the view to "by training item" — rows become documents, columns become people — useful when you need to answer "who is currently trained on this SOP?"
Ad-hoc assignments¶
Real life produces one-off training needs that don't fit the matrix: a CAPA action that requires specific people to be retrained on a narrow topic, an audit finding that sends the QC team to a vendor course, or a project that needs three named individuals trained on something with no general job-function relevance.
For these, a Training Administrator uses the ad-hoc assignment flow:
- Pick one or more named people — not a job function.
- Pick the training content: a controlled document, a record template to fill, or an external course reference.
- Set a due date.
- Write an assignment reason in plain language.
- Optionally link the assignment to the event that prompted it — a specific CAPA, deviation, audit finding, or change request.
- Submit.
The resulting assignment behaves exactly like a matrix-driven one — same
trainee experience, same record, same audit trail — but it's flagged
ad_hoc with its linked event, so reporting can separate matrix-driven
compliance from event-driven compliance.
Tip
Without ad-hoc assignments, QA teams end up inventing fictional job functions just to capture one-off training — which pollutes the matrix and dilutes the meaning of your real roles. Use ad-hoc assignments instead.
Every assignment carries a source flag recording why it exists:
| Source flag | Meaning |
|---|---|
matrix |
Auto-generated from the role-based training matrix |
doc_revision |
Auto-generated when a document you're trained on moved to a new Effective version |
new_hire |
Auto-generated when you were added to a new job function |
ad_hoc |
Manually assigned outside the matrix |
Complete an assignment¶
How you complete an assignment depends on its content.
Read-and-understood (the default for document training):
- Open the assignment from your inbox or the email you received.
- Open the document in the training reader. QStack records that you accessed it.
- Page through the entire document. The reader serves each page from the server, so "every page was viewed" is a server-attested fact, not a claim your browser makes on your behalf.
- Sign the attestation with signing meaning Read and understood — the statement text is configurable per tenant, but defaults to "I have read, understood, and will follow this document." This signed attestation is the evidence of record; the page-view log is supporting context.
- QStack creates a Training Record, links it to the assignment, and marks the assignment complete.
External course completion:
- Take the course outside QStack — through your LMS or a vendor.
- Return to QStack and open the assignment.
- Upload the course certificate as an external document record (see Quality Records).
- Fill in the metadata: course title, provider, completion date, certificate reference.
- Sign the completion attestation.
- Optionally, a Trainer or Training Administrator counter-signs to verify the certificate.
Instructor-led session:
- The Training Administrator creates the session: topic, date, attendees, instructor.
- After the session, the instructor signs the attendance sheet inside QStack; each attendee also counter-signs.
- QStack creates a Training Record for every attendee.
See Electronic Signatures for what happens at each signing step.
Review an overdue assignment¶
If you own an assignment that's gone red on the matrix, complete it the same way as any assignment above — the state clears as soon as your signature lands. If you're a Training Administrator or line manager reviewing someone else's overdue item, open it from the matrix or from the reminder email to see how overdue it is and who's been notified.
Reminders escalate automatically:
- Assignment created → email and inbox entry
- 7 days before due → reminder email and inbox refresh
- 1 day before due → reminder email
- Overdue → daily email until completed, escalated to the person's line manager after 7 days, and to Quality role holders after 14 days
Your tenant can override this cadence, but these are the defaults.
Re-training when a document changes¶
When a controlled document moves to a new Effective version:
- QStack identifies everyone currently trained on the previous version.
- Each of them gets a new training assignment with source flag
doc_revision. - Their previous training record is kept as history — it's never deleted, because an inspector may ask whether the operators on a specific batch date were trained on the version of the SOP that was effective at that time.
- Until the new assignment is completed, the matrix shows yellow or red for the affected people.
Reporting¶
Out of the box, you get:
- Training compliance % per job function, and overall
- Overdue training list
- Recent completions in the last 30 days
- Matrix vs ad-hoc split — a high ad-hoc volume is a signal that your matrix may be missing something structural
- Per-person training file, exportable as a PDF for an HR file or an inspector
What this module doesn't do¶
- It doesn't deliver e-learning content — no SCORM playback, no quiz engine. Use a separate LMS for content and capture completion here via certificate upload.
- It doesn't assess training effectiveness with questions or scoring.
- It doesn't manage CVs, education certificates, or other HR-side competence records — only training on procedures.