integrated simulation model for patient flow between

109
Integrated Simulation Model for Patient Flow Between Operating Rooms and Progressive Care Units Using Custom Objects A thesis presented to the faculty of the Russ College of Engineering and Technology of Ohio University In partial fulfillment of the requirements for the degree Master of Science Ryan L. Miller December 2020 © 2020 Ryan L. Miller. All Rights Reserved.

Upload: khangminh22

Post on 24-Feb-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Integrated Simulation Model for Patient Flow Between Operating Rooms and Progressive

Care Units Using Custom Objects

A thesis presented to

the faculty of

the Russ College of Engineering and Technology of Ohio University

In partial fulfillment

of the requirements for the degree

Master of Science

Ryan L. Miller

December 2020

© 2020 Ryan L. Miller. All Rights Reserved.

2

This thesis titled

Integrated Simulation Model for Patient Flow Between Operating Rooms and Progressive

Care Units Using Custom Objects

by

RYAN L. MILLER

has been approved for

the Department of Industrial and Systems Engineering

and the Russ College of Engineering and Technology by

Dušan Šormaz

Professor of Industrial and Systems Engineering

Mei Wei

Dean, Russ College of Engineering and Technology

3

ABSTRACT

MILLER, RYAN L., M.S., December 2020, Industrial and Systems Engineering

Integrated Simulation Model for Patient Flow Between Operating Rooms and Progressive

Care Units

Director of Thesis: Dušan Šormaz

Process improvements in hospitals usually focus on a single department (eg.

emergency department, operating theater, specialty clinic, etc). However, actions taken in

one department inevitably affect the performance of other departments. Therefore, higher

efficiency improvements can be obtained by considering the patient care process as one

synergetic activity involving several departments and various sets of resources. In this

research we propose an integrated approach for modeling the patient lifecycle for

multiple departments.

First we describe a patient flow from his/her entry into the hospital through a

progressive care unit until the patient has fully recovered. We use process mapping

methods to address value added activities and other necessary activities in the patient

lifecycle. Then, a simulation model is developed in Simio using customized objects

created in previous works. Those customized objects carry their own logic and behavior.

For example, the Bed object includes logic for a patient recovering while using several

hospital resources (nurses, therapist) in his/her hospital stay. Those objects were used to

build several configurations of an integrated model with multiple departments.

Data about patient arrival patterns, their health acuity, and procedure needs were

obtained from a real hospital in order to test our approach. The procedures duration data

4 (which were different for different levels of patient acuity and for different surgical and

other procedures) were used to obtain service distribution using statistical analysis

methods.

Modular simulation objects and data distributions from real hospitals allowed us

to build an integrated simulation model with several configurations of the process flow.

Simulation experiments were performed on these models and performance recorded. The

recommendation for implementations in the hospitals is also reported.

5

DEDICATION

This thesis is dedicated to my wife Laura DiNardo Miller. Her hard working attitude

inspired me to see this through, after life had taken me away from studies for a long time.

Without her every day encouragement I would have never completed this work.

6

ACKNOWLEDGMENTS

I would like to give a big thanks to my advisor, Dr. Dusan Sormaz. He has never

wavered in his support for both my studies and life in general. There have been many

challenges we have had to overcome to complete this work, including a global pandemic.

Without his belief in me and his guidance, I don’t know that I would have ever been able

to reach this goal.

My wife and family have always been of great support to me, and I’m so very

grateful for them. I also wish to give a great thanks to my good friend and academic peer

Arkopaul Sarkar who has quietly pushed and encouraged me to get this work done.

Finally, a big thanks to the entire ISE department at Ohio University. The faculty

and staff have always been accommodating and encouraging. It is evident that they truly

care about the students.

7

TABLE OF CONTENTS

Page

Abstract ............................................................................................................................... 3

Dedication ........................................................................................................................... 5

Acknowledgments............................................................................................................... 6

List of Tables ...................................................................................................................... 9

List of Figures ................................................................................................................... 10

Chapter 1: Introduction ..................................................................................................... 13

Advantages .................................................................................................................. 15

Disadvantages ............................................................................................................. 15

Chapter 2: Literature Review ............................................................................................ 19

2.1 Discrete Event Simulation in Healthcare Systems................................................ 19

2.2 Simulation Studies on Patient Flow ...................................................................... 22

2.2.1 Simulation of Multiple Associated Healthcare Units .................................. 25

2.2.2 Generic Modeling ........................................................................................ 26

2.2.3 Object Oriented Modeling ........................................................................... 28

Chapter 3: Thesis Objective and Overview ...................................................................... 32

3.1 PCU Overview ...................................................................................................... 32

3.2 Surgical Unit Overview ........................................................................................ 38

3.3 Principles of Integration ........................................................................................ 41

Chapter 4: Methodology ................................................................................................... 44

4.1 Testing Bed Object ............................................................................................... 44

4.2 Enhancing Bed Unit Model .................................................................................. 48

4.2.1 Rounding Conflicts ...................................................................................... 52

4.2.2 Adjusting for Multiple Beds ........................................................................ 72

4.2.3 Changing Acuity and Routing Final Destination ......................................... 76

4.3 Two Units Integrated to One Model ..................................................................... 84

4.4 Statistic Collection & Experiments ....................................................................... 93

4.4.1 Statistic Collection ....................................................................................... 93

4.4.2 Experiments ................................................................................................. 98

Chapter 5: Conclusion and Future Work ........................................................................ 103

5.1 Summary ............................................................................................................. 103

8

5.2 Conclusion .......................................................................................................... 104

5.3 Future Work ........................................................................................................ 105

References ....................................................................................................................... 106

9

LIST OF TABLES

Table 1: Patient Origin Breakdown .................................................................................. 34

Table 2: Patient Origin broken down by acuity level ....................................................... 34

Table 3: PCU patient arrival distribution .......................................................................... 35

Table 4: PCU Activities .................................................................................................... 37

Table 5: Patient Destinations ............................................................................................ 38

Table 6: DailyAppointments Data Table ........................................................................... 41

Table 7: Resource Rounding Times - Gantt Chart vs Simulation Comparison ................ 47

Table 8: HospitalData (transposed) .................................................................................. 50

Table 9: Patient Property and Variables in relation to Data Table ................................... 52

Table 10: Gantt Chart Data with one conflict ................................................................... 69

Table 11: HospitalData Data Input for one conflict ......................................................... 70

Table 12: Altered Gantt Chart Data .................................................................................. 70

Table 13: HospitalData data input for many conflicts ..................................................... 72

Table 14: Resource mix .................................................................................................. 100

Table 15: Results for time in system and resource utilization ........................................ 102

Table 16: Results for wait time and bed cycles .............................................................. 102

10

LIST OF FIGURES

Figure 1: 2D View of Bed Object ..................................................................................... 30

Figure 2: 3D View of Bed Object ..................................................................................... 30

Figure 3: Snapshot of Bed Object Processes .................................................................... 31

Figure 4: Libraries of custom objects used for integration ............................................... 33

Figure 5: Generic Process Map ......................................................................................... 36

Figure 6: Summary of patient origin and destination information ................................... 37

Figure 7: Library and Main Model Relationship .............................................................. 39

Figure 8: Custom Library in Simio ................................................................................... 39

Figure 9: Surgical Unit Patient Flow ................................................................................ 43

Figure 10: Gantt Chart for Testing Bed Object ................................................................ 45

Figure 11: Fixed Times Data for Gantt Chart ................................................................... 45

Figure 12: Test Bed Model ............................................................................................... 45

Figure 13: Test Bed Worker Utilization Plot .................................................................... 46

Figure 14: Test Bed Results from Bed-BedTestModel-v2-4.spfx ...................................... 47

Figure 15: Patient Properties ............................................................................................. 49

Figure 16: Assign RegNurseNextVisit .............................................................................. 52

Figure 17: Assign Patient.RegNursNextVisitSt................................................................. 54

Figure 18: Assign Patient.RNTimeUntilState ................................................................... 54

Figure 19: OnBedEntered Process .................................................................................... 55

Figure 20: Entire RNProcess – with conflict resolution ................................................... 59

Figure 21: Delay for Patient.RegularNurseChecktimeState ............................................. 60

Figure 22: Decide Conflict?RN-Therapist ........................................................................ 62

Figure 23: Decide Conflict?RN-AN .................................................................................. 63

Figure 24: Non-RN Time Until Assignments in RN Process ........................................... 64

Figure 25: State Variable Assignments to handle conflict ................................................ 65

Figure 26: Assign new Patient.BedTimeSt and new Patient.RegNurseNextVisit ............. 65

Figure 27: Assign Patient.RNTimeUntil ........................................................................... 66

Figure 28: Decide Next Rounding Process ....................................................................... 67

Figure 29: Assign NewTherapistCheckTime .................................................................... 67

Figure 30: Decide IfThereIsTimeRemaining ..................................................................... 68

Figure 31: Delay for RemainingStayTime......................................................................... 68

11 Figure 32: Bed_Exit Process ............................................................................................. 69

Figure 33: Gantt Chart with Conflict Circled ................................................................... 69

Figure 34: Altered Gantt Chart ......................................................................................... 71

Figure 35: Animation results for conflict run ................................................................... 71

Figure 36: Animation results for run with many conflicts ................................................ 72

Figure 37: Assign BeginRNWait ....................................................................................... 73

Figure 38: Assign step for calculating wait time .............................................................. 73

Figure 39: Assign LastVisitSt............................................................................................ 73

Figure 40: Adjusted Decide Step for conflict handling .................................................... 74

Figure 41: Reset wait time ................................................................................................ 75

Figure 42: Results for simulation run with many conflicts............................................... 76

Figure 43: DestinationList ................................................................................................ 77

Figure 44: Changes to HospitalData for destinations....................................................... 77

Figure 45: Changes to Bed_Enter for a change in acuity ................................................. 78

Figure 46: Assign first destination upon arrival to bed ..................................................... 78

Figure 47: Pass HospitalData to Bed Model .................................................................... 79

Figure 48: Assign DestinationNodeState .......................................................................... 80

Figure 49: HospitalData for Change in Acuity Test ........................................................ 81

Figure 50: Model Trace proves token takes correct path .................................................. 81

Figure 51: Original DestinationState ................................................................................ 82

Figure 52: New DestinationState ...................................................................................... 83

Figure 53: Routing Test Results ....................................................................................... 84

Figure 54: Patient Flow in Integrated Model .................................................................... 85

Figure 55: Facility view for integrated model .................................................................. 86

Figure 56: SeizeInpatientBed Process ............................................................................... 86

Figure 57: Seize Step for patients from OR ...................................................................... 87

Figure 58: PostSurgeryRouting Process ........................................................................... 88

Figure 59: Source for patients FromOR ............................................................................ 88

Figure 60: FromOR_CreatedEntity Process ..................................................................... 89

Figure 61: SendPatientToBed process sends patient from Admission to the Bed ............ 90

Figure 62: Screenshot of IntegratedModelDataFile.xlsx.................................................. 91

Figure 63: Assignment for CountFromORState ............................................................... 91

Figure 64: Status label for FromOR.................................................................................. 92

12 Figure 65: Arrivals after 1 week ....................................................................................... 92

Figure 66: Assign Acuity Tracker..................................................................................... 94

Figure 67: Assign Bed Cycle Count ................................................................................. 96

Figure 68: Assign Patient.TimeEnterBed ......................................................................... 96

Figure 69: Tally times spent in bed for all patients .......................................................... 97

Figure 70: Patient in bed statistics collection ................................................................... 97

Figure 71: Tally wait for resources ................................................................................... 98

Figure 72: 3D View of 16 Bed Model .............................................................................. 99

Figure 73: Screenshot of HospitalData Final ................................................................... 99

Figure 74: Screenshot of Experiments ............................................................................ 100

13

CHAPTER 1: INTRODUCTION

The healthcare industry is one with aggressive price competition. Medicaid and

Medicare Services expects national expenditure on healthcare to increase sharply from

2020 to 2027 [1]. Increases in expenditure are not expected to be limited to the United

States, as global healthcare expenditure is expected to increase at an annual rate of 5.4%

in 2018-2022, up from 2.9% in 2014-2017 [2].

Several factors are impacting the rising of healthcare costs. Some of those factors

include the a) Fee For Service systems that reimburses providers for each service and/or

test, b) an aging population that requires higher levels of care, and c) a constant demand

for new technologies [3]. Furthermore, competition with disruptive market entrants is

threatening to redefine the fundamental aspects of the health care business, as healthcare

companies seek partnerships with top technology companies. For example, “Apple is

working with startup Health Gorilla to add diagnostic data to the iPhone, including blood

work, but integrating with hospitals, lab-testing companies, and imaging centers”[2].

However, healthcare service providers not only need to keep up with these trends to be

competitive in their quality of service provided, but they must also strive to make their

services affordable for the people. A new challenge is awaiting the industry, one that

must be met no matter the cost – improving hospital capacity and response time to

pandemics. This will be further discussed in the Literature Review. These conditions are

driving hospitals to constantly look for ways to maximize their operational efficiency

which has led to an increase in operations research techniques. The healthcare industry

14 has long acknowledged the importance of operations research techniques, especially

simulation, in planning and managing hospital resources [4].

Simulation is defined as, “a set of numerical and programming techniques for

representing stochastic models and conducting sample experiments on those models

using a digital computer” [5]. This means that, by using math and technology, one can

effectively analyze a large number of unknown relationships between a cause and an

effect. For instance, a popcorn machine pops fresh kernels at a certain rate and an

employee scoops the popcorn out at another rate. If we know these rates, we may be able

to simulate the amount of kernels in the base of the machine at any given time.

There are three types of simulation: Monte Carlo, continuous, and discrete. Monte

Carlo simulation is a type of numerical experimentation technique, defined by Halton et

al. [4] as “representing the solution of a problem as a parameter of a hypothetical

population, and using a random sequence of numbers to construct a sample of the

population, from which statistical estimates of the parameter can be obtained.”

Continuous simulations are those in which state changes and/or events happen

continuously through time. Discrete simulations, on the other hand, only model changes

in the system at discrete points in time, called events. Therefore, discrete simulations are

further described as discrete-event simulations, or DES [5]. The research for this thesis

uses discrete event simulation modeling. Detailed DES applications are discussed in the

Literature Review.

Simulation studies in healthcare present the following advantages and

disadvantages:

15

Advantages

• Simulation provides a unique way to perform “what-if” analysis, so that healthcare

companies can experiment with their systems and understand the impact of

unexpected events like rescheduling of an appointment or a surge in patients [6].

• Simulation studies can provide insight to the effects of future events allowing

hospitals to experiment with new strategies without the risk of losing money and

patient lives [7].

• Simulation is a great tool to convey the effects of new strategies to stakeholders in

order to convince them to implement changes [7].

Disadvantages

• Simulation software is generally expensive and requires training to operate [8]. While

there are definite savings in using simulation to experiment with solutions prior to

implementation, there is a significant investment required in the early stages.

• “Although the technique permits framing the model to the depth required to

adequately address the decision problem, this may lead to a more complex structure

and the need for additional controlling equations. The increased complexity and level

of detail, even if appropriate to the problem, may appear to reduce transparency and

make it more difficult for reviewers to grasp the model and verify that it is a

reasonable representation and correctly implemented” [9].

• “The ability to handle more complex structures and to implement all necessary

components of a problem also tends to increase the data requirements” [11]

16

Although, historically, there are numerous technical reports offering evidence that

simulation can be used as an effective tool in health care, there is a widely admitted lack

of implementation of the improvements suggested from simulation studies in health care

[10]. The lack of acceptance, and therefore implementation, could stem from the fact that

health professionals are trained largely in the biological sciences in which mathematics is

mostly removed [11]. For example, many studies are not implemented because of

physician resistance, because they are mostly concerned with the quality of individual

patient care plans, and rightfully so. Even if the simulation study provides convincing

numbers to suggest a certain change to their practices, they have veto power if they feel it

interferes with their quality of patient care.

To combat this low acceptance of simulation studies among healthcare

professionals, simulation professionals in health care need to improve three aspects of

their work to help increase stakeholder acceptance of simulation modeling. They must a)

improve their ability to make valid verified models, b) better understand their customer’s

business needs, and c) provide those customers with insights to their own business [12].

The present research takes each of these items into consideration.

A) Valid/verified Models - There are many ways to ensure simulation model

validation, depending on the level of detail included in the model, availability

of real data, and the intended use for the model. One method would be to

compare theoretical results with computer simulated results, where theoretical

results are produced by using a static decision model. By using non-stochastic

arrivals, arrival times, and processing times in both models to schedule events,

17

the simulation results should be similar to a high degree of statistical

significance. Thus, the model logic can be verified.

B) Understanding customer’s needs - In one instance, Miller and Šormaz [13]

worked with healthcare professionals at a hospital in Ohio to generalize the

cyclical services performed by nurses, nurse assistants, and therapists

throughout a patient lifecycle in their Progressive Care Unit (PCU). The

healthcare professionals communicated their needs/concerns and through their

conversations Miller and Šormaz were able to produce a process map of those

cyclical operations, ensuring that there was a sufficient level of understanding

of the process as a whole. Process mapping for any particular unit is not

completed until all interactions with associated units are considered. Perhaps a

higher level of detail is shown in a specific unit, but at the very least the

process map will integrate patient transfers between units. However,

simulation applications to integrated health care systems (as opposed to

individual units) has been slow to pick up. An important conclusion in a

review by Gunal and Pidd [14] states that “the studies reported in most papers

are unit specific.” This is arguably due to difficulties in modeling the systems

of such a large, complex, diverse and often interconnected industry [10]. The

present research aims to integrate multiple units into one simulation model.

C) Provide insight to the customer - Since the 1980’s most simulation modelers

have grown accustomed to a process orientation. Although the process

orientation has been an effective modeling paradigm, “an object orientation

18

provides an attractive alternative modeling paradigm that has the potential to

be more natural and easier to use.” In an object orientation, the model is built

using objects that make up the system, and the processes are then defined

within those objects [15]. This object oriented view also allows healthcare

professionals to gain a better understanding of simulation models, since what

is pictured on screen represents physical objects in real life. Furthermore,

custom objects for very specific uses can be created that include specific

process triggers.

The next chapter is a literature review of simulation applications in health care.

Following the literature review, Chapter 3 is a Thesis Objective & Overview where the

thesis objective is presented, followed by some background information. Chapter 4 gives

a detailed description of the methodology used. Chapter 5 draws conclusions from the

present research.

19

CHAPTER 2: LITERATURE REVIEW

The Literature Review has been divided into 2 sections. First, the literature review

gives an introduction to discrete event simulation studies done in healthcare systems.

Second, the literature review will discuss simulation studies done in healthcare focusing

on patient flow. The second section is divided into subsections based on three select

modeling approaches.

2.1 Discrete Event Simulation in Healthcare Systems

Simulation has been used in many industries to maintain or improve progress,

while saving on costs. Beginning in the 1960s, a wide variety of studies have applied

simulation as an effective tool in healthcare. Since then, many researchers have used

simulation to convince stakeholders of the effectiveness of new strategies. Simulation

helps decision makers in healthcare to better understand their facility and helps modelers

communicate potential improvements via “what if” experimentation. Brailsford [16]

states that the most widely-used simulation approach is Discrete Event Simulation (DES).

Discrete-event simulation (DES) modeling is preferred to other optimization

techniques such as Markov modeling and linear programming. Particularly because, “It

can model queueing for limited resources, capture individual patient histories,

accommodate complexity and uncertainty, represent time flexibility, model competing

for risks and accommodate multiple events simultaneously” [17].

Brailsford describes DES as a form of simulation “in which individual entities

flow around and network of queues for services” and goes on to say that DES “appears to

be tailor-made for hospital systems in which patients join waiting lists for appointments,

20 investigations, and treatments.” Furthermore, these entities can assume attributes that

represent all necessary human characteristics such as age, gender, diagnosis, blood group,

disease status, sexual preference, hair color, etc.

Brailsford identifies three advantages of DES applications for healthcare. First,

much in the same way that patients have individual characteristics that will dictate their

unique pathway through the hospital system, entities may follow a unique pathway

through the simulation network based on individual characteristics. This helps a modeler

psychologically, because it’s easy to assign necessary human characteristics of a patient

to the entities. Second, DES has mathematical advantages. “Unlike Markov models

which take no account of medical history, ‘service time’ distributions can be dependent

on individual characteristics and previous history, and any parametric or empirical

distribution can be chosen to model activity durations.” Randomness, variability, and

uncertainty is built into the model by using these distributions. By running enough

simulation runs modelers can achieve statistically significant results. Finally, an

advantage of DES is that there are many different software packages available, ranging in

price and features. Some packages are even tailored towards the healthcare industry such

as FlexSim HC [18]. A common theme in all of them is that they provide some kind of

“graphical facility which enables the user to visualize the model.” This in particular is

invaluable as a communication tool with healthcare professionals, who oftentimes do not

have the necessary mathematical and technical background.

To help identify the wide variety of applications, Brailsford classifies healthcare

models into three levels. Level 1 models are models of the human body, commonly

21 referred to as “disease models” although they can represent biological processes in

healthy individuals as well. For example, simulation may be used to model the

biochemical effects of drugs before they are introduced to the market. Level 2 involves

models focus on operations and/or tactics within a given healthcare unit, such as an

Intensive Care Unit or Emergency Room. These models focus on individual patient flow

through that unit, and are used for projects involving capacity planning, resource

allocation, and process redesign. Level 3 models are system-wide models and aspire to

answer big picture questions, such as how many doctors our country will need in 20

years.

As the COVID-19 disease wreaks havoc on the planet, many scholars are

focusing their studies on the disease in order to answer questions about mortality rates,

infection rates, and to predict average number of social contacts with and without virus

contamination practices [19]. These such studies fall under the Level 3 category

described by Brailsford. However, there is a need to continue to focus studies in Level 2

in order to improve surge capacities of hospitals. Surge capacity is defined as “a

hospital’s ability to adequately care for a significant influx of patients,” as is the case

with the influx of patients from COVID-19. There was already a bed shortage in hospitals

across the country before the pandemic. According to Blumenberg et al. “even prior to

the development of COVID-19, many hospitals faced emergency department crowding

and strains on hospital capacity” [20]. Simulation can help in these times because

modelers are able to experiment with various resource levels, shared resources, hospital

layouts, and process changes in efforts to increase capacity. These efforts may be utilized

22 to provide robust solutions to the current pandemic overcrowding crisis. The present

research applies DES to a patient flow scenario in “Level 2,” as described by Brailsford.

2.2 Simulation Studies on Patient Flow

Brailsford states that simulation in Level 2 “denotes operational or tactical models

at the healthcare unit level…These usually (although not always) still model individual

patients, but are not concerned with modeling the physiological or clinical processes

going on inside them. Rather, they are concerned with modeling the flows of patients

around this system, and identifying and eliminating bottlenecks.” In general, Level 2

simulations are oftentimes used to “address organizational issues of resource allocation

and capacity planning.” Some popular units studied in Level 2 include Emergency

Departments (ED) and Intensive Care Units (ICU) [16].

Discrete Event Simulation studies focusing on patient flow, generally aim to

reduce patient waiting times and subsequent overcrowding caused by excessive waiting.

This is evident in the studies discussed throughout this section. Many studies have

focused on reducing waiting times in Emergency Department’s since they have a high

potential for overcrowding due to the nature of the unit, where there are no appointments.

Overcrowding is especially evident during surges resulting from a disaster of some kind

(i.g. earthquakes, riots).

Crawford [21] created a “discrete-event simulation model of patient pathway

through an acute care hospital” to analyze various discharge strategies using ARENA

v12. The authors analyzed a static discharge strategy which was largely based on the state

of the patient, and two proactive strategies which considered ED resources and the

23 subsequent chances for ED crowding. Their analysis indicated that while the proactive

strategies significantly reduced ED waiting and boarding times, it was at the sacrifice of

readmission rate, as readmissions rose when using proactive discharge strategies.

Raunak [22] used the Little-JIL process definition language to study the effects on

patient flow in an emergency department when varying resource mixes and utilization

strategies. For instance, “adding resources of only one type (e.g. more doctors) is rarely

sufficient to reduce delays, however, as patient care typically requires the use of many

types of additional resources (e.g. beds, nurses, and equipment). Increasing resources in

an unbalanced way can thus lead to underutilization of some resources and increased

expense, but not improvement in service.” A number of simulations were run in which

the ED processes were fixed but resource mixes were varied. Length-of-stay for patients

and resource utilization were key measures reported. Reported results were limited, as

model requires further validation.

Intensive Care Units are such an important focus for hospitals because they are

both very expensive, and absolutely necessary. Each bed generally requires at least a 1:1

nurse to bed ratio, and is accompanied by costly specialized equipment. That means that

if there’s an excess capacity (too many beds) then a hospital will grossly overspend, but

with a capacity shortage (not enough beds) will lead to canceled elective surgeries at best

and at worst, loss of life [21].

Griffiths et al [23] studied an ICU at a teaching hospital that is pioneering a

method for early detection of patients in general care that may require ICU care. They

used simulation to test effectiveness of this method. Using Simul8 they built a DES

24 model, where the number of beds was considered to be flexible. “The ICU under

consideration is officially a 14-bed unit. However, extra beds/specialist equipment are

available for use during busy periods.” The purpose of the study was to determine the

appropriate number of nurses, given that there is a fixed number of scheduled nurses

permanently based in the ICU for each shift. These nurses are known as rostered nurses.

During busy periods, when the number of establishment staff is not sufficient,

supplementary nurses are brought in. These supplementary nurses can be either bank

nurses or agency nurses. Bank nurses do not have a set schedule but are available if they

are needed, in which case they are paid overtime. Agency nurses are hired from third

parties and are utilized when no bank nurses are available, since they are most costly.

Additionally they may be unfamiliar with the environment and colleagues, leading to

further complications.

The authors used data from almost 1,100 admitted patients in the year 2000 to

build the model. Patients were categorized by type and a distribution for length of stay

was fitted to each type. The actual number of rostered nurses per shift was 14, but the

model showed that if there was 16 rostered nurses the unit would observe a savings of

37%. Additionally, the authors evaluated a physician theory that by offering early ICU

care the length of stay could be reduced. Physicians believe that there could be a 10-20%

reduction in length of stay with new early detection methods. The authors found that if a

20% length of stay was achieved, the ICU would require one less rostered nurse per shift.

25

2.2.1 Simulation of Multiple Associated Healthcare Units

In 2006, Hall, Jacobson, and Swisher [6] reported that there was a lack of

investigations into inter-departmental relationships in DES studies. Since then, the

literature shows that there has been an effort to study these interactions between multiple

associated departments (or units). An example of how two separate units may interact is

observed in surgeries. After surgery (occurring in a surgical unit), patients must recover

in another unit. Thus, a model built for an operating room is incomplete without

consideration of patient transfer to recovery units.

In patient transfer scenarios, modelers must consider bed availability in the unit

being transferred to. Mustafee et al [24] created a simulation model of specialized and

integrated care units in which considers bed blocking, which is where “patients that are

clinically ready to be discharged from wards that provide higher levels of care (e.g.

Intensive Therapy Unit) cannot be transferred to wards offering reduced care (e.g. High

Dependency Unit, general ward) because of the non-availability of beds in the latter

wards.” This study focuses on the bed blocking in a Cardiac Intensive Care Unit (CICU)

which has a direct bearing on the number of cardiac operations performed, because a bed

must be available for recovery before surgery is performed. The authors used length of

stay data to input to a Monte Carlo Simulation (MCS) to simulate bed blocking on the

CICU. This MCS model is used in conjunction with a Simul8 DES model that simulates

the patient flow for cardiac operations and recovery. The MCS study experimented with

different bed numbers to find the optimal number of beds. Future work will focus on

26 experimentation with the DES model to investigate several bed management strategies,

considering that an increase in beds is not feasible in short term.

Olabisi [25] employed a DES study using Simul8 at a university teaching hospital

in Nigeria to analyze three different scenarios to improve patient flow through the

antenatal department and interactions with associated departments. Three different

scenarios were tested to observe the effect on patient flow. In scenario A the overall

capacity of care givers was increased for all associated units. Scenario B presents

alternate patient routing to improve waiting times in the pharmacy and medical lab care

units. Scenario C is a combination of the increased capacities and alternate routing. Each

scenario improved average waiting time and average queue length. Model validation was

based on comparing simulated results vs actual data for the number of departing patients

via Pharmacy and Medical Lab – both associated with the antenatal department.

Validation of all phases should be conducted to have confidence in the model.

2.2.2 Generic Modeling

A review by Gunal and Pidd [14] concludes that while simulation studies in

healthcare are being implemented increasingly, there remains a lack of generic models.

A majority of the work has been done is unit specific and facility specific, thus is not

easily replicated in a different setting. Furthermore, there is a need to improve turnaround

time on healthcare simulation projects in order to keep up with the rapidly changing

environment, and the use of generic models could aid in this challenge, as described by

Young et al. (2009) [26]

27

To solve this, Busby and Carter [27] used to a data driven approach to create a

generic model for ED, inpatient units and ORs. Experimentation was to investigate surge

protocols and how departments affect one another based on those protocols. The model

was built using Simul8, and case specific inputs to the model are recorded in a Excel file.

These inputs include logical details such as scheduling rules as well as one year of patient

data. Attributes for each patient record show the arrival time of day, patient services

received, and length of stay. The model can be used in different hospitals if these records

are provided.

Arrivals are modeled in a unique fashion, in that volume is determined

statistically but day by day scheduling is determined by historical data. All entities arrive

to the model at midnight according to a Poisson distribution, are assigned a set of patient

characteristics from historical data, and then enter the ED according patient record

attributes from the Excel file. “This method allows day-of-week patterns to be maintained

while still having random arrivals throughout the day.” Historical data is used for all

patient service times, so after an entity adopts a patient record there is no further

processing randomization. Like the current research, the authors combined multiple

hospital units into one model and use an Excel file to feed data into the model. However,

the current research introduces another level of detail by modeling hospital worker

processes during patient stay. Also, this model is built using a process oriented approach

and the current research uses object oriented modeling approach.

A powerful feature of object oriented modeling is the ability to build custom

objects which can be reused in generic applications. The present research uses this

28 method. The next section covers object oriented modeling and contains a subsection

discussing custom objects

2.2.3 Object Oriented Modeling

As stated in the Introduction to the present research, there has been a lack of

implementation of the work done in healthcare simulation studies. Object oriented

modeling could help healthcare professionals understand the simulation modeling efforts

because what is pictured on the screen during simulation represents actual objects within

the hospital. The literature shows that since then there has been research that uses object

oriented modeling to solve healthcare problems. One of the earliest examples of using

object oriented modeling in healthcare came in 1991 where Birch and Cook [28] used

SMALLTALK to model a hospital’s bed resource utilization.

In object oriented modeling, underlying process logic can be defined within

objects. Take a car wash simulation for example. A picture of a car wash is shown on the

screen but the simulation could be running a variety of logic that is not shown, like

individual washing functions and drying. A powerful object oriented modeling tool is

Simio [29]. Simio aims to solve an object oriented modeling difficulty in that their

objects are process-based rather than code-based. Other object oriented modeling tools

are code-based and implemented in a high-level programming language. “If the tool

supports user-defined objects, then the user must implement any new objects in the same

programming language.” [30]. So, if the user wishes to customize a particular object they

are required to be highly knowledgeable of the concepts in object-orientation and skilled

29 in a particular programming language. In Simio, this is not the case since custom objects

are created using a process-based interface.

Venkitasubramanian et al [31] used an object oriented modeling approach to

improve the long waiting times at clinics of the North Carolina State Student health

Services (SHS). The authors detailed a comprehensive object-oriented simulation

framework for healthcare that “provides a conceptual basis for healthcare that can be

employed by an object-oriented simulation language…From a simulation software design

point of view, (they) view healthcare operations as composed of three basic object classes

(i.e., Stationary, Mobile, and Agent objects).” Similar to the present research, the authors

built a “Patient Bed” object under their Stationary Object class in the hierarchy of the

framework. Like the present research, they built their model using Simio custom objects.

The authors’ goal is to improve communication with stakeholders (oftentimes healthcare

professionals) by adhering to standard healthcare terminology and making a small

amount of minor customizations so that the object can be reused for similar purposes. For

instance the input buffer was set to zero on their bed object, as patients do not wait for a

bed at bedside. They wait in a waiting room. Unlike the present research, the bed object

did not include inbuilt procedures that are triggered throughout the simulation.

In one object oriented modeling approach, Šormaz and Malik [32] employ a simulation

study of patient flow that uses custom “bed” objects in Simio that have been designed

uniquely for inpatient units and can be reused for future inpatient unit applications. Bed

object is pictured below in Figure 1 and Figure 2.

30

Figure 1: 2D View of Bed Object

Figure 2: 3D View of Bed Object

The customized bed object is built after understanding the flow of procedures in

an inpatient unit. Procedures performed while a patient is in the bed are identified as

general “rounding” procedures carried out by a Registered Nurse, an Assistant Nurse, and

a Therapist. Each of these procedures has a unique frequency distribution and processing

time distribution. “The bed object has inbuilt procedures that will be triggered when a

particular procedure has to be carried out on a patient” [1]. A sample of the process logic

to seize a resource, delay for the rounding interaction time, and release of the resource is

31 shown in Figure 3. Šormaz and Malik used the custom bed object to complete a

simulation model of an inpatient unit in which they ran several scenarios with varying

levels of staff and analyzed the average time the patient was waiting for each resource.

Figure 3: Snapshot of Bed Object Processes

In a similar application, Malik [33] uses this approach to build a surgical unit

model. There were several custom objects created – Patient Arrival Source, ouPatient

Entity, Operating Room (OR), Clean Room, Admission Desk, Dress Room, Pre-op, and

Post Anesthesia Care Unit (PACU). In the research, Malik observed that “flexible OR

Add-ins created in this research are not limited to the operating rooms and can be used to

create another kind of simulation model as well.”

The present research is meant to enhance and improve previous studies in done by

Malik and Šormaz. This is done by the improvement and extension of the logic in their

custom bed object. The improvement is related to logical verification and the extension

enables the object to cover a more realistic patient flow. The present research creates an

integrated model that views the relationships between these units as a synergetic activity.

32

CHAPTER 3: THESIS OBJECTIVE AND OVERVIEW

The objective of the present research is to integrate patient flow between surgical

units and progressive care units, using a multi-unit integrated simulation model. Figure 4

demonstrates how libraries of custom objects can be used to build models of hospital

units. Some objects are interchangeable between units. For instance, a “bed” object may

be able to be used in a progressive care unit or an intensive care unit. We tested and

validated a custom “bed” object that was created in Simio by utilizing process mapping

and operational research done by Miller and Šormaz (discussed in section 4.1). That

custom bed object was further enhanced by altering the custom process logic. We then

created an integrated model with that bed object and with several custom objects used to

build a surgical unit model. This was done so that we can observe and make

improvements considering the patient care process as one synergetic activity involving

these two departments and their resources. Key measures of the simulation model will be

length of stay, resource utilization, and patient waiting times for various resources. The

subsections for this chapter give an overview of progressive care units and surgical units,

and presents the principles of the integrated simulation model.

3.1 PCU Overview

To encourage more healthcare professionals to readily adopt simulation methods,

modelers should look for ways to trim the model development time. The beginning stages

of modeling can be a lengthy and confusing process due to communication barriers

amongst project team members, which consist of interdisciplinary teams ranging from

doctors, HR personnel, nurses, and quality improvement employees. All of them bring a

33 different vantage point to the situation at hand. For this reason, a top-down approach is

mostly used in a study’s infancy.

Figure 4: Libraries of custom objects used for integration

Miller and Šormaz [13] used a top-down approach for a project in a Progressive

Care Unit (PCU) at Fairfield Medical Center (FMC) where management was concerned

about nursing efficiencies. To investigate the current situation and make

recommendations for improvement, a simulation study was conceptualized. A generic

process map of patient-oriented nurse operations (shown later in Figure 5) provided the

modelers with a top-down view of operations, which was an instrumental reference when

considering logic in modeling. The logic demonstrated in this process map was used by

Šormaz and Malik [32] to create the custom bed object that has been further enhanced in

the present research.

34

Patients are directed to the PCU from a variety of departments: other Inpatient

Units, Emergency department, Intensive Care Unit (ICU) and Surgical Units.

Additionally, there are also Direct Admissions to the PCU. Percent distributions for these

patient origins are shown in Table 1. There are three distinct patient types broken down

by acuity level. That is High, Medium, and Low Acuities. The acuity level affects how

that patient is cared for. The various patient origins, are further broken down by acuity

levels in Table 2. The information of these two tables describes the overall patient mix.

Table 1: Patient Origin Breakdown

Originating Area Percent Inpatient Units 9% Emergency department

35%

ICU 33% Surgery 17% Direct admissions 6%

Table 2: Patient Origin broken down by acuity level

Patients arrive to the unit randomly throughout the day with varying frequency.

These frequencies are shown in Table 3. Medium and High Acuity Patients are

transferred into the unit by a Registered Nurse (RN). Upon arrival to the unit, all patients

go through an Admission process before they are directed to their bed. This Admission

process is done by whichever RN is currently assigned the fewest number of patients,

weighted by patient acuity. This RN will then be assigned to that patient throughout their

stay.

35 Table 3: PCU patient arrival distribution

After Admission the RN then takes the patient to their bed, where a series of

cyclical procedures are performed by the RN, an Assistant Nurse, and a Therapist. These

cyclical procedures are hereby referred to as rounding operations. The frequency and

duration of these rounding operations depends on the patient’s acuity level and the type

of rounding operation. The patients spend time in PCU in order to recover from

treatments and those treatments are provided during rounding. Because of their

importance to patient recovery, accurately capturing these rounding operations is

paramount to the validity of the simulation model.

Patients’ total stay depends on acuity level and is estimated to be 12-24 hours for

Low Acuity, 18-30 hours for Medium Acuity and 24-36 hours for High Acuity patients.

Upon expiration of their stay, patients are either discharged by a RN (sent home or to

extended care facility), transferred out of PCU to other units in the hospital by RN, or

stay in the PCU with their acuity status changed to lower or higher. Estimated times for

patient PCU activities are shown in Table 4. The patient destination percentages, broken

down by acuity level is shown in Table 5. The overall PCU activities are described in

Figure 5. Patient flow is summarized in Figure 6.

Shift Arrival Rate (pts/hour)

7 A - 11 A 0.073 11 A - 3 P 0.275 3 P - 7 P 0.405 7 P - 11 P 0.280 11 p - 7 A 0.111

Figure 5: Generic Process Map

Idle AN

Discharge

Transfer

Admission

Cyclic Operations

Adequate Health for

Discharge? Yes

No

Idle RN

Idle Therapist

Idle NA

Patient Leaves

Patient Arrival

- RN Rounding

- Treatments

- NA Rounding

Figure 6: Summary of patient origin and destination information

Table 4: PCU Activities PCU Activity

Resource Low Acuity Time and Frequency

Medium Acuity Time and Frequency

High Acuity Time and Frequency

Admission Reg Nurse 5-12 min/Patient 30 min/Patient 45-60 min/patient RN Rounding

Reg Nurse 5-12 min/4 hrs 5-15 min/2-4 hrs 5-20 min/hour

Treatments Therapist 30 min/2x Day 20 min /4-6x day 15 min /1-2 hrs Asst Rounding

Nurse Assistant

5-20 min/2x day 5-20 min/2x day 5-20 min/2x day

Transfer In Reg Nurse - 15-30 min/patient 30-60 min/patient Transfer Out

Reg Nurse 30-45 min/patient - 30/45 min/patient

Discharge Reg Nurse 45-60 min/patient 60-90 min/patient

38 Table 5: Patient Destinations

The information from Fairfield Medical Center about the PCU was used by

Šormaz and Malik [1] to create custom objects for a progressive care unit model. Those

custom objects were saved in a Simo library without any work done beyond creation of

the objects. That Simo library is loaded into a Main Model as a library file, where those

objects are then available for use in the Main Model. This relationship is described in

Figure 7. The objects shown available for use inside of Simio are shown in Figure 8.

3.2 Surgical Unit Overview

Malik [2] created a set of custom objects to build a model of a surgical unit in

Simio, as discussed in the Literature Review. The custom entity object ouPatient is

assigned a group of characteristics given by the Data Table DailyAppointments that is

based on historical data from a hospital. See DailyAppointments in Table 6 (split in two

to better see).

Destination Type Low Acuity Medium Acuity

High Acuity

Home Discharge 25% Extended Care Discharge 20% ICU Transfer 25% Inpatient Unit Transfer 75% Move to Lower Acuity Stay in PCU 75% 75% Move to Higher Acuity Stay in PCU 5%

39

Figure 7: Library and Main Model Relationship

Figure 8: Custom Library in Simio

The information from the Data Table tells the model whether this patient is an

inpatient or an outpatient, which affects the flow of the patient through the system. For

40 example outpatients must go to the Admission Desk upon arrival, whereas inpatients do

not. The patient flow is described in Figure 9 [2]. After surgery, patients recover in a

Postanesthesia Unit (PACU), for which Malik created a custom object for as well. Notice

from Figure 9 that outpatients then go home and inpatients are sent to an inpatient unit.

As shown in Table 6, there is a column InpatientOrOutpatient that tells the model which

type each patient is. If the patient entity is a “1” then the patient is an inpatient, a “0”

signifies an outpatient. Per the table, 8 of the 18 patients are sent to an inpatient unit so

there are 44.4% inpatients in the model for the present research. These inpatient entities

trigger an arrival to the progressive care unit, thus integrating the two units into one

model. Furthermore, the present research alters the PACU object (described in detail in

Malik [2]) so that outpatient entities seize a bed in the PCU while the entity is in the

PACU, thus integrating the two units into one model.

41 Table 6: DailyAppointments Data Table

3.3 Principles of Integration

Integration of two separate models requires some modifications to each model. To

fully understand the modification described in the methodology, see below a list of

principles of integration below.

• The integrated model is created from two component models – Progressive Care

Unit and Surgical Unit. Each model has its own arrival process and corresponding

data. The ability to alter the data allows for a variety of scenarios

• The component models have different types of patient entities with different

properties and states. The properties and states for each respective entity tells the

component models how to behave. So, and entity from one unit cannot be reused

42

in the other unit. In order to send patients from one unit to another, an event

trigger was used where as one entity is destroyed a new entity is created in the

opposite component model. This complicates statistic collection, but can be

handled by naming values and collecting tally statistics.

• The component models are built from Simio custom objects. These objects are

specifically designed to be used in hospital simulation models. The integrated

model uses these same objects. Below is a list of the objects.

o Bed

o OR (Operating Room)

o PACU (Postanesthesia Care Unit)

o Pre-Op

o Dressing Room

o Clean Room

o Patient Entity (Progressive Care Unit Model)

o Patient Entity (Surgical Unit Model)

o Admission Desk

• Insights may be gained by experimentation with shared resources between units.

For example, a hospital may want to test a new scenario where nurses are shared

between two units. Medical specialties may not allow for this in all scenarios, but

the possibilities for shared resources can be explored.

43

Figure 9: Surgical Unit Patient Flow

44

CHAPTER 4: METHODOLOGY

The objective of the present research is to integrate patient flow between surgical

units and progressive care units, using a multi-unit integrated simulation model. To do

that, this research consists of four parts:

• Testing Custom Bed Object created by Šormaz and Malik

• Enhancing Bed Object and Bed Unit Model

• Modeling of surgical unit and inpatient unit as one integrated simulation model

• Experiments to improve patient flow in an integrated simulation model

4.1 Testing Bed Object

The customized bed object was first tested by comparing theoretical results versus

observed simulation results. First, the process mapping shown in Chapter 3 was used with

fixed processing times to produce predictable results. For this evaluation, we assumed

that there is one of each resource – RN, Assistant Nurse, and Therapist. Patient

processing data was set so that there is no conflicts in rounding operations for any of the

worker resources. These results are displayed in the Gantt Chart in Figure 10 and

accompanying data is displayed in Figure 11.

Second, a simulation model was constructed with an Admission object and single

bed object. Transfer In and Discharge times are accounted for along a Time Path. All

processing times are fixed, and are representative of the processing times used to produce

the results in the Gantt chart. Times are saved in an Excel file and bound to the Simio

project file to allow for different tests to be run without changing the Simio model at all.

Model is shown in Figure 12.

45

Figure 10: Gantt Chart for Testing Bed Object

Figure 11: Fixed Times Data for Gantt Chart

Figure 12: Test Bed Model

46

If the bed object is properly modeled, matching results of the simulation model

and Gantt chart will indicate so. Animation plots utilization of each resource vs. time

during the simulation run. There is only one of each Registered Nurse, Assistant Nurse,

and Therapist. When one of the resources makes a round to the bed, this plot shows a

value of 1 for that resource. Legend is shown at the right of Figure 13. This plot is used to

compare simulation results with the Gantt chart.

Figure 13: Test Bed Worker Utilization Plot

The model was run for 1300 minutes to ensure the patient would make it through

the system if working correctly. The Animation Plot shows encouraging results. The

rounding patterns match that of the Gantt Chart. Results are shown in Figure 14.

47

Figure 14: Test Bed Results from Bed-BedTestModel-v2-4.spfx

To be sure that the Bed object is handling resource rounding properly, the times

of rounding need to be compared. Simio records each simulation run in a file called

Model Trace. The Model Trace file is analyzed to determine timing of each of the

rounding operations. Simulation results and Gantt Chart results are shown side by side in

Table 7.

Table 7: Resource Rounding Times - Gantt Chart vs Simulation Comparison

Resource Rounding

Simulation Results

Gantt Chart Results

RN 172.025 172 RN 302.025 302 Therapist 343.141 343 RN 432.141 432 RN 562.141 562 Therapist 654.141 654 RN 692.141 692 Asst Nurse 772.257 772 RN 822.257 822 RN 952.257 952 Therapist 965.257 965

48 From these results we can confirm that the Bed object is correctly scheduling and

executing resource rounding processes. Any differences can be attributed to delays

caused by worker travel time. This is true for when there is no conflicts in rounding. That

is, no two resources are ever are scheduled to make rounds to the patient at the same

time.

4.2 Enhancing Bed Unit Model

The Custom Bed Object was not originally designed to handle instances where

there is a conflict with rounding operations. Furthermore, scheduling is thrown off when

a patient entity has to wait to seize a worker resource (nurses, therapists). Another

complication comes from scenarios where patient acuity changes during their stay. From

previous works with Fairfield Medical Center we know that there are cases where

patients change in acuity while they stay in the bed (See Table 5). So, the current research

introduces logic to change the acuity of the patient. Finally, the current research includes

routing logic to handle how patients leave the bed unit - either by transferring out of the

unit to another area of the hospital or by discharge.

Because each individual patient has its own properties that dictate how that

patient moves through the system, we have created a Data Table called HospitalData (see

Table 8) that tells the model how each patient should behave throughout Run Time. Once

the Patient entity enters the Bed Object, it triggers a token to go through a repeating

series of process logic steps within the Bed Model. This Bed Model is what drives the

behavior of the Bed Object, which is contained within the Main Model. Because

HospitalData is housed within the Main Model, it cannot be referenced directly from

49 within the Bed Model. Therefore, a mechanism must be in place to pass data from

HospitalData to the patient and then into the Bed Model. This is done using Patient

Properties and State Variables. Patient Properties and State Variables are defined within

the Patient object. The properties pull data from a Data Table called HospitalData. This

is shown in Figure 15.

Figure 15: Patient Properties

50 Table 8: HospitalData (transposed)

51

The Patient Properties are all of type “Expression Property” so that each time they

are referenced, they will pull a new value from HospitalData. This is necessary because

not all the values in HospitalData are discrete. Rather, they are taken from a probability

distribution and therefore could change each time a given field is referenced in

HospitalData. So, the purpose of the relationship between Data Table Patient

Properties is to make this calculation whenever a Patient Property is referenced within the

Bed Object. This happens when assigning values to Patient State Variables. For example,

several assignments are made as soon as a patient enters the Bed Object. See Figure 16

below that shows RegNurseNextVisit, TherapistNextVisit, and Ass.NurseNextVisit

assignments. This schedules the worker resource rounding operations in the future of the

Run Time. Figure 16 also shows the assignment within the RegNurseNextVisit Step.

What is not shown is the passing of data from HospitalData

Patient.RegNurseVisitTime, but this happens each time Patient.RegNurseVisitTime is

called upon in the Bed Model process logic. So, Patient.RegNurseVisitTime takes a value

from a statistical distribution and then passes that value on to the State Variable

Patient.RegNurseNextVisitSt. That value stays with that State Variable until another

assignment is made for that variable. Table 9 below shows the relationships between the

Data Table Patient Properties Patient State Variables.

52

Figure 16: Assign RegNurseNextVisit

Table 9: Patient Property and Variables in relation to Data Table HospitalData Patient Property Patient State Variable Description

RNRounding RegNurseCheckTime RegularNurseChecktimeState RN Rounding Process Time

TherapistRounding TherapistCheckTime TherapistCheckTimeState Therapist Rounding Process Time

AstNurseRounding AssistantNurseCheckTime AssistantNurseCheckTimeState Asst. Nurse Rounding Process Time

LengthOfStay BedStayTime BedTimeSt Time patient spends in bed

RegVisitHours RegNurseVisitTime RegNurseNextVisitSt Scheduling for next RV Round

TherapistVisitHours TherapistVisitTime TherapistNextVisitSt

Scheduling for next Therapist Round

AstNurseVisitHours AssistantNurseNextVisit AssistantNurseNextVisitSt Scheduling for next Asst Nurse Round

4.2.1 Rounding Conflicts

When one or more resources are scheduled to round at the same time, or during a

time when another resource is performing rounding operations, there is a conflict in

53 timing. Using the same model that was used to validate the bed object in Section 4.1, the

methods described in this section improve the logic to handle resource rounding conflicts.

To handle conflicts several different state variables are used in conjunction to

keep track of timing. There is a detailed explanation later in this section, but for now

understand that there must be a variable assigned to each rounding process that keeps

track of the “time until” that particular rounding process. So, we created a patient state

variable for each rounding process in the format Patient.(Resource)TimeUntil (where

“Resource” can be either RN, Assistant Nurse, or Therapist). In the original Bed Model,

Patient.(Resource)NextVisit state variable was created to schedule each subsequent

rounding process for each resource type. This State Variable is used again, but

calculations are altered. These variables are initially assigned the same value when the

patient first enters the Bed, during the OnBedEntered process. While

Patient.(Resource)NextVisit will continually increase to schedule the rounding processes

as Run Time increases, Patient.(Resource)TimeUntil is reset after each resource

completes its rounding. To illustrate this scenario, the following description will focus on

RN Rounding. These assignments for RN shown below in Figure 17 & Figure 18.

54

Figure 17: Assign Patient.RegNursNextVisitSt

Figure 18: Assign Patient.RNTimeUntilState

Figure 19 shows the entire OnBedEntered Process. After

Patient.RNTimeUntilState is assigned. The process has been split and rearranged so that it

can fit onto this page. For sake of example let us say RN Rounding is the most frequent.

Because of this it occurs first and the token follows logic to the Execute Step

55 nurseProcess. Thereafter RNProcess, or the process for RN Rounding operations, is

executed.

Figure 19: OnBedEntered Process

The entire RNProcess is shown in Figure 20. It has been rearranged to fit the

page. Other resource rounding processes are constructed in a similar manner. Below is an

enumeration of the steps that occur in the RNProcess.

1. Decide IfBedCapacity>0

a. True – Go to 2

b. False – End Process

2. Delay RNTimeUntil hold token until the scheduled time for the RN Round

3. Assign BeginRNWait – CONTINUE

4. Seize RegNurse – CONTINUE

5. Assign AssignRNWait – CONTINUE

6. Assign nurseCametovisit – CONTINUE

56

7. Delay nursechecktime – CONTINUE

8. Release RegNurse – CONTINUE

9. Assign LastVisit – CONTINUE

10. Decide Conflict?RN-Therapist

a. True – Go to 11

b. False – Go to 12

11. Decide Conflict?RN-AN

a. True – Go to 13

b. False – Go to 14

12. Decide Conflict?RN-T-AN

a. True – Go to 15

b. False – Go to 16

13. Assign NonRNTimeUntil

a. Go to 17

14. Assign RN-AN.TimeUntilConflict

a. Go to 17

15. Assign RN-T.TimeUntilConflict

a. Go to 17

16. Assign RN-AN-T.TimeUntilConflict

a. Go to 17

17. Assign BedTimeSt

18. Assign RNTimeUntil

57

19. Assign ResetWaitTime

20. Decide NextVisit?

a. True – Go to 21

b. False – Go to 22

21. Decide Decide2

a. True – Go to 23

b. False – Go to 24

22. Decide therapistvisit<Ass.NurseVisit

a. True – Go to 25

b. False – Go to 24

23. Assign NewReg.NurseCheckTime

a. Go to 26

24. Assign NewAssNurseCheckTime

a. Go to 27

25. Assign NewTherapistCheckTime

a. Go to 28

26. Decide IfThereIsTimeRemaining (if no time, follows true branch)

a. True – Go to 32

b. False – Go to 29

27. Decide IfThereIsTimeRemaining (if no time, follows true branch)

a. True – Go to 32

b. False – Go to 30

58

28. Decide IfThereIsTimeRemaining (if no time, follows true branch)

a. True – Go to 32

b. False – Go to 31

29. Execute RegNurseProcess – END

30. Execute Ass.NurseProcess – END

31. Execute TherapistProcess – END

32. Delay Delay1 (Delays for remaining time left on Patient.BedTimeSt) –

CONTINUE

33. Decide ChangeInAcuity?

a. True – Transfer Transfer1 (sends token to Bed_Exit process)

b. False – Execute ReEnter Bed (sends token back to Bed_Enter process)

59

Figure 20: Entire RNProcess – with conflict resolution

A

B

60

The token arrives at RNProcess and first goes through the Decide Step

IfBedCapacity>0. This is simply a just in case measure, for an instance where this

process is triggered without a patient at the Bed object. This branching has not been

observed in any trial runs.

From there the token enters the Delay Step RNTimeUntil. Here, the token is held

as the Run Time advances for the amount of time held in the variable

Patient.RNTimeUntilState. From the data and previously described assignments, we

know that this value is 120. So the token is held here for 120 minutes until it is time for

the RN to make a round to the patient. Then the RN is seized at the RegNurse Seize Step,

and then the token is held at a Delay Step for the RN Rounding process. The time is

given by Patient.RegularNurseChecktimeState as is shown in Figure 21.

Figure 21: Delay for Patient.RegularNurseChecktimeState

The RN is released after that Delay, and then a very important calculation takes

place at the LastVisit Assign Step. Patient.LastVisitSt is a State Variable that holds a

value for the scheduled time of the rounding process that just occurred. So here,

Patient.LastVisitSt = Patient.RegNurseNextVisitSt. It is important for the model to

61 remember this value, because Patient.RegNurseNextVisitSt is subsequently reassigned to

schedule the following rounding process for RN.

After the LastVisit Assign Step, the token enters a group of logic steps that does

most of the resource rounding logical conflict resolution. This group is in the “A” box in

Figure 20. First, it must be decided if there was a conflict. Second, appropriate

assignments to variables have to be made for each specific scenario. The following

paragraphs discuss how this works.

First, the token comes to Decide Conflict?RN-Therapist. This step is to decide

whether or not a Therapist round was scheduled to occur during the time in which the

token has spent in the RNProcess. In the current figuration, this can be determined by the

condition shown in Figure 22. If True, there is no conflict and the token moves on to the

next Decide Step Conflict?RN-AN that is to decide whether or not an Assistant Nurse

round was scheduled to occur during the time in which the token has spent in the

RNProcess. Like the previous Decide Step, this can be determined by the condition

shown in Figure 23. In summary, if the TimeUntil of a certain non-current rounding

process is greater than both the value for TimeUntil given unto the current rounding

process AND the processing time for that current rounding process, then there is no

conflict in rounding.

62

Figure 22: Decide Conflict?RN-Therapist

63

Figure 23: Decide Conflict?RN-AN

64

After decisions about conflict, certain assignments must take place in order to

advance Patient.(Resource)TimeUntil, Patient.BedTimeSt and

Patient.RegNurseNextVisitSt. For cases where there is no conflict, the token reaches the

Assign Step NonRNTimeUnitl. Here, Patient.TherapistTimeUntilState and

Patient.ANTimeUntilState are shortened according to the amount of time that had passed

while the token was in the RNProcess. This is shown in Figure 24.

Figure 24: Non-RN Time Until Assignments in RN Process

For cases that there is a conflict, the token follows the “False” branch on the

Decision Steps outlined by the “A” box in Figure 20. Let’s say the RN Round is in

conflict with both the Therapist Round and the Assistant Nurse Round. The token will

come to Assign RN-AN-T.TimeUntilConflict. There must be a correction for

Patient.TherapistTimeUntilState and Patient.ANTimeUntilState. Since they were already

supposed to occur, if we used the calculation above it would return a negative result.

Since we cannot have negative time, we set each of these states to zero so that they are

each triggered as soon as possible. Also, Patient.AssistantNurseNextVisitSt and

Patient.TherapistNextVisitSt both have to be altered in a different way than if there was

65 no conflict. At this point, each of those variables holds a value that represents a time that

is in the past. So, that value has to be advanced accordingly. Calculations for this

advancement as well as the assignment for Patient.(Resource)TimeUntil are all shown in

Figure 25.

Figure 25: State Variable Assignments to handle conflict

Regardless as to if there is a conflict or not, Patient.BedTimeSt and

Patient.RegNurseNextVisitSt are both advanced as they always would in this example

scenario. This happens at Assign BedTimeSt. The assignments are shown in Figure 26.

Figure 26: Assign new Patient.BedTimeSt and new Patient.RegNurseNextVisit

66 In the next Assign Step RNTimeUntil, the Patient.RNTimeUntilState is reset in the

same manner that the other TimeUntil variables would in cases that there is no conflict.

This assignment must occur here though, because it is always done in this manner for

RNProcess. Likewise, if this was TherapistProcess then the

Patient.TherapistTimeUntilState would be assigned here. Same for

AssistantNurseProcess. See assignments for RNTimeUntil in Figure 27.

Figure 27: Assign Patient.RNTimeUntil

Next, the token comes to a group of logic steps (outlined in “B” box in Figure 20)

that determines which rounding process is to occur next and then checks to make sure

there is still time for that process to occur before Patient.BedTimeSt expires. Recall that

Patient.BedTimeSt is assigned on BedEnter and tells the model how long that patient will

stay in the bed. First, the token must pass through two Decide Steps to determine which

of the three resources has the lowest value for Patient.(Resource)NextVisitSt. This tells

the model which rounding process is scheduled to occur next. For example, see Figure

28.

67

Figure 28: Decide Next Rounding Process

Once the decision for next rounding process is made, processing time for that

round is assigned. For instance, if it is decided that TherapistProcess is next then the

token reaches Assign NewTherapistCheckTime. The assignment is shown in Figure 29.

Figure 29: Assign NewTherapistCheckTime

From there, the model has to decide if there is enough time left to complete the

next rounding process. So at Decide IfThereIsTimeRemaining there is a condition that

must be met for the next round to occur. This condition is shown in Figure 30. If there is

indeed enough time, then the token is sent to the False branch of this Decide Step and the

ensuing Execute Step tells the model to begin the next rounding process. However, if it is

decided that there is not enough time then the token goes to the true branch and waits at

68 the Delay Step RemainingStayTime which holds the token for the remainder of

Patient.BedTimeSt. This is shown in Figure 31. After this Delay Step then token is

transferred to Station BedExit.

Figure 30: Decide IfThereIsTimeRemaining

Figure 31: Delay for RemainingStayTime

Once the entity is transferred into the BedExit Station, the Bed_Exit Process is

triggered. This process releases the Bed Object and sends the entity to the Output Node

for the Bed Object. Bed_Exit is shown in Figure 32.

69

Figure 32: Bed_Exit Process

After the mechanisms for handling resource rounding conflicts were implemented

they had to be tested. To test, a Gantt Chart must be produced from data that has conflicts

in rounding. The time between Therapist rounds is changed from 291 to 288. This creates

a conflict with one of the RN rounds, shown in the Gantt Chart in Figure 33. The data for

this Gantt chart is shown in Table 10 and the data for HospitalData is shown in Table 11.

Figure 33: Gantt Chart with Conflict Circled

Table 10: Gantt Chart Data with one conflict

70 Table 11: HospitalData Data Input for one conflict

The time between processes in the Gantt Chart must be altered so that there is not

a conflict. This is to mimic what would happen in the simulation. The RN Rounding is

scheduled for t = 952 minutes and the Therapist Rounding is scheduled for t = 956

minutes. So, the RN Rounding would occur first, and on schedule. The data is altered so

that Therapist Rounding begins at the end of RN Rounding which is at t = 962 minutes.

See altered data in Table 12 and Gantt Chart in Figure 34.

The simulation is run for 1300 minutes and the animation plot is observed for

resource rounding behavior. The resulting animation is shown in Figure 35.

Table 12: Altered Gantt Chart Data

The results are consistent with what we would expect by comparing to the Gantt

Chart. A review of the Model Trace tells us that the rounding processes of concern

(circled in red in Figure 35) do in fact occur at the correct and predicted time. Now, to

further test we alter the data so that each resource is scheduled to round at the same time

71 at the beginning of simulation. The input data is shown below in Table 13. Simulation is

run again for 1300 minutes and the results are observed in Figure 36.

The model is able to handle many conflicts and the results are as predicted. To

further enhance the model, we implemented logic to handle cases when a rounding

process does not occur on time because that resource is busy elsewhere. This would be

the case for multiple beds, which is discussed in the following section.

Figure 34: Altered Gantt Chart

Figure 35: Animation results for conflict run

72 Table 13: HospitalData data input for many conflicts

Figure 36: Animation results for run with many conflicts

4.2.2 Adjusting for Multiple Beds

In order to handle cases when a patient is waiting for a resource to round, the time

spent waiting has to be recorded. This is done by placing a Assign Step before and after

the Seize Step at each rounding process. The Assign records the time before the seize

request and then the time after the seize is completed. The time spent waiting is the

difference of those two values. See Figure 37 and Figure 38 for screenshots of these

steps.

If there is no wait time, this doesn’t affect anything. But in the case that there is a

wait, this immediately throws off the accuracy of the Patient.(Resource)NextVisitSt

variable. Since this variable is meant to track when during the Run Time a certain

resource performs a round, then this time spent waiting is very important to account for.

73 This new Patient.WaitTime variable inherently must be included in the Patient.LastVisit

calculation. This is shown in Figure 39.

Figure 37: Assign BeginRNWait

Figure 38: Assign step for calculating wait time

Figure 39: Assign LastVisitSt

74

Expressions in the Decide Steps for conflict resolution are adjusted Decision to

include Patient.WaitTime. This is shown in Figure 40.

Figure 40: Adjusted Decide Step for conflict handling

It is also necessary to readjust assignments for Patient.(Resource)TimeUntilSt and

Patient.(Resource)NextVisitSt. A generic formulation of those changes is shown below.

The changes are made accordingly to each resource rounding process.

• Adjusted all Assign Steps for Patient.(Resource)TimeUntil to include

Patient.WaitTime

o Patient.(Resource)TimeUntilState = Patient.(Resource)TimeUntilState -

Patient.(CurrentRoundingResource)TimeUntilState -

Patient.(CurrentRoundingResource)CheckTimeState - Patient.WaitTime

• For resources that have a conflict the adjustment made for

Patient.(Resource)NextVisitSt is as follows:

o Patient.(Resource)NextVisitSt +

((Patient.(CurrentRoundingResource)NextVisitSt +

75

Patient.(CurrentRoundingResourceChecktimeState+Patient.WaitTime) -

Patient.(Resource)NextVisitSt)

• Adjusted the Patient.(Resource)NextVisitSt assignment within Assign BedTimeSt

o Patient.(Resource)VisitTime = Patient.(Resource)VisitTime +

Patient.(Resource)NextVisitSt + Patient.(Resource)ChecktimeState +

Patient.WaitTime

After conflict resolution logic, the Patient.WaitTime variable is reset to zero, to

prevent any errors in calculations. See below in Figure 41.

Figure 41: Reset wait time

The model was run for 3000 minutes with 20 arrivals at t = 0. The goal with this test

is to see if all patients make it through the system. As the results show below in Figure

42, they do indeed. The value for Patients NumberCreated is 20 as well as the

NumberDestroyed. The Patients Average TimInSystem is near expectations for an

overloaded system with a value of 1,451.848 minutes. We accept that this new logic is

working.

76

Figure 42: Results for simulation run with many conflicts

4.2.3 Changing Acuity and Routing Final Destination

We know from our work with Fairfield Medical Center that patients can be

directed to several locations or stay with a change in acuity following the end of

BedStayTime. Those options and the percent likely were first mentioned in Chapter 3 in

Table 5. From that Table, we know that we need to be able to route the patient to a

Discharge process or a Transfer process once they leave the Bed Object. Furthermore,

there is a case where they do not leave the Bed Object (Stay in PCU) and simply have a

change in acuity. Both of these enhancements require a similar mechanism.

First, a list is made inside of the Bed Model to keep track of the various options at

the end of BedStayTime. This list called DestinationList is shown below in Figure 43. The

corresponding numeral in the table represents that destination in the model. Note, there is

an additional case of changing Low to Medium Acuity that is not shown in Table 5. We

assume that there are rare cases where this could happen, maybe in a different inpatient

unit setting. So we included this option and built it into the process logic in the bed

77 object. There is also an option for Surgery as a destination. This is further discussed in

Section 5.3.

Figure 43: DestinationList

A new column is added to the HospitalData Data Table called

DestinationExpression. See changes to HospitalData in Figure 44 below. There is a

expression for each patient type that will randomly select a destination according to the

percentages given in . The IncreaseRow and DecreaseRow columns will be explained in a

proceeding paragraph.

Figure 44: Changes to HospitalData for destinations

78

In order to pass this information to the Patient Entities, a new Patient Property

was created called Patient.DestinationProperty. An accompanying State Variable

Patient.DestinationState is used to assign a destination to the patient at Bed_Enter.

There are several changes to Bed_Enter. See changes to Bed_Enter in Figure 45.

Notice the Decide Step FirstPass?. For patients just arriving to the Bed, the token passes

through to the True branch of the decision. From there, AssignFirstDestination gives that

entity a value for Patient.DestinationState. See assignment in Figure 46.

Figure 45: Changes to Bed_Enter for a change in acuity

Figure 46: Assign first destination upon arrival to bed

79

In cases that the patient experiences a change of acuity, the patient is not sent to

the Bed_Exit process when BedStayTime expires but is instead sent through Bed_Enter

again. So, when a patient has a change in acuity and comes through this set of logic a

second time, the token is sent to the False brance on FirstPass?. At Decide

IncreaseOrDecrease there is decision that checks for Patient.DestinationState == 6 ||

Patient.DestinationState == 7. For both of these cases there is a Increase in Acuity, per

Table 5. So, if we increase acuity the token reaches Set Row IncreaseAcuity. This step

references Table Name HospitalDataProperty which is a Table Property set inside the

Bed Model. This property pulls in HospitalData from the Main Model as shown in

Figure 47. This is similar to what was done to pass information from HospitalData into

the Patient Entities.

Figure 47: Pass HospitalData to Bed Model

80

For sake of example, let’s say the patient is sent to the IncreaseAcuity Set Row

Step. Here, HospitalDataProperty is given a new Row Number Patient.IncreaseAcuity.

This is a property that pulls data from the IncreaseRow column in the HospitalData Data

Table. So if the patient is of Medium Acuity, is redirected back to Bed_Enter at end of

BedStayTime, and reaches the IncreaseAcuity Step, then it will be assigned a Row

Number of 1 per Figure 44. This tells the model to pull data from row 1 of HospitalData,

where data for High Acuity Patients is held.

When patients leave the Bed Object they are routed to either the Discharge or

TransferOut Server. As the patient exits bed they enter the output node at the Bed. This

triggers a State Assignment shown in Figure 48. DestinationNodeState is used for the

Node Name under Routing Logic on the output node for Bed.

Figure 48: Assign DestinationNodeState

In order to test, we first set a breakpoint at the Decide Step IncreaseOrDecrease

in Figure 45 so that the model would pause for cases where the token reenters the

Bed_Enter process for cases with change in acuity. We then set specific digits in the

DestinationExpression column to make the token reenter the Bed_Enter process. Since

there must be a change in row referencing to HospitalData when a patient changes

81 acuity, there is a breakpoint set at the Assign Step RegNurseNextVisit from Figure 45. At

this point we can note the assignment that happens at Assign AssignNextDestination. The

data is set according to Figure 49. The patient should be a HighAcuityPatient entity type

upon creation and be assigned a value of 5 for Patient.DestinationState which will tell the

patient to move to a lower acuity. The patient does reenter the Bed_Enter process as

shown by the Model Trace in Figure 50. At this point the patient still has a

DestinationState of 5 shown in Figure 51.

Figure 49: HospitalData for Change in Acuity Test

Figure 50: Model Trace proves token takes correct path

After the token passes through the SetRow Step DecreaseAcuity there should be

a row reference change in HospitalData and the new DestinationState will be 0. The

82 model is run to the breakpoint at AssignNextDestination and the animation in Figure 52

shows that the value for Patient.DestinationState is indeed changed to 0, and thus

confirms that this reference happens correctly.

Figure 51: Original DestinationState

83

Figure 52: New DestinationState

Next, we need to check to see if patients are routed to the correct server object

upon leaving the bed. They can either go to TransferOut or Discharge. To test, we set the

value for DestinationExpression==Random.Discrete(0,.25,1,.5,2,.75,3,1) so that there is

a 50% chance that they either route to Discharge or TransferOut. We ran an experiment

with 50 replications, 8 arrivals in each replication. Responses were set for NumDischarge

and NumTransferOut as shown below. Results are shown in Figure 53. As expected,

roughly 50% of patients go to Discharge and 50% go to TransferOut. The logic is

working properly.

• NumDischarge == Discharge.InputBuffer.NumberEntered

84

• NumTransferOut == TransferOut.InputBuffer.NumberEntered

Figure 53: Routing Test Results

4.3 Two Units Integrated to One Model

All hospital departments interact with each other in one capacity or another, and

oftentimes share multiple resources. Perhaps one of the most common interactions

happens between progressive care units and surgical units. For instance, take this scenario

- patients are admitted to an inpatient unit where they await for surgery, and then after

surgery they return to an inpatient unit for extended recovery. This section explains the

integration of the Progressive Care Unit (PCU) model from the previous section with a

surgical unit to create one cohesive model.

Patients enter the PCU through either an external direct admission, surgery, the

emergency department, the ICU, or some other type of inpatient unit. Upon creation of

the patient entity, the patient is assigned acuity level and a length of stay (LoS). The PCU

model is built using the custom bed object, where a patient receives cyclical services

from several different resources until the LoS has elapsed, at which point they either

remain in the PCU with a higher or lower acuity level, transfer to ICU or some other

inpatient unit, or they are discharged.

85

Patient entities created in the surgical portion interact with the PCU portion of the

model when the surgery performed is an inpatient surgery and they require a level of care

provided by a PCU. The integrated model executes a patient flow as described in Figure

54.

This section describes the combination of the Bed Unit Model from earlier

sections, with an Surgical Unit Model built by Malik and Šormaz [33]. The two models

are quite literally put into one simulation model, with all accompanying entity types,

objects, data sources, variables, properties, resources, etc. However, there are several

mechanisms that had to be put into place in order for these two models to actually be

integrated. See Facility View of Integrated Model below in Figure 55.

.

Figure 54: Patient Flow in Integrated Model

86

Figure 55: Facility view for integrated model

The first change that was made, was a process logic change for the Postanesthesia

Care Unit (PACU) object. Here, we implement logic so that the patient seizes a bed in the

PCU if they had an inpatient surgery. The logic is triggered after processing is finished at

the PACU object. See Figure 56 below showing this process called SeizeInpatientBed.

Figure 56: SeizeInpatientBed Process

87 The Route Step FindAvailableBed uses the selection condition below to find a bed

that is not currently occupied.

Candidate.BasicNode.AssociatedStation.Contents.Contains(Entity)==0

Since this is a Route Step, a Destination Node is set for the entity. This

Destination Node is used to reference the correct bed in the proceeding Seize Step

SeizeBed, as shown in Figure 57

Figure 57: Seize Step for patients from OR

After the token finishes executing this bit of logic for SeizeInpatientBed, the

entity actually enters the output node for PACU where it is then routed again. So, we

needed to be able to have the model remember which bed node was just selected. So the

following Assign Step passes outpatient.DestinationNode to Node State Variable

outpatient.BedDestinationState.

Since the surgical unit uses an entirely different entity type than the PCU the

model must destroy the surgical unit entity and immediately create one for the PCU. This

88 is handled by a process PostSurgeryRouting that is triggered when the entity enters the

InpatientUnit Sink. This process is shown below in Figure 58.

Figure 58: PostSurgeryRouting Process

The Assign Step passes outpatient.BedDestinationState to a State Variable at the

Model Level called BedDestinationState_TOP. Then the bed is released, because the

entity is destroyed the bed seized is passed to a Patient entity in the PCU model.

Immediately after an event is fired at Fire_EnterInpatient that tells the Source FromOR

to create an entity to enter the Bed Unit. FromOR is pictured below in Figure 59.

Figure 59: Source for patients FromOR

89

When the new entity enters the output node at FromOR another process is

triggered called FromOR_CreatedEntity. This process passed BedDestinationState_TOP

which is a Main Model Level variable into Patient.BedDestinationState. Then, the same

bed from the PACU is seized again. There is no time that passes between destruction of

entity at the surgical unit, to the creation of the entity at FromOR. So we can be confident

that no other arriving patient to the PCU will be able to seize the bed that was assigned to

the surgical patient. The process FromOR_CreatedEntity is pictured below in Figure 60.

Figure 60: FromOR_CreatedEntity Process

Because there are now entities (from surgery) that seize the bed object before

reaching it, we have to remove that seize within the Bed Model. This presents another

challenge. As patients reach the output node for Admission, another process is triggered

called SentPatientToBed which is shown below in Figure 61. For patients from the OR,

they are simply routed to the bed that they have already seized. Patients not from the OR

have a bit more of a complex bit of logic. When the token reaches Decide Step

IsBedAvailable and finds that one is available, a Route then Seize series of steps occurs

that is similar to the logic for bed seizure in the PACU object. However, if a bed is not

90 available, then the token is held at the Wait Step WaitForBed. The token is released when

a BedEmpty event is triggered. This event is triggered as patients exit beds. To handle

cases where that bed might be empty but is seized (while patients are still traveling from

OR), the token does not advance to the Route Step but goes back to the Decide to check

for available bed resources as opposed to checking for an empty bed. This completes the

integration of the two models.

Figure 61: SendPatientToBed process sends patient from Admission to the Bed

To confirm that this integration is working we tested the model behavior for

surgeries that require inpatient stay. First, the Data Table for PCU (HospitalData) and

Data Table for the surgical unit (DailyAppointments) are bound to their corresponding

worksheets in the Excel file IntegratedModelDataFile.xlsx. See Figure 62 below.

91

Figure 62: Screenshot of IntegratedModelDataFile.xlsx

For testing purposes we made 1 dummy arrival to the surgical unit and set the

data table so that the entity will be an inpatient so that when ouPatient is destroyed a new

entity will be created at Source FromOR. To track entity creation during runtime, a new

State Variable CountFromORState was created and an assignment was placed in the

process FromOR_CreatedEntity so that every time an entity is created, the value

increases by one. See assignment in Figure 63: Assignment for CountFromORState. A

breakpoint was placed at the output for FromOR and simulation was fast forwarded until

an entity reached this point. The breakpoint is triggered and the animation confirms that

an entity was created at FromOR proving that the integration works. See Figure 64 for

animation.

Figure 63: Assignment for CountFromORState

92

Figure 64: Status label for FromOR

Furthermore, the model should represent the correct mix of surgical patients

arriving to the PCU. Per Table 1 we know that 17% of patients arriving to the PCU are

coming from surgery. Another status label was created to track arrivals at

InpatientArrival and the model was run for 1 week. Results show that there are 6 entities

created at FromOR and 30 entities created at InpatientArrival. That gives 16.67% arrivals

coming from surgery which is the mix we expect. See Figure 65.

Figure 65: Arrivals after 1 week

93

4.4 Statistic Collection & Experiments

As discussed in Chapter 3, the key measures of the simulation model are length of

stay, resource utilization, and patient waiting times for various resources. This research

experiments with various resource levels to observe changes in these key measures. First,

some modifications to the model were performed in order to collect key statistics.

4.4.1 Statistic Collection

Since some patients reenter the bed processes at the end of their LoS, it would be

helpful to know just how many times this occurs. Without this knowledge, the overall

time in system for medium acuity and high acuity patients would seem off, since those

patient types have probability to stay in the bed with a change in acuity. The bed model

cannot determine entity type (HighAcuityPatient, MediumAcuityPatient, or

LowAcuityPatient). So, to implement this statistic collection, we first had to add a state

variable that tracks acuity level so that decisions about acuity can be made in the bed

model. We created state variables at the patient level that will numerically define patient

type. The assignment for those variables is made in the Main Model, at the process

SendPatientToBed. High acuity patients are assigned 3, medium acuity a 2, and low

acuity a 1. See assignment for high acuity below in Figure 66

94

Figure 66: Assign Acuity Tracker

The next step in collecting this statistic is adding logic to the bed object. At

Bed_Enter, an assignment is made to increase the count for number of cycles through bed

by a factor of 1. State Variables Patient.HABedCycleCount, Patient.MABedCycleCount,

and Patient.LABedCycleCount are created and the assignments are performed according

to Figure 67.

Finally, the statistic is collected when the patient leaves the bed. This is done on

the main model within the BedEmptyTrigger process that is triggered when patient exits

the output node of a bed. Decisions route the token according to patient type and then the

statistic is recorded according to the information shown in HATallies, MATallies, and

LATallies inFigure 70. Note, there are other statistics collected here too for the time that

each patient type spends in the bed discussed in the next paragraph.

95

Entity time in system is given to us by the default generated results in Simio.

However, it could be useful to know just how much time is spent in the bed object for

each entity type. Recall that medium and high acuity patients have a high probability of

staying in the PCU, with a change in acuity (see Table 5). When the model handles a

change in acuity, the actual entity type does not change, only the row referenced in the

Data Table HospitalData. This means we should see much higher times for medium and

high acuity patient data, since they likely stay in the system for multiple passes through

the bed cycle. This statist collection could be useful if historical data shows that there is a

change in the percentages associated with change in acuity, and a hospital wanted to

observe how this affects overall averages. For instance, if the Fairfield Medical Center’s

PCU sees that the percentage of medium acuity patients that move to high acuity increase

from 5% of patients admitted as medium acuity to 10%. This would increase the overall

average of time spent in the bed for this patient mix, since high acuity patients spend

more time in the bed and there is now a higher percentage of medium acuity patients

becoming high acuity.

To collect time in bed statistics, the time entered the bed and time exited the bed

must be calculated. A State Variable for Patient.TimeEnterBed is assigned at

AssignFirstDestination in the Bed_Enter process inside the bed object, as shown in

Figure 68. The calculations for the time spent in the bed are done on the main model

within the BedEmptyTrigger process. The expression to find time in bed for all patients is

shown in Figure 69. A deeper understanding is gained by finding the time spent in bed

for each patient type and the Tally Step and corresponding expression are exemplified by

96 the high acuity example in Figure 70, where HighTimeInBed == TimeNow –

Patient.TimeEnterBed.

Figure 67: Assign Bed Cycle Count

Figure 68: Assign Patient.TimeEnterBed

97

Figure 69: Tally times spent in bed for all patients

Figure 70: Patient in bed statistics collection

The next implementation for statistic collection was to be able to observe waiting

time for rounding operations, broken down by each resource type. To this, a State

Variable already in place was used for this purpose. Patient.WaitTime was being

calculated for scheduling purposes, but is used again for statistic collection. Once each

resource is seized, that wait time is added to a state variable designated to each resource.

The assignments happen inside the bed object process logic, as listed below

• Patient.TherapistWaitTimeTally == Patient.WaitTime+

Patient.TherapistWaitTimeTally

• Patient.RNWaitTimeTally == Patient.WaitTime+ Patient.RNWaitTimeTally

• Patient.ANWaitTimeTally == Patient.WaitTime+Patient.ANWaitTimeTally

98

Then, at the Main Model, another Tally Step called TallyWaitTimes was added.

Tally Statistic elements WaitForAN, WaitForTherapist, and WaitForRN were created and

the values assigned to these elements via Tally Step are shown below in Figure 71.

Figure 71: Tally wait for resources

4.4.2 Experiments

For experiments, the number of beds in the PCU was increased from 8 beds as

depicted in section 4.3, to 16 beds. This more accurately reflects the real life situation at

Fairfield Medical Center (FMC) from which this unit is based on. We also updated the

HospitalData Data Table to reflect all of the variable data provided to us by FMC. See

screenshot in Figure 73. A screenshot of the model in runtime is shown in Figure 72

99

Figure 72: 3D View of 16 Bed Model

Figure 73: Screenshot of HospitalData Final

We experimented with various resource capacities. At FMC, there are 5 RN’s and

2 Assistant Nurses in the PCU, and the Therapists are available on request as they are not

actually dedicated to the PCU. The resource mix is given in Table 14.

100 Table 14: Resource mix

Mix 1 Mix 2 Mix 3 Mix 4 Mix 5 Mix 6 Mix 7 RN 3 RN 5 RN 8 RN 16 RN 5 RN 8 RN 16 AN 2 AN 2 AN 2 AN 2 AN 3 AN 3 AN 3 Therapist 2 Therapist 2 Therapist 2 Therapist 2 Therapist 3 Therapist 3 Therapist 3

We used Simio Experiments to set various capacities for RN as shown inFigure

74. Because the model is set so that each object for AN and Therapist must represent

exactly one of those resources, we cannot include that variability in the experiment, and

had to run separate experiments to capture these varying resources.

Figure 74: Screenshot of Experiments

The simulation is run for 1 week and we recorded the Scheduled Utilization of the

resources and total time in system for patients. Results are shown in Table 15. It is clear

from the table that there is not a significant decrease in time in system when more

resources are added. There is one major reason for this. The model assigns a

predetermined time for the patient to stay in the bed, which is not affected by the

efficiency of rounding operations. Additionally, resource utilization decreases as the

101 number of resources increases. This is predictable, but the utilization numbers are very

low even with only 3 RN’s. This is attributed to the fact that not every single task for

nurses is captured. Nurses are oftentimes responsible for cleaning rooms, restocking

medicine, and various other duties. Furthermore, they may have emergency calls to

patients that interrupt current duties.

Next, we looked at time spent waiting for various resources as well as the number

of bed cycles by patient type, given the resource mixes shown in Table 14. These results

are shown in Table 16. It’s clear that there is not a great amount of time spent waiting in

this model but, as stated in the previous paragraph, we do not capture every single duty

for these workers. So, we can assume these wait times would be amplified in reality. It is

curious that the wait times for AN and Therapists tends to increase as the number of RNs

increase. This is likely because the RNs round more frequently and because there are

more of them, Therapists and ANs end up having more conflicts with RN rounds as the

number of RNs increases. It is clear that there is a major decrease in time spent waiting as

the number of RNs increase. Lastly, we can see that the bed cycle count is working

correctly as there is never a case where a low acuity patient goes through multiple bed

cycles.

102 Table 15: Results for time in system and resource utilization

Avg. Low Acuity Time in System

(hours)

Avg. Medium Acuity Time in System

(hours)

Avg. High Acuity Time in System

(hours)

Avg Time in System

All Patients (hours)

RN Utilization AN

Utilization Therapist

Utilization Mix 1 19.66

40.23 51.19

37.03 25.02% 4.28% 20.59% Mix 2 18.74

41.88 54.56

38.39 16.38% 4.68% 23.36% Mix 3 18.83

40.51 54.01

37.78 9.81% 4.57% 17.65% Mix 4 18.52

40.70 54.07

37.76 4.68% 4.36% 22.47% Mix 5 19.33

40.72 52.34

37.47 15.82% 2.98% 14.69% Mix 6 19.28

41.24 54.40

38.31 9.42% 3.02% 14.26% Mix 7 18.61

40.34 56.47

38.47 4.22% 4.96% 13.51%

Table 16: Results for wait time and bed cycles

Wait Time AN (minutes)

Wait Time RN

(minutes) Wait Time Therapist (minutes)

High Acuity Bed

Cycles Medium

Acuity Bed Cycles

Low Acuity Bed

Cycles Mix 1 .0132 .6430 .2892 1.9936 1.7238 1 Mix 2 .0136 .3734 .3062 2.1633 1.8210 1 Mix 3 .0128 .1548 .2710 2.1310 1.8385 1 Mix 4 .0140 .0632 .3031 2.1575 1.8033 1 Mix 5 .0140 .3881 .2541 2.0444 1.7658 1 Mix 6 .0143 .1456 .2669 2.1893 1.8262 1 Mix 7 .0101 .0632 .2457 2.2486 1.7975 1

103

CHAPTER 5: CONCLUSION AND FUTURE WORK

In this research, two separate hospital units are integrated into one simulation

model using custom Simio objects. The objective is to create a codependency between

these two units within that model, in order to fully integrate them. To do that, logic had to

be altered within the custom objects, variables created, and new process logic created at

the Main Model level. The changes were implemented and the methods were tested to

prove the integration behaves accordingly.

5.1 Summary

Several custom objects were used to build an integrated model of a surgical unit

and a progressive care unit. The surgical unit contained objects for patient entity,

admission desk, clean room, pre-op, operating room, dressing room, and postanesthesia

care unit. The progressive care unit had objects for the bed and for the patient entity.

The Bed Object was tested for validity before it was substantially enhanced.

These enhancements were implemented to handle various scheduling conflicts, to

properly route patients and to handle scenarios where the patient undergoes a change in

acuity level during their stay.

A great challenge for integration was the fact that there are two customized

patient entity objects, one for each unit. These entities contain vital information to drive

the model in their respective units. In cases a patient undergoes surgery and requires an

inpatient stay multiple entity types are required to capture such instances. Further

complicating this situation is the handling of bed resource seizures. A surgical patient

must be able to seize a bed while recovering in the postanesthesia care unit (PACU).

104 Logic was altered for the PACU object so that inpatients would be able to seize a bed

before that entity leaves the PACU and is inherently destroyed. Logic had to be

implemented to release the bed object and instantaneously seize that same bed again as a

new entity is created for that patient, on the PCU side of the model. This method was

tested and proved effective in seizing the bed before transferring to the PCU.

5.2 Conclusion

The integrated simulation model can be reused for different scenarios by altering

the data in the Excel file IntegratedModelDataFile.xlsx. This integration is not limited to

progressive care units and can be used for any inpatient units if the appropriate data items

are altered. Furthermore, multiple operating rooms may be used for the surgical unit. This

simulation model can help optimize resources requirements and experiment with shared

resources between the models such as shared nurses. In conclusion, the integrated

simulation model is a great tool to study a more complete patient lifecycle. Instead of

focusing on just one unit, hospitals could use such a model to be able to study patient

flow through both units as they oftentimes do. Of particular interest is bed availability

inpatient units for incoming patients from the surgical units. Improving patient flow is of

great relevance today, with a global pandemic that is causing a great shortage of inpatient

beds. Higher efficiency services can improve patient flow, getting patients in and out of

the hospital faster so that they may service the growing number of people in demand of

services.

105

5.3 Future Work

The current model integrates flow from the surgical unit to the progressive care

unit, but in a real life scenario patients that elect for inpatient surgery will generally arrive

to the hospital the evening before surgery to be admitted to an inpatient bed. Therefore,

we need to integrate flow from the PCU (or other inpatient units) to the surgical unit. The

care these patients receive previous to surgery may also be different than the regular

rounding operations for other patients. Research on these practices must be done to

advance this principle.

Further experimentation with shared resources between PCU and surgical units

could allow for some insightful recommendations to hospitals. There could also be shared

resources between various inpatient units. Future work should consider this.

Resource priorities are currently stochastic but in reality are dynamic. If there is

an excessive queue, nurses will focus on that queue before others, unless there is a

immediate danger to a patient’s health. This should also be considered. We know from

conversations with FMC that there are instances where patients require immediate and

sometimes emergency attention. This is not captured in the model because the statistics

were not available. Further discussion with healthcare professionals is required.

106

REFERENCES

[1] C. for Medicare, M. S. 7500 S. B. Baltimore, and M. Usa, “NationalHealthAccountsProjected,” Nov. 21, 2017. https://www.cms.gov/research-statistics-data-and-systems/statistics-trends-and-reports/nationalhealthexpenddata/nationalhealthaccountsprojected.html (accessed Jan. 08, 2018).

[2] “2017 Global Health Care Outlook | Deloitte US,” Deloitte United States. https://www2.deloitte.com/us/en/pages/life-sciences-and-health-care/articles/global-health-care-sector-outlook.html (accessed Oct. 11, 2017).

[3] J. Appleby, “Seven Factors Driving Up Your Health Care Costs,” Kaiser Health News, Oct. 24, 2012. https://khn.org/news/health-care-costs/ (accessed Apr. 16, 2020).

[4] J. H. Halton, “A Retrospective and Prospective Survey of the Monte Carlo Method,” SIAM Rev., vol. 12, no. 1, pp. 1–63, Jan. 1970, doi: 10.1137/1012001.

[5] A. Seila, V. Ceric, and T. Pandu, “Components of a Simulation Study,” in Applied Simulation Modeling, Thomson Learning, Inc., 2003, pp. 8, 10–11.

[6] S. H. Jacobson, S. N. Hall, and J. R. Swisher, “Discrete-Event Simulation of Health care Systems,” in Patient Flow: Reducing Delay in Healthcare Delivery, R. Hall, Ed. Boston, MA: Springer US, 2013, pp. 273–309.

[7] M. H. Rutberg, S. Wenczel, J. Devaney, E. J. Goldlust, and T. E. Day, “Incorporating Discrete Event Simulation Into Quality Improvement Efforts in Health Care Systems,” Am. J. Med. Qual., vol. 30, no. 1, pp. 31–35, Jan. 2015, doi: 10.1177/1062860613512863.

[8] S. Terzi and S. Cavalieri, “Simulation in the supply chain context: a survey,” Comput. Ind., vol. 53, no. 1, pp. 3–16, Jan. 2004, doi: 10.1016/S0166-3615(03)00104-0.

[9] J. J. Caro and J. Möller, “Advantages and disadvantages of discrete-event simulation for health economic analyses,” Expert Rev. Pharmacoecon. Outcomes Res., vol. 16, no. 3, pp. 327–329, May 2016, doi: 10.1586/14737167.2016.1165608.

[10] J. Jun’, S. Jacobson, and J. Swisher’, “Application of Discrete-Event Simulation in Health Care Clinics: A Survey,” p. 16.

[11] T. Eldabi, R. Paul, and T. Young, “Simulation Modelling in Healthcare: Reviewing Legacies and Investigating Futures,” p. 10.

[12] S. M. Sanchez, T. Ogazon, D. M. Ferrin, J. A. Sepulveda, and T. J. Ward, “Emerging issues in healthcare simulation,” in 2000 Winter Simulation Conference Proceedings (Cat. No.00CH37165), Orlando, FL, USA, 2000, pp. 1999–2003, doi: 10.1109/WSC.2000.899198.

107 [13] R. Miller and D. Sormaz, “Generic Process Mapping and Simulation Modeling of

Inpatient Units in a Medical Center,” p. 6. [14] M. M. Günal and M. Pidd, “Discrete event simulation for performance modelling

in health care: a review of the literature,” J. Simul., vol. 4, no. 1, pp. 42–51, Mar. 2010, doi: 10.1057/jos.2009.25.

[15] C. D. Pegden, “Intelligent Objects: The Future of Simulation,” p. 7. [16] S. C. Brailsford, “Tutorial: Advances and challenges in healthcare simulation

modeling,” in 2007 Winter Simulation Conference, Washington, DC, USA, Dec. 2007, pp. 1436–1448, doi: 10.1109/WSC.2007.4419754.

[17] L. Standfield, T. Comans, and P. Scuffham, “MARKOV MODELING AND DISCRETE EVENT SIMULATION IN HEALTH CARE: A SYSTEMATIC COMPARISON,” Int. J. Technol. Assess. Health Care, vol. 30, no. 2, pp. 165–172, Apr. 2014, doi: 10.1017/S0266462314000117.

[18] “FlexSim Healthcare | Healthcare Simulation and Modeling,” FlexSim Healthcare. https://healthcare.flexsim.com/ (accessed Jul. 29, 2020).

[19] D. Adam, “Special report: The simulations driving the world’s response to COVID-19,” Nature, vol. 580, no. 7803, Art. no. 7803, Apr. 2020, doi: 10.1038/d41586-020-01003-6.

[20] “COVID-19 and surge capacity in U.S. hospitals.” https://www.the-hospitalist.org/hospitalist/article/220527/coronavirus-updates/covid-19-and-surge-capacity-us-hospitals (accessed Aug. 11, 2020).

[21] E. A. Crawford, P. J. Parikh, N. Kong, and C. V. Thakar, “Analyzing Discharge Strategies during Acute Care: A Discrete-Event Simulation Study,” Med. Decis. Making, vol. 34, no. 2, pp. 231–241, Feb. 2014, doi: 10.1177/0272989X13503500.

[22] M. Raunak, L. Osterweil, A. Wise, L. Clarke, and P. Henneman, “Simulating patient flow through an Emergency Department using process-driven discrete event simulation,” in 2009 ICSE Workshop on Software Engineering in Health Care, Vancouver, BC, Canada, 2009, pp. 73–83, doi: 10.1109/SEHC.2009.5069608.

[23] J. D. Griffiths, N. Price-Lloyd, M. Smithies, and J. E. Williams, “Modelling the requirement for supplementary nurses in an intensive care unit,” J. Oper. Res. Soc., vol. 56, no. 2, pp. 126–133, Feb. 2005, doi: 10.1057/palgrave.jors.2601882.

[24] N. Mustafee, T. Lyons, P. Rees, L. Davies, M. Ramsey, and M. D. Williams, “Planning of bed capacities in specialized and integrated care units: Incorporating bed blockers in a simulation of surgical throughput,” in Proceedings Title: Proceedings of the 2012 Winter Simulation Conference (WSC), Berlin, Germany, Dec. 2012, pp. 1–12, doi: 10.1109/WSC.2012.6465102.

[25] U. O. Olabisi and N. Chukwunoso, “Discrete-Event Simulation Modeling of Patient Flow in Healthcare Systems,” p. 26.

108 [26] T. Young, J. Eatock, M. Jahangirian, A. Naseer, and R. Lilford, “Three critical

challenges for modeling and simulation in healthcare,” in Proceedings of the 2009 Winter Simulation Conference (WSC), Austin, TX, USA, Dec. 2009, pp. 1823–1830, doi: 10.1109/WSC.2009.5429186.

[27] C. R. Busby and M. W. Carter, “Data-driven generic discrete event simulation model of hospital patient flow considering surge,” in 2017 Winter Simulation Conference (WSC), Las Vegas, NV, Dec. 2017, pp. 3006–3017, doi: 10.1109/WSC.2017.8248022.

[28] G. Birch and S. Cook, “Discrete event simulation in Smalltalk/V Windows,” in IEE Colloquium on Object-Oriented Simulation and Control, Mar. 1991, p. 5/1-5/3.

[29] J. S. Smith, D. T. Sturrock, and W. D. Kelton, Simio & Simulation - Modeling, Analysis, Applications, 5th edition. McGraw Hill, 2014.

[30] C. D. Pegden, “How Simio Objects Differ from Other Object-Oriented Modeling Tools,” p. 1.

[31] A. Venkitasubramanian, S. D. Roberts, and J. A. Joines, “Object oriented framework for healthcare simulation,” in 2015 Winter Simulation Conference (WSC), Huntington Beach, CA, USA, Dec. 2015, pp. 1436–1446, doi: 10.1109/WSC.2015.7408266.

[32] D. Sormaz and M. Malik, “Use of Simulation in Allocating Resources in the Inpatient Unit,” p. 6.

[33] M. Malik, “Discrete Event Simulatino of Operating Rooms Using Data-Driven Modeling,” Ohio University, 2018.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!

Thesis and Dissertation Services