Skip to Content
PlatformHow-to guidesReview a record against an SOP

How to review a record against an SOP

Use this guide when a protocol, experiment or report must be compared with a standard operating procedure. You start with an SOP and a target record; you end with a check whose findings each carry a decision, and, where a finding is confirmed, a deviation record. Running the check needs review.agents.use; deciding findings needs review.findings.approve; recording a deviation needs review.deviations.manage.

A check runs as an agent run of kind review_check. It files review findings with decision open; the reviewer decides each one. The check is evidence your quality process consumes; it is not a certificate of anything.

Prerequisites

  • An SOP under Review › SOPs whose requirements[] list code and text pairs (needs review.sops.manage to draft one and review.sops.approve to approve it).
  • A target record: a protocol, an experiment or a report in Plans.

Open Review › Checks

In the rail choose Review, then Checks in the panel (/p/<slug>/review/checks). The list shows each check with its SOP, target, status and finding count. Needs review.checks.read.

Run the check

Choose Run check (needs review.agents.use). Pick the Target type (protocol, experiment or report), the SOP (shown with its version) and the Target record, optionally a Stage, and submit. The form calls POST /programs/{program_id}/review/checks; the API answers 202 with a CheckOut in status queued and an agent_run_id. With the worker running the status moves through running to succeeded, partial or failed.

Read the findings

Select the check: its findings are listed with kind (missing_metadata, unsupported_conclusion, inconsistent_entry, undocumented_deviation or other), severity (info, minor, major), the requirement_code of the SOP requirement and a source_ref into the target. Every finding shows “Agent-generated, for review” and decision open. The same list is under Review › Findings (/p/<slug>/review/findings, needs review.findings.read).

Decide each finding

Open a finding and choose Record decision (needs review.findings.approve). Pick accepted, dismissed or resolved and write a note; the form calls POST .../review/findings/{finding_id}/decision. A reviewer note can also be added with PATCH .../review/findings/{finding_id} (needs review.findings.manage).

Record a deviation when one is confirmed

If an accepted finding describes a real departure from the SOP, open Review › Deviations and choose Record deviation (needs review.deviations.manage). Link it to the finding, describe it and save; the deviation starts as suspected and is later set to confirmed, not_a_deviation or closed with PATCH .../review/deviations/{deviation_id}.

Troubleshooting

SymptomCauseFix
Run check is not shownYou lack review.agents.useThe quality_reviewer, scientist, program_lead and program_owner personas hold it
No SOP in the pickerNo SOP exists in the programDraft one under Review › SOPs (needs review.sops.manage)
Record decision is missing on a findingThe finding is no longer open, or you lack review.findings.approveOnly open findings can be decided