WO2022187378A1 - Methods and systems for assigning radiotherapy plans to radiotherapy planning resources - Google Patents

Methods and systems for assigning radiotherapy plans to radiotherapy planning resources Download PDF

Info

Publication number
WO2022187378A1
WO2022187378A1 PCT/US2022/018544 US2022018544W WO2022187378A1 WO 2022187378 A1 WO2022187378 A1 WO 2022187378A1 US 2022018544 W US2022018544 W US 2022018544W WO 2022187378 A1 WO2022187378 A1 WO 2022187378A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
radiotherapy
assignment
radiotherapy plan
resources
Prior art date
Application number
PCT/US2022/018544
Other languages
French (fr)
Inventor
Antonio Leonardo DAMATO
Joel Bernard BEAUDRY
Original Assignee
Memorial Sloan-Kettering Cancer Center
Memorial Hospital For Cancer And Allied Disease
Sloan-Kettering Institute For Cancer Research
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Memorial Sloan-Kettering Cancer Center, Memorial Hospital For Cancer And Allied Disease, Sloan-Kettering Institute For Cancer Research filed Critical Memorial Sloan-Kettering Cancer Center
Publication of WO2022187378A1 publication Critical patent/WO2022187378A1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N5/00Radiation therapy
    • A61N5/10X-ray therapy; Gamma-ray therapy; Particle-irradiation therapy
    • A61N5/103Treatment planning systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/40ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to mechanical, radiation or invasive therapies, e.g. surgery, laser therapy, dialysis or acupuncture

Definitions

  • Radiotherapy planning or radiation treatment planning is a process that precedes radiation treatment and during which a detailed plan of how to execute the radiation treatment is prepared.
  • radiation planning involves determining the properties of the radiation beams, e.g., beam intensities, beam angles, etc., to be generated or used during the treatment sessions.
  • the radiotherapy planning may involve various simulations and may be time consuming.
  • a method of assigning radiotherapy treatment plans to radiotherapy planning resources can include one or more processors maintaining, in one or more data structures, resource availability data for a plurality of resources, and maintaining, in the one or more data structures, a plurality of radiotherapy plan data objects.
  • Each radiotherapy plan data object can correspond to a radiotherapy plan and identifying a type of treatment and a treatment anatomical site for the radiotherapy plan.
  • the method can include the one or more processors assigning, to each radiotherapy plan data object, a complexity score indicative of a complexity of the corresponding radiotherapy plan based on the type of treatment and the treatment anatomical site for the radiotherapy plan, and determining for each resource of the plurality of resources a target utilization score of the resource using the resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects.
  • the method can include the one or more processors identifying a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources.
  • the method can include the one or more processors determining, for each resource and for each candidate assignment, (i) a resource utilization score indicative of utilization of the resource over an assignment period including a plurality of time segments and (ii) a resource overload score computed using a utilization metric of the resource over each time segment of the plurality of time segments.
  • the resource utilization score and the resource overload score can be determined based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment.
  • the method can include the one or more processors computing, for each candidate assignment, an objective value of an objective function defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment.
  • a computer system for assigning radiotherapy treatment plans to radiotherapy planning resources can include one or more processors and a memory coupled to a memory storing executable instructions.
  • the executable instructions when executed, can cause the one or more processors to maintain, in one or more data structures, resource availability data for a plurality of resources, and maintain, in the one or more data structures, a plurality of radiotherapy plan data objects.
  • Each radiotherapy plan data object can correspond to a radiotherapy plan and identifying a type of treatment and a treatment anatomical site for the radiotherapy plan.
  • the one or more processors can assign, to each radiotherapy plan data object, a complexity score indicative of a complexity of the corresponding radiotherapy plan based on the type of treatment and the treatment anatomical site for the radiotherapy plan.
  • the one or more processors can determine, for each resource of the plurality of resources, a target utilization score of the resource using the resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects.
  • the one or more processors can identify a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources.
  • the one or more processors can determine, for each resource and for each candidate assignment, a resource utilization score indicative of utilization of the resource over an assignment period including a plurality of time segments and a resource overload score computed using a utilization metric of the resource over each time segment of the plurality of time segments.
  • the resource utilization score and the resource overload score can be determined based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment.
  • the one or more processors can compute, for each candidate assignment, an objective value of an objective function defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment.
  • a non-transitory computer-readable medium can include computer code instructions stored thereon.
  • the computer code instructions when executed can cause one or more processors to maintain, in one or more data structures, resource availability data for a plurality of resources, and maintain, in the one or more data structures, a plurality of radiotherapy plan data objects.
  • Each radiotherapy plan data object can correspond to a radiotherapy plan and identifying a type of treatment and a treatment anatomical site for the radiotherapy plan.
  • the one or more processors can assign, to each radiotherapy plan data object, a complexity score indicative of a complexity of the corresponding radiotherapy plan based on the type of treatment and the treatment anatomical site for the radiotherapy plan.
  • the one or more processors can determine, for each resource of the plurality of resources, a target utilization score of the resource using the resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects.
  • the one or more processors can identify a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources.
  • the one or more processors can determine, for each resource and for each candidate assignment, a resource utilization score indicative of utilization of the resource over an assignment period including a plurality of time segments and a resource overload score computed using a utilization metric of the resource over each time segment of the plurality of time segments.
  • the resource utilization score and the resource overload score can be determined based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment.
  • the one or more processors can compute, for each candidate assignment, an objective value of an objective function defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment.
  • FIG.1A shows a block diagram illustrating an example computer environment for implementing methods and processes described herein, according to example embodiments described in this disclosure.
  • FIG.1B is a block diagram depicting one implementation of a computer system architecture, according to example embodiments described in this disclosure.
  • FIG.2A shows a block diagram of a radiotherapy plan assignment system, according to example embodiments of the current disclosure.
  • FIG.2B shows diagrams depicting example data structures carrying radiotherapy plan data and resource data, according to example embodiments of the current disclosure.
  • FIG.3 is a flowchart of a method for assigning radiotherapy treatment plans to radiotherapy planning resources, according to example embodiments of the current disclosure.
  • FIG.4 shows diagrams illustrating two examples for computing resource overload scores, according to some example embodiments of the current disclosure.
  • FIGS.5A- 5C show user interfaces (UI) depicting visual representations of output assignments, according to some example embodiments of the current disclosure.
  • FIGS.6A-6D show interactive UIs depicting other visual representations of output assignments, according to some example embodiments of the current disclosure.
  • FIGS.7A-7C and 8A-8D show UIs corresponding to FIGS.5A-5C and 6A-6D, respectively.
  • DETAILED DESCRIPTION [0016] For purposes of reading the description of the various embodiments below, the following descriptions of the sections of the specification and their respective contents may be helpful: [0017] Section A describes a computing and network environment, which may be useful for practicing embodiments described herein. [0018] Section B describes optimization of assignment of radiotherapy plans to radiotherapy planning resources. A.
  • FIG.1A illustrates an example computer environment 100 that can be used to provide a network-based implementation of the methods of assigning radiotherapy treatment plans to radiotherapy planning resources described herein.
  • the computer environment 100 can include one or more computing devices 110, a resources database 120 and a radiotherapy (RT) plan database 130.
  • the one or more computing devices 110, the resources database 120 and the radiotherapy plan database 130 may be connected to each other through a network 140.
  • the examples of the network 140 may include, but are not limited to, private or public local area network (LAN), a wireless LAN (WLAN), a metropolitan area network (MAN), a wide-area network (WAN), the Internet or a combination thereof among other types of networks.
  • the network 140 may support both wired and wireless communications according to one or more standards and/or via one or more transport mediums.
  • the communication over the network 140 may be performed in accordance with various communication protocols such as Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), and IEEE communication protocols.
  • TCP/IP Transmission Control Protocol and Internet Protocol
  • UDP User Datagram Protocol
  • IEEE communication protocols such as Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), and IEEE communication protocols.
  • the network 140 may include wireless communications according to Bluetooth specification sets or another standard or proprietary wireless communication protocol.
  • the network 140 may also include communications over a cellular network, including, e.g., a GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), EDGE (Enhanced Data for Global Evolution) network.
  • GSM Global System for Mobile Communications
  • CDMA Code Division Multiple Access
  • EDGE Enhanced Data for Global Evolution
  • the computer environment 100 is not necessarily confined or restricted to the components described herein and may include additional or alternative components, not shown for brevity, which are to be considered within the scope of the embodiments described herein.
  • the resources database 120 and/or the database 130 of radiotherapy plans can include one or more computer servers.
  • the computer environment 100 may include user devices communicatively coupled to the one or more computing devices 110 via the network 140.
  • the one or more computing devices 110 can be configured to execute computer instructions to perform any of the methods described herein or operations thereof.
  • the one or more computing devices 110 may generate and display an electronic platform to display information indicative of or related to assignment of radiation treatment plans to radiotherapy planning resources.
  • the electronic platform may include a graphical user interface (GUI) displayed on the computing device(s) 110 or user devices communicating with the computing device(s) 110.
  • GUI graphical user interface
  • An example of the electronic platform generated and hosted by the computing device(s) 110 may be a web-based application or a website configured to be displayed on different electronic devices, such as mobile devices, tablets, personal computer, and the like.
  • the one or more computing device(s) 110 may host a website accessible to end- users, where the content presented via the various webpages may be controlled based upon each particular user's role or viewing permissions.
  • the computing device 110 may be any computing device comprising a non-transitory machine-readable storage and one or more processors capable of executing the various tasks and processes described herein. Non- limiting examples of such computing devices may include workstation computers, desktop computers, server computers, laptop computers, and the like. While the computer environment 100 shows a single computing device 110, in some configurations, methods and processes described herein can be executed by a data processing system including a plurality of the computing devices 110, for example, operating in a distributed computing environment.
  • the computing device(s) 110 may execute software applications configured to display the electronic platform (e.g., host a website or application), which may generate and serve various webpages or application pages to each user device. Different users operating the user devices may use the website or application to view and/or interact with the output assignments of radiotherapy treatment plans.
  • the computer device(s) 110 may be configured to require user authentication based upon a set of user authorization credentials (e.g., username, password, biometrics, cryptographic certificate, and the like).
  • the computing device(s) 110 may access a system database (not shown in FIG.1A) configured to store user credentials, which the computing device(s) 110 may be configured to access in order to determine whether a set of entered credentials (purportedly authenticating the user) match an appropriate set of credentials that identify and authenticate the user.
  • the computing device(s) 110 may generate webpages or user interfaces (UIs) based upon a particular user's role (e.g., administrator, radiologist, radiotherapy planner and/or manager).
  • the user's role may be defined by data fields and input fields in user records stored in the system database.
  • the computing device(s) 110 may authenticate the user and may identify the user's role by executing an access directory protocol (e.g. LDAP).
  • the computing device(s) 110 may generate webpage content that is customized according to the user's role defined by the user record in the system database. For instance, for a given planner, the computing device(s) 110 may provide output related to radiotherapy plan assignments associated with a team of the planner.
  • the computing device(s) 110 may receive or access resource availability data from the resource database 120.
  • Resource availability data can include information indicative of time segments (e.g., days) during which a resource is available, time segments during which a resource is unavailable and/or the workload of the resource over various time segments.
  • the resource availability data can include calendar data for a plurality of resources.
  • a radiotherapy planning resource can include a radiotherapy planner, e.g., a radiation oncologist and/or a planning device or equipment.
  • a time segment can be a working day or a time slot, such as a 15-minute time slot, a 30-minute time slot, a one-hour time slot or the like.
  • the resource availability data can include information indicative of capabilities of different resources, e.g., with respect to various types of radiotherapy treatments.
  • a radiotherapy planner may have signoff credentials (e.g., certified or licensed) to perform planning for only specific types of radiotherapy treatments, e.g., based on trainings previously done by the planner.
  • planning device may be equipped with planning software for specific types of radiotherapy treatments.
  • the type of a radiotherapy treatment may depend on the treatment anatomical site (e.g., the anatomical region to which radiation is to be applied), a cancer stage, the spread of a tumor within the anatomical region, other medical conditions of a patient, the type of radiation equipment to be used or a combination thereof, among others.
  • the computing device(s) 110 may receive or access radiotherapy plan data from the RT plan database 130.
  • the radiotherapy plan data can include information indicative of or related to radiotherapy plans to be performed.
  • the radiotherapy plan data for a given plan to be performed can include patient information, radiotherapy treatment type, anatomical treatment/radiation site for (e.g., where radiation is to be applied), deadline by which the plan should be ready, planning duration or a combination thereof, among others.
  • the resource database 120 can include one or more databases, such as a calendar database maintaining availability data for various radiotherapy planning resources, a resource profile database maintaining profiles for various resources or a combination thereof.
  • the calendar data can include information indicative of resource capacity, tasks or responsibilities already assigned to various resources, free time segments during which the resource can handle new additional tasks, unavailability time segments (e.g., during which the resource is unavailable) or a combination thereof, among others.
  • the profile database can maintain a separate profile for each planning resource.
  • the respective profile can include information indicative of capabilities of the resource (e.g., signoff credentials or authorizations to perform planning for different types of radiotherapy treatments), a campus or geolocation of the resource, a team of the resource or a combination thereof, among others.
  • the RT plan database 130 can maintain data or information indicative of or related to radiotherapy plans that are to be assigned, radiotherapy plans that are assigned but not completed yet, a history of completed radiotherapy plans or a combination thereof.
  • the corresponding information can include the patient information, the treatment type, the treatment site, the duration of the planning phase, information indicative of the urgency of the planning, a due date for completing the plan or a combination thereof.
  • Radiotherapy plan data can be in the form of radiotherapy plan data objects (e.g., a data table, data array, set of parameters, etc.) with each radiotherapy plan data object corresponding to a radiotherapy plan.
  • Each radiotherapy plan data object can include parameters identifying properties or characteristics of the corresponding radiotherapy plan, such as the type of treatment and the treatment anatomical site for the radiotherapy plan.
  • the computing device(s) 110 can generate radiotherapy plan data object for each radiotherapy plan based on data accessed or retrieved from the RT plan database 130.
  • the resource database 120 and/or the RT plan database 130 can include a storage device to store data, one or more processors to manage storing, transfer, updates and/or removal of the data, communication interfaces to communicate with other devices (e.g., the computing device(s) 110) or a combination thereof.
  • the computing device(s) 110 can access data from the resource database 120 and/or the RT plan database 130 using separate application programming interfaces (APIs). For instance, the computing device(s) 110 can use one or more first APIs to access data from the resource database 120, and use one or more second APIs to access data from the RT plan database 130.
  • the computing device(s) 110 can use the accessed data to assign the radiotherapy plans to radiotherapy planning resources as described in further detail below.
  • FIG.1A shows a network-based implementation
  • methods described herein can be implemented by a single computing device that accesses or receives the resource availability data and the radiotherapy pan data from the resource database 120 and the RT plan database 130, respectively, and determines an optimized assignment of the radiotherapy plans to the radiotherapy planning resources according to methods described herein.
  • FIG.1B a block diagram depicting one implementation of a system architecture for a computing system 150 that may be employed to implement methods described herein is shown, according to inventive concepts of the current disclosure.
  • the computing system 150 can include a computing device 152.
  • the computing device 152 can represent an example implementation of the computing device(s) 110, the database 120 and/or the database 130 of FIG.1A.
  • the computing device 152 can include, but is not limited to, a desktop, a laptop, a hardware computer server, a workstation, a personal digital assistant, a mobile computing device, a smart phone, a tablet, or other type of computing device.
  • the computing device 152 can include one or more processors 154 to execute computer code instructions, a memory 156 and a bus 158 communicatively coupling the processor 154 and the memory 156.
  • the one or more processors 154 can include a microprocessor, a general purpose processor, a multi-core processor, a digital signal processor (DSP) or a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC) or other type of processor.
  • DSP digital signal processor
  • FPGA field programmable gate array
  • ASIC application-specific integrated circuit
  • the one or more processors 154 can be communicatively coupled to the bus 158 for processing information.
  • the memory 156 can include a main memory device 160, such as a random-access memory (RAM) other dynamic storage device, coupled to the bus 158 for storing information and instructions to be executed by the processor 154.
  • the main memory device 160 can be used for storing temporary variables or other intermediate information during execution of instructions (e.g., related to methods described herein such as method 200) by the processor 154.
  • the computing device 152 can include a read-only memory (ROM) 162 or other static storage device coupled to the bus 158 for storing static information and instructions for the processor 154.
  • the ROM 162 can store medical images of patients, for example, received as input.
  • the ROM 162 can store computer code instructions related to, or representing an implementation of, methods described herein.
  • a storage device 164 such as a solid state device, magnetic disk or optical disk, can be coupled to the bus 158 for storing (or providing as input) information and/or instructions.
  • the computing device 152 can be communicatively coupled to, or can include, an input device 166 and/or an output device 168.
  • the computing device 102 can be coupled via the bus 158 to the output device 168.
  • the output device 168 can include a display device, such as a Liquid Crystal Display (LCD), Thin-Film-Transistor LCD (TFT), an Organic Light Emitting Diode (OLED) display, LED display, Electronic Paper display, Plasma Display Panel (PDP), or other display, etc., for displaying information to a user.
  • the output device 168 can include a communication interface for communicating information to other external devices.
  • An input device 166 such as a keyboard including alphanumeric and other keys, may be coupled to the bus 158 for communicating information and command selections to the processor 154. In another implementation, the input device 166 may be integrated within a display device, such as in a touch screen display.
  • the input device 166 can include a cursor control, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 154 and for controlling cursor movement on the display device.
  • a cursor control such as a mouse, a trackball, or cursor direction keys
  • the arrangement of computer code instructions can be read into main memory device 160 from another computer-readable medium, such as the ROM 162 or the storage device 164. Execution of the arrangement of computer code instructions stored in main memory device 160 can cause the computing system 150 to perform the methods described herein or operations thereof.
  • one or more processors 154 in a multi-processor arrangement may be employed to execute the computer code instructions representing an implementation of methods or processes described herein.
  • hard-wired circuitry may be used in place of or in combination with software instructions to effect illustrative implementation of the methods described herein or operations thereof.
  • implementations are not limited to any specific combination of hardware circuitry and software.
  • the functional operations described in this specification can be implemented in other types of digital electronic circuitry, in computer software, firmware, hardware or a combination thereof.
  • Radiotherapy plans When assigning radiotherapy plans to radiotherapy planning resources, one seeks to assign the radiotherapy plans in a way that the usability or workload of the planning resources is reasonable and balanced over time. Overloading a resource (e.g., a planner) may cause a delay in many plans and the corresponding radiation treatments. For cancer patients, such delays can imply more spreading of the tumor in the body and more anxiety for patients. [0037] Optimizing the assignment of radiotherapy plans to radiotherapy resources calls for knowledge or estimation of the amount of resource utilization to perform each radiotherapy plan.
  • a resource e.g., a planner
  • radiotherapy planning resources usually have different capabilities and different levels of efficiencies in preparing radiotherapy plans.
  • completion or preparation of different radiotherapy plans of different types or different characteristics usually involve different skills and consume different amounts of resource utilization units (e.g., in terms of processing time duration).
  • the time duration to prepare a radiotherapy plan may depend on the anatomical radiation site and/or the type of radiation treatment.
  • the radiation site includes critical organs or tissue (e.g., the tumor located close to critical organs or tissue) that should not be damaged during the radiation treatment
  • the planning of the treatment will be more complex and will involve more simulations and/or creativity to achieve a relatively high radiation dosage for the tumor while maintaining a relatively low radiation dosage for the critical organs or tissue.
  • the amount of resource utilization to execute or prepare a radiotherapy plan can depend on the campus or center where the radiation treatment is to take place. Different radiation treatment centers or campuses can have different treatment devices, different procedural rules or accessories and/or different attending doctors. [0038] All the above factors can have an effect on the amount of time it takes to complete a radiotherapy plan for a radiation treatment to be performed in a given treatment center or campus.
  • complexity scores can be assigned to different radiotherapy plans based on, for example, the corresponding type of radiotherapy treatment and the anatomical radiation site.
  • the complexity scores reflect relative complexities (or relative difficulties) of the corresponding radiotherapy plans, and can be used as a basis (or as units) for determining relative metrics or scores of target utilizations, resource utilizations and/or relative metrics or scores for resource overloading.
  • Embodiments described herein also make use of resource overload scores to penalize, or associate an additional cost with, resource overloading events.
  • the resource overload scores can be integrated in an objective function to reduce the likelihood or frequency of overloading resources with assigned radiotherapy plans over any day or time segment.
  • solutions for solving the assignment optimization problem described in this disclosure are computationally efficient compared to solutions where an objective function is evaluated for all possible assignments.
  • the objective function in embodiments described herein is evaluated only for candidate assignments that satisfy the set of constraints specified in the optimization problem.
  • the systems and methods described herein introduce and make use of resource overloading scores as an inventive approach to penalize or assign an additional cost to resource overloading events.
  • the assignment optimization described herein reduces chances that the final output assignment may result in one or more resources being overloaded in one or more time segments.
  • the fact that the evaluation of the objective function, in embodiments described herein, is limited to candidate assignments satisfying the optimization constraints lead to a significant reduction in computational complexity. For example, in a scenario where there are 10 resources and 10 new plans to be assigned, the total number of possible assignments is 2 ⁇ . Evaluating a cost function for such a large number of possible assignments, as done in existing solutions, is computationally expensive and takes a relatively long time.
  • the candidate assignments satisfying the constraints can orders of magnitude smaller that total number of possible assignments.
  • the technical solution(s) described herein can be used to assign computer processing tasks to computer resource in environments where different computer resources may have different capabilities, configurations, access permissions and/or availabilities.
  • image registration tasks e.g., related to fusion
  • DSPs digital signal processors
  • FIG.2A a block diagram of a radiotherapy plan assignment system 200 is shown, according to example embodiments of the current disclosure.
  • the radiotherapy plan assignment system 200 can include a local radiotherapy plan database 202 and a local resource database 204.
  • the local radiotherapy plan database 202 can store or maintain a plurality of radiotherapy plan data objects 206.
  • Each radiotherapy plan data object 206 can correspond to a radiotherapy plan of a plurality of radiotherapy plans, and can include parameter values indicative of properties or attributes of the radiotherapy plan.
  • the local resource database 204 can store or maintain a plurality of resource data objects 208.
  • Each resource data object can correspond to a radiotherapy planning resource of a plurality of radiotherapy planning resources, and can carry or include parameter values indicative of properties or attributes of the radiotherapy planning resource.
  • the local radiotherapy plan database 202 and the local resource database 204 can be maintained in a memory such as memory 156 of the computing device 152.
  • the radiotherapy plan assignment system 200 can include a radiotherapy plan database manager 210 configured to manage updates to, and access of, the local radiotherapy plan database 202.
  • the radiotherapy plan assignment system 200 can include a resource database manager 212 configured to manage updates to, and access of, the local resource database 204.
  • the radiotherapy plan assignment system 200 can include a complexity score assignment component 214 configured to assign complexity scores to radiotherapy plans or to corresponding radiotherapy plan data objects 206.
  • the radiotherapy plan assignment system 200 can include a utilization and overload component 216 configured to compute resource utilization scores and resource overload scores.
  • the radiotherapy plan assignment system 200 can include a candidate assignment identification component 218 configured to identify candidate assignments satisfying a set of constraints of the assignment optimization problem.
  • the radiotherapy plan assignment system 200 can include an optimization component 220 configured to evaluate an objective function for each candidate assignment, and determine or identify an assignment corresponding to a minimum of the objective function.
  • the radiotherapy plan assignment system 200 can include a rendering component 222 configured to display data indicative of the assignment output by the optimization component 220.
  • Each of the radiotherapy plan database manager 210, the resource database manager 212, the complexity score assignment component 214, the utilization and overload component 216, the candidate assignment identification component 218, the optimization component 220 or the rendering component 222 can be implemented as one or more software modules, one or more hardware modules or a combination of both. For instance, each of these components can be implemented as computer instructions that can be executed by one or more processors to perform the corresponding function(s).
  • FIG.2B shows diagrams depicting example data arrays 230 and 240 carrying radiotherapy plan data and resource data, respectively, according to example embodiments of the current disclosure.
  • the data array 230 can be an array of radiotherapy plan data objects 206, each of which corresponding to a separate radiotherapy plan.
  • Each radiotherapy plan data object 206 can include data parameters indicative of properties or attributes of the corresponding radiotherapy plan, such as the plan due date, the plan start date (e.g., if plan is already assigned), the duration of the planning process, patient information, the radiation treatment site, the treatment technique, whether the plan involves fusion (a process of image registration), a plan status (e.g., assigned or not assigned) and an indication of plan difficulty or a combination thereof.
  • Each radiotherapy plan data object 206 can be a data structure that is stored in memory and includes a plurality of fields with values corresponding to the data parameters.
  • the data array 240 can be an array of resource objects 208, each of which corresponding to a separate radiotherapy planning source.
  • Each resource data object 208 can include data parameters indicative of properties or attributes of the corresponding radiotherapy planning resource, such as the resource team, the resource campus, resource capabilities (e.g., signoff credentials), time segments indicative of availability of the resource, time segments indicative of unavailability of the resource, resource workload or usability, resource clinical duties or roles a combination thereof.
  • Each resource data object 208 can be a data structure that is stored in memory and includes a plurality of fields with values corresponding to the data parameters.
  • the data objects 206 and 208 can be rows (or columns) of tables, linked lists (e.g., the data arrays 230 and 240 can be arrays of linked lists or other forms of data structures.
  • the array 230 and/or 240 can be an array of pointers where each pointer points to a corresponding data object (e.g., data object 206 or data object 208). While FIG.2B shows the radiotherapy plan data and the resource data organized in the form of arrays of data objects, other implementations can include trees of data objects or other forms of data structures.
  • the method 300 can include assigning, to each radiotherapy plan data object, a complexity score indicative of a complexity of a radiotherapy plan corresponding to the radiotherapy plan data object (STEP 302), and determining a target utilization score for each resource of a plurality of resources (STEP 304).
  • the method 300 can include identifying a plurality of candidate assignments satisfying a set of constraints (STEP 306), and determining, for each resource and for each candidate assignment, a resource utilization score and a resource overload score (STEP 308).
  • the method can include computing, for each candidate assignment, an objective value of an objective function (STEP 310), and determining a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function (STEP 312).
  • the method 300 can include providing information indicative of the first assignment for display on a display device (STEP 314).
  • the method 300 can be implemented or executed by the computing device(s) 110 or 152 or the processor(s) 154.
  • the method 300 can include the processor(s) 154 assigning, to each radiotherapy plan data object, a complexity score indicative of a complexity of a radiotherapy plan corresponding to the radiotherapy plan data object based on the type of treatment and the treatment anatomical site for the radiotherapy plan (STEP 302).
  • the processor(s) 154 can maintain, in one or more data structures, resource availability data for a plurality of resources.
  • the resource database manager 212 can maintain the resource availability data or resource data in the resource database 204, as discussed above with regard to FIGS.2A and 2B.
  • the resource availability data (or resource data) can include, for each resource, information indicative of a team of the resource, a campus or center of the resource, capabilities or credentials of the resource (e.g., the treatment site(s) and/or treatment technique(s) for which the resource has authorization to or credentials), time segments (e.g., days) during which the resource is available, time segments during which the resource is unavailable, the workload of the resource over various time segments, other tasks or clinical roles of the resource or a combination thereof, among others.
  • the resource availability data can include, for each radiotherapy planning resource, a corresponding resource data object 208 (e.g., data structure) including data specifying properties or attributes for the resource.
  • the resource availability data can be organized in the form of one or more data tables, one or more data arrays, one or more data records or a combination thereof.
  • the processor(s) 154 can access or retrieve the resource availability data from the resource database 120.
  • the processor(s) 154 can maintain the resource availability data in the same form of data structures used by the resource database 120, or reorganize the resource availability data in different data structure(s).
  • the processor(s) 154 can maintain, in the one or more data structures, a plurality of radiotherapy plan data objects 206, where each radiotherapy plan data object corresponds to a radiotherapy plan and identifies a type of treatment and a treatment anatomical site for the radiotherapy plan.
  • the radiotherapy plan database manager 210 can maintain the radiotherapy plan data objects 206 in the radiotherapy plan database 202.
  • the processor(s) 154 or the database manager 210 can access or retrieve radiotherapy plan data from the RT plan database 130.
  • the radiotherapy plan data can include information indicative of or related to a plurality of radiotherapy plans.
  • the radiotherapy plan data for each radiotherapy plan can include, but is not limited to, the due date, the start date, anatomical treatment (or radiation) site, treatment technique, whether fusion is required, team, plan status, indication of difficulty, patient information, planning duration or a combination thereof, among others.
  • the accessed or retrieved radiotherapy plan data can be in the form of a plurality of radiotherapy plan data objects 206 (e.g., data records, data tables, data arrays, sets of parameters, etc.) with each radiotherapy plan data object 206 corresponding to a radiotherapy plan.
  • the processor(s) 154 may organize the accessed or retrieved radiotherapy plan data into separate radiotherapy plan data objects 206 corresponding to different radiotherapy plans.
  • Each radiotherapy plan data object 206 can include parameters identifying properties or characteristics of the corresponding radiotherapy plan, such as the type of treatment, the treatment anatomical site, patient information, planning duration, plan delivery due date or a combination thereof, among others.
  • the processor(s) 154 can maintain a local radiotherapy plan database 202 and a local resource database 204 that contain all parameters or information to be used in assigning radiotherapy plans to radiotherapy planning resources.
  • the processor(s) 154 can distinguish, in the radiotherapy plan database 202 or log, between assigned plans and unassigned plans (yet to be assigned).
  • the local resource database 204 now can include information indicative of the current workload of each resource individually, as well as the entire workload across all resources.
  • the processor(s) 154 can assign, to each radiotherapy plan data object, a complexity score (or difficulty score) indicative of a complexity of a radiotherapy plan corresponding to the radiotherapy plan data object based on at least the type of treatment and/or the treatment anatomical site for the radiotherapy plan (STEP 302). This step can be performed by the complexity score assignment component 214.
  • the processor(s) 154 or the complexity score assignment component 214 can use a lookup table (or other data structure) that specifies predefined complexity scores for different types and/or categories of radiotherapy plans to assign the complexity scores to the plurality of radiotherapy plans.
  • the complexity scores can be specified based on the type and number of sub-tasks associated with each plan type or category.
  • the processor(s) 154 or the complexity score assignment component 214 can determine the sub-tasks associated with each radiotherapy plan (e.g., using a lookup table and based on radiotherapy plan data), and assign the complexity score according to the sub-tasks of the radiotherapy plan.
  • the method 300 can include the processor(s) 154 determining, for each resource of a plurality of resources, a target utilization score of the resource using resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects (STEP 304). This step can be performed or executed by the utilization and overload component 216.
  • the processor(s) 154 can compute an expected average workload as: where ⁇ ⁇ is the complexity score of the radiotherapy plan with index i, ⁇ ⁇ is the workload percentage of the resource with an index ⁇ , and ⁇ ⁇ is the resource availability (e.g., for radiotherapy planning).
  • the resource workload percentage can be defined based on a profile or a clinical role of the resource as a percentage from 0% to 100%.
  • the resource availability can be defined as a fraction of days or time, over an assignment period, during which the Attorney Docket No. 115872-2471 resource is available.
  • the processor(s) 154 or the utilization and overload component 216 can compute or determine the target utilization score for a resource with resource index p as:
  • the target utilization score ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ represents the total workload of the resource having index p over the assignment period.
  • the method 300 can include the processor(s) 154 identifying a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources (STEP 306). This step can be performed by the candidate assignment identification component 218.
  • the assignment optimization problem can be formulated as: subject to a set of constraints, where ⁇ represents an objective function (or cost function) and M represents the set of all possible assignments of the radiotherapy plans to the radiotherapy planning resources.
  • the optimization problem can be solved by minimizing the objective function over all possible assignments subject to a set of constraints.
  • the set of constraints can include, for example, a limit on a maximum number of plans assigned to any resource and that are due on a same time segment of the planning period. That is, the resource cannot be assigned more than a predefined number of radiotherapy plans (e.g., 3 plans, 4 plans or some other number) that are due on the same day or the same time segment.
  • the set of constraints can include a constraint limiting the number of radiotherapy plans that can be newly assigned to any resource in the assignment (e.g., 3 plans, 4 plans or some other number).
  • Another constraint can limit the number of radiotherapy plans with fusion that can be newly assigned, according to an assignment, to any resource (e.g., 2 plans or some other number). Another constraint can limit the total number of radiotherapy plans (e.g., 10 plans, 11 plans, 12 plans or some other number) that a resource can have during the whole assignment period. Another constraint can imply that no radiotherapy plan can be assigned to a resource that does not have the capabilities or signoff credentials required to prepare the radiotherapy plan. For each radiotherapy plan, specific resource capabilities or credentials may be required based on, for example, the plan type, the corresponding anatomical radiation site and/or the radiation technique of the plan.
  • the resource In order for a resource to be assigned a given radiotherapy plan, the resource should have the proper capabilities or credentials associated with the plan. 19 4855-9294-6706.1 [0055]
  • Other constraints may relate to resource unavailability. For instance, assuming that all plans have a fixed planning duration, e.g., 4 days, no plan can be assigned to a resource where the resource is unavailable for two consecutive days and/or the last day of the 4-day planning period. According to another constraint, while the resource is unavailable or off, no new plans should be assigned to the resource for performing after the unavailability period before the last day when the resource is off or unavailable. Another constraint may relate to multiple radiotherapy plans associated with different radiation/treatment sites of a single patients.
  • the assignment optimization problem can include any combination of the above described constraints and/or other constraints. Other constraints can be defined and used as part of the optimization problem.
  • the processor(s) 154 or the candidate assignment identification component 218 can identify a subset of candidate assignments from the set M of all possible assignments. In some implementations, the processor(s) 154 can generate each possible assignment, and check whether the assignment satisfies the set of constraints specified in the optimization problem. For each possible he processor(s) 154 can check each constraint in the set of constraints.
  • the method 300 can include the processor(s) 154 or the utilization and overload component 216 determining, for each resource and for each candidate assignment, a resource utilization score and a resource overload score (STEP 308).
  • the processor(s) 154 can determine the resource utilization score and the resource overload score based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment.
  • the resource utilization score can be indicative of utilization of the resource over an assignment period including a plurality of time segments.
  • the processor(s) 154 can compute the resource utilization score over the assignment period as: where ⁇ ⁇ ⁇ ⁇ is equal to the complexity score of the i th radiotherapy plan if the i th radiotherapy is assigned to the p th resource in the candidate assignment, otherwise ⁇ ⁇ ⁇ ⁇ ⁇ 0. [0058]
  • the processor(s) 154 can compute the resource overload score using a utilization metric of the resource over each time segment of the plurality of time segments.
  • the assignment period can include a plurality of days and the resource overload score can be defined in terms of resource utilization over each day of the plurality of days.
  • resource utilization U ⁇ p ⁇ describes the cumulative resource utilization over the whole assignment period
  • many radiotherapy plans can be assigned to a single resource over overlapping time segments (e.g., being worked on concurrently).
  • a candidate assignment may lead to overloading a resource over one or more time segments.
  • a resource overload score or term can used in the objective function ⁇ to penalize or associate a cost with any resource overloading event.
  • the resource overload score (or a resource overload function) can be defined as the sum, over all time segments, of the squares of per-segment resource utilization.
  • the processor(s) 154 can compute the resource overload score for the resource with resource index p as: where ⁇ ⁇ is the k th time segment (e.g., k th day) in the assignment period, and the term ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ is equal to the complexity score of the i th radiotherapy plan if the i th radiotherapy is assigned, according to the candidate assignment, to the resource with resource index p during the time segment ⁇ , otherwise ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ 0. [0059]
  • the term ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ represents the resource utilization over the time segment ⁇ ⁇ .
  • each time segment T K can represent a separate day of a plurality of days of the assignment period.
  • FIG.4 diagrams illustrating two examples (a) and (b) for computing resource overload scores, according to example embodiments of the current disclosure.
  • Example (a) can correspond to a first candidate assignment while example (b) can correspond to a second candidate assignment.
  • three radiotherapy plans e.g., RT Plan A, RT Plan B and RT Plan C, are assigned to a single resource.
  • Each radiotherapy plan is to be completed over four consecutive time segments (e.g., four consecutive days).
  • the three four-segment planning periods for the three plans overlap in both example (a) and example (b) leading to overloading the resource over multiple time segments.
  • Each radiotherapy plan has a complexity score of 1 over the corresponding planning period.
  • the planning periods (or execution periods) of all the three radiotherapy plans overlap in two time segments
  • the planning periods (or execution periods) of all the three radiotherapy plans overlap in three time segments.
  • the resource overload score in example (b) is larger than the resource overload score in example (a).
  • the resource overload score for the resource with resource index p can be defined as: ⁇ where m is a number greater than 1, or greater than or equal to 2.
  • the method 300 can include the processor(s) 154 or the optimization component 220 computing, for each candidate assignment, an objective value of an objective function (STEP 310), and determining a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function (STEP 312).
  • the objective function can be defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment.
  • the objective function can include a sum of (i) squares of the differences between the resource utilization scores and the target utilization scores for the plurality of resources and (ii) resource overload scores for the plurality of resources.
  • the objective function can be defined, and computed, as: where the resource utilization score ⁇ ⁇ is as defined above.
  • the term ⁇ ⁇ , ⁇ is a regularization term that can depend on (or take into account) attributes of a resource with index ⁇ and attributes of a radiotherapy plan with index i when the radiotherapy plan with index i is assigned (according to a candidate assignment) to the resource with index ⁇ .
  • the regularization term ⁇ ⁇ , ⁇ can be a positive number to penalize the assignment of the plan to the resource, otherwise the regularization term ⁇ ⁇ , ⁇ can be equal to zero.
  • the resource may belong to a different campus than the one where the radiation treatment (based on the plan) will be done. In such case, the assignment of the plan to the resource is penalized or associated with an additional cost to reduce the likelihood that a plan associated with a given campus is assigned to a resource belonging to a different campus.
  • the regularization term ⁇ ⁇ , ⁇ depend on the treatment campus (an attribute of radiotherapy plans), the resource campus, variety of plans assigned to a resource, additional tasks associated a radiotherapy plan or a combination thereof, among others.
  • the regularization term ⁇ ⁇ , ⁇ can be used to increase (or reduce) plan variety for any resource.
  • the regularization term ⁇ ⁇ , ⁇ can be used to penalize or associate an additional cost with assigning a plan having additional tasks (e.g., fusion) to a resource under some conditions.
  • the objective function may not include the regularization term, and may be defined as: [0064]
  • the processor(s) 154 or the optimization component 220 can evaluate the objective function C for each candidate assignment identified in step 306 of the method 300. Evaluating the objective function only for candidate assignments that satisfy the set of constraints leads to a significant reduction in computational complexity.
  • the processor(s) 154 or the optimization component 220 can use the objective values of the objective function computed for the different candidate assignments to determine an assignment from the candidate assignments to be provided as output or as a final solution of the optimization problem.
  • the processor(s) 154 or the optimization component 220 can determine the assignment associated with the minimum objective value, among the computed objective values, as the final solution of the optimization problem.
  • an assignment period refers to a time period or time window (in the future) over which unassigned radiotherapy plans will be performed once assigned.
  • the assignment period can be the next ten days and the processor(s) 154 or the assignment system 200 may decide to assign all the unassigned plans to be executed or performed in the next ten days.
  • a planning period for a given radiotherapy plan refers the time period (e.g., 4) during which the resource to which the plan is assigned is expected to completer the plan.
  • a candidate plan refers to an assignment or mapping of all unassigned radiotherapy plans, considered in the assignment optimization problem, are assigned to radiotherapy planning resources.
  • the method 300 can include the processor(s) 154 or the rendering component 222 providing information indicative of the assignment determined as the final solution for display on a display device (STEP 314).
  • the processor(s) 154 or the rendering component 222 can provide a visual representation of the assignment for display.
  • the visual representation can be in the form of a table or two-dimensional array with one dimension of the table (e.g., columns) representing various time segments and another dimension (e.g., rows) representing different resource.
  • FIGS.5A-5C UIs depicting visual representations of output assignments are shown, according to example embodiments in the current disclosure.
  • FIG.5A shows assignments of radiotherapy plans for Team G
  • FIG.5B shows assignments of radiotherapy plans for Team H
  • FIG.5C shows assignments of radiotherapy plans for Team R.
  • Each column represents a day of the assignment period.
  • Each row represents a corresponding resource.
  • Each cell represents a workload or availability of a corresponding resource during a corresponding day.
  • Obliquely hashed cells represent days during which corresponding resources (or radiotherapy planners) are off. Dotted cells represent days during which corresponding resources (or radiotherapy planners) have reduced working/operational hours.
  • Cross-hashed cells represent days during which corresponding resources (or radiotherapy planners) have other clinical tasks or responsibilities.
  • the grayscale color represents a level of busyness or usability of the resources during corresponding days.
  • the number in any cell represents the number of radiotherapy plans assigned to the corresponding resource and which are due for completion on the day corresponding to the cell.
  • the number after the symbol “+”, in any cell represents the number of radiotherapy plans newly assigned (e.g., as a result of solving the optimization problem) to the corresponding resource and which are due for completion on the day corresponding to the cell.
  • FIGS.6A-6D interactive UIs depicting other visual representations of output assignments are shown, according to example embodiments in the current disclosure.
  • the processor(s) 154 or the rendering component 222 can provide an interactive user interface depicting resource utilization scores of the plurality of resources computed over separate times segments of the plurality of times segments, such as the interactive UIs shown in FIGS.6A-6D.
  • the various hashing patterns, doted patterns and grayscale color represent the same thin as in FIGS.5A-5C.
  • the number in each cell represents the resource usability score of the corresponding resource over the day (or time segment) corresponding to the cell. In other words, the number in each cell represents the sum of complexity scores of the radiotherapy plans in the queue of the corresponding resource on the day (or time segment) corresponding to the cell.
  • FIG.6A and 6B depict assignment results for Team G
  • FIGS.6C and 6D depict assignment results for Team H.
  • Each of the UIs in FIGS.6A-6D can include a table having interactive cells depicting the resource utilization scores of the plurality of resources for each time segment. Each cell of the table can be selectable to display radiotherapy plans assigned to a respective resource on a respective time segment. For instance, FIGS.6B and 6C depict the interactive nature of various cells.
  • FIGS.7A-7C and 8A-8D are similar to FIGS.5A-5C and 6A-6D, respectively, except that text and cell border lines are depicted in dashed lines to indicate that the boarder lines can be optional, and different text can be displayed. It is to ne noted that the UIs shown in FIGS.5A-5C and 7A-7C can also be interactive UIs that with interactive cells.
  • the processor(s) 154 or the rendering component 222 can provide a list of radiotherapy plans newly assigned to the resources for display on a display device.
  • Table 1 below depicts an example list of radiotherapy plans assigned to resources of Team H.
  • the list can specify the resource name or identifier (ID), MRN, the patient name, the anatomical radiation/treatment site, the radiation technique to be used, the due date of the plan, whether the plan involve fusion and the region (e.g., campus) where the treatment will take place.
  • the list can be displayed as part of an interactive UI that allows a user to accept the new radiotherapy plan assignments and make them permanent and/or notify the resource of the new assignments. Table 1.
  • Each method described in this disclosure can be carried out by computer code instructions stored on computer-readable medium.
  • the computer code instructions when executed by one or more processors of a computing device, can cause the computing device to perform that method.
  • the disclosure has been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention described in this disclosure.
  • this disclosure contains many specific embodiment details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular embodiments of particular inventions. Certain features described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment.

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Biomedical Technology (AREA)
  • Public Health (AREA)
  • Primary Health Care (AREA)
  • Medical Informatics (AREA)
  • Epidemiology (AREA)
  • Urology & Nephrology (AREA)
  • Surgery (AREA)
  • Pathology (AREA)
  • Radiology & Medical Imaging (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

Systems and methods for assignment of radiotherapy plans can include a processor assigning complexity scores to radiotherapy plans, and determining a target utilization score for each resource of a plurality of resources. The processor identify candidate assignments satisfying a set of constraints, and determine, for each resource and for each candidate assignment, a resource utilization score and a resource overload score. The processor compute, for each candidate assignment, an objective value of an objective function (STEP 310), and determine a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function. The processor can provide information indicative of the first assignment for display on a display device.

Description

METHODS AND SYSTEMS FOR ASSIGNING RADIOTHERAPY PLANS TO RADIOTHERAPY PLANNING RESOURCES CROSS-REFERENCE TO RELATED APPLICATIONS [0001] This application claims priority to U.S. Provisional Application No.63/156220, entitled “AUTOMATIC ASSIGNMENT FOR SCHEDULING OF RADIOTHERAPY PLANNING” and filed on March 3, 2021, which is incorporated herein by reference in its entirety. FIELD OF THE DISCLOSURE [0002] The present application relates generally to assigning radiotherapy treatment plans to radiotherapy planning resources. Specifically, the present application relates to systems and methods for optimizing assignment of radiotherapy treatment plans to radiotherapy planning resources, by minimizing an objective function subject to a set of constraints, in a way to balance the workload of various radiotherapy planning resources. BACKGROUND [0003] Radiotherapy planning or radiation treatment planning is a process that precedes radiation treatment and during which a detailed plan of how to execute the radiation treatment is prepared. Specifically, radiation planning involves determining the properties of the radiation beams, e.g., beam intensities, beam angles, etc., to be generated or used during the treatment sessions. The radiotherapy planning may involve various simulations and may be time consuming. SUMMARY [0004] According to one aspect, a method of assigning radiotherapy treatment plans to radiotherapy planning resources can include one or more processors maintaining, in one or more data structures, resource availability data for a plurality of resources, and maintaining, in the one or more data structures, a plurality of radiotherapy plan data objects. Each radiotherapy plan data object can correspond to a radiotherapy plan and identifying a type of treatment and a treatment anatomical site for the radiotherapy plan. The method can include the one or more processors assigning, to each radiotherapy plan data object, a complexity score indicative of a complexity of the corresponding radiotherapy plan based on the type of treatment and the treatment anatomical site for the radiotherapy plan, and determining for each resource of the plurality of resources a target utilization score of the resource using the resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects. The method can include the one or more processors identifying a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources. The method can include the one or more processors determining, for each resource and for each candidate assignment, (i) a resource utilization score indicative of utilization of the resource over an assignment period including a plurality of time segments and (ii) a resource overload score computed using a utilization metric of the resource over each time segment of the plurality of time segments. The resource utilization score and the resource overload score can be determined based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment. The method can include the one or more processors computing, for each candidate assignment, an objective value of an objective function defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment. The method can include the one or more processors determining a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function, and providing information indicative of the first assignment for display on a display device. [0005] According to one other aspect, a computer system for assigning radiotherapy treatment plans to radiotherapy planning resources can include one or more processors and a memory coupled to a memory storing executable instructions. The executable instructions, when executed, can cause the one or more processors to maintain, in one or more data structures, resource availability data for a plurality of resources, and maintain, in the one or more data structures, a plurality of radiotherapy plan data objects. Each radiotherapy plan data object can correspond to a radiotherapy plan and identifying a type of treatment and a treatment anatomical site for the radiotherapy plan. The one or more processors can assign, to each radiotherapy plan data object, a complexity score indicative of a complexity of the corresponding radiotherapy plan based on the type of treatment and the treatment anatomical site for the radiotherapy plan. The one or more processors can determine, for each resource of the plurality of resources, a target utilization score of the resource using the resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects. The one or more processors can identify a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources. The one or more processors can determine, for each resource and for each candidate assignment, a resource utilization score indicative of utilization of the resource over an assignment period including a plurality of time segments and a resource overload score computed using a utilization metric of the resource over each time segment of the plurality of time segments. The resource utilization score and the resource overload score can be determined based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment. The one or more processors can compute, for each candidate assignment, an objective value of an objective function defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment. The one or more processors can determine a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function, and provide information indicative of the first assignment for display on a display device. [0006] According to yet one other aspect, a non-transitory computer-readable medium can include computer code instructions stored thereon. The computer code instructions when executed can cause one or more processors to maintain, in one or more data structures, resource availability data for a plurality of resources, and maintain, in the one or more data structures, a plurality of radiotherapy plan data objects. Each radiotherapy plan data object can correspond to a radiotherapy plan and identifying a type of treatment and a treatment anatomical site for the radiotherapy plan. The one or more processors can assign, to each radiotherapy plan data object, a complexity score indicative of a complexity of the corresponding radiotherapy plan based on the type of treatment and the treatment anatomical site for the radiotherapy plan. The one or more processors can determine, for each resource of the plurality of resources, a target utilization score of the resource using the resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects. The one or more processors can identify a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources. The one or more processors can determine, for each resource and for each candidate assignment, a resource utilization score indicative of utilization of the resource over an assignment period including a plurality of time segments and a resource overload score computed using a utilization metric of the resource over each time segment of the plurality of time segments. The resource utilization score and the resource overload score can be determined based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment. The one or more processors can compute, for each candidate assignment, an objective value of an objective function defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment. The one or more processors can determine a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function, and provide information indicative of the first assignment for display on a display device. BRIEF DESCRIPTION OF THE DRAWINGS [0007] FIG.1A shows a block diagram illustrating an example computer environment for implementing methods and processes described herein, according to example embodiments described in this disclosure. [0008] FIG.1B is a block diagram depicting one implementation of a computer system architecture, according to example embodiments described in this disclosure. [0009] FIG.2A shows a block diagram of a radiotherapy plan assignment system, according to example embodiments of the current disclosure. [0010] FIG.2B shows diagrams depicting example data structures carrying radiotherapy plan data and resource data, according to example embodiments of the current disclosure. [0011] FIG.3 is a flowchart of a method for assigning radiotherapy treatment plans to radiotherapy planning resources, according to example embodiments of the current disclosure. [0012] FIG.4 shows diagrams illustrating two examples for computing resource overload scores, according to some example embodiments of the current disclosure. [0013] FIGS.5A- 5C show user interfaces (UI) depicting visual representations of output assignments, according to some example embodiments of the current disclosure. [0014] FIGS.6A-6D show interactive UIs depicting other visual representations of output assignments, according to some example embodiments of the current disclosure. [0015] FIGS.7A-7C and 8A-8D show UIs corresponding to FIGS.5A-5C and 6A-6D, respectively. DETAILED DESCRIPTION [0016] For purposes of reading the description of the various embodiments below, the following descriptions of the sections of the specification and their respective contents may be helpful: [0017] Section A describes a computing and network environment, which may be useful for practicing embodiments described herein. [0018] Section B describes optimization of assignment of radiotherapy plans to radiotherapy planning resources. A. Computing and Network Environment [0019] In addition to discussing specific embodiments of for assigning radiotherapy treatment plans to radiotherapy planning resources, it may be helpful to describe aspects of the operating environment as well as associated system components (e.g., hardware elements) in connection with the methods and systems described herein. [0020] FIG.1A illustrates an example computer environment 100 that can be used to provide a network-based implementation of the methods of assigning radiotherapy treatment plans to radiotherapy planning resources described herein. The computer environment 100 can include one or more computing devices 110, a resources database 120 and a radiotherapy (RT) plan database 130. The one or more computing devices 110, the resources database 120 and the radiotherapy plan database 130 may be connected to each other through a network 140. The examples of the network 140 may include, but are not limited to, private or public local area network (LAN), a wireless LAN (WLAN), a metropolitan area network (MAN), a wide-area network (WAN), the Internet or a combination thereof among other types of networks. The network 140 may support both wired and wireless communications according to one or more standards and/or via one or more transport mediums. [0021] The communication over the network 140 may be performed in accordance with various communication protocols such as Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), and IEEE communication protocols. In one example, the network 140 may include wireless communications according to Bluetooth specification sets or another standard or proprietary wireless communication protocol. In another example, the network 140 may also include communications over a cellular network, including, e.g., a GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), EDGE (Enhanced Data for Global Evolution) network. [0022] The computer environment 100 is not necessarily confined or restricted to the components described herein and may include additional or alternative components, not shown for brevity, which are to be considered within the scope of the embodiments described herein. For example, the resources database 120 and/or the database 130 of radiotherapy plans can include one or more computer servers. Also, the computer environment 100 may include user devices communicatively coupled to the one or more computing devices 110 via the network 140. [0023] In some implementations, the one or more computing devices 110 can be configured to execute computer instructions to perform any of the methods described herein or operations thereof. The one or more computing devices 110 may generate and display an electronic platform to display information indicative of or related to assignment of radiation treatment plans to radiotherapy planning resources. The electronic platform may include a graphical user interface (GUI) displayed on the computing device(s) 110 or user devices communicating with the computing device(s) 110. An example of the electronic platform generated and hosted by the computing device(s) 110 may be a web-based application or a website configured to be displayed on different electronic devices, such as mobile devices, tablets, personal computer, and the like. [0024] The one or more computing device(s) 110 may host a website accessible to end- users, where the content presented via the various webpages may be controlled based upon each particular user's role or viewing permissions. The computing device 110 may be any computing device comprising a non-transitory machine-readable storage and one or more processors capable of executing the various tasks and processes described herein. Non- limiting examples of such computing devices may include workstation computers, desktop computers, server computers, laptop computers, and the like. While the computer environment 100 shows a single computing device 110, in some configurations, methods and processes described herein can be executed by a data processing system including a plurality of the computing devices 110, for example, operating in a distributed computing environment. [0025] The computing device(s) 110 may execute software applications configured to display the electronic platform (e.g., host a website or application), which may generate and serve various webpages or application pages to each user device. Different users operating the user devices may use the website or application to view and/or interact with the output assignments of radiotherapy treatment plans. [0026] In some implementations, the computer device(s) 110 may be configured to require user authentication based upon a set of user authorization credentials (e.g., username, password, biometrics, cryptographic certificate, and the like). In such implementations, the computing device(s) 110 may access a system database (not shown in FIG.1A) configured to store user credentials, which the computing device(s) 110 may be configured to access in order to determine whether a set of entered credentials (purportedly authenticating the user) match an appropriate set of credentials that identify and authenticate the user. [0027] In some configurations, the computing device(s) 110 may generate webpages or user interfaces (UIs) based upon a particular user's role (e.g., administrator, radiologist, radiotherapy planner and/or manager). In such implementations, the user's role may be defined by data fields and input fields in user records stored in the system database. The computing device(s) 110 may authenticate the user and may identify the user's role by executing an access directory protocol (e.g. LDAP). The computing device(s) 110 may generate webpage content that is customized according to the user's role defined by the user record in the system database. For instance, for a given planner, the computing device(s) 110 may provide output related to radiotherapy plan assignments associated with a team of the planner. [0028] In some embodiments, the computing device(s) 110 may receive or access resource availability data from the resource database 120. Resource availability data can include information indicative of time segments (e.g., days) during which a resource is available, time segments during which a resource is unavailable and/or the workload of the resource over various time segments. For instance, the resource availability data can include calendar data for a plurality of resources. As used herein, a radiotherapy planning resource can include a radiotherapy planner, e.g., a radiation oncologist and/or a planning device or equipment. A time segment can be a working day or a time slot, such as a 15-minute time slot, a 30-minute time slot, a one-hour time slot or the like. The resource availability data can include information indicative of capabilities of different resources, e.g., with respect to various types of radiotherapy treatments. For instance, a radiotherapy planner may have signoff credentials (e.g., certified or licensed) to perform planning for only specific types of radiotherapy treatments, e.g., based on trainings previously done by the planner. Similarly, planning device may be equipped with planning software for specific types of radiotherapy treatments. The type of a radiotherapy treatment may depend on the treatment anatomical site (e.g., the anatomical region to which radiation is to be applied), a cancer stage, the spread of a tumor within the anatomical region, other medical conditions of a patient, the type of radiation equipment to be used or a combination thereof, among others. The computing device(s) 110 may receive or access radiotherapy plan data from the RT plan database 130. The radiotherapy plan data can include information indicative of or related to radiotherapy plans to be performed. The radiotherapy plan data for a given plan to be performed can include patient information, radiotherapy treatment type, anatomical treatment/radiation site for (e.g., where radiation is to be applied), deadline by which the plan should be ready, planning duration or a combination thereof, among others. [0029] The resource database 120 can include one or more databases, such as a calendar database maintaining availability data for various radiotherapy planning resources, a resource profile database maintaining profiles for various resources or a combination thereof. The calendar data can include information indicative of resource capacity, tasks or responsibilities already assigned to various resources, free time segments during which the resource can handle new additional tasks, unavailability time segments (e.g., during which the resource is unavailable) or a combination thereof, among others. The profile database can maintain a separate profile for each planning resource. For each resource, the respective profile can include information indicative of capabilities of the resource (e.g., signoff credentials or authorizations to perform planning for different types of radiotherapy treatments), a campus or geolocation of the resource, a team of the resource or a combination thereof, among others. [0030] The RT plan database 130 can maintain data or information indicative of or related to radiotherapy plans that are to be assigned, radiotherapy plans that are assigned but not completed yet, a history of completed radiotherapy plans or a combination thereof. For each plan, the corresponding information can include the patient information, the treatment type, the treatment site, the duration of the planning phase, information indicative of the urgency of the planning, a due date for completing the plan or a combination thereof. Radiotherapy plan data can be in the form of radiotherapy plan data objects (e.g., a data table, data array, set of parameters, etc.) with each radiotherapy plan data object corresponding to a radiotherapy plan. Each radiotherapy plan data object can include parameters identifying properties or characteristics of the corresponding radiotherapy plan, such as the type of treatment and the treatment anatomical site for the radiotherapy plan. In some implementations, the computing device(s) 110 can generate radiotherapy plan data object for each radiotherapy plan based on data accessed or retrieved from the RT plan database 130. The resource database 120 and/or the RT plan database 130 can include a storage device to store data, one or more processors to manage storing, transfer, updates and/or removal of the data, communication interfaces to communicate with other devices (e.g., the computing device(s) 110) or a combination thereof. [0031] The computing device(s) 110 can access data from the resource database 120 and/or the RT plan database 130 using separate application programming interfaces (APIs). For instance, the computing device(s) 110 can use one or more first APIs to access data from the resource database 120, and use one or more second APIs to access data from the RT plan database 130. The computing device(s) 110 can use the accessed data to assign the radiotherapy plans to radiotherapy planning resources as described in further detail below. While FIG.1A shows a network-based implementation, it is to be noted that methods described herein can be implemented by a single computing device that accesses or receives the resource availability data and the radiotherapy pan data from the resource database 120 and the RT plan database 130, respectively, and determines an optimized assignment of the radiotherapy plans to the radiotherapy planning resources according to methods described herein. [0032] Referring to FIG.1B, a block diagram depicting one implementation of a system architecture for a computing system 150 that may be employed to implement methods described herein is shown, according to inventive concepts of the current disclosure. The computing system 150 can include a computing device 152. The computing device 152 can represent an example implementation of the computing device(s) 110, the database 120 and/or the database 130 of FIG.1A. For instance, the computing device 152 can include, but is not limited to, a desktop, a laptop, a hardware computer server, a workstation, a personal digital assistant, a mobile computing device, a smart phone, a tablet, or other type of computing device. The computing device 152 can include one or more processors 154 to execute computer code instructions, a memory 156 and a bus 158 communicatively coupling the processor 154 and the memory 156. [0033] The one or more processors 154 can include a microprocessor, a general purpose processor, a multi-core processor, a digital signal processor (DSP) or a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC) or other type of processor. The one or more processors 154 can be communicatively coupled to the bus 158 for processing information. The memory 156 can include a main memory device 160, such as a random-access memory (RAM) other dynamic storage device, coupled to the bus 158 for storing information and instructions to be executed by the processor 154. The main memory device 160 can be used for storing temporary variables or other intermediate information during execution of instructions (e.g., related to methods described herein such as method 200) by the processor 154. The computing device 152 can include a read-only memory (ROM) 162 or other static storage device coupled to the bus 158 for storing static information and instructions for the processor 154. For instance, the ROM 162 can store medical images of patients, for example, received as input. The ROM 162 can store computer code instructions related to, or representing an implementation of, methods described herein. A storage device 164, such as a solid state device, magnetic disk or optical disk, can be coupled to the bus 158 for storing (or providing as input) information and/or instructions. [0034] The computing device 152 can be communicatively coupled to, or can include, an input device 166 and/or an output device 168. The computing device 102 can be coupled via the bus 158 to the output device 168. The output device 168 can include a display device, such as a Liquid Crystal Display (LCD), Thin-Film-Transistor LCD (TFT), an Organic Light Emitting Diode (OLED) display, LED display, Electronic Paper display, Plasma Display Panel (PDP), or other display, etc., for displaying information to a user. The output device 168 can include a communication interface for communicating information to other external devices. An input device 166, such as a keyboard including alphanumeric and other keys, may be coupled to the bus 158 for communicating information and command selections to the processor 154. In another implementation, the input device 166 may be integrated within a display device, such as in a touch screen display. The input device 166 can include a cursor control, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 154 and for controlling cursor movement on the display device. [0035] According to various implementations, the methods described herein or respective operations can be implemented as an arrangement of computer code instructions that are executed by the processor(s) 154 of the computing system 150. The arrangement of computer code instructions can be read into main memory device 160 from another computer-readable medium, such as the ROM 162 or the storage device 164. Execution of the arrangement of computer code instructions stored in main memory device 160 can cause the computing system 150 to perform the methods described herein or operations thereof. In some implementations, one or more processors 154 in a multi-processor arrangement may be employed to execute the computer code instructions representing an implementation of methods or processes described herein. In some other implementations, hard-wired circuitry may be used in place of or in combination with software instructions to effect illustrative implementation of the methods described herein or operations thereof. In general, implementations are not limited to any specific combination of hardware circuitry and software. The functional operations described in this specification can be implemented in other types of digital electronic circuitry, in computer software, firmware, hardware or a combination thereof. B. Optimization of Assignments of Radiotherapy Plans to Radiotherapy Planning Resources [0036] When assigning radiotherapy plans to radiotherapy planning resources, one seeks to assign the radiotherapy plans in a way that the usability or workload of the planning resources is reasonable and balanced over time. Overloading a resource (e.g., a planner) may cause a delay in many plans and the corresponding radiation treatments. For cancer patients, such delays can imply more spreading of the tumor in the body and more anxiety for patients. [0037] Optimizing the assignment of radiotherapy plans to radiotherapy resources calls for knowledge or estimation of the amount of resource utilization to perform each radiotherapy plan. For instance, in the hypothetical where all resources have similar capabilities, one may need to know, for each radiotherapy plan, the time duration to complete the plan (or a task associated with the plan) by a radiotherapy planning resource. However, determining or estimating the amount of resource utilization to complete each radiotherapy plan is technically challenging for various reasons. First, radiotherapy planning resources usually have different capabilities and different levels of efficiencies in preparing radiotherapy plans. Second, completion or preparation of different radiotherapy plans of different types or different characteristics usually involve different skills and consume different amounts of resource utilization units (e.g., in terms of processing time duration). For instance, the time duration to prepare a radiotherapy plan may depend on the anatomical radiation site and/or the type of radiation treatment. As an example, if the radiation site includes critical organs or tissue (e.g., the tumor located close to critical organs or tissue) that should not be damaged during the radiation treatment, the planning of the treatment will be more complex and will involve more simulations and/or creativity to achieve a relatively high radiation dosage for the tumor while maintaining a relatively low radiation dosage for the critical organs or tissue. Finally, the amount of resource utilization to execute or prepare a radiotherapy plan can depend on the campus or center where the radiation treatment is to take place. Different radiation treatment centers or campuses can have different treatment devices, different procedural rules or accessories and/or different attending doctors. [0038] All the above factors can have an effect on the amount of time it takes to complete a radiotherapy plan for a radiation treatment to be performed in a given treatment center or campus. Accurate optimization of the assignment of radiotherapy plans to planning resources, so that utilizations of the various resources are reasonable and balanced, calls for accurate resource utilization metrics or functions that reflect the effect of the above factors on resource utilization. In the current disclosure, complexity scores (also referred to herein as difficulty scores) can be assigned to different radiotherapy plans based on, for example, the corresponding type of radiotherapy treatment and the anatomical radiation site. The complexity scores reflect relative complexities (or relative difficulties) of the corresponding radiotherapy plans, and can be used as a basis (or as units) for determining relative metrics or scores of target utilizations, resource utilizations and/or relative metrics or scores for resource overloading. The complexity scores provide a higher level of accuracy, e.g., compared to estimating utilizations based on historical data, in reflecting the relative amounts of resource bandwidth for different radiotherapy plans, and therefore, lead to a more accurate formulation of the assignment optimization problem. [0039] Embodiments described herein also make use of resource overload scores to penalize, or associate an additional cost with, resource overloading events. The resource overload scores can be integrated in an objective function to reduce the likelihood or frequency of overloading resources with assigned radiotherapy plans over any day or time segment. Also, solutions for solving the assignment optimization problem described in this disclosure are computationally efficient compared to solutions where an objective function is evaluated for all possible assignments. In particular, the objective function in embodiments described herein is evaluated only for candidate assignments that satisfy the set of constraints specified in the optimization problem. As such, a significant reduction of computational complexity is achieved. [0040] Other technological systems that may provide solutions for assigning radiotherapy plans to resources formulate the optimization problem in terms of the total number of radiotherapy plans assigned to each resource, and do not address that the issue that some resources may end up being overloaded over some time segments. Optimizing the assignment problem based on the total number of radiotherapy plans assigned to each resource inherently assumes that all radiotherapy plans are equally complex, which is not accurate. As such, these solutions do not result in optimized load balancing among the resources because they do not take into consideration the difference in complexities between radiotherapy plans of different types, different radiation sites or other different attributes. In contrast embodiments described herein employ complexity scores of radiotherapy plans to account for differences in complexity or difficulty between different radio therapy plans. Also, the systems and methods described herein introduce and make use of resource overloading scores as an inventive approach to penalize or assign an additional cost to resource overloading events. As such, the assignment optimization described herein reduces chances that the final output assignment may result in one or more resources being overloaded in one or more time segments. [0041] Furthermore, and as discussed above, the fact that the evaluation of the objective function, in embodiments described herein, is limited to candidate assignments satisfying the optimization constraints lead to a significant reduction in computational complexity. For example, in a scenario where there are 10 resources and 10 new plans to be assigned, the total number of possible assignments is 2^^^. Evaluating a cost function for such a large number of possible assignments, as done in existing solutions, is computationally expensive and takes a relatively long time. Depending on the number and nature of constraints, the candidate assignments satisfying the constraints can orders of magnitude smaller that total number of possible assignments. The technical solution(s) described herein can be used to assign computer processing tasks to computer resource in environments where different computer resources may have different capabilities, configurations, access permissions and/or availabilities. For instance, image registration tasks (e.g., related to fusion) can be assigned to different computer resources based on, for example, whether or not the resources are equipped with digital signal processors (DSPs), software associated with the resources and/or other configurations or settings. [0042] Referring to FIG.2A, a block diagram of a radiotherapy plan assignment system 200 is shown, according to example embodiments of the current disclosure. The radiotherapy plan assignment system 200 can include a local radiotherapy plan database 202 and a local resource database 204. The local radiotherapy plan database 202 can store or maintain a plurality of radiotherapy plan data objects 206. Each radiotherapy plan data object 206 can correspond to a radiotherapy plan of a plurality of radiotherapy plans, and can include parameter values indicative of properties or attributes of the radiotherapy plan. The local resource database 204 can store or maintain a plurality of resource data objects 208. Each resource data object can correspond to a radiotherapy planning resource of a plurality of radiotherapy planning resources, and can carry or include parameter values indicative of properties or attributes of the radiotherapy planning resource. The local radiotherapy plan database 202 and the local resource database 204 can be maintained in a memory such as memory 156 of the computing device 152. [0043] The radiotherapy plan assignment system 200 can include a radiotherapy plan database manager 210 configured to manage updates to, and access of, the local radiotherapy plan database 202. The radiotherapy plan assignment system 200 can include a resource database manager 212 configured to manage updates to, and access of, the local resource database 204. The radiotherapy plan assignment system 200 can include a complexity score assignment component 214 configured to assign complexity scores to radiotherapy plans or to corresponding radiotherapy plan data objects 206. The radiotherapy plan assignment system 200 can include a utilization and overload component 216 configured to compute resource utilization scores and resource overload scores. The radiotherapy plan assignment system 200 can include a candidate assignment identification component 218 configured to identify candidate assignments satisfying a set of constraints of the assignment optimization problem. The radiotherapy plan assignment system 200 can include an optimization component 220 configured to evaluate an objective function for each candidate assignment, and determine or identify an assignment corresponding to a minimum of the objective function. The radiotherapy plan assignment system 200 can include a rendering component 222 configured to display data indicative of the assignment output by the optimization component 220. [0044] Each of the radiotherapy plan database manager 210, the resource database manager 212, the complexity score assignment component 214, the utilization and overload component 216, the candidate assignment identification component 218, the optimization component 220 or the rendering component 222 can be implemented as one or more software modules, one or more hardware modules or a combination of both. For instance, each of these components can be implemented as computer instructions that can be executed by one or more processors to perform the corresponding function(s). [0045] FIG.2B shows diagrams depicting example data arrays 230 and 240 carrying radiotherapy plan data and resource data, respectively, according to example embodiments of the current disclosure. The data array 230 can be an array of radiotherapy plan data objects 206, each of which corresponding to a separate radiotherapy plan. Each radiotherapy plan data object 206 can include data parameters indicative of properties or attributes of the corresponding radiotherapy plan, such as the plan due date, the plan start date (e.g., if plan is already assigned), the duration of the planning process, patient information, the radiation treatment site, the treatment technique, whether the plan involves fusion (a process of image registration), a plan status (e.g., assigned or not assigned) and an indication of plan difficulty or a combination thereof. Each radiotherapy plan data object 206 can be a data structure that is stored in memory and includes a plurality of fields with values corresponding to the data parameters. The data array 240 can be an array of resource objects 208, each of which corresponding to a separate radiotherapy planning source. Each resource data object 208 can include data parameters indicative of properties or attributes of the corresponding radiotherapy planning resource, such as the resource team, the resource campus, resource capabilities (e.g., signoff credentials), time segments indicative of availability of the resource, time segments indicative of unavailability of the resource, resource workload or usability, resource clinical duties or roles a combination thereof. Each resource data object 208 can be a data structure that is stored in memory and includes a plurality of fields with values corresponding to the data parameters. [0046] In FIG.2B, the data objects 206 and 208 can be rows (or columns) of tables, linked lists (e.g., the data arrays 230 and 240 can be arrays of linked lists or other forms of data structures. In some implementations, the array 230 and/or 240 can be an array of pointers where each pointer points to a corresponding data object (e.g., data object 206 or data object 208). While FIG.2B shows the radiotherapy plan data and the resource data organized in the form of arrays of data objects, other implementations can include trees of data objects or other forms of data structures. [0047] Referring now to FIG.3, a flowchart of a method 300 for assigning radiotherapy treatment plans to radiotherapy planning resources is shown, according to example embodiments of the current disclosure. In brief overview, the method 300 can include assigning, to each radiotherapy plan data object, a complexity score indicative of a complexity of a radiotherapy plan corresponding to the radiotherapy plan data object (STEP 302), and determining a target utilization score for each resource of a plurality of resources (STEP 304). The method 300 can include identifying a plurality of candidate assignments satisfying a set of constraints (STEP 306), and determining, for each resource and for each candidate assignment, a resource utilization score and a resource overload score (STEP 308). The method can include computing, for each candidate assignment, an objective value of an objective function (STEP 310), and determining a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function (STEP 312). The method 300 can include providing information indicative of the first assignment for display on a display device (STEP 314). The method 300 can be implemented or executed by the computing device(s) 110 or 152 or the processor(s) 154. [0048] The method 300 can include the processor(s) 154 assigning, to each radiotherapy plan data object, a complexity score indicative of a complexity of a radiotherapy plan corresponding to the radiotherapy plan data object based on the type of treatment and the treatment anatomical site for the radiotherapy plan (STEP 302). The processor(s) 154 can maintain, in one or more data structures, resource availability data for a plurality of resources. For instance, the resource database manager 212 can maintain the resource availability data or resource data in the resource database 204, as discussed above with regard to FIGS.2A and 2B. The resource availability data (or resource data) can include, for each resource, information indicative of a team of the resource, a campus or center of the resource, capabilities or credentials of the resource (e.g., the treatment site(s) and/or treatment technique(s) for which the resource has authorization to or credentials), time segments (e.g., days) during which the resource is available, time segments during which the resource is unavailable, the workload of the resource over various time segments, other tasks or clinical roles of the resource or a combination thereof, among others. The resource availability data can include, for each radiotherapy planning resource, a corresponding resource data object 208 (e.g., data structure) including data specifying properties or attributes for the resource. The resource availability data can be organized in the form of one or more data tables, one or more data arrays, one or more data records or a combination thereof. The processor(s) 154 can access or retrieve the resource availability data from the resource database 120. The processor(s) 154 can maintain the resource availability data in the same form of data structures used by the resource database 120, or reorganize the resource availability data in different data structure(s). [0049] The processor(s) 154 can maintain, in the one or more data structures, a plurality of radiotherapy plan data objects 206, where each radiotherapy plan data object corresponds to a radiotherapy plan and identifies a type of treatment and a treatment anatomical site for the radiotherapy plan. As discussed with regard to FIGS.2A and 2B, the radiotherapy plan database manager 210 can maintain the radiotherapy plan data objects 206 in the radiotherapy plan database 202. The processor(s) 154 or the database manager 210 can access or retrieve radiotherapy plan data from the RT plan database 130. The radiotherapy plan data can include information indicative of or related to a plurality of radiotherapy plans. The radiotherapy plan data for each radiotherapy plan can include, but is not limited to, the due date, the start date, anatomical treatment (or radiation) site, treatment technique, whether fusion is required, team, plan status, indication of difficulty, patient information, planning duration or a combination thereof, among others. The accessed or retrieved radiotherapy plan data can be in the form of a plurality of radiotherapy plan data objects 206 (e.g., data records, data tables, data arrays, sets of parameters, etc.) with each radiotherapy plan data object 206 corresponding to a radiotherapy plan. In some implementations, the processor(s) 154 may organize the accessed or retrieved radiotherapy plan data into separate radiotherapy plan data objects 206 corresponding to different radiotherapy plans. Each radiotherapy plan data object 206 can include parameters identifying properties or characteristics of the corresponding radiotherapy plan, such as the type of treatment, the treatment anatomical site, patient information, planning duration, plan delivery due date or a combination thereof, among others. [0050] The processor(s) 154 can maintain a local radiotherapy plan database 202 and a local resource database 204 that contain all parameters or information to be used in assigning radiotherapy plans to radiotherapy planning resources. The processor(s) 154 can distinguish, in the radiotherapy plan database 202 or log, between assigned plans and unassigned plans (yet to be assigned). Also, the local resource database 204 now can include information indicative of the current workload of each resource individually, as well as the entire workload across all resources. [0051] The processor(s) 154 can assign, to each radiotherapy plan data object, a complexity score (or difficulty score) indicative of a complexity of a radiotherapy plan corresponding to the radiotherapy plan data object based on at least the type of treatment and/or the treatment anatomical site for the radiotherapy plan (STEP 302). This step can be performed by the complexity score assignment component 214. The processor(s) 154 or the complexity score assignment component 214 can use a lookup table (or other data structure) that specifies predefined complexity scores for different types and/or categories of radiotherapy plans to assign the complexity scores to the plurality of radiotherapy plans. The complexity scores can be specified based on the type and number of sub-tasks associated with each plan type or category. In some implementations, the processor(s) 154 or the complexity score assignment component 214 can determine the sub-tasks associated with each radiotherapy plan (e.g., using a lookup table and based on radiotherapy plan data), and assign the complexity score according to the sub-tasks of the radiotherapy plan. [0052] The method 300 can include the processor(s) 154 determining, for each resource of a plurality of resources, a target utilization score of the resource using resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects (STEP 304). This step can be performed or executed by the utilization and overload component 216. The processor(s) 154 can compute an expected average workload as:
Figure imgf000020_0001
where ^^^ is the complexity score of the radiotherapy plan with index i, ^^^ ^^^ is the workload percentage of the resource with an index ^^, and ^^^ ^^^ is the resource availability (e.g., for radiotherapy planning). The resource workload percentage can be defined based on a profile or a clinical role of the resource as a percentage from 0% to 100%. The resource availability can be defined as a fraction of days or time, over an assignment period, during which the Attorney Docket No. 115872-2471 resource is available. The processor(s) 154 or the utilization and overload component 216 can compute or determine the target utilization score for a resource with resource index p as:
Figure imgf000021_0002
The target utilization score ^^ ^^ ^^^ ^^^ represents the total workload of the resource having index p over the assignment period. [0053] The method 300 can include the processor(s) 154 identifying a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources (STEP 306). This step can be performed by the candidate assignment identification component 218. The assignment optimization problem can be formulated as: subject to a set of constraints, where ^^ represents an objective
Figure imgf000021_0001
function (or cost function) and ℳ represents the set of all possible assignments of the radiotherapy plans to the radiotherapy planning resources. The optimization problem can be solved by minimizing the objective function over all possible assignments subject to a set of constraints. [0054] The set of constraints can include, for example, a limit on a maximum number of plans assigned to any resource and that are due on a same time segment of the planning period. That is, the resource cannot be assigned more than a predefined number of radiotherapy plans (e.g., 3 plans, 4 plans or some other number) that are due on the same day or the same time segment. The set of constraints can include a constraint limiting the number of radiotherapy plans that can be newly assigned to any resource in the assignment (e.g., 3 plans, 4 plans or some other number). Another constraint can limit the number of radiotherapy plans with fusion that can be newly assigned, according to an assignment, to any resource (e.g., 2 plans or some other number). Another constraint can limit the total number of radiotherapy plans (e.g., 10 plans, 11 plans, 12 plans or some other number) that a resource can have during the whole assignment period. Another constraint can imply that no radiotherapy plan can be assigned to a resource that does not have the capabilities or signoff credentials required to prepare the radiotherapy plan. For each radiotherapy plan, specific resource capabilities or credentials may be required based on, for example, the plan type, the corresponding anatomical radiation site and/or the radiation technique of the plan. In order for a resource to be assigned a given radiotherapy plan, the resource should have the proper capabilities or credentials associated with the plan. 19 4855-9294-6706.1 [0055] Other constraints may relate to resource unavailability. For instance, assuming that all plans have a fixed planning duration, e.g., 4 days, no plan can be assigned to a resource where the resource is unavailable for two consecutive days and/or the last day of the 4-day planning period. According to another constraint, while the resource is unavailable or off, no new plans should be assigned to the resource for performing after the unavailability period before the last day when the resource is off or unavailable. Another constraint may relate to multiple radiotherapy plans associated with different radiation/treatment sites of a single patients. According to the constraint, such plans are to be assigned to the same resource provided that there is a resource that is capable or have the proper credentials to perform all the radiotherapy plans for the patient. The assignment optimization problem can include any combination of the above described constraints and/or other constraints. Other constraints can be defined and used as part of the optimization problem. [0056] The processor(s) 154 or the candidate assignment identification component 218 can identify a subset of candidate assignments from the set ℳ of all possible assignments. In some implementations, the processor(s) 154 can generate each possible assignment, and check whether the assignment satisfies the set of constraints specified in the optimization problem. For each possible he processor(s) 154 can check each constraint in the set of constraints. If the one of the constraints fails, the processor(s) 154 can discard the constraint without evaluating the objective function for that constraint. The assignments that are determined to satisfy all the constraints in the set of constraints are referred to as the candidate assignments. [0057] The method 300 can include the processor(s) 154 or the utilization and overload component 216 determining, for each resource and for each candidate assignment, a resource utilization score and a resource overload score (STEP 308). The processor(s) 154 can determine the resource utilization score and the resource overload score based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment. The resource utilization score can be indicative of utilization of the resource over an assignment period including a plurality of time segments. For an assignment candidate, the processor(s) 154 can compute the resource utilization score over the assignment period as:
Figure imgf000022_0001
where ^^^^ ^^^ is equal to the complexity score of the ith radiotherapy plan if the ith radiotherapy is assigned to the pth resource in the candidate assignment, otherwise ^^^^ ^^^ ൌ 0. [0058] The processor(s) 154 can compute the resource overload score using a utilization metric of the resource over each time segment of the plurality of time segments. For instance, the assignment period can include a plurality of days and the resource overload score can be defined in terms of resource utilization over each day of the plurality of days. While the resource utilization U^p^ describes the cumulative resource utilization over the whole assignment period, many radiotherapy plans can be assigned to a single resource over overlapping time segments (e.g., being worked on concurrently). As such, a candidate assignment may lead to overloading a resource over one or more time segments. To avoid overloading the resource over any time segment, a resource overload score or term can used in the objective function ^^ to penalize or associate a cost with any resource overloading event. The resource overload score (or a resource overload function) can be defined as the sum, over all time segments, of the squares of per-segment resource utilization. For instance, the processor(s) 154 can compute the resource overload score for the resource with resource index p as:
Figure imgf000023_0001
where ^^^ is the kth time segment (e.g., kth day) in the assignment period, and the term ^^^ ^ ^^, ^^^ ^ is equal to the complexity score of the ith radiotherapy plan if the ith radiotherapy is assigned, according to the candidate assignment, to the resource with resource index p during the time segment ^^^, otherwise ^^^ ^ ^^, ^^^ ^ ൌ 0. [0059] The term Σ^ ^^^ ^ ^^, ^^^ ^ represents the resource utilization over the time segment ^^^. Summing the squared terms
Figure imgf000023_0002
^ ^^, ^^^ ^ , e.g., squares of the per-segment resource utilizations, over all time segments ^^^ implies that the resource overload score ^^^ ^^^ will be large if any of the per-segment resource utilizations is large. In other words, the resource overload score ^^^ ^^^ will increase significantly if the resource with resource index p is overloaded during any of the time segment ^^^. Using the resource overload score ^^^ ^^^ in the objective function (e.g., as an additive term) leads to significant increase of the objective function if candidate assignment overloads the resource with assigned radiotherapy plans during any of the time segment ^^^. Accordingly, minimizing the objective function leads to avoiding candidate assignments that overload any of the resources during one or more time segments TK.. In some implementations, each time segment TK can represent a separate day of a plurality of days of the assignment period. [0060] Referring to FIG.4, diagrams illustrating two examples (a) and (b) for computing resource overload scores, according to example embodiments of the current disclosure. Example (a) can correspond to a first candidate assignment while example (b) can correspond to a second candidate assignment. In each of these examples, three radiotherapy plans, e.g., RT Plan A, RT Plan B and RT Plan C, are assigned to a single resource. Each radiotherapy plan is to be completed over four consecutive time segments (e.g., four consecutive days). The three four-segment planning periods for the three plans overlap in both example (a) and example (b) leading to overloading the resource over multiple time segments. Each radiotherapy plan has a complexity score of 1 over the corresponding planning period. In example (a), the planning periods (or execution periods) of all the three radiotherapy plans overlap in two time segments, while in example (b), the planning periods (or execution periods) of all the three radiotherapy plans overlap in three time segments. As a result, the resource overload score in example (b) is larger than the resource overload score in example (a). [0061] In some implementations, the resource overload score for the resource with resource index p can be defined as: ^
Figure imgf000024_0001
where m is a number greater than 1, or greater than or equal to 2. In some implementations, m can be an integer greater than or equal to 2. [0062] Referring back to FIG.3, the method 300 can include the processor(s) 154 or the optimization component 220 computing, for each candidate assignment, an objective value of an objective function (STEP 310), and determining a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function (STEP 312). The objective function can be defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment. For instance, the objective function can include a sum of (i) squares of the differences between the resource utilization scores and the target utilization scores for the plurality of resources and (ii) resource overload scores for the plurality of resources. As an example, the objective function can be defined, and computed, as:
Figure imgf000025_0001
where the resource utilization score ^^^ ^^^ is as defined above. [0063] The term ^^^ ^^, ^^^ is a regularization term that can depend on (or take into account) attributes of a resource with index ^^ and attributes of a radiotherapy plan with index i when the radiotherapy plan with index i is assigned (according to a candidate assignment) to the resource with index ^^. For instance, in the case where attributes of the radiotherapy plan are unfavorable to the resource to which the plan is assigned, the regularization term ^^^ ^^, ^^^ can be a positive number to penalize the assignment of the plan to the resource, otherwise the regularization term ^^^ ^^, ^^^ can be equal to zero. For example, the resource may belong to a different campus than the one where the radiation treatment (based on the plan) will be done. In such case, the assignment of the plan to the resource is penalized or associated with an additional cost to reduce the likelihood that a plan associated with a given campus is assigned to a resource belonging to a different campus. In some implementations, the regularization term ^^^ ^^, ^^^ depend on the treatment campus (an attribute of radiotherapy plans), the resource campus, variety of plans assigned to a resource, additional tasks associated a radiotherapy plan or a combination thereof, among others. For example, the regularization term ^^^ ^^, ^^^ can be used to increase (or reduce) plan variety for any resource. The regularization term ^^^ ^^, ^^^ can be used to penalize or associate an additional cost with assigning a plan having additional tasks (e.g., fusion) to a resource under some conditions. In some implementations, the objective function may not include the regularization term, and may be defined as:
Figure imgf000025_0002
[0064] The processor(s) 154 or the optimization component 220 can evaluate the objective function C for each candidate assignment identified in step 306 of the method 300. Evaluating the objective function only for candidate assignments that satisfy the set of constraints leads to a significant reduction in computational complexity. The processor(s) 154 or the optimization component 220 can use the objective values of the objective function computed for the different candidate assignments to determine an assignment from the candidate assignments to be provided as output or as a final solution of the optimization problem. The processor(s) 154 or the optimization component 220 can determine the assignment associated with the minimum objective value, among the computed objective values, as the final solution of the optimization problem. [0065] It is to be noted that, as used herein, an assignment period refers to a time period or time window (in the future) over which unassigned radiotherapy plans will be performed once assigned. For instance, the assignment period can be the next ten days and the processor(s) 154 or the assignment system 200 may decide to assign all the unassigned plans to be executed or performed in the next ten days. Also, as used herein, a planning period for a given radiotherapy plan refers the time period (e.g., 4) during which the resource to which the plan is assigned is expected to completer the plan. Finally, a candidate plan refers to an assignment or mapping of all unassigned radiotherapy plans, considered in the assignment optimization problem, are assigned to radiotherapy planning resources. [0066] The method 300 can include the processor(s) 154 or the rendering component 222 providing information indicative of the assignment determined as the final solution for display on a display device (STEP 314). The processor(s) 154 or the rendering component 222 can provide a visual representation of the assignment for display. The visual representation can be in the form of a table or two-dimensional array with one dimension of the table (e.g., columns) representing various time segments and another dimension (e.g., rows) representing different resource. [0067] Referring now to FIGS.5A-5C, UIs depicting visual representations of output assignments are shown, according to example embodiments in the current disclosure. For instance, FIG.5A shows assignments of radiotherapy plans for Team G, FIG.5B shows assignments of radiotherapy plans for Team H, and FIG.5C shows assignments of radiotherapy plans for Team R. Each column represents a day of the assignment period. Each row represents a corresponding resource. Each cell represents a workload or availability of a corresponding resource during a corresponding day. Obliquely hashed cells represent days during which corresponding resources (or radiotherapy planners) are off. Dotted cells represent days during which corresponding resources (or radiotherapy planners) have reduced working/operational hours. Cross-hashed cells represent days during which corresponding resources (or radiotherapy planners) have other clinical tasks or responsibilities. The grayscale color represents a level of busyness or usability of the resources during corresponding days. The darker the color, the busier is the resource during the corresponding day. [0068] The number in any cell represents the number of radiotherapy plans assigned to the corresponding resource and which are due for completion on the day corresponding to the cell. The number after the symbol “+”, in any cell, represents the number of radiotherapy plans newly assigned (e.g., as a result of solving the optimization problem) to the corresponding resource and which are due for completion on the day corresponding to the cell. [0069] Referring now to FIGS.6A-6D, interactive UIs depicting other visual representations of output assignments are shown, according to example embodiments in the current disclosure. In some implementations, the processor(s) 154 or the rendering component 222 can provide an interactive user interface depicting resource utilization scores of the plurality of resources computed over separate times segments of the plurality of times segments, such as the interactive UIs shown in FIGS.6A-6D. The various hashing patterns, doted patterns and grayscale color represent the same thin as in FIGS.5A-5C. The number in each cell represents the resource usability score of the corresponding resource over the day (or time segment) corresponding to the cell. In other words, the number in each cell represents the sum of complexity scores of the radiotherapy plans in the queue of the corresponding resource on the day (or time segment) corresponding to the cell. [0070] FIG.6A and 6B depict assignment results for Team G, while FIGS.6C and 6D depict assignment results for Team H. Each of the UIs in FIGS.6A-6D can include a table having interactive cells depicting the resource utilization scores of the plurality of resources for each time segment. Each cell of the table can be selectable to display radiotherapy plans assigned to a respective resource on a respective time segment. For instance, FIGS.6B and 6C depict the interactive nature of various cells. Specifically, when a user selects (e.g., by clicking on) a cell or hovers a cursor on the cell, the interactive UI automatically displays a text box with text describing or listing all the radiotherapy plans associated with the cell (e.g., in the queue of the corresponding resource on the corresponding day) and their corresponding complexity scores. [0071] FIGS.7A-7C and 8A-8D are similar to FIGS.5A-5C and 6A-6D, respectively, except that text and cell border lines are depicted in dashed lines to indicate that the boarder lines can be optional, and different text can be displayed. It is to ne noted that the UIs shown in FIGS.5A-5C and 7A-7C can also be interactive UIs that with interactive cells. [0072] In some implementations, the processor(s) 154 or the rendering component 222 can provide a list of radiotherapy plans newly assigned to the resources for display on a display device. Table 1 below depicts an example list of radiotherapy plans assigned to resources of Team H. For each newly assigned plan, the list can specify the resource name or identifier (ID), MRN, the patient name, the anatomical radiation/treatment site, the radiation technique to be used, the due date of the plan, whether the plan involve fusion and the region (e.g., campus) where the treatment will take place. The list can be displayed as part of an interactive UI that allows a user to accept the new radiotherapy plan assignments and make them permanent and/or notify the resource of the new assignments.
Figure imgf000028_0001
Table 1. [0073] Each method described in this disclosure can be carried out by computer code instructions stored on computer-readable medium. The computer code instructions, when executed by one or more processors of a computing device, can cause the computing device to perform that method. [0074] While the disclosure has been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention described in this disclosure. [0075] While this disclosure contains many specific embodiment details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular embodiments of particular inventions. Certain features described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination. [0076] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated in a single software product or packaged into multiple software products. [0077] References to “or” may be construed as inclusive so that any terms described using “or” may indicate any of a single, more than one, and all of the described terms. [0078] Thus, particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain embodiments, multitasking and parallel processing may be advantageous.

Claims

WHAT IS CLAIMED IS: 1. A method comprising: maintaining, by one or more processors in one or more data structures, resource availability data for a plurality of resources; maintaining, by the one or more processors in the one or more data structures, a plurality of radiotherapy plan data objects, each radiotherapy plan data object corresponding to a radiotherapy plan and identifying a type of treatment and a treatment anatomical site for the radiotherapy plan; assigning, by the one or more processors, to each radiotherapy plan data object, a complexity score indicative of a complexity of the corresponding radiotherapy plan based on the type of treatment and the treatment anatomical site for the radiotherapy plan; determining, by the one or more processors, for each resource of the plurality of resources, a target utilization score of the resource using the resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects; identifying, by the one or more processors, a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources; determining, by the one or more processors, for each resource and for each candidate assignment, a resource utilization score indicative of utilization of the resource over an assignment period including a plurality of time segments and a resource overload score computed using a utilization metric of the resource over each time segment of the plurality of time segments, the resource utilization score and the resource overload score determined based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment; computing, by the one or more processors, for each candidate assignment, an objective value of an objective function defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment; determining, by the one or more processors, a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function; and providing, by the one or more processors, information indicative of the first assignment for display on a display device.
2. The method of claim 1, wherein the objective function includes a sum of (i) squares of the differences between the resource utilization scores and the target utilization scores for the plurality of resources and (ii) resource overload scores for the plurality of resources.
3. The method of claim 1, wherein the objective function further includes a regularization term to account for additional tasks associated with one or more radiotherapy plan data objects.
4. The method of claim 1, comprising providing, by the one or more processors, an interactive user interface depicting resource utilization scores of the plurality of resources computed over separate times segments of the plurality of times segments.
5. The method of claim 4, wherein the interactive user interface includes a table having interactive cells depicting the resource utilization scores of the plurality of resources for each time segment, each cell of the table selectable to display radiotherapy plans assigned to a respective resource on a respective time segment.
6. The method of claim 1, wherein the set of constraints includes a limit on a maximum number of plans assigned to any resource and due for completion on any time segment of the assignment period.
7. The method of claim 1, wherein the set of constraints includes a limit on a maximum number of plans newly assigned to any resource.
8. The method of claim 1, wherein the set of constraints specify a predefined duration for each radiotherapy plan type.
9. The method of claim 1, further comprising: accessing, by the one or more processors, the resource availability data from a first database using a first application programming interface (API); and accessing, by the one or more processors, the plurality of radiotherapy plan data objects from a second database using a second API.
10. The method of claim 1, wherein the resource availability data identifies, for each resource, one or more time segments during which the resource is unavailable and processing capabilities for performing radiotherapy planning based on a type of treatment and a treatment anatomical site for each radiotherapy plan.
11. A computer system comprising: one or more processors coupled to a memory storing executable instructions to cause the one or more processors to: maintain, in one or more data structures, resource availability data for a plurality of resources; maintain, in the one or more data structures, a plurality of radiotherapy plan data objects, each radiotherapy plan data object corresponding to a radiotherapy plan and identifying a type of treatment and a treatment anatomical site for the radiotherapy plan; assign, to each radiotherapy plan data object, a complexity score indicative of a complexity of the corresponding radiotherapy plan based on the type of treatment and the treatment anatomical site for the radiotherapy plan; determine, for each resource of the plurality of resources, a target utilization score of the resource using the resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects; identify a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources; determine, for each resource and for each candidate assignment, a resource utilization score indicative of utilization of the resource over an assignment period including a plurality of time segments and a resource overload score computed using a utilization metric of the resource over each time segment of the plurality of time segments, the resource utilization score and the resource overload score determined based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment; compute, for each candidate assignment, an objective value of an objective function defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment; determine a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function; and provide information indicative of the first assignment for display on a display device.
12. The computer system of claim 11, wherein the objective function includes a sum of (i) squares of the differences between the resource utilization scores and the target utilization scores for the plurality of resources and (ii) resource overload scores for the plurality of resources.
13. The computer system of claim 11, wherein the objective function further includes a regularization term to account for additional tasks associated with one or more radiotherapy plan data objects.
14. The computer system of claim 11, wherein the executable instructions, when executed, further cause the one or more processors to provide an interactive user interface depicting resource utilization scores of the plurality of resources computed over separate time segments of the plurality of time segments.
15. The computer system of claim 14, wherein the interactive user interface includes a table having interactive cells depicting the resource utilization scores of the plurality of resources for each time segment, each cell of the table selectable to display radiotherapy plans assigned to a respective resource on a respective time segment.
16. The computer system of claim 11, wherein the set of constraints includes at least one of: a limit on a maximum number of radiotherapy plans assigned to any resource and due for completion on a same time segment of the assignment period; or a limit on a maximum number of radiotherapy plans newly assigned to any resource.
17. The computer system of claim 11, wherein the set of constraints specify a predefined duration for each radiotherapy plan type.
18. The computer system of claim 11, wherein the executable instructions, when executed, further cause the one or more processors to: access the resource availability data from a first database using a first application programming interface (API); and access the plurality of radiotherapy plan data objects from a second database using a second API.
19. The computer system of claim 11, wherein the resource availability data identifies, for each resource, (i) one or more time segments during which the resource is unavailable and (ii) processing capabilities for performing radiotherapy planning based on a type of treatment and a treatment anatomical site for each radiotherapy plan.
20. A non-transitory computer-readable medium storing executable instructions, which when executed by one or more processors cause the one or more processors to: maintain, in one or more data structures, resource availability data for a plurality of resources; maintain, in the one or more data structures, a plurality of radiotherapy plan data objects, each radiotherapy plan data object corresponding to a radiotherapy plan and identifying a type of treatment and a treatment anatomical site for the radiotherapy plan; assign, to each radiotherapy plan data object, a complexity score indicative of a complexity of the corresponding radiotherapy plan based on the type of treatment and the treatment anatomical site for the radiotherapy plan; determine, for each resource of the plurality of resources, a target utilization score of the resource using the resource availability data and complexity scores assigned to the plurality of radiotherapy plan data objects; identify a plurality of candidate assignments satisfying a set of constraints for assigning the plurality of the radiotherapy plan data objects to the plurality of resources; determine, for each resource and for each candidate assignment, a resource utilization score indicative of utilization of the resource over an assignment period including a plurality of time segments and a resource overload score computed using a utilization metric of the resource over each time segment of the plurality of time segments, the resource utilization score and the resource overload score determined based on complexity scores of radiotherapy plan data objects assigned to the resource according to the candidate assignment; compute, for each candidate assignment, an objective value of an objective function defined using (i) differences between resource utilization scores and the target utilization scores for the plurality of resources according to the candidate assignment and (ii) resource overload scores for the plurality of resources according to the candidate assignment; determine a first assignment from the candidate assignments corresponding to a minimum objective value of the objective function; and provide information indicative of the first assignment for display on a display device.
PCT/US2022/018544 2021-03-03 2022-03-02 Methods and systems for assigning radiotherapy plans to radiotherapy planning resources WO2022187378A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163156220P 2021-03-03 2021-03-03
US63/156,220 2021-03-03

Publications (1)

Publication Number Publication Date
WO2022187378A1 true WO2022187378A1 (en) 2022-09-09

Family

ID=83154819

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/018544 WO2022187378A1 (en) 2021-03-03 2022-03-02 Methods and systems for assigning radiotherapy plans to radiotherapy planning resources

Country Status (1)

Country Link
WO (1) WO2022187378A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023205100A1 (en) * 2022-04-18 2023-10-26 Memorial Sloan-Kettering Cancer Center Systems and methods for high dose rate brachytherapy treatment planning using constraint optimization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050111621A1 (en) * 2003-10-07 2005-05-26 Robert Riker Planning system, method and apparatus for conformal radiation therapy
US20130272593A1 (en) * 2010-12-20 2013-10-17 Koninklijke Phillips N.V. System and method for automatic generation of initial radiation treatment plans
US20140378737A1 (en) * 2013-06-21 2014-12-25 Siris Medical, Inc. Multi-objective radiation therapy selection system and method
CN110931107A (en) * 2019-11-22 2020-03-27 上海联影医疗科技有限公司 Radiotherapy plan generation system, radiotherapy plan generation device and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050111621A1 (en) * 2003-10-07 2005-05-26 Robert Riker Planning system, method and apparatus for conformal radiation therapy
US20130272593A1 (en) * 2010-12-20 2013-10-17 Koninklijke Phillips N.V. System and method for automatic generation of initial radiation treatment plans
US20140378737A1 (en) * 2013-06-21 2014-12-25 Siris Medical, Inc. Multi-objective radiation therapy selection system and method
CN110931107A (en) * 2019-11-22 2020-03-27 上海联影医疗科技有限公司 Radiotherapy plan generation system, radiotherapy plan generation device and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023205100A1 (en) * 2022-04-18 2023-10-26 Memorial Sloan-Kettering Cancer Center Systems and methods for high dose rate brachytherapy treatment planning using constraint optimization

Similar Documents

Publication Publication Date Title
US10192181B2 (en) Resource demand-based project team staffing
WO2019108131A1 (en) Dashboard interface, platform, and environment for intelligent subscription product selection
Turkcan et al. Chemotherapy operations planning and scheduling
WO2020233307A1 (en) Task data processing method and apparatus, computer device and storage medium
US9817991B2 (en) System and method for a cloud based solution to track notes against business records
US9898708B2 (en) Uplifting of computer resources
US9773050B2 (en) User interface for aggregated task data
WO2019153095A1 (en) Blockchain-based consent management system and method
US20210035068A1 (en) Method and device for investigating data, mobile terminal, and computer-readable storage medium
WO2020019448A1 (en) Method and device for displaying tag of project, terminal apparatus, and storage medium
JP7219325B2 (en) System for controlling access rights to target systems and applications
WO2022187378A1 (en) Methods and systems for assigning radiotherapy plans to radiotherapy planning resources
US20200322345A1 (en) System for controlling access to target systems and applications
US9877169B1 (en) Multi-period assignment optimization using dynamic priority updating
US20190206087A1 (en) Automated icon accessibility assessment algorithm and tool
IL264504A (en) Systems and methods for avoiding network congestion on web-based survey platforms
US11803991B1 (en) Visualization tool for server management and method of use
CN111177698B (en) Processing method and device of portal system and computer equipment
US20160105442A1 (en) System, method, and computer program product for sharing files based on user profile visibility
US20220058564A1 (en) Person-in-charge recommendation system based on task tracker
Shechter et al. Irreversible treatment decisions under consideration of the research and development pipeline for new therapies
US11240252B2 (en) Systems and methods for data access control
US20150088539A1 (en) Methods and systems for optimizing patient allocation
US20240207643A1 (en) Systems and methods for generating plan quality scores to optimize radiotherapy treatment planning
US20240212822A1 (en) Systems and methods for optimizing radiotherapy planning using plan quality scores

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22763986

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22763986

Country of ref document: EP

Kind code of ref document: A1