generating staffing policy options for the urgent-care ...web.ics.purdue.edu/~archerj/course...

9
1 Generating Staffing Policy Options for the Urgent-Care Medical Clinic Date: 11/25/2014 To: Hong Wan From: Julian Archer Subject: IE 580 – Systems Simulation OBJECTIVE This project generates a set of staffing options that the director of the Urgent-Care Medical Clinic can utilize to improve clinic operations. Improvements are with respect to hard constraints on allowable patient-waiting-time across services, minimizing number of resources, minimizing total-patient-time in clinic, and satisficing resource utilization. EXECUTIVE SUMMARY Rigorous analysis urges you—the director of the of the Urgent-Care Medical Clinic —to staff 2 Clerical Workers, 3 Examination Physicians, 1 Physician Assistant, 3 Trauma Physicians, and 3 Treatment Physicians. The staffing was heavily weighted on the directors need to meet hard constraints on waiting times for the different services in the clinic. Average wait time in queue for the Check in, Check out, Examination, Trauma, Treatment, and Triage were: 0.492, 0.426, 1.11, 1.39, 2.3, and 0.03 minutes, respectively. All 95% half width confidence intervals are within 0.25 minutes, which is really good; people are hardly ever waiting in the clinic since the average value is almost 0. DISCUSSION Analysis I focused on the following in optimizing the staffing options: (a) Arena input modeling, (b) defining objective functions and constraints, (c) optimizing objectives, (d) performing sensitivity analyses, (e) staffing selection, and finally (f) model validation. (a) Input Modeling Inputs for mean patient arrival, route times, service times, and probability distribution of mean patient arrival across service stations are key for the baseline simulation model. Mean patient arrival is determined via a rough regression of the given arrival rates over the course 5 years. Route times are given. Service times are found by fitting given data in Arena Input Analyzer. Probability distributions are manually calculated by use of proportional analysis. Technical guidance on the specifics and assumptions are in the Appendix, see pg. 4-9. All inputs are clearly stated in the Table below. 1st 2nd 3rd mean patient arrival RandExpo(1/0.1528) NA NA patients check in service time TRIA(0.54, 1.13, 4.87) 0.54 +ERLA(0.589, 3) 0.54 +4.33 *BETA(1.72, 2.5) minutes check out service time LOGN(4.05, 2.05) ERLA(0.797, 5) GAMM(0.761, 5.24) minutes examination service time 5 + 17 * BETA(1.48, 2.51) 5 +WEIB(7.09, 1.79) 5 +GAMM(2.44, 2.59) minutes trauma service time NORM(61.9, 14.5) 37 +60 *BETA(1.23, 1.73) 37 +WEIB(27.5, 1.63) minutes treatment service time 8 + GAMM(3.84, 2.6) 8 +WEIB(11.3, 1.75) 8 + ERLA(3.33, 3) minutes triage service time UNIF(0, 1) BETA(0.974, 0.86) WEIB(0.588, 1.68) minutes arrival to triage route time 0.25 NA NA minutes triage to trauma route time 0.25 NA NA minutes p(trauma) 10.00 NA NA percentage p(treatment| no_trauma) 59.90 NA NA percentage Distribution/Value (Best 3) Arena Model Input Units

Upload: hatram

Post on 20-Mar-2018

220 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Generating Staffing Policy Options for the Urgent-Care ...web.ics.purdue.edu/~archerj/Course Deliverables/IE 580 - Project 2... · Generating Staffing Policy Options for the Urgent-Care

1

Generating Staffing Policy Options for the Urgent-Care Medical Clinic Date: 11/25/2014 To: Hong Wan From: Julian Archer Subject: IE 580 – Systems Simulation OBJECTIVE This project generates a set of staffing options that the director of the Urgent-Care Medical Clinic can utilize to improve clinic operations. Improvements are with respect to hard constraints on allowable patient-waiting-time across services, minimizing number of resources, minimizing total-patient-time in clinic, and satisficing resource utilization. EXECUTIVE SUMMARY Rigorous analysis urges you—the director of the of the Urgent-Care Medical Clinic —to staff 2 Clerical Workers, 3 Examination Physicians, 1 Physician Assistant, 3 Trauma Physicians, and 3 Treatment Physicians. The staffing was heavily weighted on the directors need to meet hard constraints on waiting times for the different services in the clinic. Average wait time in queue for the Check in, Check out, Examination, Trauma, Treatment, and Triage were: 0.492, 0.426, 1.11, 1.39, 2.3, and 0.03 minutes, respectively. All 95% half width confidence intervals are within 0.25 minutes, which is really good; people are hardly ever waiting in the clinic since the average value is almost 0. DISCUSSION Analysis I focused on the following in optimizing the staffing options: (a) Arena input modeling, (b) defining objective functions and constraints, (c) optimizing objectives, (d) performing sensitivity analyses, (e) staffing selection, and finally (f) model validation.

(a) Input Modeling Inputs for mean patient arrival, route times, service times, and probability distribution of mean patient arrival across service stations are key for the baseline simulation model. Mean patient arrival is determined via a rough regression of the given arrival rates over the course 5 years. Route times are given. Service times are found by fitting given data in Arena Input Analyzer. Probability distributions are manually calculated by use of proportional analysis. Technical guidance on the specifics and assumptions are in the Appendix, see pg. 4-9. All inputs are clearly stated in the Table below.

1st 2nd 3rd

mean patient arrival RandExpo(1/0.1528) NA NA patients

check in service time TRIA(0.54, 1.13, 4.87) 0.54 + ERLA(0.589, 3) 0.54 + 4.33 * BETA(1.72, 2.5) minutes

check out service time LOGN(4.05, 2.05) ERLA(0.797, 5) GAMM(0.761, 5.24) minutes

examination service time 5 + 17 * BETA(1.48, 2.51) 5 + WEIB(7.09, 1.79) 5 + GAMM(2.44, 2.59) minutes

trauma service time NORM(61.9, 14.5) 37 + 60 * BETA(1.23, 1.73) 37 + WEIB(27.5, 1.63) minutes

treatment service time 8 + GAMM(3.84, 2.6) 8 + WEIB(11.3, 1.75) 8 + ERLA(3.33, 3) minutes

triage service time UNIF(0, 1) BETA(0.974, 0.86) WEIB(0.588, 1.68) minutes

arrival to triage route time 0.25 NA NA minutes

triage to trauma route time 0.25 NA NA minutes

p(trauma) 10.00 NA NA percentage

p(treatment| no_trauma) 59.90 NA NA percentage

Distribution/Value (Best 3)Arena Model Input Units

Page 2: Generating Staffing Policy Options for the Urgent-Care ...web.ics.purdue.edu/~archerj/Course Deliverables/IE 580 - Project 2... · Generating Staffing Policy Options for the Urgent-Care

2

(b) Defining objective functions and constraints The sole objective function was a logical decision on my part to minimize the total number of resources scheduled summed across all clinic related services as this equates to less resource associated costs. There were 3 hard constraints: (1) trauma average wait time <= 5 minutes, (2) each service average wait times <= 20 minutes, and (3) each resource utilization <= 0.75. (Constraint 1 conservatively—via principles of expected value—takes care of the 90% within 5 minutes in-service at Trauma; constraint 3 is “practical” to not overwork personnel). (c) Optimizing objective function The objective function was optimized (i.e. minimized) using Arena’s built in OptQuest optimization tool pack. A range of values (i.e. low bound = 1, high bound = 3) for each resource to manipulate in the optimization was determined based on “anchoring” with respect to the initial suggested values provided by the clinic director. 500 replications were run in Arena OptQuest, this value was based on the need to achieve a precision of error within ½ minute at 95% confidence. (d) Performing sensitivity analyses I performed a sensitivity analysis on two levels; the first was previously alluded to and relates to varying different levels or the resource number to see how the values of interest vary; the second level of sensitivity analysis was done with respect to the Arena model inputs for service times. Using the previously identified best and 3rd best fit distributions for each service time sensitivity analysis were realized as shown below for the average wait times. Sensitivity analyses for the resource utilization are also presented in the appendix. Note that Arena OptQuest generates all of the necessary data needed to make the plots shown on page 3 below. (Note that only the feasible regions are shown). e) Staffing selection Based on the sensitivity analyses conducted (let’s reference the graphs on page 3), it is very easy to choose between optimal clinic staffing levels. All the constraints you care about and more realistic imposed constraints are met, so just pick a level suitable. I recommend 2 Clerical Workers, 3 Examination Physicians, 1 Physician Assistant, 3 Trauma Physicians, and 3 Treatment Physicians. Average wait time for patients in the clinic along with their total time is the system is about its lowest value at that staffing. Clearly there is variation across the two sensitivity analysis graphs but notice the values are lower in the second so the staffing level I recommend is justifiable and reasonable. f) Model Validation The Arena model can practically be verified by comparing the outputs to expected values regressed from the initial data set given. From first glance I would say given the mean arrivals closely match the expectation based on the data then the model is reasonable in that sense. More so the terminating logical of the model is verified by “number in = number out.” Utilization values are reasonable based on real world experience. Waiting times are also practical. Service time distributions can further be verified via comparative system analysis. I would finally say a face validation and demonstration with the director of the clinic is necessary to fine tune aspects of the model he/she is more interested in.

Page 3: Generating Staffing Policy Options for the Urgent-Care ...web.ics.purdue.edu/~archerj/Course Deliverables/IE 580 - Project 2... · Generating Staffing Policy Options for the Urgent-Care

3

Shortcomings of the Analysis Here are some shortcomings. Firstly, more sensitivity analyses could have been accomplished taking into consideration varying resource utilization levels. I set a practical utilization in my mind but maybe the director has intentions to understaff as much as possible and overwork his employees to cut corners. This option was not explored. Secondly, better modeling assumptions and constraints are always an option. Testing average values may give insight but I probably could have looked into constraints on the ranges that establish the mean values being used in the simulation.

Page 4: Generating Staffing Policy Options for the Urgent-Care ...web.ics.purdue.edu/~archerj/Course Deliverables/IE 580 - Project 2... · Generating Staffing Policy Options for the Urgent-Care

4

APPENDIX Input Modeling Notes:

Mean patient arrival Outliers are removed from all given data using MATLAB boxblot function.

Basically all points outside the whiskers are considered outliers and are removed. A regression is run on the total number of patients arriving per day (i.e. Trauma

patients + no_Trauma_Treatment + noTreatment). The SAS regression code is as follows: data patient_arrival; /* name of dataset*/ infile 'C:\Users\Julian\Desktop\IE 580\Project 2\patients.txt'; input patients day; symbol value = x interpol = r; /* make data points x's and include fitted regression line*/ proc reg data = patient_arrival; /*runs the regression using specified dataset*/ model patients = day/ clb; output out=patient_arrival_2 r=resid; run;

Regression results are as follows:

Residuals look evenly distributed and the regression model is significant and the regression model is as follows:

Page 5: Generating Staffing Policy Options for the Urgent-Care ...web.ics.purdue.edu/~archerj/Course Deliverables/IE 580 - Project 2... · Generating Staffing Policy Options for the Urgent-Care

5

patients per day = 0.03446*(day) + 99.50374 Note to round up answer

patients per day (currently) = 0.03446(1100) +99.50374

patients per day (currently) 138 (rounded up)

expected patient per day after 2 additional years = 0.03446(365*2) + 138 165

Probability distribution of mean patient arrival across service stations

1100

1100

# of Trauma patients

p(trauma)# of Trauma patients noTrama_Treatment patients + noTreatmentpatients

p(trauma) 0.10 1012993

13 320%

0

ii days

i i ii days

1100

1100

# of noTrama_Treatment patients

p(treatment| no_trauma)# of noTrama_Treatment patients + noTreatmentpatients

p(trau70289

11732ma) 0.5591 55.91

7%

ii days

i ii days

Check in Service Time (Best 3 fits in Arena Input Analyzer)

Page 6: Generating Staffing Policy Options for the Urgent-Care ...web.ics.purdue.edu/~archerj/Course Deliverables/IE 580 - Project 2... · Generating Staffing Policy Options for the Urgent-Care

6

Check out Service Time (Best 3 fits in Arena Input Analyzer)

Examination Service Time (Best 3 fits in Arena Input Analyzer)

Page 7: Generating Staffing Policy Options for the Urgent-Care ...web.ics.purdue.edu/~archerj/Course Deliverables/IE 580 - Project 2... · Generating Staffing Policy Options for the Urgent-Care

7

Trauma Service Time (Best 3 fits in Arena Input Analyzer)

Treatment Service Time (Best 3 fits in Arena Input Analyzer)

Page 8: Generating Staffing Policy Options for the Urgent-Care ...web.ics.purdue.edu/~archerj/Course Deliverables/IE 580 - Project 2... · Generating Staffing Policy Options for the Urgent-Care

8

Triage Service Time (Best 3 fits in Arena Input Analyzer)

ID Arena Modeling Assumptions

1 Mean interarrival times are exponentially distributed

2 Terminating condition = 1080 mins && Total WIP ==0

3

Check in and Check out Process are separate, but share the same resource, although they 

both occur at the registration desk. Conceptually the model is still correct when compared 

with the individual modeling of one single process for registration

4

Reasonable baseline utilization should be <= 0.75 to not overwork the resource and allow for 

breaks

2

95% 0.05/2

Given:

z = z-value || std = standard deviation || E = acceptable error margin

#

note: across all serivies, the max replication values correspond to the values b

CI

stdreplications z

E

2

95%

elow

for an service time within 1/2 minutes,

0.297# 1.96 500(I bumped it up a bit)

0.5*0.53CIreplications

Page 9: Generating Staffing Policy Options for the Urgent-Care ...web.ics.purdue.edu/~archerj/Course Deliverables/IE 580 - Project 2... · Generating Staffing Policy Options for the Urgent-Care

9

See supporting files in the archer.zip for Arena Model, Optimization Files

and Other Scrap data I used.