OOS lifecycle already built · deviation displays the related OOS (linked by batch) · full OOS validation = Phase-3 · updated 2026-06-02
✓ PHASE-1 = OOS REFERENCE / DISPLAY (final decision 2026-06-02).
The OOS lifecycle is already built on the engineering side. In the pilot the deviation displays the related OOS so the investigation can continue against it — OOS is used as reference / display. Full OOS operate-and-dispose workflow VALIDATION is Phase-3 (we are not validating the standalone OOS disposition for the pilot). OOS → batch link — option (a), multi-batch: the OOS record carries an optional affected_batch reference (a multi-batch linked table, search/typeahead sourced from the seeded URS-23 rows); the deviation queries OOS by batch_id directly. OOS demo records are seeded (linked to seeded batches, created via the OOS module — not raw inserts).
Scenario.Part 0 — OOS stub. Meera (QC stability analyst, Chennai) tests Batch B-9342 at the 3-month stability time-point. Content uniformity result is 88.4% (spec 90–110%). External QC investigation has already concluded it's a confirmed OOS caused by centrifuge speed drift. Meera enters a lightweight OOS stub in Verixa (Phase-1 lightweight workflow — see note) to make the record referenceable. Parts 1–4 — cross-reference. Later, Vikram is investigating Tanya's yield deviation (DEV-2026-000418) on the same batch. He discovers Meera's OOS stub, links it to his deviation, incorporates findings, and closes with the cross-reference preserved.
✓ OOS record displayed in the deviation (reference) — Phase-1✓ Deviation ↔ OOS cross-reference (audit-preserved) — Phase-1✓ OOS → batch link via affected_batch (multi-batch, seeded typeahead) — Phase-1✓ Investigation narrative incorporates OOS findings — Phase-1✓ OOS demo records seeded via the OOS module — Phase-1✗ Full OOS operate-and-dispose workflow VALIDATION — Phase-3✗ Substrate-verified OOS disposition e-sig (validated) — Phase-3✗ OOT alert / trend register — Phase-3✗ OOS-confirmed → auto-spawn deviation — Phase-3
Phase-1 lightweight stub model. The full URS-15 OOS workflow (Phase 1 lab error check → Phase 2 manufacturing → signed disposition) is Phase-2. For pilot, Verixa allows a lightweight OOS data-capture form — minimal fields, no multi-phase investigation, no substrate-verified disposition signing. Purpose: make OOS records exist in the platform so downstream workflows (deviation, CAPA, batch disposition) can reference them. The external QC investigation (lab + mfg) ran outside Verixa in pilot.
Stability time-point testing at 3-month interval. Content uniformity result on B-9342 = 88.4% against spec 90.0–110.0% LC. External QC supervisor has already run lab investigation + concluded confirmed real OOS. Meera now enters the record into Verixa for downstream visibility.
Behind the scenes · why enter at all
Without the stub, Verixa has no record of the OOS — making it invisible to the deviation cross-reference panel, batch context views, and APQR roll-ups. The stub model trades workflow rigor for downstream visibility.
2
Click
Open OOS module → + New OOS Investigation
Lightweight stub form opens — different from the full Phase-2 multi-phase intake.
Behind the scenes · permission gate
PermissionGuard checks oos:create_stub (Phase-1 specific permission). Holders are limited to QC lab staff. Form schema returns minimal field set + disposition options including "external investigation already concluded."
3
Fill
Fill the lightweight stub form (6 mandatory fields)
Server validates each field. Scope anchor ≥1 required (batch satisfies this). Discoverer immutable from session. Compare to Phase-2 full OOS: 15+ fields capturing initial assay conditions, instrument id, analyst certification, sample prep details — none of those captured in Phase-1 stub.
4
Decide
Disposition: confirmed (external investigation)
Four options in Phase-1 stub:
Open — placeholder until Phase-2 workflow launches
✓ Confirmed (external investigation) — Meera picks this
Invalidated — lab error documented externally
Inconclusive — defaults to confirmed for batch impact
Behind the scenes · disposition is data, not regulated decision
In Phase-1, disposition is a captured data field, not a regulated signed decision. oos_investigations.disposition + oos_investigations.disposition_source = 'external'. In Phase-2 this becomes a substrate-verified e-sig by oos_disposition_approver.
External reference text is mandatory when disposition_source = 'external'. Forces traceability to the source-of-truth investigation document, since Verixa didn't run it.
6
Click
Click Submit Stub
Lighter-than-full Submit: no e-signature required for Phase-1 stub (since no regulated decision is being made by Verixa).
Behind the scenes · creation transaction
Server validates payload → mints OOS-2026-000077 race-safe via DB sequence → inserts oos_investigations row with stub=true flag → audit: OOS_STUB_CREATED with full payload. Notification to QA pool (informational).
7
See
Confirmation
✅ "OOS-2026-000077 created as Phase-1 stub. Visible to deviation cross-reference and batch context views."
Phase-2 difference: when the full URS-15 workflow lands, this same record could be "upgraded" — adding Phase 1 lab investigation steps, Phase 2 mfg investigation, substrate-verified disposition e-sig. Phase-1 stubs remain valid historical records.
DONE · OOS-2026-000077 now exists in Verixa for cross-reference.
⏱ Some days later — Vikram opens his deviation investigation
DEV
Workflow 2 · Deviation (URS-16) — investigation in progress
While in /deviations/DEV-2026-000418/investigate, the right side panel shows "Related records for B-9342". The platform pre-scans for any record cross-referencing the same scope anchors.
Behind the scenes · related-record query
Server-side join: SELECT * FROM related_records WHERE batch_id = 'B-9342' OR product_id = 'antibiotic-line' filtered by Vikram's read scope. Returns OOS records, prior deviations, complaints, findings — read-only summaries.
9
See
Spots OOS-2026-000077 for the same batch
OOS-2026-000077CONFIRMEDclick to expand →
Test: Content uniformity · stability 3-month time point Result: 88.4% of label claim (spec: 90.0–110.0%) Batch: B-9342 · Disposed: 18-May-2026 · Analyst: QC-Lab External
Note: this card shows Meera's Phase-1 stub from Part 0. The full Phase 1 lab error check → Phase 2 manufacturing investigation runs externally in pilot; only the stub record is in Verixa.
10
Click
Click the OOS card to expand
Read-only OOS summary view opens in a side drawer. Vikram reads the lab investigation summary, disposition (confirmed real OOS), and any documented root cause from QC's external investigation.
Behind the scenes · read-only OOS view
Phase-1 OOS view is a read-only data card — pulls from oos_investigations table. No edits, no state transitions. Server enforces scope check before render. Vikram cannot mutate the OOS record.
Now Vikram decides: link this OOS to his deviation as evidence.
V
Vikram — Attaching the cross-reference
deviation_investigator
Part 2 · Attach link
11
Click
In OOS summary drawer → Link to this Deviation
Button enabled because Vikram has investigator authority on DEV-2026-000418.
12
Fill
Link modal
Link OOS-2026-000077 → DEV-2026-000418
Relationship
Investigation evidence — same batch
Investigator rationale *
"OOS-2026-000077 confirmed content uniformity failure at 3-month stability point. Same batch B-9342. Investigation cause cited centrifuge speed drift — directly supports deviation root cause."
Direction
Bidirectional (deviation ↔ OOS)
Cross-reference type
manual_link
Behind the scenes · link mechanics
Inserts row in deviation_oos_links (or generic cross_record_links) with: deviation_id, oos_id, link_type='manual_evidence', rationale, created_by, created_at. This is a record-reference, not a workflow integration. Closing one record does NOT affect the other.
13
Click
Click Create Link
✅ "Linked OOS-2026-000077 to DEV-2026-000418. Visible on both records."
Behind the scenes
Audit event: DEVIATION_OOS_LINKED with both record IDs. The reverse-direction audit: OOS record also gets OOS_DEVIATION_REFERENCED for inspection traceability. Bidirectional UI chip on both sides.
Cross-reference written. Both records now reference each other.
V
Vikram — Incorporate findings
deviation_investigator
Part 3 · Incorporate into investigation
14
Fill
Update impact assessment + root cause
Impact areas
product_quality (medium → high), data_integrity (low), content_uniformity (new — from linked OOS)
Investigation narrative
"... mass-balance yield 88.2% supported by linked OOS-2026-000077 confirming content uniformity failure on same batch. Both findings consistent with centrifuge speed drift root cause."
Cross-references
OOS-2026-000077 (confirmed — linked Part 2)
Behind the scenes
Updated impact_areas entries reflect OOS-confirmed concerns. Investigation narrative explicitly cites the linked OOS — gives inspector the connective tissue between the two records.
15
Sign
Sign investigation conclusion WP-4
Substrate-verified e-sig binds conclusion. OOS cross-reference persisted on the closed record.
Behind the scenes
Standard validateEsignatureForRecord() path (WP-4). The OOS link is part of the immutable snapshot — once Vikram signs, the link freezes alongside the rest of the investigation evidence.
Investigation closes with OOS cross-reference preserved.
A
Anita — Deviation Closure
quality_leaddeviation_closure_authority
Part 4 · Close (with OOS link)
16
See
Pre-closure checklist + OOS reference visible
Standard checklist (root cause, conclusion signed, CAPA linked, SoD pass). Plus the Linked OOS chip in the header: OOS-2026-000077 (confirmed). Clickable to view summary.
Behind the scenes
The closure gate does NOT depend on the OOS state — they're independent records. The OOS link is informational for the closer; it doesn't block or enable closure.
✅ "DEV-2026-000418 closed. Cross-reference to OOS-2026-000077 preserved in audit."
Behind the scenes · immutability
DEC-16-08 cascade: header + impact_areas + comments + cross-record links all immutable. The link cannot be removed or edited after closure. Inspector landing on either record can traverse to the other via the audit-preserved cross-reference.
Deviation closed with OOS link permanently preserved.
Referenced by ← DEV-2026-000418 · deviation linkage
State: CONFIRMED (Phase-1 read-only)
Bidirectional cross-reference audit-preserved. Independent closure tracks — closing either record does not affect the other. Inspector can traverse either way.
OOS
Phase-2 preview · Full OOS workflow (URS-15)
What's NOT in pilot but will integrate later
In Phase-2, the OOS workflow runs in-platform with:
Phase 1 lab investigation — analyst + QC supervisor; lab-error invalidation per FDA OOS Guidance §IV.A; SoD-15-02 enforced; substrate-verified e-sig
Phase 2 manufacturing investigation — extended root cause investigation when lab error not assignable