Skip to main content
Version: 3.0.0

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

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

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

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

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

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

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

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

Design DocumentRelevant Sections
STD UI TestabilityHTML Attributes (widget, table, filter attributes for automated testing)
SDD ArchitectureFrontend 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:

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

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