Skip to main content
Version: Next

Runfile Report

Version: v3.0.0 Status: Normative (text), Illustrative (diagrams only) Scope: Viewing, analyzing, and managing individual run file contents Domain: RUNRPT


Statement

The system shall provide a comprehensive interface for viewing and managing individual run file contents, including well-level data display, quality control analysis, result resolution, and export capabilities.

Users access run files through this interface to view sample identification, analysis results, and outcome status. The system supports analytical widgets (Assay Summary, Westgard QC, Plate Map, Quantification, Run Calibration Chart), result management operations (edit wells, resolve errors, re-analyze), and export functions (print reports, LIMS integration). All operations respect role-based permissions and client-specific configuration.


Behavior Overview (Illustrative)

This diagram illustrates the high-level behavior. It does not specify UI layout, styling, or interaction details.


Definitions

TermDefinition
WellA single position on a PCR plate containing sample or control material
OutcomeThe final result determination for a well (e.g., Positive, Negative, Control Passed, Error)
ResolutionAn action taken to address an error or warning state on a well
ControlA well containing known reference material for quality verification
LIMSLaboratory Information Management System - external system for result integration
WestgardA statistical quality control methodology using control charts and rules
CT (Cycle Threshold)The PCR cycle number at which fluorescence crosses the detection threshold
QuantQuantification value - calculated concentration based on CT and standard curve
AccessionUnique identifier linking a sample to patient/specimen records
Composite AssayAn assay that derives outcomes from combinations of multiple target results
CalibrationThe process of establishing the relationship between PCR observations and positivity thresholds for a target. See Calibration for the full calibration lifecycle
DF (Dilution Factor)A factor applied to observations in the calibration chart; min/max DF lines define the positivity range
Positivity RangeThe range between minimum and maximum DF values that determines the positive/negative classification boundary on a calibration chart

Functional Requirements

Report Display (REQ-RUNRPT-001)

FR-RUNRPT-001 Display Run File Contents

The system shall display run file contents showing well-level information including sample identification, analysis results, and outcome status.

Acceptance Criteria:

Data Display:

  • Display well data including mix, well position, sample name, sample type, sample role, results, outcome, and available actions
  • Display targets in the configured order from Mix and Targets configuration
  • Display run identification and notification status in the report header

Status Indication:

  • Indicate result status using visual differentiation for errors, warnings, patient samples, and control samples
  • Display control wells with appropriate outcome status when no errors exist

Assumptions:

  • Results provider preference (thermocycler vs DXAI) is configured per target

Trace: Source: 3.0.0-Runfile Report (Rows 1, 2, 14, 15, 30-33, 42), 3.0.0-Show Error when All Observations are Negative, 3.0.0-Runfile Report Table | Jira: BT-2536, BT-2160, BT-214, BT-2540, BT-3371 | Tests: BT-1063, BT-2726, BT-1139


Widget Access (REQ-RUNRPT-002)

FR-RUNRPT-002 Access Analytical Widgets

The system shall provide access to analytical widgets for viewing detailed information about the run file.

Acceptance Criteria:

  • Provide access to Assay Summary, Outcome Summary, Westgard, Plate Map, Quantification, and Run Calibration Chart widgets
  • Open the corresponding widget when the user selects it
  • Limit available widgets based on client configuration

Trace: Source: 3.0.0-Runfile Report (Row 3) | Jira: BT-2536 | Tests: BT-1063


FR-RUNRPT-018 Display Westgard Quality Control Analysis

The system shall display Westgard quality control analysis results including control charts and rule violations.

Acceptance Criteria:

  • Display Westgard analysis results for each control
  • Display control charts with rule violations indicated
  • Allow navigation between different controls
  • Separate error and warning counts in the status indicator

Trace: Source: 3.0.0-Westgard Widget, 3.0.0-Separate Warnings / Errors in Error Counter, 3.0.0-Unified Error Icon for Error / Warning in Run Westgard Option | Jira: BT-2536 | Tests: [Pending]


FR-RUNRPT-019 Display Assay Summary

The system shall display a summary of assay results grouped by target.

Acceptance Criteria:

  • Group results by target
  • Display counts for each outcome type
  • Allow well export notes to be added to the run note section

Trace: Source: 3.0.0-Assay Summary, 3.0.0-Add well export note into the run note section | Jira: BT-2160 | Tests: [Pending]


FR-RUNRPT-020 Display Outcome Summary

The system shall display a summary of outcome distribution across the run file.

Acceptance Criteria:

  • Display the distribution of outcomes
  • Provide counts for each outcome type

Trace: Source: 3.0.0-Outcomes Summary | Jira: [Missing - requires investigation] | Tests: [Pending]


FR-RUNRPT-021 Display Plate Map

The system shall display a visual plate layout showing well positions and their status.

Acceptance Criteria:

  • Display the plate layout with well positions
  • Indicate well status through visual differentiation
  • Associate error type information with wells
  • Synchronize well selection between plate map and main table

Trace: Source: 3.0.0-Plate Map, 3.0.0-Associate Error Type - Plate Map | Jira: [Missing - requires investigation] | Tests: [Pending]


FR-RUNRPT-022 Display Quantification Analysis

The system shall display quantification data including standard curves and efficiency metrics.

Acceptance Criteria:

Data Display:

  • Display quantification results
  • Display the standard curve
  • Display efficiency metrics

Precision:

  • Display the intercept value
  • Display the gradient value with appropriate precision
  • Display gradient values to 4 decimal places

Trace: Source: 3.0.0-Quantification Widget, 3.0.0-Show Intercept in Quantification Widget, 3.0.0-Show gradient value 4 decimal places in the quantification widget | Jira: [Missing - requires investigation] | Tests: [Pending]


FR-RUNRPT-027 Persist Widget State

The system shall persist widget configuration and state across user sessions.

Acceptance Criteria:

  • Preserve widget open/closed state
  • Preserve widget positions and sizes
  • Preserve tab layout configuration
  • Respect default pinned widget configuration

Trace: Source: 3.0.0-Tab Layout for Widgets, 3.0.0-Dynamic width for run widgets tab layout, 3.0.0-Run View - Run widgets save state, 3.0.0-Run View - Run widgets default pined | Jira: [Missing - requires investigation] | Tests: [Pending]


Analysis Operations (REQ-RUNRPT-003)

FR-RUNRPT-003 Re-analyze Run File

The system shall allow users to trigger re-analysis of a run file to recalculate results, outcomes, and quality control status.

Acceptance Criteria:

  • Perform full recalculation when re-analysis is triggered
  • Remove and reapply Westgard errors/events based on current rules
  • Preserve the state of previously disabled mixes unless explicitly re-analyzed

Trace: Source: 3.0.0-Runfile Report (Row 4), 3.0.0-Reanalyze | Jira: BT-2569 | Tests: BT-1105, BT-1928, BT-2722 | Related: REQ-REANALYZE-001


Print and Export (REQ-RUNRPT-004, REQ-RUNRPT-008)

FR-RUNRPT-004 Print Run File Report

The system shall allow users to print the run file report with selectable content options.

Acceptance Criteria:

Print Options:

  • Provide selectable print options for report sections
  • Select all print options by default
  • Include Assay Summary, Westgard, Graphs, Comments, Wells, and Accession History as available print options

Output Generation:

  • Generate a printable document with the selected content
  • Include the full well table when no specific sections are selected
  • Control whether well results appear in the printout when the Wells option is selected

Client Configuration:

  • Display client-specific options only when enabled for that client

Trace: Source: 3.0.0-Runfile Report (Rows 5, 6, 7, 8, 41), 3.0.0-Print, 3.0.0-Print Modifications | Jira: BT-2427, BT-3369 | Tests: BT-1108, BT-1109, BT-1110, BT-1111, BT-1112, BT-2474


FR-RUNRPT-008 Export Run Results to LIMS

The system shall allow users to export run results for integration with laboratory information management systems.

Acceptance Criteria:

Basic Export:

  • Create an export file for all wells
  • Allow selection of export format from configured formats
  • Allow selection of export location
  • Store exports in the configured export folder (LIMS_Reports folder)
  • Allow export of individually selected wells

Export Logic:

  • Consider well outcome for CT and Quant values
  • Apply exportable wells conditions
  • Consider LIMS type when checking excluded wells
  • Avoid creating empty LIMS exports for Quantitative/Qualitative wells
  • Do not separate Quant/Qual wells for exports

Client-Specific Formats:

  • Support Quest export formats including ABI 7500 with Quest additions, Chantilly LIMS format, and Operator set to 'Taqman8'
  • Support Viracor export formats including LIMS Export, Run Result Export, and timestamp in filename
  • Support Eurofins export format using LIMS Export Definition
  • Support Merck export formats including LIMS Export Format and Dynamic Header Rows
  • Support Nottingham export format including Export definition and Viral Load column
  • Support Sherwood Forest export format using Export definition

Error Handling:

  • No exportable wells: Prevent export and indicate no wells meet export criteria
  • Export location unavailable: Display an error indicating the export destination is not accessible

Trace: Source: 3.0.0-Runfile Report (Row 13), 3.0.0-Export, 3.0.0-Send well results to LIMS, 3.0.0-LIMS Exports, 3.0.0-Export File Formats | Jira: BT-2843 | Tests: [Pending]


Run Information (REQ-RUNRPT-005, REQ-RUNRPT-014, REQ-RUNRPT-016)

FR-RUNRPT-005 View Run Information

The system shall allow users to view summary information about the run file including metadata and processing details.

Acceptance Criteria:

  • Display run file metadata
  • Display summary statistics

Trace: Source: 3.0.0-Runfile Report (Row 9) | Jira: BT-2625 | Tests: BT-2640


FR-RUNRPT-014 Display Run File Notifications

The system shall display notifications about issues or status conditions affecting the run file.

Acceptance Criteria:

  • Display notification indicators in the run header
  • Filter the well table to related wells when a notification is selected

Trace: Source: 3.0.0-Runfile Report (Rows 28, 29), 3.0.0-Notifications | Jira: [Missing - requires investigation] | Tests: [Pending] | Related: REQ-NOTIF-001


FR-RUNRPT-016 Display Accession History

The system shall display the history of previous results for repeat accessions.

Acceptance Criteria:

Display Conditions:

  • Display accession history when enabled in client configuration
  • Display history only for wells with repeat accessions

History Filtering:

  • Show only history entries earlier than the current sample's extraction date
  • Show only history entries for the same sample name

Display Content:

  • Display date, runfile name, mix, and outcome for historical entries
  • Allow expanding and collapsing the history display

Trace: Source: 3.0.0-Runfile Report (Rows 36, 37, 38, 39, 40) | Jira: BT-3362 | Tests: BT-1140


Well Editing (REQ-RUNRPT-006, REQ-RUNRPT-023)

FR-RUNRPT-006 Edit Well Information

The system shall allow users to edit individual well properties including sample identification and metadata.

Acceptance Criteria:

Interface:

  • Provide an edit interface for well data
  • Prompt for well selection when editing is initiated without a selection
  • Display the selected well's data for editing

Editable Fields:

  • Allow editing of sample name, accession, sample type, sample role, and control label

Validation:

  • Validate the accession field for allowed characters
  • Validate control label for wildcard characters

Error Handling:

  • Invalid accession characters: Reject the input and indicate the invalid characters
  • Invalid control label wildcards: Reject the input and indicate the validation error

Trace: Source: 3.0.0-Runfile Report (Rows 10, 11), 3.0.0-Edit Wells widget, 3.0.0-Edit Widget - Validate Wildcards in Control Label, 3.0.0-Allowed characters in Accession, 3.0.0-Visibility of run view widgets while opening well edit | Jira: BT-2535 | Tests: BT-1114


FR-RUNRPT-023 Bulk Edit Wells

The system shall allow users to edit multiple wells simultaneously.

Acceptance Criteria:

  • Apply changes to all selected wells in a bulk operation
  • Provide the same editable fields as single well edit
  • Apply validation to all wells in the bulk operation

Trace: Source: 3.0.0-Bulk edit wells | Jira: [Missing - requires investigation] | Tests: [Pending]


Result Management (REQ-RUNRPT-007, REQ-RUNRPT-024, REQ-RUNRPT-025)

FR-RUNRPT-007 Manage Well Results

The system shall allow users to resolve errors and manage outcomes for wells with issues.

Acceptance Criteria:

Resolution Interface:

  • Provide a resolution interface for wells with errors
  • Open the resolution interface when an error outcome is selected
  • Display available resolution actions based on error type

Resolution Logic:

  • Allow application of resolutions to resolve errors
  • Consider role priority when determining available resolutions
  • Support observation-level result resolution

Trace: Source: 3.0.0-Runfile Report (Rows 12, 25), 3.0.0-Manage Results, 3.0.0-Manage Result Widget - Available Resolutions, 3.0.0-Consider selected well, 3.0.0-Manage result widget - Show resolutions regardless error type, 3.0.0-Manage Result - Observation Level Results, 3.0.0-Manage Result Widget - Consider Role Priority, 3.0.0-Passed Controls, 3.0.0-Visibility of run view widgets while opening well resolution | Jira: BT-2916 | Tests: BT-1115, BT-2169


FR-RUNRPT-024 Bulk Manage Results

The system shall allow users to manage results for multiple wells simultaneously.

Acceptance Criteria:

  • Provide bulk result management capability
  • Allow resolution actions to be applied to multiple selected wells
  • Consider all selected wells in the bulk operation

Trace: Source: 3.0.0-Bulk Manage Results, 3.0.0-Consider selected wells | Jira: [Missing - requires investigation] | Tests: [Pending]


FR-RUNRPT-025 Display System Flags

The system shall display quality and discrepancy flags on wells.

Acceptance Criteria:

  • Display CLS/CT discrepancy flags when criteria are met
  • Apply flag calculation logic automatically
  • Apply classification flags based on AMB rules

Trace: Source: 3.0.0-System Flag, 3.0.0-CLS/CT Discrepancy Flag, 3.0.0-Add Classification Flag to AMB Rule | Jira: [Missing - requires investigation] | Tests: [Pending]


Table Operations (REQ-RUNRPT-009, REQ-RUNRPT-010, REQ-RUNRPT-013)

FR-RUNRPT-009 Sort Well Table

The system shall allow users to sort the well table by selected columns.

Acceptance Criteria:

  • Support sorting by Mix, Well, Name, Sample Type, and Sample Role columns
  • Sort by Well in ascending order by default
  • Toggle sort direction when the same column is selected again
  • Sort by only one column at a time

Trace: Source: 3.0.0-Runfile Report (Rows 16, 17, 18, 19, 20) | Jira: BT-2536 | Tests: BT-1066


FR-RUNRPT-010 Filter Well Table

The system shall allow users to filter the well table to narrow displayed wells.

Acceptance Criteria:

Filter Categories:

  • Provide filters for Mixes, Names, Sample Types, Sample Roles, Targets, Classes, Outcomes, and Actions

Filter Behavior:

  • Allow selection of multiple values within a filter
  • Allow multiple filters to be combined
  • Support wildcard characters in Role Alias filter
  • Allow filter visibility to be toggled
  • Indicate when a filter has no available options

Trace: Source: 3.0.0-Runfile Report (Rows 21, 22, 23, 34), 3.0.0-Runfile Filters | Jira: BT-2536, BT-3035 | Tests: BT-1070, BT-2723, BT-2724, BT-1079, BT-1082, BT-1085


FR-RUNRPT-013 Select Wells

The system shall allow users to select one or more wells in the table for operations.

Acceptance Criteria:

  • Select a well when its row is clicked
  • Visually indicate selected wells
  • Provide a selection mechanism for each well
  • Allow multiple wells to be selected simultaneously
  • Use selection for Edit Wells, Manage Results, and Export operations

Trace: Source: 3.0.0-Runfile Report (Row 24), 3.0.0-Run view - Add select checkbox, 3.0.0-Well Edit widget - Consider well selection | Jira: BT-2916 | Tests: BT-1114


Visualization (REQ-RUNRPT-011)

FR-RUNRPT-011 Display Amplification Curves

The system shall display amplification curve graphs for wells in the run file.

Acceptance Criteria:

Display:

  • Display amplification curves when result data is selected
  • Display the curve for the selected well
  • Display legend items in a consistent sort order

Interaction:

  • Allow multiple curves to be overlaid for comparison
  • Provide zoom and pan controls
  • Disable alignment controls when only a single curve is displayed

Trace: Source: 3.0.0-Runfile Report (Row 26), 3.0.0-Curve Modal, 3.0.0-Observation Modal Legend - Sort Items, 3.0.0-Run View - Observation Modal - Disable 'Align Curve' for Single Series, 3.0.0-Run View - Change heading in Observation Model | Jira: BT-2477, BT-2536 | Tests: BT-1063


Well Actions (REQ-RUNRPT-012)

FR-RUNRPT-012 Provide Well Action Menu

The system shall provide an action menu for performing operations on individual wells.

Acceptance Criteria:

  • Provide an action menu for each well
  • Provide actions to flag/unflag, comment, and export to LIMS
  • Apply actions to the selected well
  • Allow adding, viewing, and editing well comments
  • Toggle flag state between flagged and unflagged

Trace: Source: 3.0.0-Runfile Report (Row 27), 3.0.0-Action, 3.0.0-Comments (on Wells), 3.0.0-Flag the well | Jira: BT-729, BT-2843, BT-2536 | Tests: BT-1858


Configuration (REQ-RUNRPT-015)

FR-RUNRPT-015 Configure Composite Assay Outcomes

The system shall allow configuration of outcome determination based on results from composite assays in a well.

Acceptance Criteria:

  • Determine outcomes based on combinations of Negative/Positive results
  • Support configurable column count and titles
  • Support configurable outcome text per combination

Trace: Source: 3.0.0-Runfile Report (Row 35) | Jira: CST-155 | Tests: [Pending]


Multi-Site Support (REQ-RUNRPT-017)

FR-RUNRPT-017 Support Multi-Site Operation

The system shall allow users with appropriate permissions to view and manage run files across multiple sites.

Acceptance Criteria:

  • Provide site filtering for users with manager permissions
  • Display run file site origin for users with manager permissions
  • Hide site-related features for users without manager permissions

Assumptions:

  • Multi-site feature is enabled in system configuration

Trace: Source: 3.0.0-Runfile Report - Multiple site | Jira: BT-3035 | Tests: [Pending] | Related: REQ-RUNFILE-011


Data Integrity (REQ-RUNRPT-026, REQ-RUNRPT-028)

FR-RUNRPT-026 Warn Before Losing Unsaved Changes

The system shall warn users before navigation or browser close when unsaved changes exist.

Acceptance Criteria:

  • Trigger a warning when unsaved changes exist and the user attempts to navigate away
  • Allow the user to confirm or cancel the navigation

Trace: Source: 3.0.0-Browser Close Warning (beforeunload) | Jira: [Missing - requires investigation] | Tests: [Pending]


FR-RUNRPT-028 Validate Well Data

The system shall validate user input for well data to ensure data integrity.

Acceptance Criteria:

Accession Validation:

  • Validate accession field for allowed characters only
  • Validate accession characters during run import

Label Validation:

  • Validate well label for prohibited values
  • Reject well label values containing the string "null"
  • Validate control label wildcards

Error Handling:

  • Invalid accession characters: Reject the input and indicate which characters are not allowed
  • Prohibited well label value: Reject the label and indicate the validation error
  • Invalid control label wildcard: Reject the input and indicate the wildcard validation error

Trace: Source: 3.0.0-Edit Widget - Validate Wildcards in Control Label, 3.0.0-Allowed characters in Accession, 3.0.0-Well Label - Validate label for "null", 3.0.0-Run import - Validate accession for allowed characters | Jira: [Missing - requires investigation] | Tests: [Pending]


Run View Calibration Chart (REQ-RUNRPT-029, REQ-RUNRPT-030, REQ-RUNRPT-031, REQ-RUNRPT-032, REQ-RUNRPT-033, REQ-RUNRPT-034, REQ-RUNRPT-035, REQ-RUNRPT-036, REQ-RUNRPT-037)

This group covers the Run Calibration Chart widget added in v3.1.0 (BT-2456). The widget provides a run-context view of calibration data. For the full calibration lifecycle (record management, activation, recalibration), see Calibration.

FR-RUNRPT-029 Run Calibration Chart Tab

The system shall provide a "Run Calibration Chart" tab in the Run View widget tab list.

Acceptance Criteria:

  • Display "Run Calibration Chart" as the last tab in the Run View tab bar (after Quantification)
  • Open the Run Calibration Chart widget panel when the user activates the tab
  • Close any other open widget panel when the Run Calibration Chart tab is activated
  • The tab shall be always visible (no feature-flag gate)

Trace: Source: 3.1.0-Run View Calibration Chart (Row 1) | Jira: BT-2456 | Tests: [Pending] | Related: REQ-RUNRPT-002


FR-RUNRPT-030 Target Selector for Run Calibration Chart

The system shall provide a target selector dropdown within the Run Calibration Chart widget to choose the PCR target for chart display.

Acceptance Criteria:

  • Display a target dropdown listing all calibration targets available for the current run
  • Populate target options from the run calibrations targets API endpoint
  • Display a warning message when no target is selected (e.g., "Please select a target to see the chart")

Trace: Source: 3.1.0-Run View Calibration Chart (Row 2) | Jira: BT-2456 | Tests: [Pending] | Related: Calibration


FR-RUNRPT-031 Fetch and Display Calibration Data for Run

The system shall fetch and display calibration data for the selected target in the context of the current run.

Acceptance Criteria:

Data Retrieval:

  • Fetch calibration data via the run-calibration-data API when a target is selected
  • Include calibrated runs, current run data, target details, and active calibration status in the response
  • Auto-fetch data whenever the selected target changes

Feedback States:

  • Display a loading indicator while calibration data is being fetched
  • Display an informational message when no calibration data exists for the selected target

Trace: Source: 3.1.0-Run View Calibration Chart (Row 3) | Jira: BT-2456 | Tests: [Pending] | Related: Calibration


FR-RUNRPT-032 Highlight Current Run on Calibration Chart

The system shall visually highlight the current run's observations on the calibration chart to distinguish them from historical calibration data.

Acceptance Criteria:

  • Pre-highlight the current run's observations when the chart is rendered
  • Visually distinguish the current run from other calibrated runs on the chart

Trace: Source: 3.1.0-Run View Calibration Chart (Row 4) | Jira: BT-2456 | Tests: [Pending] | Related: Calibration


FR-RUNRPT-033 Run Calibration Chart Display

The system shall display calibration observations in an interactive 2D scatter plot with an optional 3D mode using Plotly.js.

Acceptance Criteria:

  • Render a 2D scatter plot by default showing calibration observations
  • Provide a toggle to switch between 2D and 3D scatter plot visualization
  • Display positivity range lines (min/max DF) on the 2D chart

Trace: Source: 3.1.0-Run View Calibration Chart (Row 5) | Jira: BT-2456 | Tests: [Pending] | Related: Calibration


FR-RUNRPT-034 Chart Settings Panel

The system shall provide a settings panel for the Run Calibration Chart to control axis representation, run highlighting, and chart legend display.

Acceptance Criteria:

Axis Controls:

  • Provide X-axis and Y-axis representation selectors with options (e.g., Positivity, PcrAi CT, fluorescence values, Machine RFU, Machine CT, DF)
  • Provide a Z-axis representation selector when 3D mode is active
  • Enforce unique axis assignment (each representation option may only be used on one axis at a time)

Interactive Controls:

  • Provide a run highlighter to highlight specific runs on the chart
  • Provide a CLS discrepancy toggle
  • Display a chart legend for run and classification identification

Trace: Source: 3.1.0-Run View Calibration Chart (Row 6) | Jira: BT-2456 | Tests: [Pending] | Related: Calibration


FR-RUNRPT-035 Draggable DF Lines in Run View Chart

The system shall provide draggable min/max DF (Dilution Factor) lines on the 2D calibration chart to allow users to adjust the positivity range.

Acceptance Criteria:

  • Display two vertical draggable lines representing min DF and max DF on the 2D chart
  • Present save/discard controls when DF values have been changed by dragging
  • Allow users to persist or discard the positivity range changes
  • In 3D mode, display a message indicating DF line adjustment requires 2D mode and disable dragging

Trace: Source: 3.1.0-Run View Calibration Chart (Row 7) | Jira: BT-2456 | Tests: [Pending] | Related: Calibration


FR-RUNRPT-036 Widget Panel Pin/Unpin

The system shall allow users to pin or unpin the Run Calibration Chart widget panel to control its positioning behavior.

Acceptance Criteria:

  • Provide a pin/unpin toggle control on the widget panel
  • When pinned, display the widget panel inline with run view content
  • When unpinned, display the widget panel as an overlay above run view content

Trace: Source: 3.1.0-Run View Calibration Chart (Row 8) | Jira: BT-2456 | Tests: [Pending] | Related: REQ-RUNRPT-027


FR-RUNRPT-037 Help Data for Run Calibration Chart

The system shall support help data display within the Run Calibration Chart widget.

Acceptance Criteria:

  • Display contextual help data when help mode is active
  • Gate help data availability on the help feature flag

Trace: Source: 3.1.0-Run View Calibration Chart (help data support) | Jira: BT-2456 | Tests: [Pending] | Related: Calibration


Configuration Options

OptionDefaultDescriptionAffects
accession_history_enabledper-clientWhether accession history feature is availableFR-RUNRPT-016
available_widgetsper-clientWhich widgets are available (e.g., Viracor: Assay Summary, Westgards only)FR-RUNRPT-002
available_print_optionsper-clientWhich print options are shown based on client configurationFR-RUNRPT-004
lims_export_formatsper-clientWhich export formats are available based on clientFR-RUNRPT-008
lims_reports_folderLIMS_ReportsDefault folder for LIMS exportsFR-RUNRPT-008
composite_outcome_configper-clientConfiguration matrix for composite assay outcome determinationFR-RUNRPT-015
multi_site_enabledper-clientWhether multi-site features are availableFR-RUNRPT-017
default_pinned_widgetsper-clientWhich widgets are pinned by defaultFR-RUNRPT-027
help_data_enabledper-clientWhether contextual help data is availableFR-RUNRPT-037

Assumptions

  • Users have at minimum Junior User role permissions to view run file reports
  • The run file has been successfully imported and is available in the system
  • Network connectivity is available for LIMS export operations
  • Client configuration determines which features and export formats are available
  • Mix and target configurations exist for interpretation of results
  • For Run Calibration Chart: calibration records exist for the targets in the current run (see Calibration for calibration lifecycle prerequisites)

UI Notes (Illustrative)

FR-RUNRPT-001 UI Specifications

Screen Layout:

  • Top section: Run name, run notification details, list of icons for operations on file, widget buttons (Assay Summary, Outcome Summary, Westgards, Plate Map)
  • Bottom section: Filters and table of well information

Table Columns:

  • Mix, Well, Name, Sample Type, Sample Role
  • Results section: Target, Class, CT, Quant, Chart
  • Outcome, Action

Color Coding:

  • Red: Error
  • Yellow: Warning
  • Green: Patient sample without error or warning
  • Blue: Control sample without error or warning

Visual Elements:

  • Information tooltip: Green "info" icon with text "The results in this run-file are based on the thermocycler software" displayed below the runfile name
  • Sticky headers: Table headers remain visible while scrolling through well data
  • Non-rounded quantity tooltip: Hovering over quantity values shows full precision values
  • Hyperlink for resolvable outcomes: Error outcomes in the Outcome column are clickable, opening the Manage Results widget

FR-RUNRPT-006 UI Specifications

  • Widget appears on right side of page
  • If no well is selected: Display message "Select a well to edit" with info icon
  • Widget displays well position prominently (e.g., "Well: A1")
  • Keyboard shortcut: E key

FR-RUNRPT-007 UI Specifications

  • Widget appears on right side of page
  • First error in table is displayed by default when widget opens
  • Widget shows available resolution options based on error type
  • Keyboard shortcut: M key

FR-RUNRPT-008 UI Specifications

  • Keyboard shortcut: X key

FR-RUNRPT-009 UI Specifications

  • Visual cue displayed next to column header name to indicate sort state:
    • Unsorted: up and down arrows displayed together
    • Sort ascending: up arrow only
    • Sort descending: down arrow only

FR-RUNRPT-010 UI Specifications

  • If there are no options on any particular filter, a visual cue (e.g., a no-entry sign) is shown when the user rolls over the filter name
  • Role Alias Filter label displayed with appropriate text
  • Sticky filters: Filter bar remains visible while scrolling through the well table

FR-RUNRPT-011 UI Specifications

  • Modal opens when clicking Results columns (Target, Class, CT, Quant, Chart)
  • Legend entries sorted in consistent order
  • Appropriate modal heading (e.g., well identifier, target name)
  • "Align Curve" button disabled when only a single series is displayed

FR-RUNRPT-018 UI Specifications

  • Error counter: Red circle with white number displays error count when Westgard errors need resolution
  • Warning counter: Warning icon with count shown when only warnings exist (no errors)
  • Separate Warnings/Errors in counter: Errors take priority; if errors exist, only error count shown
  • Unified Error Icon: In the Westgard combination selector dropdown, options with warnings or errors are indicated with the LJ report error icon (scatter chart red icon)

Dropdown Behavior:

  • Options with Westgard errors: Error indication (red)
  • Options with Westgard warnings only: Warning indication
  • Options with no issues: No indication

FR-RUNRPT-022 UI Specifications

  • Gradient displayed to 4 decimal places for precision
  • Standard curve visualization with data points
  • Efficiency metrics displayed alongside curve

FR-RUNRPT-027 UI Specifications

  • Tab layout for widgets: Widgets displayed as expandable dropdown tabs
  • Dynamic width: Widgets adjust width based on content and screen size
  • Pin/unpin toggle: Each widget has a pin icon to control persistence
  • Arrow indicator on button toggles between down (hidden) and up (displayed)

FR-RUNRPT-029 UI Specifications

  • Tab label: "Run Calibration Chart"
  • Tab position: last item in the Run View tab bar (after Quantification)
  • Only one widget panel can be open at a time; activating this tab closes any other open widget panel

FR-RUNRPT-030 UI Specifications

  • Target dropdown uses SingleSelectorDropdown component
  • Display key: target_name
  • Warning message displayed in yellow when no target is selected

FR-RUNRPT-033 UI Specifications

  • Chart minimum height: 572px
  • Background: transparent blue (light/dark mode aware)
  • Dark mode: chart background, text colors, and axis styling adapt to the active color scheme (determined from AppLayout colorScheme property)

FR-RUNRPT-034 UI Specifications

  • Settings panel accessed via a cog icon button
  • Panel positioned absolute top-right of the chart area
  • Axis representation options: Positivity (f_x), PcrAi CT, F[y], PcrAi RFU, Machine RFU, Machine CT, F[z], DF

FR-RUNRPT-035 UI Specifications

  • DF lines displayed as vertical draggable lines on the 2D chart
  • PositivityChangeHandler widget appears with "Discard" and "Persist" buttons when DF values change
  • 3D mode message: "To change Positivity Range switch to 2D mode"

FR-RUNRPT-036 UI Specifications

  • PinButton component in the top-right corner of the widget
  • Pinned: panel is inline (fixed in page flow)
  • Unpinned: panel is absolutely positioned, overlaying run view content with a shadow

General UI Patterns

Widget Behavior:

  • Widgets are accessed via dropdown buttons in the header
  • Each widget can be pinned (stays open) or unpinned (closes when cursor moves away)

Filter Interaction:

  • Multiple filters can be applied simultaneously
  • Empty filters show visual indicator when rolled over

Table Selection:

  • Single click selects a row
  • Selected row is visually highlighted
  • Selection checkbox available for multi-select
  • Selection enables context-specific actions (Edit, Manage Results, etc.)

Implementation (Illustrative)

Backend Components

ComponentTypeLocationRequirements
RunResultExportJobJobcode/app/Jobs/RunResultExportJob.phpFR-RUNRPT-008

Frontend Components

Component TypeLocationRequirements
Viewviews/run/RunView.vueFR-RUNRPT-001 through FR-RUNRPT-028
Viewviews/run/RunViewTabList.vueFR-RUNRPT-002, FR-RUNRPT-027
Componentscomponents/runs/Multiple requirements
Componentscomponents/wells/FR-RUNRPT-006, FR-RUNRPT-007, FR-RUNRPT-013
Componentscomponents/run-plate-map/FR-RUNRPT-021
Componentcomponents/runs/RunCalibrationChartWidget.vueFR-RUNRPT-029 through FR-RUNRPT-037
Componentcomponents/calibration/CalibrationChart.vueFR-RUNRPT-033, FR-RUNRPT-035
Componentcomponents/calibration/CalibrationChartSettings.vueFR-RUNRPT-034

Note: Runfile Report domain requirements are primarily implemented in the frontend (Vue.js) with backend support through the existing Runs & Wells domain components. The RunResultExportJob specifically handles the LIMS export functionality (FR-RUNRPT-008). For the core run/well data display and manipulation, see the Runs & Wells domain Implementation section in runfile-list.md.


Traceability Matrix

RequirementTitleVerificationImplementationTest CasesStatus
REQ-RUNRPT-001Display Run File ContentsTestFrontendBT-1063, BT-2726, BT-1139Draft
REQ-RUNRPT-002Access Analytical WidgetsTestFrontendBT-1063Draft
REQ-RUNRPT-003Re-analyze Run FileTestBackend + FrontendBT-1105, BT-1928, BT-2722Draft
REQ-RUNRPT-004Print Run File ReportTestFrontendBT-1108, BT-1109, BT-1110, BT-1111, BT-1112, BT-2474Draft
REQ-RUNRPT-005View Run InformationTestFrontendBT-2640Draft
REQ-RUNRPT-006Edit Well InformationTestFrontendBT-1114Draft
REQ-RUNRPT-007Manage Well ResultsTestFrontendBT-1115, BT-2169Draft
REQ-RUNRPT-008Export Run Results to LIMSTestRunResultExportJob[Pending]Draft
REQ-RUNRPT-009Sort Well TableTestFrontendBT-1066Draft
REQ-RUNRPT-010Filter Well TableTestFrontendBT-1070, BT-2723, BT-2724, BT-1079, BT-1082, BT-1085Draft
REQ-RUNRPT-011Display Amplification CurvesTestFrontendBT-1063Draft
REQ-RUNRPT-012Provide Well Action MenuTestFrontendBT-1858Draft
REQ-RUNRPT-013Select WellsTestFrontendBT-1114Draft
REQ-RUNRPT-014Display Run File NotificationsTestFrontend[Pending]Draft
REQ-RUNRPT-015Configure Composite Assay OutcomesTestConfiguration[Pending]Draft
REQ-RUNRPT-016Display Accession HistoryTestFrontendBT-1140Draft
REQ-RUNRPT-017Support Multi-Site OperationTestFrontend[Pending]Draft
REQ-RUNRPT-018Display Westgard Quality Control AnalysisTestFrontend[Pending]Draft
REQ-RUNRPT-019Display Assay SummaryTestFrontend[Pending]Draft
REQ-RUNRPT-020Display Outcome SummaryTestFrontend[Pending]Draft
REQ-RUNRPT-021Display Plate MapTestFrontend[Pending]Draft
REQ-RUNRPT-022Display Quantification AnalysisTestFrontend[Pending]Draft
REQ-RUNRPT-023Bulk Edit WellsTestFrontend[Pending]Draft
REQ-RUNRPT-024Bulk Manage ResultsTestFrontend[Pending]Draft
REQ-RUNRPT-025Display System FlagsTestFrontend[Pending]Draft
REQ-RUNRPT-026Warn Before Losing Unsaved ChangesTestFrontend[Pending]Draft
REQ-RUNRPT-027Persist Widget StateTestFrontend[Pending]Draft
REQ-RUNRPT-028Validate Well DataTestFrontend + Backend[Pending]Draft
REQ-RUNRPT-029Run Calibration Chart TabTestFrontendBT-2456Draft
REQ-RUNRPT-030Target Selector for Run Calibration ChartTestFrontendBT-2456Draft
REQ-RUNRPT-031Fetch and Display Calibration Data for RunTestFrontend + BackendBT-2456Draft
REQ-RUNRPT-032Highlight Current Run on Calibration ChartTestFrontendBT-2456Draft
REQ-RUNRPT-033Run Calibration Chart DisplayTestFrontendBT-2456Draft
REQ-RUNRPT-034Chart Settings PanelTestFrontendBT-2456Draft
REQ-RUNRPT-035Draggable DF Lines in Run View ChartTestFrontendBT-2456Draft
REQ-RUNRPT-036Widget Panel Pin/UnpinTestFrontendBT-2456Draft
REQ-RUNRPT-037Help Data for Run Calibration ChartTestFrontendBT-2456Draft

Notes

  • Information tooltip ("The results in this run-file are based on the thermocycler software") is shown for Quest and Viracor configurations only
  • Tooltip is hidden when all targets use DXAI as preferred results provider
  • Composite outcome configuration was added for Sherwood Forest v2.14
  • See REQ-RUNFILE-011 for general multi-site requirements that apply across domains

Open Questions

IDQuestionSourceOwnerDate Raised
OQ-001Assumptions inferred from context, not explicitly stated in source. Confirm accuracy with SME.Assumptions@SME-TBDTBD
OQ-002Missing Jira references for REQ-RUNRPT-020, REQ-RUNRPT-021, REQ-RUNRPT-022, REQ-RUNRPT-023, REQ-RUNRPT-024, REQ-RUNRPT-025, REQ-RUNRPT-026, REQ-RUNRPT-027, REQ-RUNRPT-028, REQ-RUNRPT-014Traceability@SME-TBDTBD

Acceptance Tests

Test: REQ-RUNRPT-001

Back to requirement

Test: Verify page sections

Given: User navigates to pcr.ai
When: Open a runfile
Then: View shows:
- Top: Run name, notifications, widget buttons
- Middle: Filters section
- Bottom: Well table with expected columns

Test: Verify table columns

Given: User opens a runfile
When: Observe table columns
Then: Columns are Mix, Well, Name, Sample Type, Sample Role,
Results (Target, Class, CT, Quant, Chart), Outcome, Action

Test: Verify result status indication

Given: Runfile with mixed well states
When: Observe Results columns
Then: Error, warning, patient OK, and control OK states are visually differentiated

Test: REQ-RUNRPT-002

Back to requirement

Test: Open widgets

Given: User on runfile report
When: User selects each widget
Then: Corresponding widget opens

Test: REQ-RUNRPT-003

Back to requirement

Test: Re-analyse run

Given: Import file with no errors (latest date)
And: Import file with westgard error (earlier date, same patient)
When: Open first file, skip auto reanalysis
Then: PC outcome is "Control Passed"
When: User triggers re-analysis
Then: PC outcome changes to "Previous westgard fail"

Test: REQ-RUNRPT-004

Back to requirement

Test: Print options

Given: User on runfile report
When: User initiates print
Then: System displays print options: Assay Summary, Westgard, Graphs, Comments, Wells
And: All options selected by default

Test: Print execution

Given: User selects print options
When: User confirms print
Then: Printable document is generated with selected content

Test: REQ-RUNRPT-005

Back to requirement

Test: View info

Given: User on runfile report
When: User requests run information
Then: System displays run metadata

Test: REQ-RUNRPT-006

Back to requirement

Test: Open edit interface

Given: User on runfile report
When: User initiates well editing
Then: System prompts for well selection if none selected
When: User selects a well
Then: System displays that well's data for editing

Test: REQ-RUNRPT-007

Back to requirement

Test: Open manage results

Given: User on runfile report with error wells
When: User initiates result management
Then: System displays resolution interface
When: User selects an error outcome
Then: System shows available resolutions for that error

Test: REQ-RUNRPT-008

Back to requirement

Test: Export run

Given: User on runfile report
When: User initiates LIMS export
Then: Export file is created in configured folder

Test: REQ-RUNRPT-009

Back to requirement

Test: Default sort

Given: User opens runfile report
When: Observe table
Then: Sorted by Well ascending (A1, A2, A3...)

Test: Toggle sort

Given: User on runfile report
When: User selects a sortable column
Then: Table sorts by that column ascending
When: User selects same column again
Then: Sort direction toggles to descending

Test: REQ-RUNRPT-010

Back to requirement

Test: Apply filters

Given: User on runfile report
When: User selects values in Mix filter
Then: Table shows only wells with selected mixes
When: User adds Sample Type filter
Then: Table shows wells matching both filters

Test: REQ-RUNRPT-011

Back to requirement

Test: Open curve

Given: User on runfile report
When: User selects result data
Then: Amplification curve is displayed for the selected well

Test: REQ-RUNRPT-012

Back to requirement

Test: Action menu

Given: User on runfile report
When: User opens action menu for a well
Then: Menu shows Flag, Comment, Send to LIMS options

Test: REQ-RUNRPT-013

Back to requirement

Test: Select well

Given: User on runfile report
When: User clicks a row
Then: Row is visually indicated as selected
When: User selects multiple rows
Then: Multiple rows are selected

Test: REQ-RUNRPT-014

Back to requirement

Test: Filter by notification

Given: Runfile has notification indicators in header
When: User selects a notification
Then: Table filters to show related wells

Test: REQ-RUNRPT-015

Back to requirement

Test: Configure outcomes

Given: Composite outcome configuration exists
When: Run file with composite assay results is processed
Then: Outcomes determined based on configuration matrix

Test: REQ-RUNRPT-016

Back to requirement

Test: View history

Given: Accession History enabled in Client Configuration
And: Well has repeat accession with earlier results
When: User requests accession history
Then: History shows previous results for same sample

Test: REQ-RUNRPT-017

Back to requirement

Test: Manager site filter

Given: User logged in as manager
When: View runfile report
Then: Site filter and Site column are visible

Given: User logged in as junior
When: View runfile report
Then: Site filter and Site column are not visible

Test: REQ-RUNRPT-018

Back to requirement

Test: View Westgard

Given: User on runfile report
When: User opens Westgard widget
Then: Widget shows Westgard analysis with control charts

Test: REQ-RUNRPT-019

Back to requirement

Test: View Assay Summary

Given: User on runfile report
When: User opens Assay Summary widget
Then: Widget shows results grouped by target with outcome counts

Test: REQ-RUNRPT-020

Back to requirement

Test: View Outcomes Summary

Given: User on runfile report
When: User opens Outcomes Summary widget
Then: Widget shows distribution of outcomes

Test: REQ-RUNRPT-021

Back to requirement

Test: View Plate Map

Given: User on runfile report
When: User opens Plate Map widget
Then: Widget shows plate layout with status-indicated wells
When: User selects a well in plate map
Then: Corresponding row is selected in table

Test: REQ-RUNRPT-022

Back to requirement

Test: View Quantification

Given: User on runfile report
When: User opens Quantification widget
Then: Widget shows standard curve and efficiency metrics

Test: REQ-RUNRPT-023

Back to requirement

Test: Bulk edit wells

Given: Multiple wells selected
When: User makes changes in bulk edit mode
Then: Changes applied to all selected wells

Test: REQ-RUNRPT-024

Back to requirement

Test: Bulk manage

Given: Multiple wells with errors selected
When: User initiates bulk result management
And: User applies resolution
Then: Resolution applied to all selected wells

Test: REQ-RUNRPT-025

Back to requirement

Test: CLS/CT discrepancy

Given: Well with CLS/CT discrepancy
When: View in runfile report
Then: Discrepancy flag is displayed

Test: REQ-RUNRPT-026

Back to requirement

Test: Unsaved changes warning

Given: User has unsaved changes
When: User attempts to navigate away
Then: Warning is displayed
And: User can confirm or cancel navigation

Test: REQ-RUNRPT-027

Back to requirement

Test: Save widget state

Given: User opens widgets and arranges them
When: User closes and reopens runfile report
Then: Widgets restored to saved state

Test: REQ-RUNRPT-028

Back to requirement

Test: Accession validation

Given: User editing accession field
When: User enters invalid characters
Then: Validation error shown

Test: REQ-RUNRPT-029

Back to requirement

Test: Tab presence in Run View

Given: User is viewing a run file
When: User views the Run View tab bar
Then: "Run Calibration Chart" appears as the last tab in the tab list

Test: Tab activation

Given: User is viewing a run file
When: User clicks the "Run Calibration Chart" tab
Then: The Run Calibration Chart widget panel is displayed

Test: Exclusive widget display

Given: Another widget panel (e.g., Assay Summary) is open
When: User clicks the "Run Calibration Chart" tab
Then: The previously open widget closes and the calibration chart panel opens

Test: REQ-RUNRPT-030

Back to requirement

Test: Target dropdown display

Given: User opens the Run Calibration Chart widget
When: The widget is rendered
Then: A "Target" dropdown is displayed listing calibration targets for the current run

Test: No target selected warning

Given: No target is selected
When: User views the Run Calibration Chart widget
Then: A warning "Please select a target to see the chart" is displayed

Test: REQ-RUNRPT-031

Back to requirement

Test: Data fetch on target selection

Given: User selects a target from the dropdown
When: The API call completes
Then: Calibration data is loaded and the chart is rendered

Test: Loading state

Given: User selects a target from the dropdown
When: Data is being fetched
Then: A loading indicator is displayed

Test: No data available

Given: No calibration data exists for the selected target
When: The API response returns empty
Then: An informational message is displayed

Test: REQ-RUNRPT-032

Back to requirement

Test: Current run highlighting

Given: A target is selected and calibration data is loaded
When: The chart is rendered
Then: Observations from the current run are visually distinguishable from other runs

Test: REQ-RUNRPT-033

Back to requirement

Test: Default 2D chart

Given: A target is selected and calibrated runs are available
When: The chart is rendered
Then: A 2D scatter plot is displayed showing calibration observations

Test: 3D mode toggle

Given: User is viewing the 2D chart
When: User toggles "3D Mode" on
Then: The chart switches to a 3D scatter plot visualization

Test: REQ-RUNRPT-034

Back to requirement

Test: Settings panel in 2D mode

Given: User clicks the cog icon button on the chart
When: The settings panel opens
Then: X axis, Y axis selectors, Run Highlighter, CLS Discrepancy toggle, and Chart Legend are displayed

Test: Settings panel in 3D mode

Given: User is in 3D mode
When: The settings panel is open
Then: A Z axis representation selector is additionally displayed

Test: Unique axis assignment

Given: User has selected a representation for the X axis
When: User opens the Y axis selector
Then: The representation already used on the X axis is unavailable

Test: REQ-RUNRPT-035

Back to requirement

Test: DF line drag in 2D mode

Given: User is viewing the 2D chart
When: User drags the min DF or max DF line to a new position
Then: A save/discard control appears allowing the user to persist or discard the change

Test: DF lines disabled in 3D mode

Given: User is in 3D mode
When: The chart is displayed
Then: A message indicates DF adjustment requires 2D mode and DF lines are not draggable

Test: REQ-RUNRPT-036

Back to requirement

Test: Pin/unpin toggle

Given: User opens the Run Calibration Chart widget
When: User clicks the pin button
Then: The widget toggles between pinned (inline) and unpinned (overlay) positioning

Test: REQ-RUNRPT-037

Back to requirement

Test: Help data display

Given: Help mode is active and help feature flag is enabled
When: User views the Run Calibration Chart widget
Then: Contextual help data is displayed within the widget

Design DocumentRelevant Sections
STD UI TestabilityHTML Attributes (widget, table, filter attributes for automated testing)
SDD ArchitectureFrontend Architecture, Vue.js Components
CalibrationCalibration lifecycle, record management, target calibration status (cross-referenced by REQ-RUNRPT-029 through REQ-RUNRPT-037)

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 do not introduce new capabilities
  • Traceability matrix is complete
  • Implementation section documents code locations

Reviewer Notes

No Major Consolidations

The 28 source requirements in the Runfile Report domain represent distinct functional capabilities with minimal overlap. Each requirement addresses a separate functional area:

CategoryRequirements
Display capabilitiesREQ-RUNRPT-001
Widget-specificREQ-RUNRPT-002, REQ-RUNRPT-018 through REQ-RUNRPT-022, REQ-RUNRPT-027
Analysis operationsREQ-RUNRPT-003
Print/ExportREQ-RUNRPT-004, REQ-RUNRPT-008
Information viewingREQ-RUNRPT-005, REQ-RUNRPT-014, REQ-RUNRPT-016
Editing capabilitiesREQ-RUNRPT-006, REQ-RUNRPT-023
Result managementREQ-RUNRPT-007, REQ-RUNRPT-024, REQ-RUNRPT-025
Table operationsREQ-RUNRPT-009, REQ-RUNRPT-010, REQ-RUNRPT-013
VisualizationREQ-RUNRPT-011
ActionsREQ-RUNRPT-012
ConfigurationREQ-RUNRPT-015
Multi-siteREQ-RUNRPT-017
Data integrityREQ-RUNRPT-026, REQ-RUNRPT-028
Run Calibration Chart (v3.1.0)REQ-RUNRPT-029 through REQ-RUNRPT-037

Rationale: Unlike domains such as Filters where multiple requirements described variants of a single capability, the Runfile Report requirements each represent distinct system responsibilities. Consolidation would obscure functional boundaries and reduce traceability.

Reversibility: Source file preserved at output/srs/runfile-report.md

v3.1.0: Added Run View Calibration Chart widget (BT-2456)

Nine new requirements (REQ-RUNRPT-029 through REQ-RUNRPT-037) added for the Run Calibration Chart widget. This widget displays calibration data within the Run View, allowing users to visualize how the current run compares against historical calibration observations. The requirements cover tab access, target selection, data fetching, chart display (2D/3D), settings panel, draggable DF lines, pin/unpin behavior, and help data support.

Dark mode support (Confluence source Row 9) was classified as UI_DETAIL and placed in UI Notes under FR-RUNRPT-033, not as a standalone requirement.

These requirements cross-reference Calibration for the full calibration lifecycle (record management, activation, recalibration). The Run View Calibration Chart is a consumption/display view only -- it does not duplicate calibration lifecycle requirements.

Conversion Notes

This file was converted to the new SRS readability format on 2026-01-24. Changes include:

  • Added Statement section summarizing core domain behavior
  • Added Mermaid behavior overview diagram (marked Illustrative)
  • Replaced "Non-Normative" with "Illustrative" throughout
  • Grouped acceptance criteria by concern with blank lines before bullet lists
  • Moved all tests to end of document with back-links to requirements
  • Consolidated inline Trace references
  • Added Open Questions table for missing Jira references
  • Preserved all 28 REQ-RUNRPT-* identifiers (v3.0.0)
  • v3.1.0: Added REQ-RUNRPT-029 through REQ-RUNRPT-037 (Run View Calibration Chart widget, BT-2456)
  • Preserved all acceptance criteria
  • Preserved all traceability references