Skip to main content
Version: 3.0.1

STD: Indeterminate CTS Rule (INDETCTS)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/rules/rule-indeterminate-cts.md Rule Name: INDETERMINATE_CTS Domain: RULES-INDETCTS


Overview

This document specifies tests for the INDETERMINATE_CTS rule using decision tables and test vectors. The rule detects samples where all non-IC targets have positive classifications with high CT values (CT > 35), indicating potentially indeterminate results requiring manual review.

Rule Characteristics:

  • Pure business logic (no UI)
  • Collective evaluation of all non-IC targets
  • Dual-condition check (classification AND CT threshold)
  • Quality control mechanism for late amplification detection

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

Automation Status: Automated

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-INDETCTS-001Detect Indeterminate Positive Results with High CT Values812100%None

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


REQ-RULES-INDETCTS-001: Detect Indeterminate Positive Results with High CT Values

Input Variables

VariableTypeValid ValuesDescription
target.is_icbooltrue, falseWhether target is Internal Control
target.classificationstringPositive, Negative, Indeterminate, ...Target classification result
target.ctfloatnumeric (0-50 typical)Cycle threshold value
sample.non_ic_targetsarray0..n targetsList of non-IC targets in sample
config.ct_thresholdfloat35 (default)CT threshold for indeterminate detection

Output Variables

VariableTypeDescription
rule.resultstringPass (success) or Fail
rule.errorstring?INDETERMINATE_CTS if failed, null otherwise

Decision Table: IC Target Exclusion

Verifies that Internal Control targets are excluded from rule evaluation.

TVtarget.is_icincluded_in_evaluationCovers
TV-001-001truefalseAC: IC targets excluded
TV-001-002falsetrueAC: Non-IC targets evaluated

Decision Table: No Non-IC Targets

Verifies rule behavior when sample has no non-IC targets to evaluate.

TVnon_ic_countrule.resultrule.errorCovers
TV-001-0030PassnullAC: No targets to evaluate

Decision Table: Single Non-IC Target Scenarios

Verifies rule behavior with a single non-IC target (boundary case).

TVclassificationctrule.resultrule.errorCovers
TV-001-004Positive36FailINDETERMINATE_CTSAC: Positive + CT > 35
TV-001-005Positive35PassnullAC: Positive + CT = 35 (boundary)
TV-001-006Positive34PassnullAC: Positive + CT < 35
TV-001-007Negative36PassnullAC: Non-Positive classification
TV-001-008Indeterminate40PassnullAC: Non-Positive classification

Decision Table: Multiple Non-IC Targets - All Positive

Verifies collective evaluation when all non-IC targets are Positive.

TVTarget 1 (cls, ct)Target 2 (cls, ct)rule.resultrule.errorCovers
TV-001-009(Positive, 36)(Positive, 40)FailINDETERMINATE_CTSAC: All Positive + All CT > 35
TV-001-010(Positive, 36)(Positive, 35)PassnullAC: All Positive + One CT <= 35
TV-001-011(Positive, 36)(Positive, 30)PassnullAC: All Positive + One CT <= 35

Decision Table: Multiple Non-IC Targets - Mixed Classifications

Verifies rule passes when at least one non-IC target is not Positive.

TVTarget 1 (cls, ct)Target 2 (cls, ct)rule.resultrule.errorCovers
TV-001-012(Positive, 40)(Negative, 38)PassnullAC: Mixed classification

Decision Table: CT Threshold Boundary

Verifies exact boundary behavior at CT = 35.

TVct_valuecondition_metCovers
TV-001-01335.0false (CT not > 35)AC: Threshold boundary (inclusive)
TV-001-01435.01true (CT > 35)AC: Just above threshold
TV-001-01534.99false (CT not > 35)AC: Just below threshold

Decision Table: Complete Truth Table

Summary of all input combinations and expected outcomes.

TVHas Non-ICAll PositiveAll CT > 35rule.resultrule.errorCovers
-No--PassnullAC: No targets
-YesNo-PassnullAC: Mixed classification
-YesYesNoPassnullAC: Low CT present
-YesYesYesFailINDETERMINATE_CTSAC: Failure condition

Traceability to Acceptance Criteria

AC DescriptionTest Vectors
All non-IC targets Positive AND CT > 35 triggers failureTV-001-004, TV-001-009
Both conditions must be true simultaneouslyTV-001-009, TV-001-010
Collective evaluation (all non-IC targets)TV-001-009, TV-001-010, TV-001-011, TV-001-012
At least one non-Positive classification passesTV-001-007, TV-001-008, TV-001-012
At least one CT <= 35 passesTV-001-005, TV-001-006, TV-001-010, TV-001-011
IC targets excluded from evaluationTV-001-001
CT threshold = 35 (configurable)TV-001-013, TV-001-014, TV-001-015

Traceability to Existing Tests

RequirementJira TestsStatus
REQ-RULES-INDETCTS-001BT-2450Existing

Gap Analysis

Identified Gaps

GapRequirementDescriptionPriorityOwner
--No gaps identified--

All acceptance criteria are covered by test vectors. Existing Jira test ticket BT-2450 provides traceability.