A simulation model built in Simio was used to study the current schedule of the procedures for an Outpatient Surgery (OPS) Suite. Simio was used to build an open 1-year calendar as the schedule of the OPS. The calendar is represented by a table in Simio where the number of rows represents the days in the year and the number of columns represents the number of time slots in the day based on the shortest appointment. There are 3 rooms in the OPS, hence, 1 calendar was built for each room. The calendar (table) cells are filled with zero if the time slot is available or one if the time slot has been already reserved or blocked. According to the annual demand achieved from the historical data [made and scheduled dates], the simulation is run to book appointments in the available slots based on specific rules. The simulation model is used to study different scheduling modules like blocking certain rooms at specific times for some procedures. This white paper mainly discusses how Simio made this complicated exercise an easy and enjoyable technique to implement.

Data

One-year of the procedures scheduled in the OPS suite was obtained. The fields provided with each data record are: made date, scheduled date, scheduled time, appointment type, and room booked. There are 21 different appointment types that can be scheduled in OPS with varied lengths. The shortest appointment length is 15 minutes where the longest appointment length is 120 minutes. Therefore, the day in the calendar is divided in 15 minute time slots. The difference between the made and scheduled dates for each appointment type is studied and modeled in a statistical distribution for each day in the week. The statistical distributions are used to model the preference in how many days out the appointment is scheduled from the made date. In addition, the scheduled time is also studied to mimic the preferred time to book each type of the procedures. Finally, there are some rules for which each type of the procedures is preferred to be scheduled in the available rooms where some cannot be scheduled except in specific rooms due to space constraints.

Modeling in Simio

A snapshot of the model is shown in the figure below. The simulation clock starts running and each day presents a mix of requested appointments out of 21 possible procedures based on the historical data. A “Dummy Call” as an entity is generated each day of the week that reads different linked tables to scan the preferred scheduled day and time.

Simio would search for an available spot for each generated request in the available rooms based on the preferred day and time. A fractional example of an open calendar of a room modeled as a table in Simio is shown below.

The search algorithm preferences and rules are modeled as processes in Simio. The processes will try to find an available spot following the predefined sets of preferences and rules. There are 3 sinks that will destroy the generated requests after searching for an available spot:

Scheduled: if the search algorithm finds a spot according to the preferences and rules. The cells booked in the table (calendar) for the scheduled appointments will change from zero to one.

Blocked: if the search algorithm fails to find a spot. The objective is to keep the number of requests being destroyed in this sink to the minimum.

NextYear: if the search happens to find the available spot in the following year again according to the preferences and rules.

Discussion

The purpose of this paper is to present the scheduling search algorithm modeled in Simio. The very simple features in Simio as the table and find process step were sufficient to model such complex problem. Finally, the model was verified and validated in accordance with the historical data and assumptions. The model was used to test different blocking algorithms for some rooms at specific times for some procedures to study their effect on the number of the procedures that can be scheduled on the preferred day and at the preferred time..