This is a ready-to-use checklist. Replace every <<FILL: ...>> placeholder with your own specifics, set your document numbers and dates, and route it through your normal document control, review, and approval. A worked filled specimen follows the template so you can see how a completed version reads. Verify each cited regulation against the current published source before you rely on it, and treat this as an educational reference to adapt rather than as legal or regulatory advice.
This checklist is written for the person executing the protocol, not for the person auditing it afterwards. It is short enough to complete honestly and specific enough to be worth completing. The governing process for anything that fails a check sits in SOP: Validation Test Incident Management.
How to use this checklist
- Section A is completed once, before the first test step of an execution session or campaign. If any item fails, execution does not start until it is resolved.
- Section B is the standing rule set held throughout execution. Complete it at the end of each execution session, or at the end of each protocol, whichever your procedure specifies.
- Section C is completed once, after execution is finished and before the summary report is drafted.
- Mark every item Pass, Fail, or NA. NA needs a reason in the comment column. A blank is not an answer.
- Any Fail is raised as a test incident under your incident management procedure before execution continues.
| Field | Entry |
|---|---|
| Checklist number and version | <<FILL: CL-ID and version>> |
| Protocol number, title, version | <<FILL>> |
| Validation phase | DQ / IQ / OQ / PQ / UAT / method validation / process validation / cleaning validation |
| System, equipment, method, or process | <<FILL>> |
| Execution session or campaign reference | <<FILL>> |
| Executor (name, role, unique user ID) | <<FILL>> |
| Date range covered | <<FILL>> |
Section A: Before execution
Complete before the first test step. Every item is a precondition, not an aspiration.
| # | Check | What good looks like | Reference | Pass / Fail / NA | Comment |
|---|---|---|---|---|---|
| A1 | The protocol you are executing is the approved, current, effective version | You can name the version and see its approval signatures. The copy in your hand matches the controlled master | <<FILL: protocol no. and version>> | ||
| A2 | The copy you are executing is a controlled issue | Controlled copy number recorded, or the electronic record opened from the controlled system, not a local file or an emailed PDF | <<FILL: copy no.>> | ||
| A3 | Any protocol addendum or correction in force is in your hands before you start | Addenda are attached and approved. You are not executing a step someone told you verbally has changed | <<FILL: addendum ref>> | ||
| A4 | The environment or instance is confirmed and recorded | Environment name captured from the system itself, not from the project plan | <<FILL: environment>> | ||
| A5 | The build, version, or firmware is confirmed and recorded with evidence | Version screen captured, or deployment record referenced. Exact version string, not “latest” | <<FILL: build>> | ||
| A6 | The environment matches the intended qualified target, or every difference is documented and justified | Differences between the test environment and the target production environment are listed and their effect on the conclusion is stated | <<FILL>> | ||
| A7 | The configuration set, recipe, or method under test is identified and under configuration control | Configuration baseline or export reference recorded, so what you tested can be identified later | <<FILL>> | ||
| A8 | Test data is controlled, identified, and fit for the test | Test data set has an identifier and a controlled state. You know which values exercise boundaries and error paths | <<FILL: test data set>> | ||
| A9 | Test data does not contain real patient, subject, or donor identifiers unless approved and controlled | Where real data is used, its use is approved and its handling meets your privacy and data protection controls | <<FILL>> | ||
| A10 | Your user account, role, and permissions for the test are correct and attributable to you personally | You are not executing under a shared, generic, or borrowed account. Nobody else is using your credentials | <<FILL: user ID and role>> | ||
| A11 | The system clock and time zone are confirmed correct and are not user-alterable | Time source verified. You know what time zone the timestamps you are about to generate will carry | <<FILL>> | ||
| A12 | The audit trail is enabled, complete, and cannot be disabled by an ordinary user for the execution period | Confirmed at the system, and the confirmation is evidenced | <<FILL>> | ||
| A13 | The evidence capture method is agreed before the first step | You know what counts as evidence for each step: screenshot, printout, log extract, chart, photograph, and what metadata each must carry | <<FILL>> | ||
| A14 | Evidence naming, numbering, and storage location are defined | An evidence numbering scheme exists so an attachment can be tied back to a step months later | <<FILL>> | ||
| A15 | The test incident log is open, accessible, and ready to receive an entry | Blank log initialised with the next incident number known. Not a blank page you will create when something goes wrong | <<FILL: log ref>> | ||
| A16 | The escalation criteria are approved and you have read them | You know, before you see a failure, which failures become deviations and which do not | <<FILL: plan section>> | ||
| A17 | You are trained and qualified on the protocol, the system, and the recording rules | Training record current, including on the good documentation practice convention used for corrections | <<FILL: training ref>> | ||
| A18 | Prerequisites for the test cases you will run are met and evidenced | Calibration current, IQ complete before OQ starts, interfaces available, materials available | <<FILL>> | ||
| A19 | You know who to call and how fast when something fails | Validation lead and QA contact points known, and the expected notification timing | <<FILL>> |
Gate A. Execution does not begin with an open Fail in section A. If a Fail is discovered after execution has started, execution stops, the item is raised as an incident, and everything executed under the failed condition is assessed for validity.
Section B: During execution
These are the standing rules. Confirm each at the end of the session or protocol, and be honest, because the audit trail records the same facts whether or not you do.
| # | Check | What good looks like | Reference | Pass / Fail / NA | Comment |
|---|---|---|---|---|---|
| B1 | Every result was recorded at the time it was observed | Entries made as the step ran, not reconstructed from notes at the end of the day | <<FILL>> | ||
| B2 | No result was recorded on scrap paper, a whiteboard, a phone note, or a personal file and transcribed later | The controlled record is the original record. If a working note existed, it is retained and attached | <<FILL>> | ||
| B3 | Every failing result was recorded before any retry, reload, refresh, restart, or re-entry | The first observation is on the record. No step was attempted a second time before the first attempt was written down | <<FILL>> | ||
| B4 | Every failed step remains marked FAIL with an incident reference | No failed step was erased, blanked, obliterated, overwritten, or changed to PASS | <<FILL>> | ||
| B5 | No expected result was edited to match an observed actual result | Where an expected result was genuinely wrong, it was corrected through an approved, justified protocol correction and the step was re-executed against the corrected expectation | <<FILL>> | ||
| B6 | No acceptance criterion was relaxed, reinterpreted, or paraphrased during execution | The criterion you tested against is the criterion the protocol states | <<FILL>> | ||
| B7 | There are no blank required fields on any execution page | Every required field carries an entry or a documented NA with a reason | <<FILL>> | ||
| B8 | There are no erased, obliterated, correction-fluid, or over-written entries | Paper corrections use a single line through, initial, date, and reason, with the original entry still legible | <<FILL>> | ||
| B9 | Every correction carries a reason | ”Transcription error”, “wrong step number”, “value corrected per attached evidence”. Not an unexplained change | <<FILL>> | ||
| B10 | Every entry is attributable to a single identified person | Signed or initialled with a legible identity, or made under a unique user account. No shared logins, no signing on behalf of another person | <<FILL>> | ||
| B11 | Evidence was captured for every step that requires it, with a visible timestamp and the identity of who captured it | Screenshots show the system time and the logged-in user where the system displays them. Printouts are signed and dated by the capturer | <<FILL>> | ||
| B12 | Every evidence item is numbered and cross-referenced from the step it supports | You can go from any step to its evidence and back | <<FILL>> | ||
| B13 | No evidence was cropped, edited, annotated over, or re-created after the fact | Annotations, where needed, are added as a separate labelled layer or a separate note, leaving the original capture intact | <<FILL>> | ||
| B14 | Every unplanned event during execution was recorded, not only failing results | Power interruptions, network drops, interrupted sessions, a step run out of order, a change to the environment mid-session | <<FILL>> | ||
| B15 | Every re-execution ran only after an approved re-execution authorization | You did not re-run a step because the fix “was obviously done”. The authorization existed and was signed first | <<FILL>> | ||
| B16 | Every re-execution was recorded as a new, separately dated and signed record referencing its incident | The original failed record and the re-execution record both exist and are both in the package | <<FILL>> | ||
| B17 | No entry was back-dated or forward-dated | The date and time on the record is the date and time the work was done | <<FILL>> | ||
| B18 | Where an entry was genuinely made late, it is recorded as a late entry with the reason and both dates | Date of the observation and date of the entry, both visible, with the reason for the delay | <<FILL>> | ||
| B19 | Steps were executed in the sequence the protocol specifies, or the departure was recorded as an incident | Out-of-sequence execution is a documented event, not a silent one | <<FILL>> | ||
| B20 | Nobody signed a step they did not personally execute or personally witness | The signature means what it says | <<FILL>> | ||
| B21 | No execution page was removed, replaced, or reprinted without a controlled reissue record | Page counts intact. If a page was reissued, the reissue is recorded and the original retained | <<FILL>> | ||
| B22 | Where a second-person review or witness was required, it was performed at the time by a qualified person | Not signed in a batch at the end of the week by someone who did not observe the work | <<FILL>> |
Gate B. Any Fail in section B is raised as a test incident. Items B3, B4, B5, B10, B13, B17, and B20 are data integrity items; a Fail on any of these is notified to QA the same working day and assessed under your data integrity investigation procedure.
Section C: After execution
Complete after execution finishes and before the validation summary report is drafted.
| # | Check | What good looks like | Reference | Pass / Fail / NA | Comment |
|---|---|---|---|---|---|
| C1 | Every FAIL annotation on an execution page maps to a logged test incident number | Reconciliation performed and recorded. No orphan FAIL marks, no orphan incidents | <<FILL: reconciliation ref>> | ||
| C2 | Every logged test incident has a confirmed classification | Classification confirmed by QA, not assigned by the executor alone | <<FILL: incident log>> | ||
| C3 | Every incident has a documented disposition | Closed-resolved, closed with a justified open item, or accept-with-justification with residual risk recorded | <<FILL>> | ||
| C4 | Every incident requiring a QMS deviation has one, and the two registers reconcile | The count in the test incident log and the count in the QMS deviation register agree, and the reconciliation is recorded | <<FILL>> | ||
| C5 | Every re-execution is a separate, dated, signed record referencing its incident | No re-execution recorded over the top of an original | <<FILL>> | ||
| C6 | Every re-execution authorization is dated on or before its re-execution | Approval precedes execution. Check the dates, do not assume them | <<FILL>> | ||
| C7 | The number of re-execution attempts per step is visible in the record | If a step took three attempts, the record shows three attempts, not one | <<FILL>> | ||
| C8 | Every scope and impact assessment required by classification is complete and approved | No C3 to C6 incident closed without one | <<FILL>> | ||
| C9 | Every previously passed test identified as affected by a defect has been re-executed or explicitly retained with a stated basis | No test left as PASS by default because nobody looked | <<FILL>> | ||
| C10 | The system audit trail for the execution period has been reviewed against the documented execution timeline | Record creation and modification times sit inside the documented window | <<FILL: audit trail review ref>> | ||
| C11 | No test record was created or modified by an identity other than the documented executor | Any such entry is explained and, if unexplained, raised as an incident | <<FILL>> | ||
| C12 | No re-execution timestamp precedes its corrective action completion date | The timeline in the paper and the timeline in the audit trail tell the same story | <<FILL>> | ||
| C13 | There are no audit trail gaps or disabled periods across the execution window | Continuity confirmed, or the gap raised as an incident | <<FILL>> | ||
| C14 | All evidence referenced from execution pages exists, is legible, and is stored where the protocol says | Spot check at minimum, full check where the protocol requires it | <<FILL>> | ||
| C15 | All required signatures are present, legible, and dated, with no signature applied by one person on behalf of another | Signature review complete against the specimen signature register | <<FILL>> | ||
| C16 | No person approved a document they prepared, executed, or corrected | Signature review against the authority matrix | <<FILL>> | ||
| C17 | Every open item carries a description, a risk position, a compensating control where relevant, a named owner, and a target date | No open item listed as “to be resolved” with nothing behind it | <<FILL>> | ||
| C18 | No item is open and unassessed | An open item is permitted. An unassessed one is not | <<FILL>> | ||
| C19 | The complete open-item list is reproduced in the validation summary report | The report reflects the log, and both were reconciled before issue | <<FILL: report ref>> | ||
| C20 | Executed protocol, incident log, evidence, and authorizations are collated, indexed, and archived per the retention schedule | The package can be retrieved and read by someone who was not on the project | <<FILL: archive ref>> |
Gate C. The validation summary report is not drafted with an open Fail in section C. See Validation summary report and release.
Signoff
| Role | Name | Signature | Date | Statement |
|---|---|---|---|---|
| Executor | <<FILL>> | I completed the checks in sections A and B and the responses are accurate | ||
| Validation lead | <<FILL>> | I reviewed sections A to C and confirm the reconciliations in section C were performed | ||
| Second-person reviewer | <<FILL>> | I independently reviewed the executed package against this checklist | ||
| Quality Assurance | <<FILL>> | I reviewed the completed checklist and the disposition of any Fail |
| Field | Entry |
|---|---|
| Total items | <<FILL>> |
| Pass | <<FILL>> |
| Fail | <<FILL>> |
| NA (with reason) | <<FILL>> |
| Test incidents raised from this checklist | <<FILL: list numbers, or none>> |
References
21 CFR 211.68, 211.188, 211.194, and 211.192, for automatic equipment controls, batch record content, laboratory record content, and the investigation of unexplained discrepancies. 21 CFR Part 11, for electronic records and electronic signatures, including the requirement that record changes do not obscure previously recorded information. EU GMP Annex 11, Computerised Systems (2011, the version currently in force), for audit trail, access control, and data integrity expectations. The draft revision published 7 July 2025, consultation closed 7 October 2025, is not final. EU GMP Annex 15, Qualification and Validation (2015), which requires deviations from validation protocols to be documented with appropriate justification. EU GMP Chapter 4, Documentation, for good documentation practice expectations applied to the execution record. FDA guidance on data integrity and compliance with drug CGMP (2018), MHRA GxP Data Integrity Guidance and Definitions (2018), and PIC/S PI 041-1, for the ALCOA+ principles applied in sections A to C. FDA guidance “Computer Software Assurance for Production and Quality Management System Software”, issued 3 February 2026, for the risk-based assurance context. ISPE GAMP 5 Second Edition (2022), for the validation lifecycle context. Reference only.
Confirm the current version and clause numbers of each reference before issue.
Filled specimen
The following shows selected lines completed for an OQ execution session on a chromatography data system in a biologics QC laboratory. The company, system, names, and numbers are illustrative.
| Field | Entry |
|---|---|
| Checklist number and version | CL-VAL-004 v1.0 |
| Protocol | OQ-CDS-011, Operational Qualification of the Chromatography Data System, v2.0 |
| Validation phase | OQ |
| System | Chromatography data system, instance CDS-QUAL, instruments HPLC-04 and HPLC-09 |
| Execution session | Session 3, test cases TC-019 to TC-027 |
| Executor | N. Haddad, QC Analyst, user ID nhaddad |
| Date range | 13 to 16 July 2026 |
Section A, selected lines
| # | Check | Pass / Fail / NA | Comment |
|---|---|---|---|
| A1 | Approved current protocol version | Pass | OQ-CDS-011 v2.0, approved 02 July 2026 |
| A2 | Controlled copy | Pass | Controlled copy 03 of 04, issued 10 July 2026 |
| A5 | Build confirmed with evidence | Pass | CDS build 8.3.1, version screen captured as EV-A05, 13 July 08:02 |
| A6 | Environment matches qualified target | Fail | CDS-QUAL runs on Windows Server build one patch level behind the production target. Raised as TI-OQ-CDS-006. Execution held |
| A10 | Personal attributable account | Pass | nhaddad, role QC_ANALYST. No shared account used |
| A11 | Clock and time zone confirmed | Pass | Time source synchronised to the site NTP server, UTC+02:00, users cannot alter. Evidence EV-A11 |
| A12 | Audit trail enabled and not user-disableable | Pass | Confirmed at the system and evidenced EV-A12. Administrator role can disable; ordinary analyst role cannot |
| A13 | Evidence capture method agreed | Pass | Screenshots must show system clock and logged-in user; chromatograms printed to PDF from the CDS with the audit-trail footer enabled |
| A15 | Incident log open | Pass | TIL-OQ-CDS-011, next number TI-OQ-CDS-006 |
| A16 | Escalation criteria read | Pass | Validation plan VP-CDS-2026-01 section 7.3 |
| A18 | Prerequisites met | Pass | IQ-CDS-011 closed 08 July 2026. HPLC-04 and HPLC-09 calibration current to 30 September 2026 |
A6 failed. Execution was held for two days while the environment patch level was reconciled with the production target under CR-CDS-2026-044, and TI-OQ-CDS-006 recorded the hold. That is the correct outcome. The alternative, executing anyway and noting the difference in the report, would have left every result open to the question of whether it applied to the environment actually released.
Section B, selected lines
| # | Check | Pass / Fail / NA | Comment |
|---|---|---|---|
| B1 | Contemporaneous recording | Pass | |
| B3 | Failures recorded before any retry | Pass | TC-023 step 4 failed at 11:47 on 15 July. Recorded and TI-OQ-CDS-008 raised at 11:52 before any re-injection |
| B4 | Failed steps remain FAIL | Pass | TC-023 step 4 remains FAIL on page 31 with “see TI-OQ-CDS-008” |
| B5 | No expected result edited to match actual | Pass | |
| B7 | No blank required fields | Fail | Three steps on pages 27 and 28 had the “evidence reference” field blank because the screenshots were saved but not numbered at the time. Completed on 15 July with a late-entry annotation per B18, both dates shown, reason recorded. TI-OQ-CDS-009 raised |
| B8 | No erased or obliterated entries | Pass | Two corrections on page 24, both single line through, initialled NH, dated, reason “transposed step number” |
| B10 | Attributable entries | Pass | |
| B11 | Evidence with timestamp and identity | Pass | All screenshots show the CDS clock and the nhaddad session banner |
| B13 | Evidence not edited | Pass | Two screenshots carry a separate annotation layer identifying the field of interest; originals retained unaltered as EV-B13a and EV-B13b |
| B14 | Unplanned events recorded | Pass | Network interruption 14 July 13:20 to 13:35 interrupted TC-021. Recorded as TI-OQ-CDS-007, TC-021 re-executed in full under RTA-007 |
| B15 | Re-executions ran only after approved authorization | Pass | RTA-007 approved 14 July 16:10; TC-021 re-executed 15 July 08:30 |
| B16 | Re-executions are separate records | Pass | OQ-CDS-011 addendum 1 pages A1 to A4 |
| B20 | Nobody signed work they did not perform | Pass | |
| B22 | Second-person review performed at the time | Pass | R. Silva witnessed the TC-023 failure at 11:47 and countersigned the observation |
B7 failed and was handled correctly: the omission was found, corrected as a late entry with both dates and a reason, and raised as an incident rather than quietly backfilled. A reviewer reading page 27 sees exactly what happened and when.
Section C, selected lines
| # | Check | Pass / Fail / NA | Comment |
|---|---|---|---|
| C1 | FAIL marks reconcile to logged incidents | Pass | 4 FAIL marks, 4 incidents. Reconciliation record REC-OQ-CDS-011 dated 17 July 2026 |
| C4 | Incident and deviation registers reconcile | Pass | 4 incidents, of which 2 escalated to VAL-DEV-2026-058 and VAL-DEV-2026-059. Counts agree with the QMS register |
| C6 | Authorizations precede re-executions | Pass | RTA-007 approved 14 July 16:10 versus execution 15 July 08:30; RTA-008 approved 16 July 09:15 versus execution 16 July 13:00 |
| C7 | Attempt counts visible | Pass | TC-023 step 4 shows one failure and one re-execution. No hidden attempts |
| C9 | Affected previously passed tests re-executed or retained with a basis | Pass | SIA-008 identified TC-019 and TC-020 as affected. Both re-executed under addendum 1 |
| C10 | Audit trail reviewed against documented timeline | Pass | Audit trail review ATR-OQ-CDS-011, 17 July 2026. All record creation times fall between 13 and 16 July, inside the documented window |
| C11 | No records created by other identities | Fail | Two records show creation by user “cdsadmin” on 14 July at 17:40. Investigated: the administrator restored a sequence after the network interruption, which was documented in TI-OQ-CDS-007 but not cross-referenced to the audit trail entries. Cross-reference added; no unexplained activity. Closed |
| C12 | Re-execution timestamps follow corrective action completion | Pass | |
| C17 | Open items complete | Pass | One open item: a low-impact report formatting defect, VAL-DEV-2026-059, risk position documented, owner CDS system owner, target 30 September 2026 |
| C18 | No unassessed open item | Pass | |
| C19 | Open-item list reproduced in the summary report | Pass | VSR-CDS-2026-03 section 8 |
C11 is the check that earns its place. The activity was legitimate and was already documented in an incident, but nothing tied the incident to the two audit trail entries an inspector would find first. Adding the cross-reference took ten minutes at the desk. Explaining it cold in a back room, two years later, without the cross-reference, takes considerably longer and looks worse.
Common inspection findings this checklist prevents
- Execution begun against a superseded protocol version, or against an uncontrolled printed copy.
- The build or environment under test not recorded, so the package does not establish what was actually qualified.
- Test results transcribed into the protocol at the end of the day from working notes, with the working notes discarded.
- A failing step retried before it was recorded, so only the passing attempt exists.
- Failed steps blanked, obliterated, or overwritten so the failure is invisible on the page.
- Expected results edited to match observed system behaviour and the step then marked PASS.
- Blank required fields across executed pages, later backfilled with no late-entry annotation.
- Corrections made with no reason recorded, or with the original entry rendered illegible.
- Execution performed under a shared or generic account, so entries cannot be attributed to a person.
- Screenshots with no visible timestamp or user identity, or evidence that was cropped or re-created after the fact.
- Re-executions performed before the authorization that permits them was approved, evidenced by the audit trail.
- Witness or second-person signatures applied in a batch after the fact by someone who did not observe the work.
- Audit trail entries showing record creation outside the documented execution window, with no explanation in the package.
- A summary report issued while incidents in the log carry no disposition, or open items carry no owner and no date.
How to adapt this checklist
- Set your checklist number, and align the section A items to the prerequisites your protocols actually specify. Add rows for anything unique to your technology, such as instrument calibration status, reference standard traceability, or a controlled data set checkout.
- Decide the completion cadence for section B and state it once. Per session works for multi-day campaigns; per protocol works for short executions. Mixed practice produces gaps.
- Mark your own data integrity items in section B and tie them to your notification timing. The set flagged here (B3, B4, B5, B10, B13, B17, B20) is a starting point, not a fixed list.
- For paper execution, write your good documentation practice correction convention into the B8 and B9 rows in your own words so the executor reads the rule at the moment of use rather than recalling a training slide.
- For fully electronic execution, replace the paper-specific rows with the equivalent electronic controls: no shared accounts, no local file copies, e-signature meaning applied correctly, and a record-level audit trail that captures the change and the reason.
- Where your protocols already carry an execution cover sheet, fold section A into it rather than issuing a second document, so the executor completes one thing well instead of two things quickly.
- Add your specimen signature register reference to the C15 row so the signature review has something to check against.
- Confirm every regulation in the references section against the current published version before issue, in particular the status of the EU GMP Annex 11 revision, which was still in draft at the time of writing.