Skip to main content
Version: 3.0.0

STD: Minimum Fluorescence Rule (MINFL)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/rules/rule-minimum-fluorescence.md Rule Name: MINIMUM_FL Domain: RULES-MINFL


Overview

This document specifies tests for the Minimum Fluorescence rule using decision tables and test vectors. The rule validates well fluorescence readings against configured minimum thresholds and propagates control well failures to the target level.

Rule Characteristics:

  • Pure business logic (no UI)
  • Threshold comparison (reading vs configured minimum)
  • Control well propagation to target level
  • Resolution code skip mechanism

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-MINFL-001Validate Well Fluorescence Against Minimum Thresholds68100%None
REQ-RULES-MINFL-002Propagate Control Well Fluorescence Failures to Target Level57100%None
REQ-RULES-MINFL-003Allow Users to Skip Minimum Fluorescence Rule via Resolution Code44100%None

Totals: 3 REQs, 15 Conditions, 19 Test Vectors, 100% Coverage


Input Variables

VariableTypeValid ValuesDescription
config.minimum_fluorescencefloat?null, numericTarget-level threshold; null disables rule
obs.minimum_fluorescencefloat?null, numericObservation-level configuration
obs.readingfloatnumericActual fluorescence reading
obs.role_typestringPC, NC, Quantification, Sample, IgnoreObservation role classification
obs.resolution_codestring?null, MIN_FLUORESCENCEApplied resolution code

Output Variables

VariableTypeDescription
well.error_codestring?LOW_FLUORESCENCE_WELL, MINIMUM_FLUORESCENCE_MISSED, or null
run_target.error_codestring?LOW_FLUORESCENCE_TARGET or null

REQ-RULES-MINFL-001: Validate Well Fluorescence Against Minimum Thresholds

Decision Table: Threshold Comparison

TVconfig.minimum_fluorescenceobs.minimum_fluorescenceobs.readingwell.error_codeCovers
TV-001-00110000010000099999LOW_FLUORESCENCE_WELLAC: Reading below threshold
TV-001-002100000100000100000nullAC: Reading equals threshold
TV-001-003100000100000100001nullAC: Reading above threshold

Decision Table: Configuration Handling

TVconfig.minimum_fluorescenceobs.minimum_fluorescenceobs.readingrule_applieswell.error_codeCovers
TV-001-004nullany50000falsenullAC: Config null, rule disabled
TV-001-005100000null50000trueMINIMUM_FLUORESCENCE_MISSEDAC: Obs config null, rule cannot execute

Decision Table: Boundary Values

TVconfig.minimum_fluorescenceobs.readingwell.error_codeCovers
TV-001-00610LOW_FLUORESCENCE_WELLAC: Minimum boundary (below)
TV-001-00711nullAC: Minimum boundary (at)
TV-001-008999999999999nullAC: Large value boundary

REQ-RULES-MINFL-002: Propagate Control Well Fluorescence Failures to Target Level

Decision Table: Role Type Propagation

TVobs.role_typeobs.readingconfig.minimum_fluorescencewell.error_coderun_target.error_codeCovers
TV-002-001PC99999100000LOW_FLUORESCENCE_WELLLOW_FLUORESCENCE_TARGETAC: PC propagates
TV-002-002NC99999100000LOW_FLUORESCENCE_WELLLOW_FLUORESCENCE_TARGETAC: NC propagates
TV-002-003Quantification99999100000LOW_FLUORESCENCE_WELLLOW_FLUORESCENCE_TARGETAC: Quantification propagates
TV-002-004Sample99999100000LOW_FLUORESCENCE_WELLnullAC: Sample does not propagate
TV-002-005Ignore99999100000LOW_FLUORESCENCE_WELLnullAC: Ignore does not propagate

Decision Table: No Propagation When No Error

TVobs.role_typeobs.readingconfig.minimum_fluorescencewell.error_coderun_target.error_codeCovers
TV-002-006PC100000100000nullnullAC: No propagation when at threshold
TV-002-007NC100001100000nullnullAC: No propagation when above threshold

REQ-RULES-MINFL-003: Allow Users to Skip Minimum Fluorescence Rule via Resolution Code

Decision Table: Resolution Code Behavior

TVobs.resolution_codeobs.role_typeobs.readingconfig.minimum_fluorescencewell.error_coderun_target.error_codeCovers
TV-003-001MIN_FLUORESCENCEPC99999100000nullnullAC: Resolution clears control well errors
TV-003-002MIN_FLUORESCENCESample99999100000nullnullAC: Resolution clears sample well error
TV-003-003nullPC99999100000LOW_FLUORESCENCE_WELLLOW_FLUORESCENCE_TARGETAC: No resolution, errors applied
TV-003-004OTHER_CODEPC99999100000LOW_FLUORESCENCE_WELLLOW_FLUORESCENCE_TARGETAC: Different resolution, errors applied

Test File Locations

RequirementTest FileAutomation Status
REQ-RULES-MINFL-001tests/Unit/Rules/MinFluorescenceRuleTest.phpAutomated
REQ-RULES-MINFL-002tests/Unit/Rules/MinFluorescenceRuleTest.phpAutomated
REQ-RULES-MINFL-003tests/Unit/Rules/MinFluorescenceRuleTest.phpAutomated

Traceability to Existing Tests

RequirementJira TestsStatus
REQ-RULES-MINFL-001BT-4167Existing
REQ-RULES-MINFL-002PendingGap
REQ-RULES-MINFL-003PendingGap

Gap Analysis

Identified Gaps

GapRequirementDescriptionPriorityOwner
GAP-001REQ-RULES-MINFL-002No Jira test ticket for control well propagationHighTBD
GAP-002REQ-RULES-MINFL-003No Jira test ticket for resolution code skipMediumTBD

Remediation Plan

  1. GAP-001: Create test ticket covering TV-002-001 through TV-002-007 (control well propagation scenarios)
  2. GAP-002: Create test ticket covering TV-003-001 through TV-003-004 (resolution code scenarios)