Skip to main content
Version: 3.0.0

STD: Negative Control Inhibition Rule (BICQUAL)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/rules/rule-negative-control-inhibition.md Rule Name: BICQUAL Domain: RULES-NECINH


Overview

This document specifies tests for the Negative Control Inhibition rule (BICQUAL) using decision tables and test vectors. The rule detects inhibition in Negative Extraction Control (NEC) wells by evaluating Internal Control (IC) amplification results and generates appropriate error codes when inhibition is detected.

Rule Characteristics:

  • Pure business logic (no UI)
  • Simple threshold evaluation (CT > 35)
  • Classification-based fallback (Negative with null CT)
  • Dual error output (well-level and run-target-level)

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-NECINH-001Detect Inhibition in NEC Wells810100%None

Totals: 1 REQ, 8 Conditions, 10 Test Vectors, 100% Coverage


REQ-RULES-NECINH-001: Detect Inhibition in NEC Wells

Input Variables

VariableTypeValid ValuesDescription
well.typestringNEC, PEC, Patient, ...Well control type
obs.ic_ctfloat?null, numeric (0-50)IC target CT value
obs.ic_clsstringPositive, NegativeIC target final classification

Output Variables

VariableTypeDescription
well.error_codestring?BIQUAL_WELL or null
run_target.error_codestring?BICQUAL_TARGET or null

Constants

ConstantValueDescription
IC_CT_THRESHOLD35CT threshold above which IC amplification is considered inhibited

Decision Table: Well Type Filter

TVwell.typerule_triggeredCovers
TV-001-001NECtrueAC: Rule triggers on NEC wells
TV-001-002PECfalseAC: Rule skips non-NEC wells
TV-001-003PatientfalseAC: Rule skips non-NEC wells

Decision Table: CT Threshold Evaluation

TVobs.ic_ctobs.ic_clswell.error_coderun_target.error_codeCovers
TV-001-00425.0PositivenullnullAC: Normal IC (CT << 35)
TV-001-00535.0PositivenullnullAC: Boundary (CT = 35 exactly, no error)
TV-001-00636.0PositiveBIQUAL_WELLBICQUAL_TARGETAC: Inhibited (CT > 35)
TV-001-00745.0PositiveBIQUAL_WELLBICQUAL_TARGETAC: Late IC (CT >> 35)

Decision Table: Negative Classification Handling

TVobs.ic_ctobs.ic_clswell.error_coderun_target.error_codeCovers
TV-001-008nullNegativeBIQUAL_WELLBICQUAL_TARGETAC: Negative classification with null CT
TV-001-009nullPositivenullnullAC: Null CT with Positive classification (edge case)

Decision Table: Combined Conditions

TVobs.ic_ctobs.ic_clswell.error_coderun_target.error_codeCovers
TV-001-01035.0NegativeBIQUAL_WELLBICQUAL_TARGETAC: Boundary CT with Negative classification

Boundary Value Analysis

BoundaryBelowAtAboveCovers
CT = 35TV-001-004 (CT=25)TV-001-005 (CT=35)TV-001-006 (CT=36)Threshold behavior

Error Code Verification

TVError TypeExpected CodePrefix ValidationCovers
TV-001-006Well ErrorBIQUAL_WELLBIQUAL (single I)AC: Well error uses BIQUAL prefix
TV-001-006Run Target ErrorBICQUAL_TARGETBICQUAL (with IC)AC: Run target error uses BICQUAL prefix

Traceability to Existing Tests

RequirementJira TestsAutomation Status
REQ-RULES-NECINH-001BT-5175Automated (2 TVs)
REQ-RULES-NECINH-001BT-1315, BT-1318, BT-1338, BT-1340, BT-1138, BT-1141, BT-1164, BT-2786Manual (8 TVs)

Gap Analysis

Identified Gaps

GapRequirementDescriptionPriorityOwner
None-All test vectors covered by existing automation--

Coverage Notes

  • All acceptance criteria from SRS are covered by test vectors
  • Boundary value at CT=35 explicitly tested (TV-001-005)
  • Error code prefix validation included
  • Both well-level and run-target-level outputs verified