This is a ready-to-use readiness check for complaint records, run before an inspection rather than during one. It has two parts: a per-file review that samples individual complaint records, and a system-level review of the things an inspector will ask about the programme as a whole. Replace every <<FILL: ...>> placeholder, set your own document numbers and dates, and route it through your normal document control before use. A worked filled specimen follows.
This document is educational and is written to be adapted. Confirm every cited regulation against the current published source, and confirm your own reporting obligations with your regulatory affairs and pharmacovigilance functions. Passing this checklist does not by itself demonstrate compliance; it surfaces the gaps you still have time to close.
The premise: an inspector will pull a small number of complaint files, usually chosen to be awkward, and read them end to end. What they are testing is whether the record shows a decision being made by a qualified person on stated facts, at each of the points where a decision was required. Files fail not because the work was not done but because the record does not show it was done. Run this check on your own files first, while you can still fix what it finds.
Use it with the complaint handling SOP, the reportability decision matrix, the investigation report form, and the trending log. For the broader inspection posture, see inspection readiness and the system-level inspection readiness checklist.
Document control header
| Field | Entry |
|---|---|
| Document title | Complaint File Inspection Readiness Review |
| Document number | <<FILL: DOC-ID, e.g. QA-CHK-031-05>> |
| Version | <<FILL: version, e.g. 1.0>> |
| Effective date | <<FILL: effective date>> |
| Document owner | <<FILL: role, e.g. Head of Quality Assurance>> |
| Governing SOP | <<FILL: SOP-ID for complaint handling>> |
| Review frequency | <<FILL: e.g. quarterly, and before any anticipated inspection>> |
| Reviewer independence | <<FILL: e.g. performed by QA staff who did not handle the sampled complaints>> |
How to use this checklist
- Sample deliberately, not conveniently. Pull the files an inspector would pull. The sampling rule is in section 1.1.
- Score each line Pass, Fail, or NA. NA requires a reason. A line that cannot be scored because the record is ambiguous is a Fail, not an NA: if a reviewer with full access and unlimited time cannot tell, an inspector reading it cold will not be able to either.
- Score from the record only. Do not credit a line because you know the work was done or because the person who did it is standing next to you. If it is not in the file, it did not happen for the purposes of this check.
- Record the evidence location for every Pass, not just for every Fail. Being able to point at the page is half of what inspection readiness is.
- A single Fail on a critical line fails the file. Critical lines are marked with an asterisk. They are the ones that carry a patient-safety or legal-deadline consequence.
- Findings go to CAPA, not to a list. A readiness review that generates observations with no owner and no due date will generate the same observations next quarter.
1.1 Sampling rule
Pull at least <<FILL: e.g. 20>> complaint files per review, selected to include all of the following:
| Selection | Minimum | Why an inspector will pull these |
|---|---|---|
| Complaints with an associated adverse event | <<FILL: e.g. 3>> | The highest-consequence interface in the system |
| Complaints closed as unconfirmed or “could not confirm” | <<FILL: e.g. 4>> | The known closure shortcut |
| Complaints closed with no investigation | <<FILL: e.g. 2>>, or all if fewer | The justification and attribution requirement |
| Complaints closed as user or handling error | <<FILL: e.g. 2>> | The recurring design or labelling question |
| Complaints where a report was submitted | <<FILL: e.g. 2>> | Timeliness against the clock |
| Complaints assessed as not reportable | <<FILL: e.g. 3>> | Whether the rationale exists at all |
| Complaints closed late or with an extension | <<FILL: e.g. 2>>, or all if fewer | Timeliness and extension governance |
| Complaints on a lot with more than one complaint | <<FILL: e.g. 2>> | Whether the cluster was linked |
| Complaints without a lot number | <<FILL: e.g. 2>>, or all if fewer | Whether the lot was pursued |
| Complaints on contract-manufactured product | <<FILL: e.g. 2>>, or all if fewer | Quality agreement performance |
| Oldest open complaint currently in the system | 1 | Backlog |
| Most recent closed complaint | 1 | Current practice, not historical practice |
Sampling only closed, tidy, confirmed complaints produces a readiness review that passes and an inspection that does not.
Section 1: Per-file review
Complete one column set per file. Reproduce the table per file, or use one row per file per line item in a spreadsheet, whichever suits your record system.
| Field | Entry |
|---|---|
| Complaint number | <<FILL>> |
| Product and lot | <<FILL>> |
| Date of awareness / date closed | <<FILL>> / <<FILL>> |
| Severity as closed | <<FILL>> |
| Reviewer | <<FILL>> |
| Review date | <<FILL>> |
1.2 Intake and capture
| # | Check | Pass / Fail / NA | Evidence location | Note |
|---|---|---|---|---|
| 1.2.1 | The complainant’s account is recorded verbatim, in their own words, and is distinguishable from the categorised summary. | |||
| 1.2.2 | The verbatim text has not been overwritten, replaced by a category code, or edited without an audit trail. | |||
| 1.2.3 | Date and time of awareness are recorded, and where they differ from the date logged, both appear and the gap is explained. | |||
| 1.2.4 | The complaint received a unique number at first contact, before triage. | |||
| 1.2.5 | Reporter type and contact details are recorded, or “declined” or “anonymous” is recorded explicitly rather than the field being blank. | |||
| 1.2.6 | Product, strength, and presentation are recorded and correspond to a product the company actually markets. | |||
| 1.2.7 | Sample availability is recorded, and where a sample could be returned, the request and the outcome are recorded. | |||
| 1.2.8 | The record was made contemporaneously, and any oral complaint was written down at the time of the call. |
1.3 Adverse event screening
| # | Check | Pass / Fail / NA | Evidence location | Note |
|---|---|---|---|---|
| 1.3.1* | The adverse event screen was completed and every question carries an answer. A blank screen is a Fail. | |||
| 1.3.2* | Where any answer was Yes or Unclear, the case was referred to pharmacovigilance, and the referral date, time, recipient, and safety case reference are in the file. | |||
| 1.3.3 | The referral was made on the day of awareness, or the delay is recorded and explained. | |||
| 1.3.4 | The referral was not made conditional on the quality investigation, the laboratory result, or confirmation of the defect. | |||
| 1.3.5 | Pharmacovigilance acknowledgement is recorded. | |||
| 1.3.6 | Where the screen was negative, the negative answers are recorded rather than the section being left empty. | |||
| 1.3.7 | Where a special situation was reported (pregnancy, lactation, overdose, medication error, misuse, off-label use, lack of effect), it is recorded and routed. | |||
| 1.3.8 | The intake handler did not assess seriousness, expectedness, or causality themselves. |
1.4 Lot number and traceability
| # | Check | Pass / Fail / NA | Evidence location | Note |
|---|---|---|---|---|
| 1.4.1 | A lot number is recorded. | |||
| 1.4.2* | Where no lot number was obtained, the file records what was asked, what alternatives were tried (carton photograph, dispensing record, pharmacy or wholesaler trace, distribution records for the location), and the outcome. A blank is a Fail. | |||
| 1.4.3 | Where a lot number is recorded, it corresponds to a real lot of that product, and the expiry date is consistent with it. | |||
| 1.4.4 | The batch record, certificate of analysis, and reserve sample location for the lot are identified in the file or reachable from it. | |||
| 1.4.5 | The markets the lot was distributed into are identified, from distribution records rather than from the product’s general market footprint. |
1.5 Severity classification
| # | Check | Pass / Fail / NA | Evidence location | Note |
|---|---|---|---|---|
| 1.5.1 | A severity is assigned. | |||
| 1.5.2* | The specific facts driving the severity are recorded, not just the tier. A tier with no basis is a Fail. | |||
| 1.5.3 | The severity is consistent with the anchored definitions and examples in the governing SOP. | |||
| 1.5.4 | Where severity was changed after triage, the original value, the new value, the reason, the approver, and the date all appear. | |||
| 1.5.5 | The severity was assigned by QA, not by intake. | |||
| 1.5.6 | Severity was assigned on the alleged defect at triage, not deferred until the investigation concluded. |
1.6 Reportability
| # | Check | Pass / Fail / NA | Evidence location | Note |
|---|---|---|---|---|
| 1.6.1* | A reportability assessment exists, including where the conclusion was “not reportable”. | |||
| 1.6.2* | The assessment names the regulations considered and records a conclusion for each branch, including the branches assessed as not applicable. | |||
| 1.6.3* | Each conclusion carries a rationale in facts, not a category code. “Not reportable, cosmetic” is a Fail; a statement of what was and was not affected is a Pass. | |||
| 1.6.4* | The assessment is attributable: a named person with an appropriate role and a date. | |||
| 1.6.5* | The assessment was made at or near intake, inside the shortest applicable regulatory clock, not only at closure. | |||
| 1.6.6 | Day zero is recorded as the date of company awareness, not the date the complaint reached quality assurance. | |||
| 1.6.7* | Where a report was submitted, the report reference and the submission date appear in the complaint file, and the submission was inside its clock. | |||
| 1.6.8 | Reportability was reassessed at investigation close, and the outcome of that reassessment is recorded. | |||
| 1.6.9 | Where the lot was distributed into more than one market, each market’s obligation was considered. | |||
| 1.6.10 | Where the product is a combination product and the device constituent was implicated, the constituent-part obligations were assessed. |
1.7 Investigation
| # | Check | Pass / Fail / NA | Evidence location | Note |
|---|---|---|---|---|
| 1.7.1 | The decision on whether to investigate is recorded. | |||
| 1.7.2* | Where the decision was not to investigate, a justification is recorded together with the name and role of the responsible person who made it. | |||
| 1.7.3 | Investigation depth is proportionate to the severity, and the proportionality decision is recorded rather than inferred. | |||
| 1.7.4 | An investigation plan exists and predates the results. | |||
| 1.7.5 | Where a sample was received, its condition on receipt is documented before handling, with photographs. | |||
| 1.7.6 | Identity of the returned unit was confirmed before testing. | |||
| 1.7.7 | Testing was against the release specification the lot was released to, and the specification is stated alongside each result. | |||
| 1.7.8 | The batch record and deviation history for the lot were reviewed, with findings and record references. | |||
| 1.7.9 | Where a deviation on the lot had previously been closed as “no impact”, that conclusion was reassessed against the attribute now in question rather than cited. | |||
| 1.7.10* | A cluster and trend check on the lot and the defect type was performed, and the result including a nil result is recorded. | |||
| 1.7.11 | Prior complaints on the same lot are linked, not left as unconnected records. | |||
| 1.7.12 | Root cause is stated, or where it was not determined, what was ruled out and on what evidence is recorded, together with a plan to detect a recurrence. | |||
| 1.7.13* | Where the conclusion is unconfirmed or not determinable, the file shows what was still done: reserve sample examination, batch record review, cluster check, and plausibility assessment. “No sample, closed” is a Fail. | |||
| 1.7.14 | Where the conclusion is that the returned sample passed, the file addresses whether the release test could have detected the alleged defect at all. | |||
| 1.7.15 | Where the cause was recorded as user or handling error, the file records whether the labelling, packaging, or instructions for use invite the error. | |||
| 1.7.16* | Product impact was assessed for the lot, for adjacent lots sharing the suspected cause, and for other products, with the bounding stated. | |||
| 1.7.17* | The need for a field action was explicitly assessed, and where the answer was no, the reasoning is recorded. | |||
| 1.7.18 | The conclusion is supported by evidence referenced in the file, not asserted. | |||
| 1.7.19 | Where the product was made under contract, what was requested from the contract partner, when, and what was received are recorded. |
1.8 CAPA linkage
| # | Check | Pass / Fail / NA | Evidence location | Note |
|---|---|---|---|---|
| 1.8.1 | A CAPA decision is recorded, in both directions. A bare “No” with no reasoning is a Fail. | |||
| 1.8.2 | Where a CAPA was opened, the reference appears in the complaint file and the complaint number appears in the CAPA record. | |||
| 1.8.3 | Where the CAPA arose from a trend, all contributing complaints are linked to it. | |||
| 1.8.4 | An effectiveness measure is defined, in the same terms as the signal that triggered the CAPA. | |||
| 1.8.5 | Where no CAPA was opened on a confirmed complaint with an identified correctable cause, the reasoning is recorded and is defensible. | |||
| 1.8.6 | Where a Critical complaint was closed with no CAPA, the reasoning is recorded and approved at the level the SOP requires. |
1.9 Timeliness
| # | Check | Pass / Fail / NA | Evidence location | Note |
|---|---|---|---|---|
| 1.9.1 | The complaint was recorded and numbered within the procedural target from the date of awareness. | |||
| 1.9.2 | Triage was completed within the procedural target. | |||
| 1.9.3 | The investigation started and closed within the target for its severity. | |||
| 1.9.4* | Where a target was missed, an extension is recorded with a reason, a revised date, an approver, and a date of approval that precedes the original target date. | |||
| 1.9.5 | Where a regulatory report was submitted, it was submitted inside its clock, counted from the date of awareness. | |||
| 1.9.6 | Internal routing time did not consume the regulatory clock without being visible in the record. |
1.10 Reply to the complainant
| # | Check | Pass / Fail / NA | Evidence location | Note |
|---|---|---|---|---|
| 1.10.1 | Whether a reply was due is recorded. | |||
| 1.10.2 | Where a reply was due, the date, method, and a summary of what was said are recorded. | |||
| 1.10.3 | The reply is consistent with the investigation conclusion and does not overstate or understate it. | |||
| 1.10.4 | The reply does not disclose confidential investigation detail, other complainants, or other patients. | |||
| 1.10.5 | Where the complaint carried an adverse event, the reply wording was coordinated with the function qualified to make any clinical statement. | |||
| 1.10.6 | Where no reply was due, the reason is recorded. |
1.11 Record completeness, retention, and retrievability
| # | Check | Pass / Fail / NA | Evidence location | Note |
|---|---|---|---|---|
| 1.11.1 | The file contains everything needed to reconstruct the history without asking anyone: number, dates, reporter, product and lot, verbatim nature, whether investigated and the justification if not, findings, reportability decision and report references, CAPA reference, and the reply. | |||
| 1.11.2 | Closure is approved by QA, with a name and date. | |||
| 1.11.3 | No field is blank where an entry or a recorded “N/A with reason” is required. | |||
| 1.11.4 | Corrections are made by strike-through with initials, date, and reason on paper, or through the audit-trailed function in the electronic system, with no overwriting or obliteration. | |||
| 1.11.5 | The record is within its retention period and the applicable retention rule is identifiable. | |||
| 1.11.6 | The complete file, including attachments, photographs, and test data, was retrieved within <<FILL: e.g. 15 minutes>> of request during this review. | |||
| 1.11.7 | Where the complaint was handled at a location other than the manufacturing establishment, the records are reasonably accessible at the manufacturing establishment. | |||
| 1.11.8 | Cross-references to deviation, out-of-specification, CAPA, safety, and recall records resolve to real records that exist and point back. |
1.12 Per-file result
| Field | Entry |
|---|---|
| Lines scored | <<FILL>> |
| Pass / Fail / NA counts | <<FILL>> / <<FILL>> / <<FILL>> |
| Critical (asterisked) lines failed | <<FILL: list, or "none">> |
| File result | Pass / Fail (any critical-line Fail = Fail) |
| Findings raised | <<FILL: reference>> |
Section 2: System-level review
The per-file review tests execution. This section tests the programme. An inspector who finds tidy individual files will still ask these questions.
2.1 Procedure and governance
| # | Check | Pass / Fail / NA | Evidence | Note |
|---|---|---|---|---|
| 2.1.1 | A current, approved, effective complaint handling procedure exists and covers written and oral complaints. | |||
| 2.1.2 | The procedure defines severity tiers with anchored definitions and examples, not tier names alone. | |||
| 2.1.3 | The procedure defines timelines for each step and each severity, and those timelines are numbers rather than “promptly”. | |||
| 2.1.4 | Intake staff are procedurally prevented from closing, dismissing, or downgrading a complaint. | |||
| 2.1.5 | Everyone performing intake, triage, investigation, and reportability assessment is trained to the current version, with training records available. | |||
| 2.1.6 | The reportability matrix is current, owned jointly with regulatory affairs and pharmacovigilance, and covers every market the products are distributed into. | |||
| 2.1.7 | Quality agreements with contract manufacturers and distributors specify complaint notification and response timelines, and those timelines fit inside the regulatory clocks. |
2.2 Trending
| # | Check | Pass / Fail / NA | Evidence | Note |
|---|---|---|---|---|
| 2.2.1* | Trending is performed on the defined cadence, and records exist for every period in the last <<FILL: e.g. 24 months>> with no gaps. | |||
| 2.2.2* | Rates are normalised to units distributed, and the numerator and denominator definitions are fixed and documented. | |||
| 2.2.3 | Lot-level rates use that lot’s distribution as the denominator, not total product distribution. | |||
| 2.2.4 | Trending covers defect type, lot, product and presentation, and time, at minimum, and the dimensions are crossed rather than only listed. | |||
| 2.2.5 | Unconfirmed complaints are included in the trend, and the inclusion rule is stated and constant. | |||
| 2.2.6 | Zero rows are recorded rather than omitted. | |||
| 2.2.7 | The data source is a validated report, referenced by name and version, and the extract is retained with the review. | |||
| 2.2.8 | Where the analysis runs in a spreadsheet, the spreadsheet is under appropriate control and its calculation has been verified. |
2.3 Thresholds
| # | Check | Pass / Fail / NA | Evidence | Note |
|---|---|---|---|---|
| 2.3.1* | Thresholds are defined in advance, in writing, and approved. | |||
| 2.3.2 | The basis for each threshold level is recorded, including the baseline it derives from and why that baseline period was chosen. | |||
| 2.3.3 | Baselines are reset on a defined cadence and after any confirmed process change affecting the defect type. | |||
| 2.3.4 | Thresholds cover rate-based and count-based triggers, so that low-volume products and young lots are not left without a trigger. | |||
| 2.3.5* | No threshold was raised, or definition changed, in response to a crossing in a way that removed the crossing. Check the revision history, not just the current version. | |||
| 2.3.6* | Every threshold crossing in the last <<FILL: e.g. 24 months>> traces to an investigation or to a recorded, attributed, reasoned decision not to escalate. | |||
| 2.3.7 | Effectiveness checks for trend-driven CAPAs are written in the same units as the threshold that triggered them. | |||
| 2.3.8 | Signals watched below threshold are recorded, with the watch period and the reason for not escalating. |
2.4 Backlog and timeliness
| # | Check | Pass / Fail / NA | Evidence | Note |
|---|---|---|---|---|
| 2.4.1 | Total open complaints: <<FILL>>. Against a defined limit of <<FILL>>. | |||
| 2.4.2 | Age of the oldest open complaint: <<FILL>> days. Against a defined limit of <<FILL>>. | |||
| 2.4.3 | Open complaints older than <<FILL: e.g. 60 days>>: <<FILL>> (<<FILL>> percent of open). Against a limit of <<FILL: e.g. 5 percent>>. | |||
| 2.4.4 | Every complaint past its target has a documented, approved extension dated before the target passed. | |||
| 2.4.5 | On-time closure rate for the period: <<FILL>> percent, against a target of <<FILL>> percent. | |||
| 2.4.6 | The backlog is not concentrated in one severity, one product, or one handler in a way that indicates an unaddressed resource or capability gap. | |||
| 2.4.7 | Backlog and timeliness are reported into management review with a trend, not a single snapshot. |
2.5 Classification consistency
| # | Check | Pass / Fail / NA | Evidence | Note |
|---|---|---|---|---|
| 2.5.1 | A consistency check is performed on a defined cadence: a sample of complaints re-coded independently by a second reviewer. | |||
| 2.5.2 | Agreement rate for the last check: <<FILL>> percent, against a target of <<FILL>> percent. | |||
| 2.5.3 | Severity assigned to the same defect type is consistent across handlers and across periods. | |||
| 2.5.4 | The share of complaints coded to “other” is <<FILL>> percent, against a limit of <<FILL>> percent. A rising share means the category list no longer fits what is being reported. | |||
| 2.5.5 | Categories that were confused with one another have been identified and addressed through anchored examples or training. | |||
| 2.5.6 | Defect categories are aligned across the intake form, the investigation form, and the trending log, so the three cannot disagree. |
2.6 Interfaces
| # | Check | Pass / Fail / NA | Evidence | Note |
|---|---|---|---|---|
| 2.6.1 | The complaint-to-pharmacovigilance interface can be demonstrated end to end on a real case, with timings. | |||
| 2.6.2 | Reconciliation between the complaint system and the safety database is performed on a defined cadence, so a case in one but not the other is detected. | |||
| 2.6.3 | Complaint trends demonstrably reach the annual product review, and last year’s review contains them. | |||
| 2.6.4 | Complaint metrics demonstrably reach management review, with decisions and resource allocations recorded. | |||
| 2.6.5 | Complaints that escalated to a field action trace cleanly into the recall records, and back. | |||
| 2.6.6 | Complaints on contract-manufactured product were notified to the contract partner within the quality agreement timeline, and responses were received within it. |
2.7 System-level result
| Field | Entry |
|---|---|
| Lines scored | <<FILL>> |
| Pass / Fail / NA counts | <<FILL>> / <<FILL>> / <<FILL>> |
| Critical (asterisked) lines failed | <<FILL>> |
| System result | Pass / Pass with actions / Fail |
Section 3: Findings, actions, and signoff
| # | Finding | Source line | Severity | Action | Owner | Due | Reference |
|---|---|---|---|---|---|---|---|
<<FILL>> | <<FILL>> | <<FILL>> | Critical / Major / Minor | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> |
| Field | Entry |
|---|---|
| Files sampled / files passed / files failed | <<FILL>> / <<FILL>> / <<FILL>> |
| Most frequent failure mode across the sample | <<FILL>> |
| Systemic issues identified (a failure appearing in more than one file is systemic, not isolated) | <<FILL>> |
| Actions requiring CAPA rather than local correction | <<FILL>> |
| Readiness statement | <<FILL: ready / ready with actions closing by [date] / not ready, with the reason>> |
| Date the next review is due | <<FILL>> |
| Role | Name | Signature | Date |
|---|---|---|---|
| Reviewer | <<FILL>> | ||
| Complaints Manager | <<FILL>> | ||
| QA approval | <<FILL>> | ||
| Head of Quality (readiness statement) | <<FILL>> |
Filled specimen
The following is a completed review, abbreviated to one representative file plus the system-level section. Company, product, people, and numbers are illustrative. It is deliberately a review that finds real problems, because a readiness review that passes everything has not been run properly.
Review header
| Field | Entry |
|---|---|
| Review reference | RDY-2026-Q2-03 |
| Review date | 15 July 2026 |
| Reviewer | H. Okafor, QA Auditor (did not handle any sampled complaint) |
| Scope | 20 complaint files closed between 1 January and 30 June 2026, plus the system-level section |
| Governing SOP | SOP-QA-031 v3.0 |
| Trigger | Scheduled quarterly review, brought forward ahead of an anticipated inspection |
Per-file review, file 7 of 20
| Field | Entry |
|---|---|
| Complaint number | CMP-2026-0688 |
| Product and lot | Fictional Bio lyophilised biologic 100 mg/vial, lot LB-4417 |
| Date of awareness / date closed | 14 May 2026 / 2 June 2026 |
| Severity as closed | Critical |
| Selected because | Closed as unconfirmed, no sample returned |
| # | Check | Result | Evidence | Note |
|---|---|---|---|---|
| 1.2.1 | Verbatim account recorded | Pass | Intake form section D | ”It looked milky after we mixed it, not clear like usual” recorded in the reporter’s words |
| 1.2.3 | Date and time of awareness recorded | Pass | Intake form section A | 14 May 2026, 11:05, logged same day |
| 1.2.7 | Sample availability recorded, request made | Pass | Intake form section H | Sample requested during the call; complainant had already discarded the vial |
| 1.3.1* | AE screen completed, all questions answered | Pass | Intake form section E | All five answered, all negative |
| 1.3.2* | Referral where positive | NA | Screen negative, no referral required | |
| 1.4.1 | Lot number recorded | Pass | Intake form section C | LB-4417 |
| 1.5.2* | Specific facts driving severity recorded | Pass | Triage record | ”Appearance change on reconstitution of a sterile parenteral biologic; potential purity issue; lot distributed” |
| 1.6.1* | Reportability assessment exists | Pass | Reportability block | Present |
| 1.6.2* | Regulations named, conclusion per branch | Fail | Reportability block | Only the BPDR branch is addressed. The adverse experience, Field Alert Report, EU, and combination product branches are blank rather than marked not applicable. |
| 1.6.3* | Rationale in facts | Fail | Reportability block | BPDR conclusion reads “not reportable, unconfirmed”. Unconfirmed status is not a rationale: 21 CFR 600.14 turns on information reasonably suggesting a reportable event, not on confirmation. |
| 1.6.4* | Attributable | Pass | Reportability block | S. Beniwal, RA, 15 May 2026 |
| 1.6.5* | Assessed near intake | Pass | Reportability block | 15 May 2026, one day after awareness |
| 1.7.2* | No-investigation decision justified and attributed | NA | An investigation was performed | |
| 1.7.10* | Cluster and trend check performed and recorded | Fail | Investigation record | No cluster check on lot LB-4417 or on the appearance defect type. Nothing recorded, not even a nil result. |
| 1.7.13* | Unconfirmed: what was still done | Fail | Investigation record | The record states “no sample returned, unable to confirm, closed”. No reserve sample was examined, no batch record was reviewed, no plausibility assessment was obtained. Reserve samples for LB-4417 were available in the QC retain store throughout. |
| 1.7.16* | Product impact assessed and bounded | Fail | Investigation record | Not assessed. |
| 1.7.17* | Field action explicitly assessed | Fail | Investigation record | Not assessed. |
| 1.8.1 | CAPA decision recorded both ways | Fail | Closure record | ”CAPA: No”. No reasoning. |
| 1.9.3 | Closed within target for severity | Pass | Closure record | 19 days against a 30 day Critical target |
| 1.10.2 | Reply recorded | Pass | Closure record | Letter sent 3 June 2026, summary recorded |
| 1.11.6 | Retrieved within 15 minutes | Pass | Retrieved in 6 minutes including attachments |
| Field | Entry |
|---|---|
| Lines scored | 41 |
| Pass / Fail / NA | 32 / 7 / 2 |
| Critical lines failed | 1.6.2, 1.6.3, 1.7.10, 1.7.13, 1.7.16, 1.7.17 |
| File result | Fail |
| Findings raised | F-2026-Q2-11 through F-2026-Q2-14 |
Reviewer note on file 7. This file closed on time, with a good verbatim capture, a completed adverse event screen, and a well-reasoned severity. It still fails, and the reason matters: the complaint was closed as unconfirmed on the single fact that no sample was returned, with no reserve sample examined and no cluster check performed. Reserve samples were on site. A second complaint on the same lot arrived three weeks later and was closed the same way. A third arrived on 6 July with a returnable sample and confirmed a purity defect that led to a Class II recall. Both earlier files were individually honest and collectively a detection failure. This is the exact pattern the “could not confirm” line in section 1.7.13 exists to find, and it was found here about six weeks later than it should have been.
Sample-wide result
| Field | Entry |
|---|---|
| Files sampled / passed / failed | 20 / 13 / 7 |
| Most frequent failure mode | Reportability branches left blank rather than assessed and marked not applicable: 11 of 20 files (line 1.6.2) |
| Second most frequent | Unconfirmed closures with no reserve sample examination and no cluster check: 5 of the 6 unconfirmed files sampled (lines 1.7.10 and 1.7.13) |
| Third | CAPA decision recorded as a bare “No” with no reasoning: 9 of 20 files (line 1.8.1) |
| Systemic issues | All three of the above appear across multiple handlers and multiple products. They are procedure and form design issues, not individual performance issues. |
System-level review
| # | Check | Result | Evidence | Note |
|---|---|---|---|---|
| 2.1.1 | Current procedure covering written and oral complaints | Pass | SOP-QA-031 v3.0, effective 1 Feb 2026 | |
| 2.1.2 | Anchored severity definitions with examples | Pass | SOP-QA-031 section 5.4 | |
| 2.1.6 | Reportability matrix current and covering all markets | Fail | QA-MTX-031-02 v1.0 | Matrix covers the US only. Three products were launched into Germany and Canada in 2025 and neither market appears. Last reviewed January 2025. |
| 2.2.1* | Trending performed on cadence, no gaps in 24 months | Pass | TREND-2024-07 through TREND-2026-06 | 24 consecutive monthly records |
| 2.2.2* | Rates normalised, definitions fixed | Pass | QA-LOG-031-03 section 2 | Per 100,000 vials distributed, ship-date basis |
| 2.2.3 | Lot-level rates use lot distribution as denominator | Pass | TREND-2026-06-01 | Verified by recalculation on two lots |
| 2.2.5 | Unconfirmed complaints included in the trend | Pass | QA-LOG-031-03 section 2.2 | Stated rule; verified against the June extract |
| 2.3.1* | Thresholds defined in advance and approved | Pass | Threshold set v2.0, approved 6 Jan 2026 | |
| 2.3.5* | No threshold raised to remove a crossing | Pass | Revision history reviewed back to 2024 | Two changes, both prospective, both with recorded rationale |
| 2.3.6* | Every crossing traces to an investigation or a reasoned decision | Pass | 4 crossings in 24 months | All four traced; ESC-2026-0031 linked to INV-2026-0311 |
| 2.4.2 | Age of oldest open complaint | Pass | 31 days against a 60 day limit | |
| 2.4.3 | Open complaints older than 60 days | Pass | 0 of 14 open (0 percent) against a 5 percent limit | |
| 2.4.5 | On-time closure rate | Fail | 84 percent against a 90 percent target | Driven by Minor complaints, where the 60 day target is missed routinely. Either the target or the resourcing is wrong. |
| 2.5.2 | Classification agreement rate | Pass | 90 percent (18 of 20) at the 30 June check | Against an 85 percent target |
| 2.5.4 | Share coded “other” | Pass | 8 percent against a 10 percent limit | Rising from 5 percent a year ago; watched |
| 2.6.2 | Complaint and safety database reconciliation | Fail | No reconciliation is performed. A case present in one system and absent from the other would not be detected by any current control. | |
| 2.6.3 | Trends reach the annual product review | Pass | APR-2025 section 9 | Complaint rates by defect type present with prior-year comparison |
| Field | Entry |
|---|---|
| Lines scored | 38 |
| Pass / Fail / NA | 34 / 3 / 1 |
| Critical lines failed | None |
| System result | Pass with actions |
Findings and actions
| # | Finding | Source | Severity | Action | Owner | Due |
|---|---|---|---|---|---|---|
| F-2026-Q2-11 | Reportability branches left blank rather than assessed, in 11 of 20 files. Blank is indistinguishable from never considered. | 1.6.2 | Major | Make every branch a mandatory field in the complaint system, with a required “not applicable” rationale. Retrain. Retrospectively complete the assessment on the 11 sampled files and on the remaining 2026 population. | M. Duarte | 30 Sep 2026 |
| F-2026-Q2-12 | Unconfirmed complaints closed with no reserve sample examination and no cluster check, in 5 of 6 sampled. Direct contributor to a six-week delay in detecting a confirmed purity defect on lot LB-4417. | 1.7.10, 1.7.13 | Critical | Revise SOP-QA-031 so a no-sample complaint cannot be closed as unconfirmed without a documented reserve sample examination and lot cluster check. Folded into CAPA-2026-0203. Retrospective review of all 2026 unconfirmed closures. | T. Nwosu | 30 Sep 2026 |
| F-2026-Q2-13 | Reportability matrix covers the US only; Germany and Canada launches from 2025 are absent. | 2.1.6 | Critical | Regulatory Affairs to add both markets with local defect and safety reporting obligations and clocks. Add a launch checklist step so no market goes live without a matrix row. Reconcile the matrix against distribution records quarterly. | S. Beniwal | 31 Aug 2026 |
| F-2026-Q2-14 | CAPA decision recorded as a bare “No” in 9 of 20 files. | 1.8.1 | Minor | Make the reasoning field mandatory when the CAPA decision is No. | M. Duarte | 30 Sep 2026 |
| F-2026-Q2-15 | No reconciliation between the complaint system and the safety database. | 2.6.2 | Major | Establish a monthly reconciliation with a documented output and an exception route. | Head of PV with M. Duarte | 31 Oct 2026 |
| F-2026-Q2-16 | On-time closure at 84 percent against a 90 percent target, concentrated in Minor complaints. | 2.4.5 | Minor | Assess whether the 60 day Minor target or the resourcing is wrong, and change one of them through document control rather than continuing to miss it. | K. Ofori | 30 Sep 2026 |
| Field | Entry |
|---|---|
| Readiness statement | Not ready. Two Critical findings, F-2026-Q2-12 and F-2026-Q2-13, both carry a patient-safety or regulatory-deadline consequence and both are open. Readiness will be reassessed when those two close, targeted 30 September 2026. The system-level trending and threshold controls are sound and would stand up to examination; the per-file execution and the market coverage of the reportability matrix would not. |
| Next review due | 15 October 2026, or on closure of F-2026-Q2-12 and F-2026-Q2-13, whichever is earlier |
| Role | Name | Date |
|---|---|---|
| Reviewer | H. Okafor, QA Auditor | 15 July 2026 |
| Complaints Manager | M. Duarte | 16 July 2026 |
| QA approval | K. Ofori, QA Manager | 16 July 2026 |
| Head of Quality (readiness statement) | J. Sandoval | 17 July 2026 |
What the specimen is meant to show. The system-level controls passed almost everything: trending was performed for 24 consecutive months, thresholds were pre-defined and never manipulated, and every crossing traced to an action. The failure was entirely at the per-file level, where blank reportability branches and shortcut closures on unconfirmed complaints were routine, and in one stale document that had never caught up with two market launches. That combination is common. A programme can have an intact architecture and still fail an inspection on execution, and the only way to find out which one you have is to read your own files the way an inspector will.
Common inspection findings this checklist prevents
- Complaint files that look complete until read closely, where the reportability section is present but blank on most branches.
- “Could not confirm” closures with nothing behind them: no reserve sample, no batch record review, no cluster check, on files where all three were available.
- A decision not to investigate with no justification and no name attached.
- Severity assigned with no recorded facts, or changed after triage with no record of the original value or the approver.
- Complaints with no lot number and no evidence one was pursued.
- A reportability decision made only at closure, after the shortest regulatory clock had already run.
- A report submitted but its reference never recorded in the complaint file, so the two records cannot be connected.
- Adverse event screens left blank, so it cannot be shown the screening step was performed at all.
- Complaints closed late with extensions approved after the due date, or with no extension record at all.
- Trending performed but by raw count, or with lot-level complaints divided by total product distribution.
- A threshold crossed with no traceable consequence, or a threshold quietly raised in the review that it triggered.
- A reportability matrix that has not kept up with new markets or new products.
- No reconciliation between the complaint system and the safety database, so a case dropped between them would never be found.
- Cross-references between complaint, deviation, CAPA, safety, and recall records that do not resolve, or that point one way only.
- A self-inspection programme that samples only tidy closed files and therefore always passes.
How to adapt this checklist
- Set the document number, owner, frequency, and reviewer-independence rule in the header. The independence rule matters: a coordinator reviewing their own files will not find these failure modes.
- Set the sample size and the selection minimums in section 1.1 to your complaint volume. The proportions matter more than the total. If you receive 40 complaints a year, review all of them and drop the sampling table.
- Align every line to your own SOP. Where your procedure requires something this checklist does not test, add a line. Where a line tests something your procedure does not require, either add the requirement or remove the line, but do not leave a checklist testing against a standard you have not adopted.
- Set your own numeric limits in section 2.4 and 2.5 (backlog age, on-time closure, agreement rate, “other” share). The values in the specimen are illustrative.
- Decide which lines are critical for your products and mark them, rather than inheriting the asterisks here. For a sterile parenteral, the sterility and field action lines carry more weight than they would for a solid oral dose.
- Run it against real files before an inspection is announced, not after. The findings here take weeks to close, and closing them under inspection pressure is how retrospective documentation gets created.
- Route findings that appear in more than one file to CAPA as systemic, not to the individual handler. A failure mode across multiple handlers is a procedure or form design problem.
- Feed the results into management review with a trend across reviews, so the programme can show whether it is improving.
- Confirm every regulation referenced in the governing documents against the current published version before issue.