The present invention relates to a system and a method for the scheduling of resources, more specifically for automated scheduling of patients, personnel, equipment and facilities in medical institutions taking into account operational constraints.
Traditional project management tools describe large scale projects as tasks and subtasks. Certain tasks have to be scheduled sequentially, while other tasks can be performed concurrently. With each task a duration time is associated which can be fixed or variable. The task of a project management tool is to identify the optimal sequence of tasks and subtasks in a way that the duration for executing the complete project is minimized.
A well known scheduling technique that is described in the literature on management techniques is called PERT (Program Evaluation and Review Technique), which provides a formalism to represent the tasks and subtasks in a project by means of a network diagram. PERT provides also a method to determine the critical path, which is that sequence of tasks that directly impact the duration of the project as a whole. Variations on PERT are described that model the effect on the critical path of deviations from the original schedules.
Gantt developed a visual tool to represent the progress of activities in a diagram using vertical bars and links. Such a diagram is called a GANTT chart.
PERT and GANTT charts provide powerful techniques to manage large scale projects. Their strength is that they enable to distinguish tasks of which the duration directly impacts the duration of the project from other tasks where some slack time is permitted.
In the context of scheduling appointments for patients and the use of other resources such as diagnostic or treatment equipment and examination rooms in a hospital environment, optimizing the critical path does not always yield the most desirable solution. For example, assuming that there is no medical urgency involved, a patient may prefer having an exam performed at a later time by a medical doctor whom he knows, rather than having the same exam done at an earlier time by a medical doctor whom he doesn't know. Other preferences may include a morning versus an afternoon appointment, an appointment at a particular facility etc. The medical doctor may also have his preferences. For example he may prefer certain equipment, or an examination or treatment room he is familiar with.
To enable a patient or a medical staff member to make a preferred choice from a set of possible appointments, a system is needed that first calculates what the different alternatives are. In other words, a scheduling system is needed that does not come up with just one proposal to book the use of a set of resources and that is the soonest one available, but that calculates a set of alternative solutions.
PERT, GANTT charts and their variations are implicitly designed to optimize the critical path in a project, including taking into account variations of the duration individual tasks. When used as a tool for the purpose of scheduling the use of resources, they will produce one single solution that corresponds with the soonest available booking of that resource. If more than one solution is needed, the method can be run again with different constraints. This approach is time consuming and inefficient from the viewpoint of number of calculations that are required. Furthermore the PERT and GANTT techniques are actually designed to plan activities, rather than for managing the complexity of scheduling tasks and subtasks that are constraint by the availability of resources.
A possible solution to the above problem would be to initialize a time counter at a certain value and to check if a given resource can be scheduled at the time of the counter taking into account the constraints imposed by the availability of the other resources. By incrementing the time counter in small steps and checking every time again if the resource can be booked, it is possible to obtain an overview of the time segments that are available for booking said resource. This method works fine, but requires many calculations, since for every time increment the constraints imposed by the availability of the resources need to be consulted and processed. This results in a slow response of the scheduling system. Furthermore, the use of a finite time increment may result in inaccuracy of the exact start and end times of the availability of resources, due to rounding off errors.
From the above follows that a new scheduling method is needed that is capable to calculate not just one solution but a set of multiple alternative solutions for the management of resources that are dependent on the availability of other resources.
The above-mentioned problems are solved by a system and a method as set forth in claims 1 and the other dependent and independent claims.
Before explaining the general principles of the method according to the current invention, the method is first explained by working out a specific example, which is also one specific embodiment of the current invention.
According to the example, an appointment needs to be scheduled to examine a patient by means of a scanner. The patient needs to undress before and to dress again after the scan.
The exam itself takes 2 hours. Both for undressing and dressing one hour is provided. After the patient has undressed, he does not want to wait for the exam. When the exam is finished, he accepts that he may have to wait up to one hour before he can dress again.
An action is defined as being “atomic” when it does not comprise other actions. For example, the undress (110) action is atomic, but the appointment (100) action is not.
The undressing (110), the actual exam (120) and dressing (130) actions follow sequentially and this relationship is represented by the sequential links (193, 194). The sequential nature implies that such a link is not symmetrical, as the arrows in
The exam (120) can only be carried out when the scanner (140) is available. This kind of relationship is represented by a relational link (183). In addition does carrying out the exam require the availability of an operator, so a relational link (184) also exists between the exam and the operator (150). A relational link between two actions indicates that both actions can only be carried out at the same time. From this follows that such a link is by nature symmetrical and transitive. The transitivity is expressed in
In a more general case, a procedure or exam is preceded by a pre-op action and followed by a post-op action. In a more general case an action refers to an activity related to a resource. Such a resource can be a patient, a physician, a nurse, an operator a diagnostic or treatment apparatus, a examination or treatment room, or any other kind of resource with which an activity can be associated. The resource can or can not be related to the domain of healthcare. The activity can be the use of equipment, the presence of a person, the occupation of a facility or any other activity that refers to the use or availability of any resource. In a more general case any topology of any number of actions related by comprising, relational or sequential links is possible.
A time window can represent the range of time when an action can potentially occur. However, a time window can also represent a range of time when the action can start or when it can end.
In the example in
Since the constraints imposed by the resources are represented by relational (180-185), comprising (190-192) and sequential (193, 194) links, processing the solution essentially comes down to working out these links.
When working out the links, a number of different cases are to be distinguished that correspond with the different nature of the links (relational, comprising or sequential), the interpretation of the time window of the action (start times, end times or action times), and the relative location of the time segments (the way that the time segments in the time windows of the linked actions overlap). The result of processing a link involves adjusting the time segments in the time windows corresponding to the linked actions in a way that they become consistent with the constraints imposed by the corresponding resources.
In the following paragraphs the processing of the different links is discussed.
First case: Time Window Processing for Actions Connected Through Relational Links
Because of the transitive nature of a relational link, if an action has more than one relational link—directly or indirectly—to another action, the time windows of all the actions are to be replaced by a time window of which the time segments are the cross sections of all the time segments of the time windows of all the related actions.
Second case: Time Window Processing for Actions Connected Through Comprising Links
Third case: Time Window Processing for Actions Connected Through Sequential Links
The following terms are introduced or clarified:
The time window of an action, the time window of start times of the same action and the time window of end times of that same action are interrelated.
Referring to
Referring to
According to an embodiment of the current invention time windows representing start times and end times of an action are also interrelated by shifting the start and end times in the time segments by the duration of the action.
According to one embodiment of the current invention, when a first preceding action (800, 902) is followed by a second following action (802, 900), certain restrictions are applied on both the start and end times of both actions.
A first restriction involves the start times of a following action in order to achieve that that the start times of a following action can never be earlier than the earliest end time of any of the preceding actions. According to one aspect of the current invention, this effect is achieved by replacing the time segments (813) of the start times (823) of the following action (802) by the cross section (814) between themselves (813) and the time segments (811) of the end times (821) of the preceding action (800).
A second restriction involves the end times of the preceding action in order to achieve that the end times of a preceding action can never be later than the latest start times of any of the following actions. According to one aspect of the current invention, this effect is achieved by replacing the time segments (913) of the end times (923) of the preceding action (902) by a cross section (914) between themselves (913) and the time segments (911) of the start times (921) of the following action (900).
In the case that slack time is allowed between two actions, the end times of the time segments of the preceding action are preferably extended by the maximum allowed slack time, prior to applying said first restriction. Referring to
Working out a sequential link between two actions involves applying the two above restrictions.
Having described how according to the current invention:
The problem that has to be resolved is finding the time window representing the start time(s) for the exam.
A first step consists of working out the relational links in
Referring to
Similarly, referring to
After this operation, the graph in
A second step consists of working out the comprising links in the graph in
After this operation, the graph in
The third step consists of working out the constraints imposed by the sequential links.
The exam action is preceded and followed by another action. According to one aspect of the current invention, this has implications on start and end times of the time segments of the corresponding time windows.
Referring to
After this operation, the graph in
According to a preferred embodiment of the current invention, an inductive logic method is used to control the processing of the time windows as opposed to deductive logic. These terms are explained in more detail.
Generally speaking, deductive logic starts with variables of which the values are known (called “the hypotheses”) and deduces step by step according to a predefined flow the value of the variable for which a solution is sought (called the “final conclusion”). This processing occurs through the calculation of the value of intermediate values (called “intermediate conclusions”).
In deductive logic, the information processing flow itself is the subject of the programming and as a result, once it has been programmed, it is fixed. Therefore, deductive logic programming is efficient for those problems of which the taxonomy of relations between variables is fixed, and only the values of the hypotheses are subject to change.
An example of a deductive logic method is shown in
In contrary, the entry point for an inductive logic method according to the current invention is the final conclusion itself of which the value is initially unknown. By means of a set of inductive steps that take the form of an exploration process, the data of the hypotheses is first gathered and then systematically processed to calculate the final conclusion.
An inductive step to calculate an (intermediate) conclusion comprises determining what other variables are needed to calculate said (intermediate) conclusion. There are two possibilities:
The subject of the programming in an inductive logic method is not a deductive information processing flow, but a rule set that manages the inductive steps.
Developing a rule set for an inductive method involves determining:
Unlike in a deductive logic method, the problem definition now not only states the values of the hypothesis, but also the taxonomy of the relations between the variables. This allows for far greater flexibility when solving problems that have different taxonomies of relations between variables. Once the rule set has been programmed, problems with a wide variety of taxonomies of relations between the above variables can be solved using the same program.
An example of using an inductive logic method is presented in
According to the current invention, the solution of the scheduling problem stated in the above example is preferably carried out by using an inductive logic method.
According to one embodiment, the following classes or variables are used for managing resources:
According to the same embodiment the inductive logic is managed by a set of three rules:
In a more general case other sets of rules can be selected that however yield equivalent results and also fall within the scope of the current invention. This follows from the fact that the classes of variables in the above rule set are related to each other by simple relationships.
We have found that the above set of three classes of variables in combination with the above three rules provides a self contained method than enables resource scheduling and management of a wide variety of situations.
The method according to the current invention processes time windows and results in a time window that generally comprises a plurality of time segments, each one indicating a single solution of when the corresponding action can take place (or start). The method hence produces not just one solution for the scheduling problem, as in the prior art, but a complete set of solutions.
The method according to the current invention can be used for any resource scheduling and management problem that can be modeled as a set of actions corresponding to resources that are related by a combination of comprising, relating and sequential links and slack time.
Having described the general principles of the current invention we proceed by working out the example that was earlier introduced.
Referring to
The symbols in the circles on one of the
Since the value of the variable start times exam at this point is unknown, this induces an inductive step (IS1). The first rule according to the current invention dictates that in order to calculate the value (1410) of the start times of the exam, the values (1408=1405) of the end time of the exam action and (1406=1302) of the undress action are needed. Since none of these values are known at this time, this causes two new inductive steps: a first one (IS2) to enable the calculation of the value (1406=1302) of the undress action and a second one (IS3) for the calculation of the value (1408=1405) of the end times of the exam.
We proceed by first explaining the inductive step (IS2). Referring to
We next proceed by describing the inductive step (IS3). Referring to
The above mentioned invention is preferably implemented using a data processing system such as a computer. An embodiment of such a system (1700) is shown in
Having described in detail preferred embodiments of the current invention, it will now be apparent to those skilled in the art that numerous modifications can be made therein without departing from the scope of the invention as defined in the appending claims.
Number | Date | Country | Kind |
---|---|---|---|
05101703.6 | Mar 2005 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2006/060044 | 2/17/2006 | WO | 00 | 9/20/2007 |
Number | Date | Country | |
---|---|---|---|
60666001 | Mar 2005 | US |