Requirements - mwgeurts/viewray_handcalc GitHub Wiki

The following sections detail the use cases software requirements specifications for the ViewRay Secondary Dose Calculation tool. Each use case is assigned a letter ID and describes the rationale, intended users, preconditions, a step by step sequence of events, and the software tool version where this use case was introduced.

Software requirements are classified into three categories: user interface, functional, and non-functional. Non-functional requirements are further broken down into three additional types: performance, compatibility and documentation. Each interface and functional requirement is traced to a specific use case and step within the course of events and is provided a four character ID, where the first character is a letter indicating the requirement type and the final three are an incremental number.

Performance requirements may reference modern hardware. This refers to a typical base-level configuration of a business desktop or laptop computer, which would include a 64-bit operating system, 4 GB of RAM, and Intel Core i5 processor at minimum. Refer to the Unit Testing page for details on the system configuration used to verify these requirements.

To determine which requirements apply to a given software version, trace the requirement back to the Use Case using the referenced Use Case letter ID and note the version. It is implied that all specifications attached to Use Cases that include the statement and forward will continue to be applied to the current and all future versions of the application.

Contents

Use Cases

ID A
Summary Calculate beam on time for a fixed conformal field
Rationale This is the first primary use case for this application, where the user knows the input parameters for a secondary dose calculation (dose, depth, SSD, etc.) and is looking to calculate the beam on time for a given source strength.
Users Medical physicist
Preconditions The tool has tabulated TPR, Scp, and other reference data
Course of Events
  1. The user calls CalculateBeamTime() with the provided input parameters as arguments
  2. The tool calculates and returns the beam on time as a structure
Version 1.0.0 and forward
ID B
Summary Extract secondary dose calculation input parameters from a plan text report and compute the beam on time
Rationale To automate the secondary dose check process, the tool should be capable of extracting the necessary input parameters from a text plan report and re-calculate the beam on time for all fixed conformal beams for comparison to the planned beam time.
Users Medical physicist
Preconditions The user has generated a plan text report for a fixed conformal plan
Course of Events
  1. The user executes the ViewRay Secondary Dose Calculation Tool MATLAB application
  2. The user browses to and selects a plan text file to load
  3. The tool extracts relevant dose calculation parameters for each beam
  4. The tool displays the relevant parameters and re-calculated beam on time
  5. The tool computes and displays the difference between planned and re-calculated time as well as the average difference
  6. The user clears the data and loads another plan
Version 1.0.0 and forward
ID C
Summary Extract secondary dose calculation parameters from a PDF report
Rationale As an extension to Use Case C, the tool should be capable of extracting the same parameters from a PDF plan report
Users Medical physicist
Preconditions The user has generated a PDF text report for a fixed conformal plan
Course of Events
  1. The user browses to and selects a plan PDF file to load
  2. The tool extracts relevant dose calculation parameters for each beam
Version 1.0.0 and forward
ID D
Summary Generate report for secondary dose calculation
Rationale Following Use Cases B and C, the user should be able to generate a report that documents the secondary calculation that can be saved in the patient's EMR
Users Medical physicist
Preconditions The user has loaded a plan report into the tool and re-calculated the beam on time
Course of Events
  1. The user clicks a button to print the plan report
  2. The tool creates a PDF report containing the patient and machine information and calculation results for each beam
  3. The PDF report opens using the default system application
Version 1.0.0 and forward
ID E
Summary Calculate decay-corrected time to compare to delivery time
Rationale Although the primary use case of the application is to check the planned beam on time, a secondary use case is to use the tool to verify that the (decay corrected) delivery beam on times are also consistent with the secondary check
Users Medical physicist
Preconditions The user has loaded a plan report into the tool and re-calculated the beam on time
Course of Events
  1. The tool loads source calibration information from a source calibration report
  2. The tool displays the source calibration parameters
  3. The tool uses the source calibration parameters to decay correct each calculated beam on time to the current time
  4. The tool displays the decay corrected time
Version 1.0.0 and forward

User Interface Requirements

ID Case Step Requirement
U001 B 4 A graphical user interface shall open when the user executes HandCalcUI
U002 B 4 The interface shall include a table for displaying patient ID, name, birthdate, diagnosis, prescription, number of fractions, density image, density overrides, plan name, and plan approval
U003 B 4 The interface shall include a table for displaying machine name, serial number, software version, model, institution, and planning source strength
U004 E 2 The interface shall include a table for displaying source calibration strengths for each head
U005 B 4 The interface shall include a table for displaying beam angle, group, type, isocenter, field size, calculation point, dose, weight, SSD, depth, effective depth, OAD, planned time, TPR, Scp, OAR, couch factor, and calculated time
U006 B 2 The interface shall include a button to Browse for a plan report
U007 D 1 The interface shall include a Print Report button to generate a report
U008 B 6 The interface shall include a Clear Data button
U009 B 5 The beams table shall include the difference between planned and calculated beam on times
U010 B 5 The interface shall include a field to display the average difference
U011 B 5 The average difference field will display green if within 5%, yellow if 5-10%, and red otherwise
U012 E 4 The beams table shall include the decay corrected time

Functional Requirements

ID Case Step Requirement
F001 B 1 If not all components of the application are present, the application shall throw an error to the user
F002 B 2 Upon clicking Browse, a navigation window will appear allowing the user to select a text (.txt) file
F003 C 1 Upon clicking Browse, a navigation window will appear allowing the user to select a PDF (.pdf) file
F004 B 2 If the user does not select a file, the application will resume without error
F005 B 2 If the user provides an invalid file, he/she shall be notified
F006 B 4 ParsePlanReportText shall extract from a plan text report the patient ID, name, birthdate, diagnosis, prescription, plan name, plan approval, plan ID, last modified date, physician, physicist, dosimetrist, machine name, serial number, software version, equipment model, institution, department, beam on time type, prescription dose, prescription point/volume and coverage percent, dose per fraction, patient orientation, couch position, point coordinates, density ct, density overrides, and beam group, isocenter point, angle, planned time, beam type, field size, calculation point, normalization, SSD, physical depth, effective depth, and OAD for each used beam
F007 C 2 ParsePlanReportPDF shall extract from a plan PDF report the patient name, plan name, last modified date, patient ID, MRN, birthdate, institution, version, isotope, prescription approval, contour approval, image approval, plan approval, calendar approval, dose model, coil calculation, auto-normalization, inter-digitation, resolution, deformation setting, total delivery time, patient orientation, planning activity, planning strength, source activity, source strength, prescription volume/point, diagnosis, prescription dose, prescription coverage, number of fractions, dose per fraction, previous dose, couch position, point name, point coordinates, point dose, point assigned beams, density CT, density overrides, and angle, group, type, number of segments, planned time, field size, isocenter point, calculation point, field size, weight point, SSD, physical depth, effective depth, and OAD for each used beam
F008 E 1 ParseSourceTrackingPDF shall extract from a calibration PDF report the system name, serial number, and source ID, activity, and strength for each source
F009 A 2 CalculateBeamTime shall compute and return the beam on time given dose, depth, and field size inputs
F010 A 1 CalculateBeamTime shall optionally accept off axis distance, angle, calibration factor, couch attenuation magnitude, SAD, and SCD factors as inputs
F011 A 1 CalculateBeamTime shall optionally accept a beams structure (generated from ParsePlanReportPDF or ParsePlanReportText) as an input
F012 B 5 The tool shall compute and display the beam on time difference as (calculated - planned)/planned
F013 B 5 The tool shall compute and display the average beam on time difference using a weighted sum: sum(beam weight * difference)/sum(beam weight)
F014 E 4 The tool shall compute and display the decay corrected time using the following equation, where half life is the half life of Co-60: calculated time * planning source strength/calibrated source strength * 1/exp(-log(2)/half life * (current date - calibration date))
F015 B 6 Upon clicking Clear Data, the weighted mean difference field, plan report field, and the patient, machine, and beams UI tables will clear
F016 D 2 Upon clicking Print Report, a report will be generated containing the same patient, machine, source calibration, and beams data as the UI
F017 D 2 Upon clicking Print Report, the report will be saved as a PDF file
F018 D 3 Upon clicking Print Report, the PDF report file will open using the default system application

Performance Requirements

ID Case Step Requirement
P001 B 1 The application shall load in less than 2 seconds on modern hardware
P002 B 3 The application shall load and calculate the beam on time of a plan text report containing six beams in less than 2 seconds on modern hardware
P003 C 2 The application shall load and calculate the beam on time of a plan PDF report containing six beams in less than 2 seconds on modern hardware
P004 D 2 The application shall generate a report in less than 2 seconds on modern hardware

Compatibility Requirements

ID Case Step Requirement
C001 B 1 The application shall run successfully on 64-bit Windows 7
C002 B 1 The application shall run successfully on 64-bit Windows 10
C003 B 1 The application shall run successfully on Ubuntu 14 LTS
C004 B 1 The application shall run successfully on Ubuntu 15
C005 B 1 The application shall run successfully on 64-bit Windows 7
C006 B 1 The application shall run successfully on the latest version of Mac OSX
C007 B 1 The application shall run successfully using MATLAB R2014a
C008 B 1 The application shall run successfully using MATLAB R2015a
C009 B 1 The application shall run successfully using MATLAB R2016a
C010 B 2 The application shall be able to successfully extract a ViewRay version 3.4 plan text report
C011 C 1 The application shall be able to successfully extract a ViewRay version 3.4 plan PDF report
C012 B 2 The application shall be able to successfully extract a ViewRay version 3.5 plan text report
C013 C 1 The application shall be able to successfully extract a ViewRay version 3.5 plan PDF report
C014 B 2 The application shall be able to successfully extract a ViewRay version 4.0 plan text report
C015 C 1 The application shall be able to successfully extract a ViewRay version 4.0 plan PDF report

Documentation Requirements

ID Case Step Requirement
D001 B 1 Documentation shall be provided to describe how to install the application
D002 B 1 Documentation shall be provided to describe how to run the application
D003 A 1 Documentation shall be provided on how to run CalculateBeamTime()
D004 B 3 Documentation shall be provided on how to run ParsePlanReportText()
D005 C 2 Documentation shall be provided on how to run ParsePlanReportPDF()
⚠️ **GitHub.com Fallback** ⚠️