Room: AAPM ePoster Library
The immutability and functional programming paradigm (IFP) uses mathematical functions and immutable inputs to produce deterministic output. All transaction members, data and functions, are unique and identifiable by unique IDs. A data ID, in our implementation, identifies the transactional unit that produced it; a collection of data IDs implies a computational graph across all functions and data to allow the construction of data through the ID. IFP is already deeply embedded in radiotherapy in the DICOM standard. When applied to a treatment planning system (TPS), IFP greatly improves data handling and validation. For example, a dose instance in a treatment plan is represented by the computational graph (fig 1) that records the transactions which produced it. The graph is a lightweight representation of the activated parts of the treatment plan. Any change to an input or function in the graph will self-instantiate a new instance of the dose. This self-instantiation ensures consistency of outputs regardless of changes. For new releases of a non-IFP TPS, the physicist must recompute many plans and potentially deliver those plans (end-to-end) in order to compare against previous versions and the release statement. In an IFP TPS, validation is simplified: the “old” plan, i.e. its graph, is re-opened in the new version and in absence of changes to its members will yield the same resultant dose (and ID), hence proving the absence of changes. These validation plans inherently do not need to be delivered as previous measurements remain relevant. Therefore, only those plans with a change in input data or a function will recompute and require comparison. This considerably reduces validation efforts and allows a consistent recording of changes. Additional benefits of IFP include version management and automation of plan changes such as occur in adaptive radiotherapy.