ClearPlan is an open-source framework for automated radiotherapy plan review that integrates plan quality metric evaluation, DVH visualization, structured report generation, and failure-mode logging.
This starter release is intended as a readable and extensible baseline for institution-specific implementation, collaborative development, and research dissemination. Rather than publishing one clinic's full production rule set, the repository provides a small, transparent foundation that other teams can run, adapt, and validate in their own environment.
- A simplified starter
ErrorCalculatorwith general examples instead of clinic-specific nomenclature and network-dependent checks - Three small starter PQM tables for conventional plans, hypofractionated plans, and plan sums
- A readable
settings.jsonwith local default paths - Working Help menu entries for Change Log and Feedback
- Local default export folders for logs, reports, CSV exports, and app state
- Add institution-approved copies of
VMS.TPS.Common.Model.API.dllandVMS.TPS.Common.Model.Types.dlltoClearPlan-DLLs. - Build
ClearPlan.slnwithDebug|x64. - Open
built/settings.json. - Adjust paths or add a public feedback URL if needed.
- Start
built/ClearPlan.Runner.exeor load the built plugin in your ESAPI environment.
After the first build, the output folder contains:
built/ConstraintTemplates: starter PQM tablesbuilt/Logs: usage logs and comparison logsbuilt/Reports: generated PDF outputbuilt/Exports: CSV exportsbuilt/State: local app state such as version tracking
settings.json is the main configuration entry point. It is copied into the build output automatically.
Notes:
- Relative paths are resolved from the built application folder.
- Fields starting with
_commentare only there to help humans and are ignored by the loader. - Legacy
settings.inifiles are still supported as a fallback.
Important path settings:
constraintTemplatesDirectory: folder containing PQM CSV filesdefaultConventionalTemplate: default starter template for standard fractionationdefaultHypofractionatedTemplate: default starter template for high dose per fractiondefaultPlanSumTemplate: default starter template for plan sumslogsDirectory: diagnostic and comparison logsreportsDirectory: PDF report outputcsvExportDirectory: manual CSV export outputstateDirectory: local state filesusageLogFile: plan-selection usage logactivityLogFile: structured activity/failure logversionSeenUsersFile: local version-tracking file for changelog popupschangeLogFile: local markdown file opened from HelpfeedbackFile: local markdown fallback for feedback guidance
The optional links.feedbackUrl setting can point to a GitHub Issues page or another public feedback form. If it is left blank, ClearPlan opens FEEDBACK.md locally.
The repository ships these example CSVs:
Starter_Conventional.csvStarter_Hypofractionated.csvStarter_PlanSum.csv
They are intentionally small. They are meant to demonstrate:
- structure aliasing
- common DVH objective patterns
- a clean table layout for extension
You can keep your own larger institutional tables in the same folder. The starter templates are simply preferred defaults for first-time users.
The default starter checks focus on broadly understandable examples such as:
- missing or invalid dose
- missing treatment beams
- unapproved plans
- missing target structures
- missing or inconsistent primary reference points
- treatment-unit consistency
- dose-grid and image-resolution warnings for high-dose fractions
- basic plan-sum consistency checks
The open-source starter deliberately does not include clinic-specific nomenclature audits, internal network-share mining, or local workflow assumptions.
The Help menu now works as a self-contained onboarding feature:
Change Logopens the packaged changelog contentFeedbackopens a configured URL if present, otherwise the localFEEDBACK.md
This makes the release easier to distribute without wiring it to internal infrastructure.
ClearPlan.Script: main ESAPI plugin and UIClearPlan.Reporting: report data structuresClearPlan.Reporting.MigraDoc: PDF renderingClearPlan.Runner: desktop launcherClearPlan-DLLs: local third-party dependencies used by the starter build
Starter distribution files are maintained in ClearPlan.Script/Distribution and copied to built/ during compilation.
This repository is prepared for public sharing, but external users still need an ESAPI-capable environment and must verify whether they are allowed to use or redistribute vendor-specific assemblies in their institution.
The public starter repository does not track these vendor-specific ESAPI files:
ClearPlan-DLLs/VMS.TPS.Common.Model.API.dllClearPlan-DLLs/VMS.TPS.Common.Model.Types.dll
These must be supplied locally before building.
- Use GitHub Issues for bugs, onboarding problems, and feature requests.
- Use the templates in
.github/ISSUE_TEMPLATEto keep reports structured and anonymized. - See
CONTRIBUTING.mdfor guidance on starter-friendly changes.
For publication and collaboration, the important idea is:
- ClearPlan is a framework
- the starter package is intentionally lean
- production rule sets should be added by each institution on top of this base