Skip to main content
Version: 3.0.1

STD: Inhibition - Quantification Rule (PICQUANT)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/rules/rule-inhibition-quantification.md Rule Name: PICQUANT Domain: RULES-INHQUANT


Overview

This document specifies tests for the PICQUANT rule using decision tables and test vectors. The rule evaluates Internal Control (IC) inhibition for quantification samples and assigns appropriate well errors based on IC CT threshold, quantification level relative to LoD and 10,000 copies/mL, and whether the sample has been tested before.

Rule Characteristics:

  • Pure business logic (no UI)
  • Threshold-based IC CT evaluation (>35 indicates inhibition)
  • Two-tier quantification evaluation (above LoD, above 10,000)
  • Sample history integration (first run vs. retest)
  • Multiple output states (pass, three error codes)

Test Method: TM-API (per Test Plan §3.3 - Rules use automated API tests)

Verification Approach: Rule verification is performed using data-driven test vectors. Each row in a decision table represents a complete verification scenario with defined inputs and expected outputs. This format enables exhaustive condition coverage while remaining concise and auditable.


Coverage Summary

REQ IDTitleConditionsTest VectorsCoverageGaps
REQ-RULES-INHQUANT-001IC Inhibition Quantification Validation1418100%None

Totals: 1 REQ, 14 Conditions, 18 Test Vectors, 100% Coverage


REQ-RULES-INHQUANT-001: IC Inhibition Quantification Validation

Input Variables

VariableTypeValid ValuesDescription
ic_ctfloat0-50+IC observation CT value
has_ic_obsbooltrue, falseWhether IC observation exists in well
quant_valuesarray[] or [float, ...]Non-IC observation quantification values
lod_thresholdfloatnumericLimit of Detection per mix/target
high_quant_thresholdfloat10000High quantification compensation threshold
ic_ct_thresholdfloat35IC CT inhibition threshold
is_first_runbooltrue, falseWhether sample/mix has been tested before
history_availablebooltrue, falseWhether sample history service is available

Output Variables

VariableTypeDescription
well_errorstring?Error code (null if pass)
rule_skippedboolWhether rule execution was skipped
output_codeenumICQUANT_INHN, ICQUANT_INHP, ICQUANT_FIRST_RUN, or PASS

Derived Conditions

ConditionDefinition
ic_inhibitedic_ct > 35
any_quant_above_lodAny non-IC observation has quant > LoD
any_quant_above_10kAny non-IC observation has quant > 10,000

Decision Table: Core PICQUANT Logic

This table covers the main decision paths of the PICQUANT rule.

TVic_ctany_quant_above_lodany_quant_above_10kis_first_runexpected_outputCovers
TV-001-00130---PASSAC: IC CT <= 35 passes
TV-001-00235---PASSAC: IC CT = 35 boundary passes
TV-001-00338truetrue-PASSAC: High quant compensates inhibition
TV-001-00436truefalsetrueICQUANT_FIRST_RUNAC: Low positive quant, first run
TV-001-00536truefalsefalseICQUANT_INHPAC: Low positive quant, retest
TV-001-00639falsefalsetrueICQUANT_FIRST_RUNAC: Negative quant, first run
TV-001-00740falsefalsefalseICQUANT_INHNAC: Negative quant, retest

Decision Table: CT Threshold Boundary Testing

TVic_ctother_conditionsexpected_outputCovers
TV-001-00834.9any_quant_above_lod=falsePASSAC: Below threshold passes
TV-001-00935.0any_quant_above_lod=falsePASSAC: At threshold passes
TV-001-01035.1any_quant_above_lod=false, first_run=trueICQUANT_FIRST_RUNAC: Above threshold triggers rule

Decision Table: Quantification Threshold Boundary Testing

TVic_ctmax_quantis_first_runexpected_outputCovers
TV-001-011379999trueICQUANT_FIRST_RUNAC: Below 10k, first run
TV-001-0123710000-PASSAC: At 10k boundary passes
TV-001-0133710001-PASSAC: Above 10k passes

Decision Table: LoD Boundary Testing

TVic_ctquant_valuelod_thresholdis_first_runexpected_outputCovers
TV-001-0143899100trueICQUANT_FIRST_RUNAC: Below LoD = negative
TV-001-01538100100trueICQUANT_FIRST_RUNAC: At LoD = positive low (below 10k)
TV-001-01638101100falseICQUANT_INHPAC: Above LoD, below 10k, retest

Decision Table: Error Handling (Skip Conditions)

TVhas_ic_obsic_ct_validhas_nonIC_obshistory_availableexpected_behaviorCovers
TV-001-017false---SKIPAC: No IC observation
TV-001-018truefalse--SKIPAC: Invalid IC CT
TV-001-019truetruefalse-SKIPAC: No non-IC observations
TV-001-020truetruetruefalsetreat as first_run=trueAC: History unavailable fallback

Acceptance Criteria Coverage Matrix

ACDescriptionTest Vectors
AC-PASS-1IC CT <= 35 passesTV-001-001, TV-001-002, TV-001-008, TV-001-009
AC-PASS-2High quant (>10k) compensates inhibitionTV-001-003, TV-001-012, TV-001-013
AC-NEG-1Negative quant + retest = ICQUANT_INHNTV-001-007
AC-NEG-2Negative quant + first run = ICQUANT_FIRST_RUNTV-001-006, TV-001-014
AC-POS-1Positive low quant + retest = ICQUANT_INHPTV-001-005, TV-001-016
AC-POS-2Positive low quant + first run = ICQUANT_FIRST_RUNTV-001-004, TV-001-010, TV-001-011, TV-001-015
AC-THRESH-1IC CT threshold = 35TV-001-008, TV-001-009, TV-001-010
AC-THRESH-2High quant threshold = 10,000TV-001-011, TV-001-012, TV-001-013
AC-THRESH-3LoD from configured mix/targetTV-001-014, TV-001-015, TV-001-016
AC-ERR-1Skip if no IC observationTV-001-017
AC-ERR-2Skip if IC CT invalidTV-001-018
AC-ERR-3Skip if no non-IC observationsTV-001-019
AC-ERR-4History unavailable = treat as first runTV-001-020

Test Execution Summary

Test VectorPriorityAutomation Status
TV-001-001 to TV-001-007HighAutomated
TV-001-008 to TV-001-010HighAutomated
TV-001-011 to TV-001-013HighAutomated
TV-001-014 to TV-001-016MediumAutomated
TV-001-017 to TV-001-020MediumAutomated

Traceability to SRS Tests

SRS Test IDDescriptionTest Vectors
PICQUANT-001Pass When IC CT NormalTV-001-001, TV-001-002
PICQUANT-002Pass When High Quantification CompensatesTV-001-003
PICQUANT-003ICQUANT_FIRST_RUN on First Test with Low Positive QuantTV-001-004
PICQUANT-004ICQUANT_INHP on Retest with Positive Low QuantTV-001-005
PICQUANT-005ICQUANT_INHN on Retest with Negative QuantTV-001-007
PICQUANT-006ICQUANT_FIRST_RUN on First Test with Negative QuantTV-001-006

Gap Analysis

Identified Gaps

GapRequirementDescriptionPriorityOwner
None-Full coverage achieved--

Coverage Assessment

All acceptance criteria from REQ-RULES-INHQUANT-001 are covered by test vectors:

  • Pass Conditions: 4 vectors (TV-001-001, TV-001-002, TV-001-003, TV-001-012/013)
  • Negative Quantification Path: 3 vectors (TV-001-006, TV-001-007, TV-001-014)
  • Positive Low Quantification Path: 4 vectors (TV-001-004, TV-001-005, TV-001-015, TV-001-016)
  • Threshold Configuration: 8 vectors covering all boundaries
  • Error Handling: 4 vectors (TV-001-017 through TV-001-020)