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
| Term | Definition |
|---|---|
| Well | A single position on a PCR plate containing sample or control material |
| Outcome | The final result determination for a well (e.g., Positive, Negative, Control Passed, Error) |
| Resolution | An action taken to address an error or warning state on a well |
| Control | A well containing known reference material for quality verification |
| LIMS | Laboratory Information Management System - external system for result integration |
| Westgard | A statistical quality control methodology using control charts and rules |
| CT (Cycle Threshold) | The PCR cycle number at which fluorescence crosses the detection threshold |
| Quant | Quantification value - calculated concentration based on CT and standard curve |
| Accession | Unique identifier linking a sample to patient/specimen records |
| Composite Assay | An assay that derives outcomes from combinations of multiple target results |
| Calibration | The 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 Range | The 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
| Option | Default | Description | Affects |
|---|---|---|---|
| accession_history_enabled | per-client | Whether accession history feature is available | FR-RUNRPT-016 |
| available_widgets | per-client | Which widgets are available (e.g., Viracor: Assay Summary, Westgards only) | FR-RUNRPT-002 |
| available_print_options | per-client | Which print options are shown based on client configuration | FR-RUNRPT-004 |
| lims_export_formats | per-client | Which export formats are available based on client | FR-RUNRPT-008 |
| lims_reports_folder | LIMS_Reports | Default folder for LIMS exports | FR-RUNRPT-008 |
| composite_outcome_config | per-client | Configuration matrix for composite assay outcome determination | FR-RUNRPT-015 |
| multi_site_enabled | per-client | Whether multi-site features are available | FR-RUNRPT-017 |
| default_pinned_widgets | per-client | Which widgets are pinned by default | FR-RUNRPT-027 |
| help_data_enabled | per-client | Whether contextual help data is available | FR-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
| Component | Type | Location | Requirements |
|---|---|---|---|
| RunResultExportJob | Job | code/app/Jobs/RunResultExportJob.php | FR-RUNRPT-008 |
Frontend Components
| Component Type | Location | Requirements |
|---|---|---|
| View | views/run/RunView.vue | FR-RUNRPT-001 through FR-RUNRPT-028 |
| View | views/run/RunViewTabList.vue | FR-RUNRPT-002, FR-RUNRPT-027 |
| Components | components/runs/ | Multiple requirements |
| Components | components/wells/ | FR-RUNRPT-006, FR-RUNRPT-007, FR-RUNRPT-013 |
| Components | components/run-plate-map/ | FR-RUNRPT-021 |
| Component | components/runs/RunCalibrationChartWidget.vue | FR-RUNRPT-029 through FR-RUNRPT-037 |
| Component | components/calibration/CalibrationChart.vue | FR-RUNRPT-033, FR-RUNRPT-035 |
| Component | components/calibration/CalibrationChartSettings.vue | FR-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
| Requirement | Title | Verification | Implementation | Test Cases | Status |
|---|---|---|---|---|---|
| REQ-RUNRPT-001 | Display Run File Contents | Test | Frontend | BT-1063, BT-2726, BT-1139 | Draft |
| REQ-RUNRPT-002 | Access Analytical Widgets | Test | Frontend | BT-1063 | Draft |
| REQ-RUNRPT-003 | Re-analyze Run File | Test | Backend + Frontend | BT-1105, BT-1928, BT-2722 | Draft |
| REQ-RUNRPT-004 | Print Run File Report | Test | Frontend | BT-1108, BT-1109, BT-1110, BT-1111, BT-1112, BT-2474 | Draft |
| REQ-RUNRPT-005 | View Run Information | Test | Frontend | BT-2640 | Draft |
| REQ-RUNRPT-006 | Edit Well Information | Test | Frontend | BT-1114 | Draft |
| REQ-RUNRPT-007 | Manage Well Results | Test | Frontend | BT-1115, BT-2169 | Draft |
| REQ-RUNRPT-008 | Export Run Results to LIMS | Test | RunResultExportJob | [Pending] | Draft |
| REQ-RUNRPT-009 | Sort Well Table | Test | Frontend | BT-1066 | Draft |
| REQ-RUNRPT-010 | Filter Well Table | Test | Frontend | BT-1070, BT-2723, BT-2724, BT-1079, BT-1082, BT-1085 | Draft |
| REQ-RUNRPT-011 | Display Amplification Curves | Test | Frontend | BT-1063 | Draft |
| REQ-RUNRPT-012 | Provide Well Action Menu | Test | Frontend | BT-1858 | Draft |
| REQ-RUNRPT-013 | Select Wells | Test | Frontend | BT-1114 | Draft |
| REQ-RUNRPT-014 | Display Run File Notifications | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-015 | Configure Composite Assay Outcomes | Test | Configuration | [Pending] | Draft |
| REQ-RUNRPT-016 | Display Accession History | Test | Frontend | BT-1140 | Draft |
| REQ-RUNRPT-017 | Support Multi-Site Operation | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-018 | Display Westgard Quality Control Analysis | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-019 | Display Assay Summary | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-020 | Display Outcome Summary | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-021 | Display Plate Map | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-022 | Display Quantification Analysis | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-023 | Bulk Edit Wells | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-024 | Bulk Manage Results | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-025 | Display System Flags | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-026 | Warn Before Losing Unsaved Changes | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-027 | Persist Widget State | Test | Frontend | [Pending] | Draft |
| REQ-RUNRPT-028 | Validate Well Data | Test | Frontend + Backend | [Pending] | Draft |
| REQ-RUNRPT-029 | Run Calibration Chart Tab | Test | Frontend | BT-2456 | Draft |
| REQ-RUNRPT-030 | Target Selector for Run Calibration Chart | Test | Frontend | BT-2456 | Draft |
| REQ-RUNRPT-031 | Fetch and Display Calibration Data for Run | Test | Frontend + Backend | BT-2456 | Draft |
| REQ-RUNRPT-032 | Highlight Current Run on Calibration Chart | Test | Frontend | BT-2456 | Draft |
| REQ-RUNRPT-033 | Run Calibration Chart Display | Test | Frontend | BT-2456 | Draft |
| REQ-RUNRPT-034 | Chart Settings Panel | Test | Frontend | BT-2456 | Draft |
| REQ-RUNRPT-035 | Draggable DF Lines in Run View Chart | Test | Frontend | BT-2456 | Draft |
| REQ-RUNRPT-036 | Widget Panel Pin/Unpin | Test | Frontend | BT-2456 | Draft |
| REQ-RUNRPT-037 | Help Data for Run Calibration Chart | Test | Frontend | BT-2456 | Draft |
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
| ID | Question | Source | Owner | Date Raised |
|---|---|---|---|---|
| OQ-001 | Assumptions inferred from context, not explicitly stated in source. Confirm accuracy with SME. | Assumptions | @SME-TBD | TBD |
| OQ-002 | Missing 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-014 | Traceability | @SME-TBD | TBD |
Acceptance Tests
Test: REQ-RUNRPT-001
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
Test: Open widgets
Given: User on runfile report
When: User selects each widget
Then: Corresponding widget opens
Test: REQ-RUNRPT-003
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
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
Test: View info
Given: User on runfile report
When: User requests run information
Then: System displays run metadata
Test: REQ-RUNRPT-006
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Test: CLS/CT discrepancy
Given: Well with CLS/CT discrepancy
When: View in runfile report
Then: Discrepancy flag is displayed
Test: REQ-RUNRPT-026
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
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
Test: Accession validation
Given: User editing accession field
When: User enters invalid characters
Then: Validation error shown
Test: REQ-RUNRPT-029
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
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
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
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
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
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
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
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
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
Related Design Documents
| Design Document | Relevant Sections |
|---|---|
| STD UI Testability | HTML Attributes (widget, table, filter attributes for automated testing) |
| SDD Architecture | Frontend Architecture, Vue.js Components |
| Calibration | Calibration 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:
| Category | Requirements |
|---|---|
| Display capabilities | REQ-RUNRPT-001 |
| Widget-specific | REQ-RUNRPT-002, REQ-RUNRPT-018 through REQ-RUNRPT-022, REQ-RUNRPT-027 |
| Analysis operations | REQ-RUNRPT-003 |
| Print/Export | REQ-RUNRPT-004, REQ-RUNRPT-008 |
| Information viewing | REQ-RUNRPT-005, REQ-RUNRPT-014, REQ-RUNRPT-016 |
| Editing capabilities | REQ-RUNRPT-006, REQ-RUNRPT-023 |
| Result management | REQ-RUNRPT-007, REQ-RUNRPT-024, REQ-RUNRPT-025 |
| Table operations | REQ-RUNRPT-009, REQ-RUNRPT-010, REQ-RUNRPT-013 |
| Visualization | REQ-RUNRPT-011 |
| Actions | REQ-RUNRPT-012 |
| Configuration | REQ-RUNRPT-015 |
| Multi-site | REQ-RUNRPT-017 |
| Data integrity | REQ-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