CAPA
What. Corrective + Preventive Action. The disciplined response to a problem found during operations, audits, or management reviews. Where.
/capa(board view),/capa/<id>(detail).
Lifecycle
Draft → Assigned → In Progress → Implemented → Verification → Closed
Cancelled / Rejected can branch off any active state
| State | Who advances it | What happens |
|---|---|---|
| Draft | Author | Author owns the CAPA, drafts root-cause and actions |
| Assigned | Author / Admin | An owner is named; CAPA is committed to a person |
| In Progress | Owner | Owner is doing the work |
| Implemented | Owner | Corrective + preventive actions are done |
| Verification | Owner | Owner submits to a verifier (a different person) |
| Closed | Verifier | Verifier signs off after seeing effectiveness evidence |
| Cancelled / Rejected | Anyone | Aborts the CAPA |
Create a CAPA
Two ways:
From the CAPA Board
- Side nav → CAPA → New CAPA.
- Fill Title, Description, Priority (Low / Medium / High / Critical), Due Date, Owner (assignee).
- Optional: 5 Whys - drill the root cause with up to 5 nested whys.
- Fill Corrective Action (immediate fix) and Preventive Action (system-level fix).
- Optional: link the CAPA to a Finding, Process, Control, or Risk.
- Save.
From a Finding
On any finding's detail page, click Draft CAPA. The AI Copilot
proposes a CAPA pre-filled with the finding's details. Approve in
/ai/approvals → CAPA materializes with source_proposal_id provenance.
CAPA Board
/capa is a Kanban-style board, one column per status:
- Draft
- Assigned
- In Progress
- Implemented
- Verification
- Closed
KPIs at the top: Total Active, Overdue, High Priority. Filters: priority, "My CAPAs only", overdue only.
Realtime. The board listens to changes on the
capatable and updates columns instantly when status flips.
Advance the lifecycle
CAPA detail page (/capa/<id>) has an Actions card at the bottom
with the buttons that are valid for the current status:
- Draft → Assigned. Set an owner first, then click Assign.
- Assigned → In Progress. Click Start Progress.
- In Progress → Implemented. Click Mark Implemented.
- Implemented → Verification. Click Submit for Verification.
- Verification → Closed. A different user (segregation of duties) clicks Verify & Close, fills the verification notes dialog.
Segregation of duties. The owner cannot also be the verifier. The Verify & Close button is hidden for the owner.
5 Whys
The Draft / Assigned editor includes a 5 Whys widget. Clicking
Use 5 Whys Analysis opens a guided form: you type the symptom, then
the system asks "Why? Why? Why? Why? Why?" - five levels deep - to surface
the true root cause. Saved into root_cause.
Linkages
A CAPA may link to:
- A Finding - the discovery that triggered the CAPA.
- A Process - the process the CAPA changes.
- A Control - the control the CAPA strengthens.
- A Risk - the risk the CAPA mitigates.
- A Document - the SOP that needs revision.
Linkage is bi-directional: from any of the above, the CAPA shows up in a "Linked CAPAs" panel.
Test it
- Create a CAPA "Calibration drift on PL-3" with priority High and yourself as owner.
- Click Assign. Status flips to Assigned. The board moves the card from Draft to Assigned without a manual refresh (realtime).
- Click Start Progress. Status = In Progress.
- Click Mark Implemented. Status = Implemented.
- Click Submit for Verification. Status = Verification.
- Try to Verify & Close yourself - button is hidden (segregation of
duties). Sign in as a different user → button shows → click →
enter verification notes → status = Closed,
closed_atset. - On a finding, click Draft CAPA. Check
/ai/approvalsshows a pending proposal. Approve → CAPA created withsource_proposal_idset.