Outpatient Appointment Scheduling with Variable Interappointment Times

Healthcare currently consumes 17% of the U.S. Gross Domestic Product and is expected to reach 20% within the coming decade. Confronted with such high costs, sharp demand, and limited capacity, many hospitals now are vying for shorter lengths of stay and are transferring services from inpatient to outpatient facilities. This paper seeks to develop a methodology for constructing effective outpatient appointment scheduling systems. The objective of these appointment systems is to minimize the average total cost function describing total costs incurred by patient waiting and by staff idle time and overtime. In the paper, we will establish that the average total cost function exhibits a unimodal curve. The lowest point of the curve essentially means the lowest average total cost. We will next develop a simulation-based heuristic algorithm for finding an outpatient schedule near the lowest point. In the paper, we present numerical examples using the heuristic based upon a set of predetermined unit costs. Specifically, we find the near optimal interappointment times for schedules, where there are two and three patients in each block, respectively. The current work does not consider possible no shows and walk-ins. Future work will undertake these issues.


Introduction
Healthcare currently consumes 17% of the U.S. Gross Domestic Product and is expected to reach 20% within the coming decade [1].It is not uncommon to find numerous patients waiting long periods of time to be serviced at a clinic or hospital.As the demand of outpatient facilities increases, more attention is also being directed to waiting times of patients, and doctors and medical personnel.
To address long waiting times for both parties, many clinics are turning to open access scheduling.This form of scheduling allows patients to make their appointments a day or two before the actual appointment [2].Not having to have patients book their appointments weeks in advance gives all patients the opportunity to see the doctor as soon as necessary.
Using open access scheduling allows clinics the ability to minimize the cost of both the patient and the clinic.Unfortunately, waiting times for all involved are still apparent [3].This paper seeks to develop effective outpatient appointment scheduling systems for outpatient clinics.
The remainder of the paper has been organized as follows.Section 2 defines and formulates the problem that we endeavor to solve.Section 3 provides a brief review of research conducted in outpatient appointment scheduling.We develop a heuristic algorithm for our problem in Section 4, while we justify the validity of the algorithm in Section 5. Numerical examples using the algorithm are included in Section 6.Finally, Section 7 offers concluding remarks.

Statement of Problem
Outpatient clinical scheduling is essentially a problem of assigning appointment times to patients who seek nonemergency medical attention.This scheduling occurs when a patient calls a clinic.Typically, a receptionist will answer the call and schedule the appointment for the patient based on their specifications.
Figure 1 illustrates a generic outpatient clinical schedule.In looking at the figure, we can gather that a day in a clinic is divided into b blocks of equal time interval.A certain number n p of patients will be scheduled to a block B p .Each patient in the block is expected to arrive on time at the given appointment time t p .In an ideal setting, the doctor would see every patient promptly and punctually during the interappointment time a p for the block.We note that each patient has a random service time.
Along with the placement of patients throughout the day, we must consider the length of each patient's service time.There are 2 scenarios we must consider: (1) the total service time in a block ends before the next appointment time, the start time of the next block, or (2) the total service time takes longer than expected and overlaps with the next block.Scenario (1) gives rise to the doctor idle time at which they wait for the next patients to arrive.Scenario (2) produces overtime for the doctor while pushing patients in blocks B p into B p+1 .Both scenarios are conflicting and provide much to be considered when scheduling appointments.The best way to combat this dilemma is to assign an adequate cost to each factor and to minimize the expected total cost.We define the expected total cost as where E(W), E(D), and E(V) are expected patient waiting time, doctor, and staff idle time and overtime, respectively and c w , c d , and c v are the respective unit costs.
We define E(W), E(D), and E(V) following the definitions presented in [4].Let i denote a patient, and assume that each patient arrives promptly at their appointment time, t i .Now, let b i , s i , and e i , respectively, be the time at which service starts, the length of service time, and the time at which service ends for patient i.Let us assume the first patient's appointment time and service start time to be 0; that is, t 1 = b 1 = 0.For each patient i after the first, we can say that their service start time is the maximum of their appointment time and the service end time of the previous patient.Therefore, we have b i = max(t i , e i−1 ) and e i = b i + s i .We can find the waiting time of patient i, w i , by considering their service start time b i minus their appointment time t i ; hence, w i = b i − t i , where w 1 = 0.
The doctor and staff are considered idle while waiting for the next patient to arrive after serving a patient.Thus, the doctor and staff idle time before serving patient i is When there is a fixed number of patients scheduled for a day, say N, the total patient waiting time and the total doctor and staff idle time are W = N i=1 w i , and D = N i=1 d i , respectively.We now define the doctor and staff overtime; it is the time the medical staff has to serve after the end of a day; so, the overtime is V = max(0, e N -t b+1 ).
Note that e N is the end time of the last patient, and that t b+1 is the end time of a day.In this paper, service times are assumed random; so W, D, and V are also random.We use E(W), E(D), and E(V) to denote the expectation of the total patient waiting time, the total doctor and staff idle time, and the total doctor and staff overtime, respectively.We will use the averages of h observations of W, D, and V to approximate the respective expectations.Thus, the expected total cost of (1) is estimated by the following average total cost: where Later in the paper, we will set h = 1000 for our numerical examples.
Suppose that the clinic has good estimates of service times and of the number N of patients per day from historical data, that the number b of blocks for a clinical schedule is preset, and that n p = N/b, assuming an integer, for every p.Then, this paper specifically seeks to solve the following problem: Find interappointment times a p , s so as to minimize E(C) subject to a p > 0 for every p. ( That is, given that the number of patients and the number of blocks are known and that patients are evenly distributed into each block, the interappointment times are to be determined in order to minimize the expected total cost.We will develop a simulation-based heuristic algorithm for finding an outpatient schedule leading to a near optimal solution; we present numerical examples using the heuristic.

Literature Review
There has been a great deal of research conducted on outpatient appointment scheduling methodologies over the past decades.In the seminal work, Bailey [5] develops an outpatient appointment scheduling system, called an individual appointment system.In this system, n p = 1 for every p; that is, there is exactly 1 patient for each of the b blocks, and hence, there are N = b patients in a day.Further, Bailey conveniently chooses all interappointment times to be μ, the average time the physician spends with a patient; thus, a p = μ for every p in their system.The choice of μ seems reasonable with regards to minimizing E(C) of (1).A natural extension of this work would be that not every n p is equal to 1 [6].The resulting systems are called block appointment systems.
There are 2 types of block appointment systems.One is equal-block appointment systems, where every n p is the same; the other is variable-block appointment systems, where not every n p is equal.These systems are studied in [7][8][9][10][11][12].Specifically, White and Pike [7] and Soriano [8] look into equal-block systems.While White and Pike address

b). Initialization: a
Find p such that ExpectedTotalCost(p) is the minimum;  The performances of these systems, equal-and variableblock, are varying according to N and random nature of the times spent between the physician and patients.These researchers demonstrate that the performances almost always outshine that of individual appointment systems.Note that a system of these types has a constant interappointment time; that is, every a p is equal.As it turns out, varying a p brings about powerful systems called variable-interappointmenttime appointment systems.
Variable-interappointment-time appointment systems often outperform other systems.Ho and Lau [4] and Ho et al. [13] discovered that patient waiting tends to tremendously prolong towards the end of the day, because more and more patients overflow from earlier blocks into later blocks.In fact, this confirms a common perception that patients with late appointments in the day tend to wait much longer than do patients with early appointments.As such, Ho and Lau, and Ho et al. develop systems in which a p is to be augmented towards the end of the schedule so as to reduce patient overflow.Supposing that n p = N/b for every p with given N and b, they essentially let a p = μ + ikσ, where k is a constant and σ is the variability of the times spent between the physician and patients.Such choices as k = 0.15, 0.25, 0.3, and 0.5 are experimented and these systems are found to significantly outperform all the aforementioned systems.Note that a p for these systems is arbitrarily or at best conveniently determined based upon the choices of k.As Cayirli and Veral [14] and Gupta and Denton [15] point out, there has virtually been no rigorous research into approaches and methodologies for finding interappointment times.Ultimately motivated by the above understanding, this paper seeks to rigorously and precisely determine a p for every p so as to further unleash the power of variable-interappointment-time appointment systems.The next section will develop an algorithm for constructing variable-interappointment-time appointment systems.

Simulation-Based Heuristic Algorithm
This section describes the way we heuristically determine interappointment times for a clinical schedule so as to minimize the expected total cost.Suppose that there are a total of N patients in a given schedule and that there are b blocks into which we want to distribute these N patients.We note that these N patients are evenly distributed throughout the b blocks; that is, i=1 n i .We want to find the interappointment times a p (p = 1, 2,. .., b) for the schedule in order to minimize (1).
To start, there is 1 minute given to each block.This is done because it is not reasonable to have a block with zero minutes, since there are n p (n p > 0) patients in each block.In this paper, we assume that there are 8 blocks (b = 8) in a schedule.Therefore, our initial interappointment times are [1 1 1 1 1 1 1 1].
We now add 1 minute to the first block of the initial interappointment times [ 1 1 1 1 1 1 1 1], yielding  [2 1 1 1 1 1 1 1].We then generate a set of random service times, S 1 = {S 11 , S 12 , . . ., S 1N }.This paper assumes that service times are exponentially distributed with a mean of 10 minutes.With S 1 , we compute W 1 , D 1 , and V 1 for the schedule with interappointment times [2 1 1 1 This 1 minute is next removed from the first block and added to the second block.We then have interappointment times [1 2 1 1 1 1 1 1] for our schedule.Repeating the above computation process, the average total cost C is calculated for the schedule with interappointment times [1 2 1 1 1 1 1 1].This continues on as shown below.
After going through the above procedure, we will obtain 8 average total costs C. The smallest average total cost C is then identified.Whichever row from the above has this lowest value will have the 1 minute placed permanently into that block.For example, suppose that the third row gives the lowest average total cost C, we then will place the 1 minute permanently in the third block.As a result, we have updated our interappointment times from [1 1 1 1 1 1 1 1] to [1 1 2 1 1 1 1 1].We will now make [1 1 2 1 1 1 1 1] our new initial interappointment times.We will repeat the above procedure with [1 1 2 1 1 1 1 1] being the initial interappointment times for our schedule by adding/removing 1 minute to/from the first block through the last block.After this procedure, 8 average total cost C will be obtained.The lowest value of C is identified and then the 1 minute is placed permanently in the block corresponding to the lowest C. For example, we may this time obtain interappointment times, say, [1 1 2 1 2 1 1 1].We now make [1 1 2 1 2 1 1 1] our new initial interappointment times.
The above procedure for adding/removing 1 minute to/from a block is repeated multiple times to increase the interappointment times for the schedule progressively.As we may expect, the average total cost C for the schedule would be high when the interappointment times are short.This is true in that the average waiting time W and the average staff overtime V would be large, but the average doctor and staff idle time D would tend to be zero, when the interappointment times are short.Thus, the average total cost C would be decreased as we progressively place 1 minute permanently in a block to effectively increase the respective interappointment time.However, the average total cost would increase when the interappointment times are becoming too large.This is reasonable in that when the interappointment times become too large, the average doctor and staff idle time would become large, but the average patient waiting time would become a constant, and the average doctor and staff overtime would become zero.We would stop the procedure for adding/removing 1 minute to/from a block as soon as the average total cost starts to increase.We will then return the previous set of interappointment times to be an approximation to the optimal interappointment times for the schedule.We will in Section 5 demonstrate that the average total cost is a unimodal function.As a consequence, a local minimum is in fact a global minimum.We now summarize the abovediscussed procedure as Algorithm 1.
Figure 2 presents a flowchart illustrating the logical flow of the above algorithm; the algorithm has been coded using MATLAB.We will justify the validity of the algorithm in the following section.

Justification of Simulation-Based Heuristic Algorithm
This section justifies the validity of the simulation-based heuristic algorithm.Suppose that we have generated a set of service times, S = {S In addition, TW is the smallest possible total patient waiting time.
Proof.We have a i ≥ ni j=1 S i j with i = 1, 2,. .., b.This means that each interappointment time is longer than or equal to the sum of the service times of all the patients in each block.This in turn says that the first patient in each block does not have to wait.However, the subsequent patients will have to wait until every patient before them has been seen by the doctor.Thus, we have what is seen in the following.
Patient Patient waiting time 1st patient in block It can now easily be seen that the total patient waiting time is It is also clear, from the above discussion, that TW is the smallest possible total patient waiting time.
The above theorem asserts that, given a realization of service times, the total wait time for all patients in a day is at least TW.We will use the least total patient wait time to establish that the average total cost is unimodal in the following theorem.

Theorem 2. The average total cost C exhibits a unimodal curve as we carry out the simulation-based heuristic algorithm as discussed in Section 4.
Proof.Assume that the lowest average total cost C is obtained after a round of adding/removing 1 minute to/from the first block through the last block of a schedule.Now, perform another round of adding/removing 1 minute to/from the first block through the last block; suppose that we obtain the lowest average total cost C this time.Let us assume that C > C .This means that we have just crossed the lowest point of the curve.We now need to show that any lowest average total cost we obtain by further adding/removing 1 minute to/from the first block through the last block will only increase.Note that since C > C , each average total cost we obtain from the second round of adding/removing 1 minute to/from each block is greater than C .This means that adding 1 minute to a block will only increase the average total cost.This further means that the total patient waiting time has already reached the minimum value TW given in Theorem 1, that the doctor and staff overtime has reached zero, and that the doctor and staff idle time has begun to increase from zero.Thus, from now on, we have , which will only increase, since adding 1 minute to any block will only increase D; however, W (W = TW) stays constant.

Numerical Examples and Discussion
This section investigates into the way the 3 unit costs affect the interappointment times in a schedule.We assume that the number b of blocks in a schedule is 8.Each unit cost may take on 1 of 3 possible values, 1, 50, and 100; there are a total of 27 combinations of these values.We consider the schedule associated with all the unit costs being 1 as the base-case schedule.We look also at the effects in interappointment times from 2 different numbers N of patients in a day; that is, N = 16 with [2 2 2 2 2 2 2 2] and N = 24 with [3 3 3 3 3 3 3 3].We note that for all the numerical examples, we employ exponential service times with a mean of 10 minutes and the number h of observations is 1000.This configuration is chosen for convenience; one may pick other configurations of choice.We present the results in 2 tables.Specifically, Table 1 contains the results of various unit costs, where there are 2 patients in each block; Table 2, that of various unit costs where each block holds 3 patients.
To begin, we first look at the unit costs associated with the doctor and staff overtime, leaving the other 2 costs intact.If there is a high cost to have overtime at the end of the day, then we would want to minimize the overtime there is.Overtime is the time left at the end of the day after the last patient is through seeing the doctor.Thus, if the unit cost of overtime is increased, the first 7 blocks would not be affected, but the last block would be significantly longer.Again leaving the other two alone, we look at just the unit cost for the doctor and staff idle time.If the unit cost for idle time is adjusted, particularly increased, this means that there is more of an emphasis placed on the amount of idle time there is in a given block.If this unit cost is increased, then to keep the expected total cost at a minimum there needs to be as little to no idle time as possible.This would cause the blocks to be shorter.
Lastly is the unit cost of the patient waiting time.This comes from the fact that the second patient in a block is always going to have to wait on the first patient.What we are concerned with is the prospect of a patient having a long service time.If this happens and there is an overflow into the next block, then the first patient of the next block now has a waiting time.If overtime and idle time are not issues, we might be able to preclude the above-mentioned scenario from occurring.In this case, all the blocks will be exceptionally long except for the last one, which will be average.
From Tables 1 and 2, we can see how the minimum expected total cost changes as the unit costs change.In retrospect, we said that looking at only the overtime but leaving the other 2 unit costs unchanged, the blocks would be similar to our base-case schedule, where (c w , c d , c v ) = (1, 1, 1).This is evident in the first 3 rows of Table 1, we can see that the first 7 columns are very similar.Column 8, however, differs considerably across the 3 rows.
Moving now, we look at the unit cost of idle time.We predicted that if the unit cost of the idle time increased, the blocks would be shorter.To verify this, we are going to look at the rows, where (c w , c d , c v ) = (1, 50, 1) and (c w , c d , c v ) = (1, 100, 1).For these 2 rows, all the blocks are substantially shorter than that of our base case.
Lastly we hypothesized that if the unit cost of patient waiting time was increased, then the interappointment times would be increased, all except for the last block.To see these changes, we need only look at the rows where (c w , c d , c v ) = (50, 1, 1) and (c w , c d , c v ) = (100, 1, 1).Looking at these rows in It is easily seen that by increasing the unit cost of patient waiting time, the length of the blocks are significantly increased.
Looking also at all the rest of the rows, these show different choices of the 3 values of 1, 50, and 100.Combinations of these lead to a whole host of different interappointment times, as well as a collection of minimum expected total costs.We further observe that, for example, the row for which (c w , c d , c v ) = (1, 100, 100).Both the unit costs of idle time and overtime have been increased, respectively.Since there is a high cost associated with the idle time, the blocks must be shorter; since there is a high unit cost for the overtime, the last block must be as long as necessary so as not to have any overtime.Looking at this row, this is what is transpiring to the blocks.There is 1 other observation which needs to be made.The unit costs, (c w , c d , c v ) = (1, 1, 1), (50, 50, 50), (100, 100, 100), yield the same interappointment times.However, the respective expected total costs differ.The expected total cost is going to be effected in such a way that the expected total cost for (c w , c d , c v ) = (50, 50, 50) is greater than that of (c w , c d , c v ) = (1, 1, 1) by a factor of 50; the expected total cost for (c w , c d , c v ) = (100, 100, 100) is greater than that of (c w , c d , c v ) = (1, 1, 1) by a factor of 100.The above can be seen in Table 1.
In addition to finding various interappointment times for a day of 8 blocks such that N = 16 with 2 patients in each block, we run the same 27 combinations of unit costs for a day such that N = 24 with 3 patients in each block.The reason for this is to see the differences in expected total costs as well as to see changes in interappointment times which come with adding more patients into a day.Table 2 contains these expected total costs as well as the interappointment times associated with the 27 combinations.Similar observations can be made from Table 2 as are deduced from Table 1.

Conclusion
The objective of this paper was to find how long to make each block in a schedule in order to minimize the expected total cost.A simulation-based heuristic algorithm was constructed so as to determine approximately optimal interappointment times.We justified the validity of the heuristic.We provided a number of numerical examples based upon a set of predetermined unit costs using the heuristic.Specifically, we found the approximately optimal interappointment times for schedules with two patients per block and for schedules with three patients per block, respectively.We compared and contrasted the results of these two types of schedules.One direction for future work is to look into determining optimal interappointment times under the consideration of patient no-shows and walk-ins, which can be easily incorporated into our simulation-based approach.

Figure 1 :
Figure 1: An outpatient clinical schedule with b blocks.

Algorithm 1 :
Simulation-based heuristic algorithm.Input: Number of patients, N Number of blocks, b Number of patients per block, n i Unit cost for W, C w Unit cost for D, C d Unit cost for V , C v Doctor service time distribution Number of replications, h the previous set of interappointment times and stop.The current lowest average total cost < the previous lowest average total cost.Identify the lowest average total cost C. Place the 1 minute permanently to the block that yields the lowest average total cost C. Add/remove 1 minute to/from the first block through the last block of the schedule.Each time; calculate the respective average total cost C.