INDETERMINATE_CTS Rule
Version: v3.0.0 Status: Normative (text), Illustrative (diagrams only) Scope: INDETERMINATE_CTS rule for detecting indeterminate results with high CT values Domain: RULES-INDETCTS Precedence: Standard analytics rule pipeline
Statement
The system shall execute the INDETERMINATE_CTS rule to detect and flag samples where all non-Internal Control (non-IC) targets have positive classifications with high cycle threshold (CT) values (CT > 35), indicating potential indeterminate results.
The rule serves as a quality control mechanism to identify samples where positive classifications may be unreliable due to late amplification. When all non-IC targets show positive results with CT values exceeding 35, the sample is flagged with an INDETERMINATE_CTS error for manual review.
Quick Reference
| ID | Core Behavior | Priority | Status |
|---|---|---|---|
| REQ-RULES-INDETCTS-001 | Detect indeterminate positive results with high CT values | HIGH | Draft |
Key Integration Points: Analytics Engine, Well/Target classification system, CT value data, Error reporting system
Rule Summary
| Property | Value |
|---|---|
| Name | INDETERMINATE_CTS |
| Triggers | All non-IC targets positive with CT > 35 |
| Output | Error = INDETERMINATE_CTS or Pass (success) |
| CT Threshold | 35 (configurable) |
Rule Flowchart (Illustrative)
This diagram illustrates the core detection logic. The rule evaluates all non-IC targets collectively - both conditions (all Positive AND all CT > 35) must be true simultaneously for the rule to fail.
Definitions
| Term | Definition |
|---|---|
| CT (Cycle Threshold) | The cycle number at which fluorescence crosses a defined threshold during PCR amplification |
| IC (Internal Control) | A control target used to verify extraction and amplification processes; excluded from this rule's evaluation |
| Non-IC Target | Any target in the sample that is not designated as an Internal Control |
| Classification | The determination of a target's result (e.g., Positive, Negative, Indeterminate) |
| Late Amplification | Amplification occurring at high CT values (>35), indicating weak signal or borderline detection |
Assumptions
- Sample contains at least one non-IC target for evaluation
- Classification values are available for all targets before rule execution
- CT values are available for targets with Positive classification
- Rule executes as part of the standard analytics rule pipeline
Requirements
Indeterminate Detection (REQ-RULES-INDETCTS-001)
FR-INDETCTS-001: Detect Indeterminate Positive Results with High CT Values
The system shall execute the INDETERMINATE_CTS rule to detect and flag samples where all non-Internal Control targets have positive classifications with high cycle threshold values (CT > 35), indicating potential indeterminate results.
Acceptance Criteria
Failure Conditions:
- Given a sample with one or more non-IC targets, when all non-IC targets have classification = Positive AND all non-IC targets have CT > 35, then the rule shall fail with Error = INDETERMINATE_CTS
- Both conditions (all Positive AND all CT > 35) shall be true simultaneously for the rule to fail
- The rule shall evaluate all non-IC targets collectively (both conditions must be true for all non-IC targets to trigger failure)
Pass Conditions:
- Given a sample with one or more non-IC targets, when at least one non-IC target has classification other than Positive, then the rule shall pass (success)
- Given a sample with one or more non-IC targets, when all non-IC targets have classification = Positive AND at least one non-IC target has CT <= 35, then the rule shall pass (success)
Exclusions and Scope:
- Internal Control (IC) targets shall be excluded from evaluation by this rule
- The rule shall apply to all non-IC targets collectively, not as individual target evaluation
Threshold Configuration:
- The system shall use a CT threshold value of 35 (CT > 35 triggers indeterminate detection)
Error Handling
- All non-IC targets positive with CT > 35: fail with Error = INDETERMINATE_CTS
- Mixed classifications or any CT <= 35: pass (success)
Trace: Source: 3.0.0-INDETERMINATE_CTS / Requirements Table (Row 1) | Jira: BT-2364 | Epic: BT-674 (Rules) | Tests: See scenarios
Configuration Options
| Option | Default | Description | Affects |
|---|---|---|---|
ct_indeterminate_threshold | 35 | CT value above which positive results are considered potentially indeterminate | REQ-RULES-INDETCTS-001 |
UI Notes (Illustrative)
No UI-specific content applies to this rule. The INDETERMINATE_CTS rule operates within the analytics engine without direct UI presentation. Error results are surfaced through standard error reporting mechanisms.
Implementation (Illustrative)
| Component | Location | Purpose |
|---|---|---|
| IndeterminateCtRule | Analyzer/Rules/IndeterminateCtRule.php | Indeterminate CTS detection - all positive non-IC targets with CT > 35 |
Traceability Matrix
| Requirement | Title | Verification | Implementation | Test Cases | Status |
|---|---|---|---|---|---|
| REQ-RULES-INDETCTS-001 | Detect Indeterminate Positive Results with High CT Values | Test | IndeterminateCtRule.php | BT-2450 | Draft |
Notes
- The objective context in source documentation mentions E gene and S gene specifically, but the rule definition applies generally to all non-IC targets, providing flexibility across different assay configurations
- CT threshold of 35 is the configured boundary for indeterminate detection; high CT values indicate late amplification which may represent borderline results
- This rule serves as a quality control mechanism to flag samples that may need manual review despite showing positive classification
Open Questions
| ID | Question | Source | Owner | Date Raised |
|---|---|---|---|---|
| - | No open questions | - | - | - |
Acceptance Tests
Test: REQ-RULES-INDETCTS-001
Test: Fail case - All positive with high CT
Given: A sample with one or more non-IC targets
And: All non-IC targets have classification = Positive
And: All non-IC targets have CT > 35
When: The INDETERMINATE_CTS rule is executed
Then: The rule shall fail with Error = INDETERMINATE_CTS
Test: Pass case - Mixed classification
Given: A sample with one or more non-IC targets
And: At least one non-IC target has classification other than Positive
When: The INDETERMINATE_CTS rule is executed
Then: The rule shall pass (success)
Test: Pass case - Low CT value present
Given: A sample with one or more non-IC targets
And: All non-IC targets have classification = Positive
And: At least one non-IC target has CT <= 35
When: The INDETERMINATE_CTS rule is executed
Then: The rule shall pass (success)
Test: IC target exclusion
Given: A sample containing both IC and non-IC targets
When: The INDETERMINATE_CTS rule is executed
Then: IC targets shall be excluded from the evaluation
And: Only non-IC targets shall be considered for the rule conditions
Related Design Documents
| Design Document | Relevant Sections |
|---|---|
| SDD Algorithms | Analytics Rule Pipeline |
Appendix: Process Artifacts
Completion Checklist
- All requirements are capability-level (describe behavior, not UI)
- Requirement variants consolidated (no requirement explosion)
- UI details are fully demoted to Illustrative section
- Configuration options are not encoded as requirements
- Acceptance criteria describe behavior, not UI mechanics
- Every requirement has acceptance criteria and source traceability
- Error handling addressed for I/O, validation, and external system requirements
- Open questions documented with owners assigned
- Consolidations documented in Reviewer Notes with reversibility info
- Module can survive a full UI redesign unchanged
- Refinements folded into acceptance criteria
- Traceability matrix is complete
Reviewer Notes
No Consolidation Required
This domain contains a single requirement (REQ-RULES-INDETCTS-001) that represents the complete capability of the INDETERMINATE_CTS rule. No consolidation was performed as:
- Only one source requirement exists
- The requirement represents a distinct, testable rule behavior
- All Given/When/Then scenarios preserved as detailed acceptance criteria per RULES domain guidance
Reversibility: Source requirements preserved 1:1.
- Source:
output/pilot/rules/rule-indeterminate-cts/rule-indeterminate-cts-restructured.md - SDD:
output/pilot/rules/rule-indeterminate-cts/sdd/rule-indeterminate-cts-design.md - Confluence: 3.0.0-INDETERMINATE_CTS