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), 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 |
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, and Quantification 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]
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 |
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
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)
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 |
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 |
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
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 |
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 |
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
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
- Preserved all acceptance criteria
- Preserved all traceability references