Skip to main content
Version: 3.0.1

STD: Inhibition - Serum Quantitative Rule (PICQUANT_SERUM)

Version: v1.0.2 Status: Draft SRS Source: docusaurus/docs/srs/rules/rule-inhibition-serum-quantitative.md Rule Name: PICQUANT_SERUM Domain: RULES-INHSERUMQUANT


Overview

This document specifies tests for the Inhibition - Serum Quantitative rule using decision tables and test vectors. The rule evaluates Internal Control (IC) inhibition for serum quantitative samples by assessing IC CT values against thresholds and evaluating non-IC observation quantification levels.

Rule Characteristics:

  • Pure business logic (no UI)
  • Specimen type filtering (Serum only)
  • Three-threshold decision tree (IC CT, LoD, high quantification)
  • Boundary-sensitive (inclusive vs. exclusive thresholds)

Test Method: TM-API (per Test Plan section 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-INHSERUMQUANT-001Evaluate IC Inhibition for Serum Quantitative Samples1821100%None

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


REQ-RULES-INHSERUMQUANT-001: Evaluate IC Inhibition for Serum Quantitative Samples

Input Variables

VariableTypeValid ValuesDescription
specimen_typestringSerum, Plasma, Urine, ...Sample specimen type
ic_ctfloatnull, numericInternal Control CT value
ic_presentbooltrue, falseWhether IC observation exists in well
non_ic_obsarray[], [{qty: N}, ...]Non-IC observations with quantities
lodfloatnull, numericLimit of Detection threshold (per mix/target)

Output Variables

VariableTypeDescription
resultstringPass, Error, Skip
error_codestring?Error code if result is Error (null otherwise)

Constants

ConstantValueDescription
IC_CT_THRESHOLD35CT value threshold (inclusive: <= passes)
HIGH_QUANT_THRESHOLD10,000Quantity threshold for elevated IC compensation (inclusive: >= required)

Decision Table: Specimen Type Filtering

TVspecimen_typeic_ctnon_ic_qtyresultCovers
TV-001-001Serum30500PassAC: Serum specimen triggers rule
TV-001-002Plasma38500SkipAC: Non-serum skips rule
TV-001-003Urine38500SkipAC: Non-serum skips rule

Decision Table: Normal IC CT Path (IC CT <= 35)

TVspecimen_typeic_ctnon_ic_qtyresultCovers
TV-001-004Serum30500PassAC: IC CT well below threshold
TV-001-005Serum34.9500PassAC: IC CT just below threshold
TV-001-006Serum35500PassAC: Boundary - IC CT exactly at threshold (inclusive)

Decision Table: Elevated IC CT Decision Path

TVspecimen_typeic_ctqty_above_lodqty_above_10kresultCovers
TV-001-007Serum36falsefalseErrorAC: Elevated IC, no qty > LoD
TV-001-008Serum36truefalseErrorAC: Elevated IC, qty > LoD but < 10,000
TV-001-009Serum36truetruePassAC: Elevated IC, high quantification compensates
TV-001-010Serum40falsefalseErrorAC: High IC CT, insufficient detection
TV-001-011Serum38truetruePassAC: Elevated IC, high quantification

Decision Table: Quantification Boundary Conditions

TVspecimen_typeic_ctnon_ic_qtylodqty_vs_lodqty_vs_10kresultCovers
TV-001-012Serum3610,000100aboveatPassAC: Boundary - qty exactly 10,000 (>= 10,000, passes)
TV-001-013Serum3610,001100aboveabovePassAC: Qty just above 10,000 threshold
TV-001-014Serum365,000100abovebelowErrorAC: Moderate qty insufficient
TV-001-015Serum36100100atbelowErrorAC: Qty at LoD, not above
TV-001-016Serum36101100abovebelowErrorAC: Qty just above LoD, still insufficient

Decision Table: Error Handling / Edge Cases

TVspecimen_typeic_presentic_ctnon_ic_obslodresultCovers
TV-001-017SerumfalseN/A[{qty: 500}]100SkipAC: No IC observation in well
TV-001-018Serumtruenull[{qty: 500}]100SkipAC: IC CT value is null
TV-001-019Serumtrue38[]100SkipAC: No non-IC observations
TV-001-020Serumtrue38[{qty: 500}]nullPass*AC: LoD unavailable, use default
TV-001-021Serumtrueinvalid[{qty: 500}]100SkipAC: IC CT value is invalid

*Note: TV-001-020 uses default LoD when configuration unavailable; actual result depends on default LoD value vs. quantity.


Full Path Coverage Matrix

TVspecimen_typeic_ctic_ct_condqty_vs_lodqty_vs_10kresultPath
TV-001-002Non-SerumAnyN/AN/AN/ASkipP1: Not applicable
TV-001-006Serum35<= 35N/AN/APassP2: Normal IC
TV-001-007Serum36> 35falseN/AErrorP3: Insufficient detection
TV-001-008Serum36> 35truefalseErrorP4: Moderate qty insufficient
TV-001-009Serum36> 35truetruePassP5: High qty compensates

Automation Status

REQ IDTest VectorsAutomation StatusNotes
REQ-RULES-INHSERUMQUANT-001TV-001-001 to TV-001-021AutomatedData-driven parameterized tests

Traceability to Existing Tests

RequirementJira TestsStatus
REQ-RULES-INHSERUMQUANT-001BT-5194, BT-5665Partial

Gap Analysis

Identified Gaps

GapRequirementDescriptionPriorityOwner
GAP-001REQ-RULES-INHSERUMQUANT-001BT-5194/BT-5665 cover 6 TVs; remaining TVs need coverageMediumTBD

Remediation Plan

  1. GAP-001: Extend BT-5194/BT-5665 fixtures to cover remaining TVs (serum-specific boundary conditions)

Test Data Requirements

Specimen Type Test Data

IDDescriptionspecimen_type
TD-SPEC-001Serum specimenSerum
TD-SPEC-002Plasma specimenPlasma
TD-SPEC-003Urine specimenUrine

IC CT Test Values

IDDescriptionic_ct
TD-CT-001Normal range30
TD-CT-002Just below threshold34.9
TD-CT-003At threshold (boundary)35
TD-CT-004Just above threshold35.1
TD-CT-005Moderately elevated38
TD-CT-006Highly elevated40
TD-CT-007Null valuenull

Quantification Test Values

IDDescriptionqtylodqty_vs_lodqty_vs_10k
TD-QTY-001Below LoD50100belowbelow
TD-QTY-002At LoD100100atbelow
TD-QTY-003Above LoD, below high5,000100abovebelow
TD-QTY-004At high threshold10,000100aboveat
TD-QTY-005Just above high10,001100aboveabove
TD-QTY-006Well above high15,000100aboveabove