Development of an equipment and calibration verification framework Martin Green, Richard Clements
Background Reliant on users and process to assure quality Taking a reliable overview not possible
Requirements Record QA test results Easily accessible by multiple concurrent users Overview of failing QA Show trends in parameters Allow tests to be performed efficiently Temporally aware
Development Methodology V-model Requirements Design Coding Unit Testing Integration Testing Integration Testing Acceptance Testing Acceptance Testing System Requirements System Requirements System Verifications System Verifications Independent Acceptance Plan System Testing Plan Integration Testing Plan Test Driven Development
Development Methodology Incremental Picture: Incremental Model/RahulT/Creative CommonsIncremental ModelCreative Commons
System Requirements Can we hard code an application to perform the tests we require? There are hundreds of different tests The tests we have are regularly changing Tests are for multiple sub disciplines A framework was required to allow domain experts to configure the QA program Accessibility requirements fulfilled by a web application
System Requirements - Stacks Server Side Client Side
System Requirements - Django Request HTTP Get/Post Response HTML, JSON, JS, CSS
Design - Data Model Calibration Type Calibration Verification Type Calibration Verification Requirement Form Type Equipment Instance Equipment ClassificationEquipment Type Calibration Instance Calibration Verification Instance Form Instance ConfigurationRoutine
Design - Calibrations Calibration Type Calibration Instance Unique ID 10XEOUTPUT5 Variables Output: 1.0 cGy/MU Equipment Linac: M10-5 Rowan Conditions 100cm SSD, 10cm x 10cm field at D max depth References Reference to controlled document Authorisation From (JBloggs) Unique ID Prefix 10XEOUTPUT Named Variables and Units Output - cGy/MU Named Equipment Linac – 10MV Linac Examples shown in grey 10MV Linac Output
Design - Calibration Verifications Input Values Temperature - °C, Pressure – mbar, Readings - nC Input Calibrations (calibrations contain variables) Energy, F elec, F ion, N Dw Calculations F TP = (Temperature + 273) * / (293 * Pressure) R mean (nC) = mean(R1, R2, R3) Output (cGy/MU) = R mean * F TP * N Dw.Value * F elec.Value * F ion.Value / Energy.PDD5 Pass Function abs(calibration.Output-Output) / calibration.Output < 0.03 Validations 15 < Temperature < 30 - Temperature outside expected range 0.02 > abs(calibration.Output-Output)/calibration.Output - Please check your setup Examples shown in grey Calibration Verification Type Water Farmer Output Check
Design - Forms Form Type Water Farmer Output Check
Design - Forms Form Instance Water Farmer Output Check
Design - Forms Form Instance Water Farmer Output Check
Design - Graphs Linac Output Checks
Design - Dashboard - Overview
Design - Dashboard – Drilling Down
Situation so far Implemented checks: Linac, brachytherapy and orthovoltage output checks Radiographer daily checks Automated server disk space checks Saves time during morning machine checks In use for 4 years 30,000 forms entered 200,000 checks recorded
Further Work Allow verifications to depend upon other verifications: Eg. Definitive calibrations rely upon: Beam profile checks and Farmer chamber consistency checks Train more Domain Experts Implement remaining QA checks Automate System verification
Further Work – Graphing Seth M. Powsner and Edward R. Tufte, "Graphical Summary of Patient Status", The Lancet 344 (August 6, 1994),