Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

USER MANUAL 
Version FlexSim HC 5.0.2 
 
 
 
 
 
Date Published 
01 JUN 2015 
2 
 
Table of Contents 
 
 Introduction 
 Welcome to FlexSim Healthcare 
 Using This Manual 
 Activating Your License 
 Customer Support 
 Training Classes 
 What's New in FlexSim HC 
 
Getting Started 
 Getting Started 
 Overview of the Model Building Process 
 FlexSim HC at a Glance 
 Key Terms and Definitions 
 
Using the Toolbox and Toolbar 
o Using the Toolbox and Toolbar 
o Introduction to the Toolbox and 
Toolbar 
o Adding a New Tool Component 
o Opening and Closing a Tool 
Component 
o Renaming a Tool Component 
o Copying a Tool Component 
o Reorganizing Tool Components 
o Deleting a Tool Component 
 Navigating in FlexSim HC 
 
Arranging Windows and Tabs 
o Arranging Windows and Tabs 
o Introduction to Windows and Tabs 
o Rearranging Windows and Tabs 
o Resizing Windows and Panes 
 Planning a Simulation Model 
 What are Simulations? 
 Planning a New Simulation Model 
 Data Gathering Strategies 
 Using ExpertFit 
 
Building a Layout of Your Facility 
 Building a Layout of Your Facility 
 Introduction to Building a Layout 
 
Creating or Importing Floor Plans 
o Creating or Importing Floor Plans 
o Introduction to Floor Plans 
o Importing a Floor Plan File 
o Changing Floor Plans 
o Floor Plan Settings 
o Troubleshooting Floor Plans 
 Introduction to Library Objects 
 Adding Objects to a Model 
 Adding Locations to an Area 
 
Customizing Object Properties and 
Settings 
o Customizing Object Properties and 
Settings 
o Customizing Object Properties and 
Settings 
o Moving, Resizing, and Rotating 
Objects 
o Changing the Shape and 
Appearance of Objects 
o Additional Patient Location Settings 
 
Connecting Locations and Item Objects 
o Connecting Locations and Item 
Objects 
o Introduction to Connecting Locations 
and Objects 
o The Flowchart Tool at a Glance 
o Using the Flowchart Tool 
 
Adding Staff and Resources 
 Adding Staff and Resources 
 Introduction to Staff and Resources 
 Adding Resources to a Model 
 Selecting a Resource Group or Group 
Member 
 Renaming Groups and Group Members 
 Moving Groups and Group Members 
 Changing the Appearance of Staff 
Resources 
 Creating Alternate Resource Groups 
 
Patient-Centered Activities 
3 
 
 Patient-Centered Activities 
 Introduction to Patient-Centered Activities 
 
Key Concepts about Activities 
o Key Concepts about Activities 
o Introduction to Key Concepts about 
Activities 
o Most Activities are Patient-Centered 
o Building Complex Patient Tracks 
and Activity Lists 
o How Activities Begin 
o What Happens During an Activity 
o How Patients and Staff Move to 
Locations or Areas 
o How Staff and Resources Are 
Assigned to an Activity 
o Staff and Resource Priorities 
 Adding and Managing Patient Tracks 
 The Patient Track Manager at a Glance 
 Overview of Adding and Managing Activities 
 Adding an Activity 
 
Basic Activity Settings 
o Basic Activity Settings 
o Introduction to Basic Activity 
Settings 
o Activity IDs 
o Activity Names 
o Milestones 
o Predecessors 
 
Activity Types 
o Activity Types 
o Overview of Activity Types 
o Process 
o Process > Send Message 
o Process > Send Item 
o Move Equipment > Process 
o Move Transports > Process 
o Escort Patient > Process 
o Transport Patient > Process 
o Patient Travels Unattended 
o Decision Point 
o Custom 
 
Specific Activity Type Settings 
o Specific Activity Type Settings 
o Introduction to Specific Activity Type 
Settings 
o Patient Destination 
o Processing Time 
o Staff Requirements 
o Staff Destination 
o Equipment Requirements 
o Transport Requirements 
o Next Activity 
 
Advanced Activity Settings 
o Advanced Activity Settings 
o Advanced Functions 
o Advanced Time Controls 
o Costs 
 
Adding Patients 
 Adding Patients 
 Introduction to Patients 
 
Patient Classifications 
o Patient Classifications 
o Introduction to Patient 
Classifications 
o The Patient Classifications Tool at a 
Glance 
 
Patient Visuals 
o Patient Visuals 
o Introduction to Patient Visuals 
o The Patient Visuals Tool at a Glance 
o Managing Visual Profiles 
o Visual Profile Settings 
o Assigning a Visual Profile to a PCI or 
Activity 
o Patient Overhead Text Display 
 
Patient Arrival Patterns 
o Patient Arrival Patterns 
o Introduction to Patient Arrival 
Patterns 
o Inter-Arrival Times 
4 
 
o Hourly Arrivals 
o Appointments 
o Custom Arrivals 
 
Related Patient Arrival Tools 
o Related Patient Arrival Tools 
o The Distribution Chooser 
o Creating a Warm-up Period 
 
Routine Staff or Location Activities 
 Routine Staff or Location Activities 
 Introduction to Routine Staff or Location 
Activities 
 The Shift Schedules Tools 
 Introduction to the Shift Schedules Tool 
 Adding and Managing Schedules 
 The Shift Schedules Tool at a Glance 
 Adding Staff or Resources to a Schedule 
 Resource Break Options Settings 
 Adding Locations and Areas to a Schedule 
 Location Break Options Settings 
 The Global Processes Tool 
 Introduction to the Global Process Tool 
 Adding and Managing Processes 
 Process Example 1: Checking Patient Vitals 
 Process Example 2: Phone Call Answering 
System 
 Process Example 3: Staff Meetings 
 The Random Interrupts Tool 
 Introduction to the Random Interrupts Tool 
 Running a Simulation 
 Introduction to Running a Simulation 
 Using the Simulation Control Bar 
 Preventing Simulation Model Errors 
 
Getting Data from a Simulation 
 Getting Data from a Simulation 
 Introduction to Getting Data from a 
Simulation 
 Dashboards 
 Introduction to Statistics Dashboards 
 Adding and Managing Dashboards 
 Introduction to Widgets 
 Adding Widgets 
 Moving and Resizing Widget Display Boxes 
 Widget Settings at a Glance 
 Widget Overview 
 The Data Collector 
 The Experimenter 
 Introduction to Experimenter 
 Key Terms and Concepts 
 The Experimenter at a Glance 
 Designing Scenarios and Testing Variables 
 Running an Experiment 
 Saving and Exporting Data 
 
Tutorials 
 Tutorials 
 Introduction to Tutorials 
 Tutorial Case Study 
 
Tutorial 1 - Building a Layout of Your 
Facility 
o Tutorial 1 - Building a Layout of Your 
Facility 
o Tutorial 1.1 - Importing a Floor Plan 
o Tutorial 1.1 Introduction 
o Step One - Create and Save a New 
Simulation Model 
o Step Two - Import a Floor Plan File 
o Step Three - Change the Floor 
Plan's Visual Settings 
o Step Four - Scale the Floor Plan 
Drawing 
o Tutorial 1.2 - Adding Location and 
Item Objects 
o Tutorial 1.2 Introduction 
o Step One - Add the Objects to the 
Model 
o Step Two - Resize and Rotate the 
Objects 
o Step Three - Change Object Shapes 
and Appearance 
o Step Four - Change Object Settings 
o Step Five - Add Locations to a 
Custom Area 
o Tutorial 1.3 - Connecting Location 
and Item Objects 
o Tutorial 1.3 Introduction 
o Step One - Add the Objects to the 
Model 
o Step Two - Resize and Rotate the 
Objects 
 
Tutorial 2 - Adding Staff and Resources 
5 
 
o Tutorial 2 - Adding Staff and 
Resources 
o Tutorial 2.1 - Adding and Changing 
Staff and Resources 
o Tutorial 2.1 Introduction 
o Step One - Add Staff and Resources 
to a Model 
o Step Two - Add Group Members to a 
Resource 
o Step Three - Rename Groups and 
Group Members 
o Step Four - Move and Rotate Group 
Members 
o Step Five - Change Staff Member's 
Appearance 
o Tutorial 2.2 - Creating Alternate 
Resource Groups 
o Tutorial 2.2 Introductiono Step One - Create Alternate 
Resource Groups 
o Step Two - Add Members to the 
Alternate Groups 
 
Tutorial 3 - Patient-Centered Activities 
o Tutorial 3 - Patient-Centered 
Activities 
o Tutorial 3.1 - Creating Patient Tracks 
and Activities 
o Tutorial 3.1 Introduction 
o Step One - Create a New Patient 
Track 
o Step Two - Add a Milestone and a 
Location 
o Step Three - Add a Processing Time 
o Step Four - Assign Staff 
o Step Five - Keep a Staff Member 
o Step Six - Assign Equipment 
o Step Seven - Release a Staff 
Member 
o Step Eight - Reuse Staff Members 
o Tutorial 3.2 - Creating Decision Point 
Activities 
o Tutorial 3.2 Introduction 
o Step One - Create a Doctor 
Examination Activity 
o Step Two - Create Variable Activities 
o Step Three - Change Next Activity 
Settings 
o Step Four - Change Predecessor 
Settings 
o Step Five - Send Staff to a Different 
Location 
o Step Six - Send Items to a Lab 
o Step Seven - Require Additional 
Staff 
o Step Eight - Assign a Transport 
o Step Nine - Return to a Reserved 
Location 
o Tutorial 3.3 - Creating Additional 
Patient Tracks 
o Tutorial 3.3 Introduction 
o Step One - Copy a Track 
o Step Two - Change Activity Priority 
Levels 
o Step Three - Delete Activities 
 
Tutorial 4 - Adding Patients 
o Tutorial 4 - Adding Patients 
o Tutorial 4.1 - Creating Patient 
Classifications 
o Tutorial 4.1 Introduction 
o Step One - Create Different Patient 
Classifications 
o Step Two - Assign Patients to a 
Patient Track 
o Tutorial 4.2 - Changing Patient 
Visuals 
o Tutorial 4.2 Introduction 
o Step One - Create New Visual 
Profiles 
o Step Two - Change Visual Profiles 
o Step Three - Assign Visual Profiles 
to a PCI 
o Step Four - Assign Visual Profiles to 
an Activity 
o Tutorial 4.3 - Creating Patient Arrival 
Patterns 
o Tutorial 4.3 Introduction 
o Step One - Create an Hourly Arrival 
Schedule 
o Step Two - Create an Inter-Arrival 
Pattern 
o Step Three - Set the Hours of 
Operation 
 
Reference Manual 
 License Activation 
 Concepts 
 Example 
 Reference 
6 
 
 
FlexScript Coding 
o FlexScript Coding 
o Writing Logic in FlexSim 
o Basic Modeling Functions 
o Code Editor 
 
Debugging 
 Debugging 
 Overview 
 Breakpoints 
 Call Stack 
 Code Profiler 
 Event List 
 Event Log 
 Local Variables 
 Watch Variables 
o Command Helper 
 
FlexScript Commands 
7 
 
Welcome to FlexSim Healthcare 
FlexSim Healthcare (HC) is the most robust, comprehensive, and easy-to-use simulation software 
designed specifically to solve the unique problems faced by today's healthcare facilities. FlexSim HC 
allows you to analyze all of the components of your healthcare facility and evaluate the impact they have 
on patient outcomes. It will help you find accurate solutions to your problems and make decisions about 
how to make your healthcare organization run as efficiently as possible without the costly risk of trial and 
error. Ultimately, FlexSim HC will help practitioners do what they do best: help patients get better. 
Real Data 
FlexSim HC can help you track and display a wide variety of statistics and data that can help you make 
well-informed decisions for your healthcare facility. You can also run many different types of experiments to 
see what would happen if you changed some element of your medical facility or process. This valuable 
data can help you solve many different kinds of problems, such as: 
 Ensuring human resources are not over- or under-utilized 
 Estimating the cost of proposed changes 
 Reducing patient waiting times by identifying possible bottlenecks 
 Cutting costs from inefficient use of resources 
 Identifying the best strategy for handling variations in patient volumes 
All of this data can be displayed in any format you would like, such as charts, graphs, etc. Any data you 
create in FlexSim HC can easily be exported to spreadsheet programs such as Excel. Data can also be 
easily imported into your simulation model from many different spreadsheet formats. 
3D Visuals 
Simulation should be just as capable of being visually compelling as it is analytically compelling. FlexSim 
HC's fully 3D visuals allow you to see exactly what's going on in the model as its running. It's much easier 
to compare results when you can visualize what's happening to your simulated healthcare system. 
The 3D visuals also create opportunities for communication and teamwork among all the stakeholders in 
patients' outcomes. A simulation with accurate 3D models of the personnel, equipment, and furniture found 
in your actual healthcare facility is far more compelling than a simple chart. 
Patient Track Manager 
Using the Patient Track Manager, you can create plans for patients to follow based on the patient's acuity, 
diagnosis, or any other criteria you determine. These plans can include different activities or processes that 
should occur from the moment a patient arrives to the time they depart. The Patient Track Manager can 
also pull the necessary human resources to provide patient care and guide them to the appropriate next 
step in their treatment. 
8 
 
Using this Manual 
The right pane (the Quick Properties pane) contains the Table of Contents for the User Manual. The Table 
of Contents is divided into multiple chapters, each containing several topics. To open a chapter, either click 
the chapter title or the Book button next to its title. This will open the chapter and display all the topics 
listed in that chapter. You can read a topic by clicking the topic title or by clicking the Topic button next 
to its title. You can also navigate between topics in the order they are listed in the Table of Contents by 
clicking the Previous or Next buttons at the top and bottom of each topic. 
Many topics contain hyper-links to other parts of the User Manual for your convenience. If you ever click a 
link and find that you want to go back to the page you were just barely looking at, you can click the Back 
button above the Table of Contents to return to the previous page. 
Tips and Important Notes 
Information that requires special attention will be formatted using the following icons: 
 
Tip Box Title 
The tip for the text will be included in this text box. 
 
Important Note Box Title 
The text for the important note will be included in this text box. 
User Manual Display 
If you want, you can change way this window displays the User Manual. For example, you could make the 
User Manual expand to the full size of the window if you wanted to see an image. See Arranging Windows 
and Tabs for more information. 
9 
 
Activating Your License 
In order to activate your license, you will need: 
1. Your FlexSim Account 
2. Your Activation ID 
FlexSim Account 
First, you will need your login information for your FlexSim Account. There are two possible ways to set up 
a FlexSim Account: 
 If you downloaded a trial version of FlexSim Healthcare (HC), you set up your FlexSim account at that 
time. 
 If you purchased FlexSim HC without downloading a trial version, a customer service representative 
should have sent you an email with your FlexSim account information at the time of purchase. 
If you have forgotten your FlexSim Account login information or need to set up your account for the first 
time, please contact FlexSim Customer Support. 
Activation ID 
Using your FlexSim Account, you can obtain an Activation ID. An Activation ID is a product key that is used 
to activate your FlexSim HC license on a PC or LAN license server. Each Activation ID has a defined 
number of seats associated with it. The seat number determines how many computers using that particular 
Activation IDwill be authorized to run the full version of FlexSim HC at a given time. 
 
What does an Activation ID look like? 
A typical Activation ID looks like this: 
company.com08-ABCDE-FGHIJ-KLMNO-FESENT7.3 
Once you have your FlexSim account information, follow the steps below to activate your license: 
1. Go to http://www.flexsim.com/account/ and login to your FlexSim Account. 
2. Once logged in, click My Licenses on the left menu bar. This will take you to a page that lists the 
current software licenses that are associated with your FlexSim Account. 
3. Click on the folder named FlexSim Enterprise to expand it. This will display all the Activation IDs that 
are available for your account, as shown in the following image. It will also indicate how many seats are 
available for that particular Activation ID, which refers to the maximum number of computers that can 
run a licensed copy of FlexSim HC at a time. 
10 
 
 
4. Use your mouse to highlight and copy (Ctrl+V) the Activation ID. 
5. In FlexSim on the main menu, click Help, then License Activation. This will open the License 
Activation dialog box, as shown in the following image: 
 
6. On the Activate tab, paste (Ctrl +P) the Activation ID into the Activation ID field. 
7. If you are activating your license directly from FlexSim, click Activate through Flexsim. If you are 
using your company's server instead, click Activate through your company's license server. 
8. Click Activate. The status box underneath the Activate button will alert you whether the activation 
process was successful or not. 
11 
 
Returning and Repairing Licenses 
For more information about activating, returning, and repairing licenses, see License Activation in the 
Reference Manual. 
12 
 
Customer Support 
You are welcome to contact FlexSim for customer support at any time using the contact information listed 
below. Be aware that for technical assistance, you will need a current FlexSim maintenance agreement 
unless you are using an evaluation version of FlexSim HC. 
FlexSim's in-house technical support is available from 9:00 AM to 7:00 PM Eastern Time. Technical 
support will be closed on major US holidays. 
Technical support services are provided through phone, email, and online web conferencing. FlexSim 
provides additional community resources, including an online forum. To access FlexSim's technical support 
and resources: 
 Phone: Call (801) 224-6914 and ask for technical support. 
 Email: Visit http://www.flexsim.com/support/ to submit a support case using an online form. A customer 
service representative will respond to you by email and will continue to work with you through email 
until your case is successfully resolved. 
 Online Community Forum: Visit http://www.flexsim.com/forum/ to connect to other end-users, 
including FlexSim partners and distributors who are also ready to assist you. The Online Community 
Forum also includes sample models, tips and tricks for modeling and managing simulation projects, 
and other general support topics. 
 Training Classes: FlexSim regularly offers in-person, instructor-led training sessions. Many FlexSim 
software license purchases include training sessions for at least two people. Additional training 
sessions can be purchased for a fee. See Training Classes for more information. 
 Consulting Projects: FlexSim can provide you with consulting services if you have a big simulation 
project that needs to be completed quickly or if you'd like one-on-one help with model building. Use the 
contact information above to discuss consulting fees and projects. 
Feel free to use FlexSim's support services and resources at any time you feel you need assistance. 
FlexSim prides itself on its excellent customer service. 
13 
 
Training Classes 
FlexSim regularly offers in-person, instructor-led training sessions. Many FlexSim software license 
purchases include training sessions for at least two people. Additional training sessions can be purchased 
for a fee. 
The training sessions for first-time FlexSim users includes a 3-day hands-on course which runs Monday 
through Wednesday. Attendees learn to use the software by creating and analyzing simulation models. 
Attendees are then invited to remain at FlexSim's offices for the Thursday through Friday for one-on-one 
model-building help. There is no additional cost for this optional one-on-one training and support. This is an 
opportunity for attendees to be paired with a FlexSim engineer to start your initial simulation project. 
The current FlexSim training schedule can be found at http://www.flexsim.com/calendar/. 
14 
 
What's New? 
Version 5.0.2 (May 22, 2015) 
New Features 
1. PCI table now has a Visuals and Speed column 
2. Dashboard widgets size according to dashboard size when dragged out 
3. Objects are selected after being dragged out so their properties are immediately available 
4. Moving members of resource groups in the 3D view sets their offsets 
5. Line Graphs set their start time based off the model start time 
6. Dashboard widgets can be created with the click and drop edit mode 
7. You can now specify the random stream of patient arrival tables 
8. Flowchart blocks resize based on name length 
Bug Fixes 
1. Various interface issues 
2. Fixed some issues with elevators 
3. Fixed some Flowchart issues 
4. Fixed some dashboard widgets 
Version 5.0.0 (April 7, 2015) 
New Features 
1. 64-bit version (enables FlexSim to use more RAM) 
2. Windowing interface overhaul to use a docked window paradigm 
3. Created a Quick Properties docked window that is context sensitive. The window will display properties 
based on the current selection or the active document window 
4. Removed Properties windows and put all object properties in the Quick Properties panel so they can be 
accessed just by clicking an object 
5. Removed the Tools menu and added an organizable Toolbox 
6. Library is context sensitive and changes its display based on the current selection or the active 
document window 
7. New Library icons 
8. Library objects have been reorganized to be more intuitive 
9. Library enhancements to include collapsible groups and edit modes 
10. Clicking on library icons shows images of all possible shapes allowing you to select the shape that will 
be dragged out 
11. Track Manager UI redesign to make use of new Quick Properties panel 
12. Improved the Staff Destination field so that it behaves more like the other fields and can use 
pickoptions 
13. Advanced Function window is now in the Quick properties and displays with the other options for 
activities 
14. Added a Patient Visuals window 
15. Added a trigger to change a patient's visuals using new visual profiles 
16. Moved Dashboards into a document window that can now be closed and reopened whenever 
17. Added dashboard widgets to the library and can now be dragged out 
15 
 
18. Improved the Shift Schedule so that you can specify different types of down times 
19. Added a sampler button that is placed throughout the software to allow users to sample objects, colors, 
and images. The sampler helps to improve ease of use, speed up model building, and eliminate some 
need for writing code 
20. Most drop down lists have been organized into a hierarchical structure with objects being placed in 
groups according to area and resource group 
21. Added and updated several picklist popups removing all text based picklist options from Track fields 
22. New By Simulation Time pickoption that generates a global table based off the number of time divisions 
you need 
23. Sample Sets can be chosen from a table to speed up multiple selection 
24. Moved the User Manual into FlexSim as a dockable window 
25. User Manual completely rewritten 
26. Added doubleclick to open colors panel to most color wells 
27. Added an autosave feature to global preferences 
28. Added capability to model patients who stay on gurneys/wheelchairs through processes 
29. Improved staff and patient animations and staff positioning 
30. Added a picklist to allow a patient to stop at an intermediate destination before going to their final 
destination 
31. Added a Measure/Convert tool 
32. Tree Find/Replace is now integrated with the Quick Properties window and has support for case-
insensitive searches as well as searching for node names 
33. Improved script console allowing scripts to be saved both in individual models and to the user 
environment. You can also now debug your script console code 
34. Improved the Item Bin interface. Item shapes may be changed through a drag and drop from the 
Library Icon Grid 
35. Improvement in the Code Editor and other areas where logic is defined through draggable constructs in 
the library icon grid and sampler buttons throughout popups and picklist widgets to automatically add 
code, etc. FlexSim commands also display a short description when typing in the code editor 
36. Picklist fields and many popups' fields have code highlighting and autocomplete 
37. Added support for user libraries 
38. Better debugger that allows you to access the tree and other areas of FlexSim while in debug mode. 
Hovering over variables during debug mode will display their current value 
39. Better support for importing 3D shapes. FlexSim now supports the following formats: *.wrl; *.3ds; *.dxf; 
*.stl; *.skp; *.dae; *.obj; *.ac; *.x; *.ase; *.ply; *.ms3d; *.cob;*.md5mesh; *.irr; *.irrmesh; *.ter; *.lxo; 
*.csm; *.scn; *.q3o; *. q3s; *.raw; *.off; *.mdl; *.hmp; *.scn; *.xgl; *.zgl; *.lvo; *.lvs; *.blend 
40. Added a new mesh class for drawing in OpenGL 
41. Stereographic 3d rendering (requires workstation Quadro or FireGL card for frame-sequential 
rendering) 
42. Enhanced graphical compatibility with integrated Intel cards 
43. Improved 3d rendering, including shadow rendering, specular highlights on 3ds objects, bump maps, 
parallax maps, etc 
44. Updated visual studio wizards that work with VS 2012 
Backwards Compatibility Note: the following changes may slightly change the way updated 
models behave. 
1. Improved Resource request logic so that queued requests on a resource that goes off schedule 
are given to their group and requests are not given to resources with an off schedule event in 
their queue 
2. Removed the Preempt checkbox from activities since the tier system in the priority field already 
does this 
16 
 
Version 4.3.10 (June 2014) 
New Features 
1. User sees a warning message if the model start time is set to something greater than 7 days 
Bug Fixes 
1. The experiment variable to update an Arrival Table now sets the PCI column correctly 
2. The Data Collector's "List of Locations" recording criteria option now accepts Areas as well as 
Locations 
3. Data Collectors now pass the correct value for "lastval" in column calculation functions 
4. Fixed the "Standard Down" function for Time Tables and Random Interrupts so that it doesn't cause 
exceptions later in certain memory conditions 
5. Updated the "Resume Object Flow" function for Time Tables and Random Interrupts so that locations 
don't receive extra patients when they resume 
6. Fixed an animation problem when patients try to sit down while carrying something 
7. If a Location's Area is changed to an Area that does not yet exist, the Location's input and output ports 
are deleted 
8. Fixed an exception that occurred when switching from a bar chart to a dot plot in the Patient Waiting 
Time dashboard widget 
9. Standing animation is now applied to staff called as operators to ItemProcessing objects 
10. Removed a warning that occurred if a model had just item class objects 
11. The <none> shape on Patient Processing objects will now either do nothing or animate patient 
according to patient's last known position as recorded in the frame attribute. 
12. Fixed problems with Patient Rounds option for Custom Activities 
Version 4.3.8 (May 2014) 
New Features 
1. Utilization box plots only record a single value per period per day - this applies to Resources, Locations 
and Item Object widgets 
2. Added box plots to State widgets for Resources, Locations and Item Objects that work like the 
Utilization box plots 
3. Improved look and behavior of box plots 
4. Added box plot to Resource Distance Traveled widget 
Bug fixes 
1. Fixed how the box plot displays the range on the y-axis if the number of decimals being displayed is 0 
2. Patient Throughput box plots no longer have extra observations if the model starts at a time other than 
01:00:00 
3. Fixed a bug in Census box plot that was causing too many 0s to be recorded 
4. Resource State dot plots are now refreshed correctly during a model run 
5. Long DataCollector names are handled better when they are exported to Excel 
6. Correct spacing between multiple options in a trigger field is now ensured 
7. Patients no longer line up at Arrival objects - it was causing replications to not repeat predictably 
8. GlobalProcesses can no longer start before 0.000011 - this keeps them from having issues with early 
events on Patients 
17 
 
9. The version number is now displayed as 4.3.8 (instead of 4.38) 
10. Stopped some irritating messages when models were opened in Demo or Runtime mode 
Version 4.3.6 (April 2014) 
Bug fixes 
1. Stacked bar charts are displayed correctly again 
2. When models from older versions are opened, all Item Objects will appear in the Flowchart GUI 
Version 4.3.4 (April 2014) 
New Features 
1. Reordered and improved the information in the popup display in the box plot 
2. Added Acuity to the labels that can be edited by a Patient Arrivals Schedule 
3. Added Help button to Dashboard, move the tab control buttons to the left to be with the other buttons 
4. When models are updated from previous versions, a list of the old versions is kept 
5. Dot plots now list the replication number of an observation in the popup window 
6. Bar charts and box plots now support and display negative results 
Bug fixes 
1. Fixed how line charts merge data from multiple replications 
2. Fixed how throughput box plots handle start times, warmup times and empty periods 
3. Utilization bar charts now show the percentage by the bar names 
4. Fixed a bug where states were being set incorrectly when a model was stopped 
5. Improved and fixed the behavior of the Areas drop-down list on Location parameter GUIs 
6. Fixed an exception in Resource, Location and Item State and Utilization dot plots 
7. Fixed an exception in Utilization Box Plots if the model ran more than one day 
8. Copying and pasting item objects now adds them to the Flowcharting View as well 
9. Sample Set names are now checked for validity before they are applied 
10. Making nearly any change to the model will set the active scenario number to 0 
11. Choosing an Area in a Location Parameters GUI now applies immediately 
12. Histograms manage the size of their y-axis better 
13. Replaced a lot of uses of getlabelval() with getlabelvalue() 
14. GUI improvements 
Version 4.3.2 (January 2014) 
New Features 
1. Added some support for the FlexSim web interface 
2. Improved the patchfile functionality 
3. Track import/export now includes the Item Created Trigger 
18 
 
Bug Fixes 
1. Supports large memory addresses in 32-bit systems (helpful for large models) 
2. Fixed how Patient Distance Traveled is reported 
3. Cleaned up a lot of pickoptions that used intarray when they should have used treenodearray 
4. Fixed and improved the "By Label Value" picklist option 
5. Cleaned up syntax errors/warnings in pickoptions 
6. Track import/export does notsupport multi-line code (it was badly broken before) 
Version 4.3 (November 2013) 
New Features 
1. Updated help files 
2. The "Based on condition (two lists)" pickoption for destinations has a nice GUI 
3. Combined Custom Excel Import/Export into the Excel Communications Options GUI 
4. Added toolbar buttons for Excel communication 
5. Added Staff Distance Traveled dashboard widget 
6. Added Interarrival Times Parameter to Experimenter's list of variables 
7. Updated the Experimenter's other variables 
8. Updated the list of variables that can be edited on different object classes by the Experimenter 
9. Added Photo Eye capability to Item Conveyors 
10. Added Location Name and Resource Name to Data Collector column options 
11. Global Processes are included in some history tables and can be used in dashboards 
Bug Fixes 
1. GUI fixes 
2. The PCI column of the Appointment table is now imported from Excel correctly 
3. Improved how line graphs using VALUE_EXACT merge replication data together 
4. Fixed an exception in Experiments if Data Collectors only had 1 or 2 columns 
5. Row headers in the PCI table can not be edited (this was a regresion from a previous version) 
Version 4.1 (October 2013) 
New Features 
1. Line charts aggregate data from multiple replications faster 
2. The data points in a dot plot are now listed in scenario/replication order 
3. Clicking "Add Resource" in the Track Manager automatically opens the resource selection GUI 
4. Removed Copy/Paste options from the PCI table since they didn't work well 
5. Appointment Table can now have label value defined for each appointment 
6. DataCollectors now have a Model Stopped event they can use for recording data 
7. DataCollectors now define columns for a raw data table - no more "Sample Set" and "Category" fields 
8. User-Defined dashboard widgets now allow the user to select multiple columns from a DataCollector to 
report 
9. Renamed "Choose destination, staff and/or transport based on various criteria" picklist option to "Based 
on destination status" and improved explanatory wording 
10. Search/Replace GUI now automatically resizes the table column to fill the available width 
11. Experimenter GUI now remembers the width of columns in the variables table 
19 
 
12. Changed how the custom sample set GUI is placed and sized when it is opened 
13. Export Dashboard Data GUI now includes DataCollectors as options to export 
14. Improved "Experiment Complete" message and dashboard refreshing 
15. Added "Explore" tab to Experimenter to allow a user to select a specific replication to run 
16. Added getlabelvalue() and gettablevalue() commands 
17. Simplified a number of pick-options using the getlabelvalue() and gettablevalue() commands 
18. Improved the "Set Location, Rotation, Size" pick-options 
19. Fixed or improved other pick-options 
20. Includes all new features and bug fixes of previous versions 
Bug Fixes 
1. Dashboards with dot plots in them now save and load correctly 
2. Dot Plot should not slow down as badly after it has been moved or resized 
3. Fixed syntax error in "Based on simulation time (table)" pickoption 
4. Patient Appointment table has "Actual Times" column cleared on reset - like it used to work 
5. Fixed Excel import/export of labels in the PCI table 
6. Dashboard widgets that use "Current Value" calculate their averages more accurately 
7. Experimenter works with DataCollectors better now 
8. Fixed a bug in saving dashboards with model controls in them 
9. Fixed a bug that was requiring users to choose a pickoption before code they wrote in the code editor 
would be saved 
10. Cleaned up how nodes in /Tools/Experimenter and /project/exec/replications are set 
Version 4.0.4 (October 2013) 
New Features 
1. Replaced the Flowchart GUI's pop-out side panel with a toolbar 
2. The Flowchart GUI now has a button to reset all areas to default locations in the window 
3. The input ports of an object/area can now be edited in the Flowchart GUI 
4. Removed the Connections tab from item objects 
5. Added an Ultrasound shape to the Equipment 
6. The color of an object in the Flowchart GUI is no longer connected to the color of the actual 
object/locations in the model 
7. Stacked bar charts no longer show the percentage next to the bar if "By Percentage" is checked - it was 
always 100% 
8. Added labels to all history tables so that widgets can filter with them 
9. Fixed bar/text/etc spacing in a lot of dashboard widgets 
10. Patient GUI has Visuals tab again 
11. Patient Wait Times widget now has a Pie Chart option 
12. Dwell Time/LOS, Patient Travel Distance widgets now have a Histogram display 
13. Dashboard widgets with only 1 category have their legend hidden by default 
14. Model start time must be divisible by 15 minutes if Shift Schedules are used 
15. Box plots now show their N value (the number of observations) 
16. Room reservations now work for both PatientProcessing and PatientQueueing objects 
17. Added Dot Plots to any metric that can display bar charts 
18. Added the ability to export dashboard/history data to CSV files 
19. When equipment/transports are taken to their primary group, they are automatically snapped into their 
default positions 
20. Added new color palettes (Palette #10 has 80+ colors) 
21. Dashboard are not updated automatically at the end of an experiment run 
20 
 
22. Users can manually rerun a specific iteration of an experiment using matched random streams 
23. Dashboard GUI now has buttons to Add, Remove or Rename tabs 
Bug Fixes 
1. Dashboard can now be used if the user does not have admin rights to the Program Files directory 
2. Multiple new or improved pick-options 
3. Cleaned up or improved GUIs 
4. Long lists of object names now have scroll bars so they are fully visible 
5. The Processing Utilization widget now allows the correct selection of locations for custom sample sets 
6. Fixed an occasional crash when adding a widget to a dashboard 
7. If history tables are too large to export to a single Excel tab, they are split up across multiple tabs 
8. Fixed the Connect to Path checkbox on the Alternate Group GUI 
9. Fixed a recurring "floor does not exist" error message in Elevators 
10. The line graph shows the times better and its scroll-bars work better now 
11. Removed a pointless error message when copying color between item objects 
12. Line charts' x-axis lines are now drawn more accurately 
13. Removed a barely visible buttons from the main view - they caused crashes 
14. Fixed "First activity satisfying location and resource requirements" option for decision point activities 
15. Fixed some dashboard exceptions when moving the mouse around or changing the graph type 
16. Fixed how percentages are calculated in bar charts 
17. Utilization is now calculated more accurately, especially in box plots 
18. Improved placement of dashboard widget GUIs 
19. Dashboard widgets should always have recent menus when old ones are opened 
20. The Interval field for DataCollectors is enabled/disabled correctly now 
21. Fixed an exception that occurred when trying to export Histograms to Excel 
22. Fixed the widgettype for Length of Stay widgets 
23. Desk object now has an ObjectType variable 
24. UserCommands GUI has had extra controls removed 
25. Fixed exceptions in Resource OnDraw behavior 
26. Changed getgroupstat() so that it considers any member that is not in an idle state to be busy 
27. The getcensus() command now returns correct values when locations are reserved manually 
28. Item Object sample sets now work correctly with Experiments 
29. By Percentage pick-option preserves the user's values when adding/deleting entries 
30. Code editor places "Custom Code" where needed 
31. The Patient Classification tab no longer overwrites PCI row names 
32. Added decimals variable to LWBS widget 
33. Fixedhow LOS and Dwell Time dashboard widgets interact with warmup times 
34. Fixed box plot calculations of Utilization over multiple days 
35. Improved management of pre-process cost calculations 
36. The tasksequence created to return equip/trans is now given a priority matching that of the activity that 
specifies the return process. 
37. The "ActivityWaitTime_" columns in an Output file needed a reference to the activity rank concatenated 
onto the header. 
38. Changed GlobalProcesses and Patients so that the Earliest Start Time is only evaluated once if it's an 
expression 
39. Box plots should be calculated faster and with fewer crashes 
40. Models are now always reset when they are saved 
21 
 
Version 4.0.2 (July 2013) 
New Features 
1. Added Item Object dashboard widgets 
2. Added Utilization dashboard widgets 
3. Added Dwell Time and LOS dashboard widgets 
4. State dashboard widgets have simplified state selection in their GUIs - They now use standard 
checkboxes instead of red/yellow/green options 
5. Resource, Location and ItemObject dataset selection GUI controls are now consistent with the Patient 
dataset selection controls 
6. Dashboard widgets use colors from palettes more intelligently 
7. Palettes are repeated in dashboards if there are not enough colors available 
8. Closing the Dashboard GUI closes the GUIs of all of the widgets in it 
9. getstaffgroupstat() is now getgroupstat() and works with all group types 
10. setnumresources() is more robust and can sometimes be used during runtime 
11. getnumresources() can be used to get the total number of usable resources for alternate groups as well 
as primary groups 
12. Many GUIs have been updated with new drop-down lists and code-edit controls 
13. Lots of clean-up and work to picklist options all over the place 
14. Dashboard is larger by default so that all metric names are fully visible 
15. Removed "Exact" from the display types list for most metrics 
16. Many dashboard widgets now automatically set and update their title nicely 
17. A message is now shown when an experiment is complete 
18. Removed the default milestone-to-milestone entry 
19. Bar charts always show the value next to the bar - makes them easier to read 
20. User-defined widget has "Current Value" option, but nothing else does 
21. Line plot now shows times in day:hour:minute format 
22. Patient State graph now has "By Percentage" option 
23. Added Export Dashboard Data GUI 
24. Blocked state is now called WaitingToSend 
25. Location Census and Throughput can now report for individual locations 
26. Added Patient Throughput dashboard widget 
27. Added "Duplicate Graph" option to the right-click menu in the dashboard 
28. Added Elevators to Resource State/Utilization graphs 
29. A box plot with a single period can define a range of hours to report 
30. Added functionality to Track Manager GUI, simplified the Advanced Functions 
31. Added spinners to Source arrival/sequence table GUIs 
32. Added Location and Patient Throughput box plots 
33. Simplified naming of new Global Processes and Tracks 
34. Custom sample sets automatically have "Custom_" added to their names 
35. Dashboard widget GUIs are opened in better places on the screen 
36. Minor cleanup to the Model Documentation GUI 
37. Added custom scaling to the Floor Plan import wizard 
38. getareastat() has been deprecated - use getnumlocations() and getcensus() 
Bug Fixes 
1. Various fixes for GUIs (thrown exceptions, control placement, etc.) 
2. Visual tab is now consistent across non-patient objects - removed the unit-conversion controls 
3. Removed THIS_GROUP from the pick-option generated for Home Base selection 
4. Item Object Stats tab now shows state information correctly 
5. Patient Census no longer throws exceptions if only 1 period was selected 
22 
 
6. State and Utilization dashboard widgets have the correct state lists 
7. The toolbar in the Dashboard can be clicked to take focus from a widget 
8. Datasets are now updated automatically more intelligently 
9. An idle elevator should no longer steal requests that are already scheduled for another elevator 
10. The Dashboard does a better job of saving and loading dashboards with tabs 
11. Opening saved Dashboard does a better job of creating sample sets if needed 
12. Changed default priority for maintenance task sequences to 150 
13. Fixed a bug when maintenance staff were called to a preempting escort patient activity 
14. Box plots can now plot a single value (before they needed at least 2) 
15. Staff used for maintenance now start their standing animation correctly 
16. Experimenter will always have at least 1 variable 
17. Bar charts now expand correctly if there is only one member of a group 
18. Fixed an exception that occurred when saving a file after a replication 
19. Fixed an exception in the Milestone-to-milestone Histogram 
20. Text display widgets no longer show decimals for integer values 
21. Census box plot is more accurate when there are no arrivals during a period 
22. Average Milestone Time and Wait Time calculations are more accurate now 
23. Milestone and milestone-to-milestone box plots are more accurate now 
24. Item Objects have a Connections tab again 
25. FlowCharting tool does a better job of managing connections for item objects 
26. Changes to port order on item objects is no longer lost in the FlowChart GUI 
27. Bar charts now show the name of a sample set, even if that set is pointing to a set with a different name 
28. Bar charts show the name of the sample set, not the group being displayed 
29. Location/Resource State/Utilization show data when the sample set names don't match the group 
names 
30. Experimenter takes Model Start Time into account better 
31. Census and Throughput widgets take warmup time into account better 
32. Box plots only set their visible range based on confidence intervals if the graph is actually showing 
confidence intervals 
33. Improved vertical spacing in bar charts if there were values of 0 
34. Fixed undo capability in some GUIs 
35. Improved how/when census values are recorded or calculated 
36. Fixed object GUIs so that text isn't displayed when the shape is changed 
37. Fixed bugs in the naming of Global Processes and Tracks 
38. Census of an area is incremented when a location in the area is reserved 
39. Improved the output tab of the Experimenter 
40. Removed a lot of legacy code and nodes used with old dashboards 
41. Staff no longer travel up/down when they pick up flowitems 
Version 4.0 (April 2013) 
New Features 
1. Added the Recent Files menu option. 
2. Changed the Experimenter so that it performs multi-core experiments. 
3. Item objects can now have their connections edited in the Flowchart GUI. 
4. The order of an Area's downstream areas can be edited in the Flowchart GUI. Double-click on an Area, 
the downstream areas can be dragged around to change their connection order. 
5. The connection order of locations in an Area can also be edited. 
6. Arrival objects can now be stopped with the setnumlocations() command and with the OnTimerEvent of 
Areas. 
7. Entirely new Dashboard and widgets and integration with Experiments. 
23 
 
8. Added commands to handle the new bundle data type 
9. Floor plans can now be .dwg files. 
10. Layers on .dwg floor plans can be hidden/shown, or have their color edited. 
11. Floor Plan wizard now has a "Scale" field to make resizing the drawing easier. 
12. Down and Resume functions for Interrupts and Shift Schedules have been improved. 
13. Item/Message Destination and Item Created Trigger have been added to the Global Process Advanced 
Function Editor. 
14. When an object name changes, references in patient tracks and global processes are automatically 
updated. 
15. When an activity is renamed, Resource Requirements that refer to it are updated.16. Models now pack their media by default. 
17. Added Lab and Workbench to Patient Processing objects' shapes. 
18. Revised shape lists for Item objects. 
19. Wait cursor is now shown during search/replace and Excel import/export. 
20. User Verification can now be disabled by the admin user. 
21. Implemented a new task sequence priority tiering system. A new request will preempt an active 
request if the active request is in a lower tier. Competing requests within the same tier will be executed 
according to priority, higher numbers indicating higher priorities. Tiers follow the pattern: 
1. Tier 1 0-99 
2. Tier 2 100-199 
3. Etc. 
22. Added new staff states: Break1, Break2, Lunch. 
23. Added or improved keep/releaseresource() and reserve/releaselocation() commands. 
24. Kept resources now have a colored square around their base - the color matches the color of the 
patient keeping the resource. 
25. ElevatorBanks now update the OnArrival code on their nodes (assumes that the nodes still have the 
default code). 
26. PatientProcessing objects are now shown with a base and a red border when they are set to be 
unavailable in the FlowChart view. 
27. Added a button to the FlowChart view that toggles between Patient and Item object views. 
28. Changed the default condition in the Travel To Home Base pickoption so that staff don't go home if they 
are kept. 
29. PCI Table is now available for Excel import/export. 
30. Labels in the PCI Table can now be given lists or tables. 
31. Removed Elevator's default OnLoad code. 
32. Changed how travelers are placed in an Elevator. 
33. Fewer errors are shown now if the user reaches the model limit in demo mode. 
34. Advanced Function Editor GUI now ensures that there is default code when the code edit button is 
pressed before the template button. 
35. Patient datasets in the Dashboard are automatically created/removed when PCIs and Scenarios are 
created/removed. 
36. Track Resource tables now have a <placeholder> option. 
37. Dashboard widgets that implement the Box Plot chart now have pop-up data to show the actual values 
in the chart. 
38. There are now three kinds of reporting datasets: Patients, Resources, Location. These are used in 
dashboard widgets so that they can record data during experiments. 
39. PatientProcessing objects are now placed in WaitingForMaintenance state until a staff member arrives 
to perform maintenance. 
40. Added Maintenance Start and End triggers to PatientProcessing object. 
41. The PatientProcessing maintenance table can now have "patient" and "location" used in the staff and 
time functions. 
42. Added a Box Plot graph for Patient Travel Distance and Area Census dashboard widgets. 
43. New GUI and pickoptions for User-Defined dashbaord widget. 
44. Removed Tracks and Processes tabs from Track Manager and Global Process Manager GUIs. 
24 
 
45. When the Patient Destination function is reevaluated by the Entrance Criteria, param(3) is set so that 
these reevaluations can be distinguished from normal calls. 
46. Added buttons to GUIs that open Google 3D Warehouse so the use can search for .skp files. 
47. Added the Desk to the library as a nice visual for models. (It can not be used as a location - it is simply 
there for visuals.) 
48. Updated triggers tabs of GUIs to use newer, better-looking GUI controls. 
49. Updated Advanced Functions GUIs for Track Manager and Global Process Manager to use newer GUI 
controls. 
50. Removed "Triangle" as a patient display mode. 
51. Added global preferences to show/hide the indicator boxes for Kept or OffSchedule resources. 
52. Implemented new and improved task sequence handling behavior. 
53. Added "Custom Request Selection Process and Idle Staff Handling" pickoption. 
54. Added new 3D shapes and animation for patients. This includes patients with slings, crutches and 
wheelchairs. 
55. Added new 3D shapes for locations including: Licac, and Phone. 
56. Added other shapes that can be browsed for including: clothes hamper, sink. 
57. Removed Connections and Members tabs from many resource and group GUIs because the 
complicated connections schemes are no longer valid. 
58. Added Global Variable display to the Text object. 
59. Elevator travelers are placed randomly around the network node connected to the Elevator while they 
wait. This helps the user see how many are waiting. They are also placed randomly inside the Elevator. 
60. User's Manual now has a nice "Welcome to FlexSim HealthCare" page when it is opened. 
61. Added "Node Value" experiment variable type. 
62. Added experiment variable type to activate/deactivate arrival modes on an Arrival object. 
63. Added experiment variable to copy data from a Global Table to an Arrival table. 
64. Changed the numbering scheme when activities are inserted between two existing activities. 
65. Updated "Choose from a list of destinations based on various selection criteria" pickoption. 
66. Census and Throughput are now tracked at each location and area by PCI. 
67. Added a lot of functionality to getcensus() and getthroughput() commands to report the new tracking. 
68. Replaced old getcensus() and getthroughput() calls with gettrackcensus() and gettrackthroughput() 
calls. 
69. Added Output tab to Experimenter to show the output and system console output from experiment 
replication runs. 
70. The Experimenter now shows a message if any exceptions were reported during experiment runs. 
71. New default background and grid colors. 
72. New background and grid colors available in the Background Color menu option (right-click on the 
model). 
73. The getcensus() and getthroughput() commands can be used to get information by PCI for locations, 
areass, and model. 
74. Activities created between two activities that already exist are assigned numbers in a better way. 
75. Developed a standard down function for resources with many new options (i.e. maxdelay, extendbreak, 
down/resume states, locations, variance, etc.). 
76. Improved random placement of staff at locations other than primary group, and staff snap to non-
primary group locations at model start if off schedule. 
77. Colored floor shows for staff on break/lunch as well as offschedule now. 
78. Default priority for activities in Tracks and GlobalProcesses is 150. 
79. Old models have the activity templates for Tracks and GlobalProcesses changed so that the default 
priority is 150. 
80. Added copyobjectcolor() command. 
81. Added "Resource Request Selection Policy" and "OnResourceIdle" fields to Groups. 
Bug Fixes 
1. Changed CheckLocationAvailability() so that it checks a Queuing Area's maxcontent variable correctly. 
25 
 
2. Added a default activity to some of the Next Activity picklist options. 
3. Fixed Process > Send Item activity so that it calls the Item Created trigger. 
4. Periods in Custom Arrivals that overlap or are defined out of order are handled better. 
5. Custom Arrivals repeat intervals have been improved. 
6. Improvements to pickoptions and GUIs. 
7. Global Settings can now be accessed when in trial mode. 
8. Popups work in template windows again. 
9. Number precision is now handled better when switching from one model to another. 
10. Bitmap on Edit Schedule button no longer disappears randomly. 
11. CloseOutputFiles() is now called correctly when a single run ends because of a finish time. 
12. Fixed a bug in importing/exporting of Patient Track and Global Process .fst files. 
13. Changing a track's shape no longer prints useless information to the Output Console. 
14. Updated Patient Queuing areas so that they are chair and bed layout is easier to edit. Old models will 
need to be updated manually. 
15. New dashboard widgets are always placed above the others. 
16. Fixed a bug that was causing staff to go to their homebase when they reached a 'Break' task. 
17. Varioussmall fixes to dashboard widgets. 
18. Experimenter's "Go To Scenario" button now works correctly. 
19. Track Manager's Advanced Functions GUI is kept up-to-date when different tracks are selected. 
20. Fixed an exception in the Object Tracker that was thrown if an Alternate Group was connected to 
another Group. 
21. Fixed a bug that was preventing staff member from taking task sequences from their tasksequence 
queue in priority order. 
22. Various GUI updates. 
23. Wall posts are now drawn centered along the wall. 
24. Floor Plan GUI now shows all 5 types of image files that it can support. 
25. Old Milestone stacked bar chart now resets the throughput values at the end of the warmup time. 
26. Various pickoption fixes. 
27. Fixed the Rounds pickoption so that it doesn't throw exceptions when equipment isn't used. 
28. Patient Milestone dashboard widget GUI now keeps its milestone list more in sync with the model's 
master list. 
29. Patient Wait Times dashboard widget no longer allows Groups and their Members to be selected at the 
same time. 
30. Updates to command documentation. 
31. New blocks in the FlowChart view should never be hidden behind other blocks. 
32. A user can now select "none" in the PatientProcessing maintenance table. 
33. The Recent Models menu is now empty when FlexSim Healthcare is first installed. 
34. Patient Processing object no longer change state if they are in the OffSchedule state when the 
processing time finishes. 
35. PatientProcessing objects no longer use the Blocked state. 
36. PatientProcessing objects now treat the Interrupted state like OffSchedule when maintenance is 
needed. 
37. Fixed some problems in the User Events GUI. 
38. All attempts to Copy/Paste in the FlowChart GUI are now ignored. 
39. Saving Default Workspaces works better now. 
40. Time displays should not show X:010 or X:60 anymore. 
41. Time displays are not rounded to the nearest minute (real clocks don't round, this shouldn't either). 
42. The "Patient's Name" display mode no longer shows extra information over a patient's head. 
43. Fixed syntax errors in many pickoptions. 
44. Converted workbench.wrl to a .3ds file to avoid reported crashes. 
45. Triggers should always have at least header text when the Edit Code button is pressed. 
46. Staff, Equipment, Transports now clear their keepingpatient variable correctly if they were kept by a 
Global Process. 
47. Removed "Add Table to MTEI" button from several GUIs. 
26 
 
48. Created some new text displays and fixed others (divide by zero error). 
49. Consolidated default Entrance Criteria for PatientQueuing, PatientProcessing and PatientExit into a 
function called DefaultEntranceCriteria(). 
50. Fixed how Hourly Arrivals assign PCI so that the "row" variable can be used correctly in the PCI 
function if there is a start time defined. 
51. All triggers should have header text added to them when an pick-option is selected from the list. 
52. Logic Builder should be disabled by default, and can't be turned back on. 
53. The totals output file is now recorded when the box is checked. 
54. New activities in Tracks or Global Processes now have the same number of leading spaces in their 
names as the activity before them in the list. 
55. Cleaned up or fixed various GUIs and pickoptions. 
Version 3.14 (June 2012) 
Bug Fixes 
1. The Scheduled Arrivals mode on the Patient Arrivals object sets the ApptTime label correctly again. 
2. Added getelapsedtime() command. This returns the amount of time that has passed since either the 
model started, or the warmup time ended. 
3. Used getelapsedtime() in a number of utilization calculations and picklists including: 
o Area Occupancy 
o Staff Group Utilization 
o Group Member Utilization 
o Object State 
o User-defined values and Custom Displays 
4. If code is edited but does not have any template code in it, it is given "Custom Code" text automatically. 
Version 3.12 (May 10, 2012) 
Bug Fixes 
1. Fixed GlobalProcesses so that they do not throw exceptions when they occur 
2. It is no longer possible to import a model that was made in a different version 
3. The Help button on the Path Node's Parameters window now opens the correct help page for each tab 
4. Updated the comment header on several pickoptions so that GetRequiredGroup() is demonstrated 
5. Added some commands to the documentation 
6. Fixed syntax errors in the Activity Start Condition pick-option called "No Staff Currently Allocated to 
Activities in List" 
7. Fixed syntax errors in "Stop or Resume Flow" pickoptions 
8. The GlobalProcess Parameters GUI no longer shows the "There is already an object named X" 
message when it shouldn't 
9. Fixed the getwarmuptime() command so that pick-options that calculations that are based on warm-up 
time are more accurate. 
10. Fixed a bug with the numeric precision being set to 0 (which, in turn, caused other problems in a 
model). 
11. Updated the Area Occupancy Level dashboard widget so that it is update when the model stops 
running. 
12. GlobalProcesses now have global variables created to point to them when a model is opened. 
13. Changing the name of a Location in the model will now change most references to that Location in 
Global Processes and Tracks. 
27 
 
Version 3.1 (April 6, 2012) 
New Features 
1. Updated the Track Manager so that certain fields are disabled and/or cleared out when needed. 
2. Added SortModel() command and included the functionality in Tools|Maintenance. 
3. The ItemConveyor is no longer a roller conveyor by default. It is now a more abstract series of arrows. 
4. The help now includes commands that start with capital letters in the index pages. 
5. Added getobjecttype() command. 
6. Updates to model update code. 
7. Added checkbox to the Predecessor list in the Track Manager and Global Process Manager so that 
users can easily enable/disable predecessor lists. 
8. Added "Dispatch Companions" pick-option to Message Received trigger. 
9. Added an arrow on the floor of the WaitingArea and WaitingLine so that the user can easily see what 
direction the patients will be facing. 
10. Removed a lot of unnecessary fields from the Staff/Equipment/Transport Advanced Editor GUIs. 
11. Added "Create Activity for Multiple People" pick-option. 
12. Added getnumresources() command. 
13. Patients now record how long they had to wait for Locations or Resources to become available. This is 
available in the output files. 
14. Added "Total Wait Times by Track" stacked bar-graph to the Dashboard. 
15. Added new 'scale' shape for Patient Processing objects. 
16. Added Infant Scale 3d shape (not yet available in the drop-down list). 
17. Added ClockTime column to output files. 
18. Updated Tutorial models. 
19. Added "Based on Location" and "Center Port connection" pick-options to some Advanced Functions for 
tracks. 
Bug Fixes 
1. Put some 3d shapes back in that were missing from 3.0 (baby, baby in bassinet, man in bed, woman in 
bed). 
2. Redesigned the "Based on Probability" pick-option so that the user can select the number of entries in 
the array. This fixes an error that was reported frequently that said that the percentages didn't add up 
to 100. 
3. The Excel import process no longer reports "Import Complete" if something didn't import correctly. 
4. Fixed the .csv and .txt files that are generated when a Track is exported. There were problems when a 
file was exported, edited in Excel, saved, and then re-imported. 
5. The warning message in the Shift Schedule GUI about Groups and Members is no longer shown at 
incorrect times. 
6. Fixed the ItemConveyor's GUI so that it highlights/de-highlights the selected conveyor section correctly. 
7. Fixed the Item objects so that their table shape is shown now. 
8. Changed the Item objects so that their default shapes are allcolor-changeable. 
9. Removed extra print statements. 
10. Fixed an exception that could occur when tasks were re-dispatched from Groups to members. 
11. Fixed an exception in the Experimenter results that occurred if all replications returned the same 
number. 
12. Fixed the TaskExecuter (staff, equipment, transports) so that they can be preempted if they are kept, 
but are idle. 
13. Fixed a bug that was causing Shift Schedules to not repeat correctly in some cases. 
14. Fixed a bug in the 2.7-3.0 model update code that was placing PatientProcessing objects at z-location 
of 0, instead of whatever z-location they previously had. 
15. The Message/Item Destination field can now use its access variables correctly. 
28 
 
16. The Message/Item Destination field can no longer use "patient's location" as a drop-down list. (But the 
location can still be selected in the Advanced Functions.) 
17. Fixed a bug in the PatientQueuing object that was causing a single patient to be "released" multiple 
times. 
18. Updated/clarified some tooltips throughout the GUIs. 
19. Fixed a bug in the Custom Arrivals that was causing extra patients to arrive if two time periods started 
at the same time. 
20. Users no longer need to press "Apply" in order to have the PatientArrivals Parameters GUI recognize 
the difference between two arrivals in the Appointments tab. 
Version 3.0 (January 30, 2012) 
New Features 
1. The PatientQueuing Layout tab has been updated to be easier to use and to allow the user to specify 
the direction that rows of chair face. 
2. Added "Milestone Times (by Track)" dashboard widget. 
3. Various improvements to graphics and animations . 
4. Updates to the default Entrance Criteria that will allow patients who have a room reserved to safely 
enter objects that are upstream of their reserved room without negative consequences. 
5. Shortened the default list of milestones. 
6. Added password-based login. 
7. Added user audit log support. 
8. Added Object Tracker GUI (Tools|Debugging|Object Tracker). 
9. Placing a new object on a Display that is acting as a floor will automatically create a selection set 
named after the Display (if needed) and will add the newly-created object to the set. 
10. Multiple staff that are required to be at the same node in a path will spread out. 
11. Changed the behavior of the Appointment and Custom Arrivals tables in the GUI so that the user can 
use the arrow keys while editing time cells. 
12. Removed unnecessary pick-options from several pick-lists throughout the software. 
13. Added many new pick-options throughout the software. 
14. Fixed problem of equipment being deallocated too early in a MoveEquipment>Process activity, and yet 
it's state is still utilized. 
15. Improved patient overhead display. 
16. Added activity start times to patient's Paramters GUI for ongoing activity display. 
29 
 
17. An open Patient GUI now displays the patient correctly, no matter where it is in the model. 
18. Patient Destination can now be a specific location as well as an Area. 
19. ItemArrivals now have batch arrivals as part of their interarrival time. 
20. Itemtype field for ItemArrival's interarrival time mode can now be an expression. 
21. New icons and splash-screen graphics. 
22. New "Patient Rounds" pick-option for Custom Activities. 
23. Floors are hidden by default for many location types. 
24. Modified floor and object colors for improved color separation. 
25. Lightened area block colors in order to read the area names in the Flowcharting GUI. 
26. Removed "Group" from the default name for equipment and transport groups. 
27. Patient Classification tab, originally implemented as part of the Patient Arrivals object, has been moved 
to the Track Manager. This serves to better organize settings that belong to patients in the model, and 
also fixes a bug that would sometimes cause multiple arrival objects with individually configured PCI 
tabs to conflict. 
28. The previously required action of making manual connections from Path nodes to patient location 
objects has been supplimented with a check box on the object's properties. You may still create manual 
connections between objects and Path nodes, including group objects. 
29. Added check box for “Arrival at time 0” on the Interrarrival Times tab . 
30. A new Item Conveying object has been added to the Library of Objects. 
31. Added a new Patient Processing object shape: Bathroom. 
32. The Stop Watch icon on the toolbar has had its features expanded. Click the Stop Watch now opens a 
small dropdown window of available runtime options for the model. Here you will find the model Start 
time definition, the model Warmup Period length and the model total run length. 
33. Some error messages related to Activity IDs and names have been removed in favor of silently fixing 
the warnings rather than displaying an error pop up every time. 
34. Display objects: 
 A time Display object will be created automatically for new models, located in the upper right 
hand corner of the grid. 
 New pick options for the Display object have been added to support different time display 
formats. 
30 
 
 Management of Display objects has been moved to a new drop down menu element in the 
toolbar, to the right of the run speed slider. From here you may create new Display objects and 
more easily manage existing ones. 
 Display objects now have a non-selectable option added to their Properties tab 
35. Changed the name of the EmergencyBed to Gurney. Only new instances of objects with this shape 
should be affected. 
36. Replaced the Allocate/Deallocate Activity types with the more flexible “Custom” activity type. Old 
models that used Allocate/Deallocate, should not be affected. 
37. Elevators: 
 The Elevator object has been redesigned and renamed “Elevator Bank” to allow a Group of 
elevators to work together more seamlessly. 
 Elevators now take into account the size of the traveler and the anything it is holding to 
determine how much space travelers take up. 
38. Added the ability to view and edit the number of active locations in an Area via the Flowcharting tool. 
39. Due to limited and often misunderstood functionality, the Allocate Patient check box on all activity 
properties has been removed and replaced with additional picklist option under the Advanced 
Functions. Only affects new models, older models will have that feature preserved. 
40. Added increased appearance customization options to Staff members and Patients. 
41. Added new pickoptions (including options to add/remove accessories from a patient) 
42. New options to the Staff Requirement table on the track manager, including the new "Keep" feature 
43. Extensive revisions to the code behind the scenes for all the activity types which should improve patient 
state management and runtime performance. 
44. Added a terminateactivity() command that is a more complete way of forcing an activity to be completed 
vs finishactivity() which wasn't intended to be used in this manner. 
45. Improvements to the way repeating activities work. 
46. Added an Advanced Function for using an expression to define the item/message destination. 
47. Integration with the FlexSim 5 Engine. 
48. New undo (Ctrl-z) /redo (Ctrl-y) capability. 
49. New debugging capabilities, including: 
50. An in-line, step-by-step Flexscript debugger. Just go to the code editor and click in the left margin to set 
a break point. 
51. More strict syntax rules for Flexscript, including parameter cardinality and type checking. 
31 
 
52. An event log that lets you see all events that have fired in the model, filter those events, export them to 
csv, etc. 
53. An event list that gives youa view of the list of pending events. 
54. A Flexscript code profiler that lets you see what Flexscript functionality is being called, how often, and 
how much time is being taken up. 
55. A new Animation Creator that allows you to create movable sub-components of objects as well as 
custom animations for those sub-components. 
56. New .skp 3D file import capability, for using files from Google Sketchup and Google 3D Warehouse. 
57. Improved 3D refresh rate. 
58. Improved compatibility with ATI, NVIDIA, and integrated graphics cards. 
59. New software-based licensing using Flexnet. 
60. Faster and more seamless compiling process, with no creation of a new FlexSim instance. 
61. Fixed compiling issues for Windows Vista and Windows 7 
62. More detailed, navigable and configurable Experiment reporting, with additional histogram and 
correlation plots. 
63. Support for png, ico and gif texturing on 3D objects, allowing transparency without requiring the .tmp 
and .tpg files. 
64. New all-in-one code editor with tabbing and an apply button. 
65. Improved interface for defining Conveyor layout. 
66. Fixed AVI Maker for Windows Vista and Windows 7. 
67. New and improved xml save features, allowing multiple developers to work on the same model 
simultaneously, as well as better integration with version management systems. 
68. Various improvements for advanced modelers and developers. 
69. Much more intuitive manipulation of objects in the 3D view. 
70. Users can now click on objects below the grid plane. 
71. Improved support for traversing window controls with the keyboard. 
72. Improved Find/Replace in Tree feature. 
73. Improved refresh rate on table views. 
74. Fixed a crashing issue with auto-completion hints. 
32 
 
75. Fixed a bug with renaming labels. 
76. Fixed an issue with spline points being invisible if the 3D view has a black background. 
77. Several new Flexscript commands for string parsing. 
78. You can now Ctrl-Tab to switch between open windows. 
79. FlexSim's 3D view now has a "hover" highlight so you can see what object is under the mouse. 
80. More descriptive exception handling. 
81. Added TASKTYPE_STARTANIMATION, TASKTYPE_STOPANIMATION, and 
TASKTYPE_FREEOPERATORS. 
82. Animation of the 3D View continues while panning/zooming. 
83. Various minor fixes and improvements 
Bug Fixes 
1. Fixed a bug with the Global Processes (formerly Global Activity List) that sometimes allowed activities 
from previous runs of the model to stay active in subsequent runs, causing unexpected activities to take 
place. 
2. Changed the name of the “Pass to” property on Group objects to “Task Assignment Strategy” for clarity. 
3. The AVI maker now warns users to of Microsoft Vista and Windows 7 to switch to the “Basic” or 
“Classic” theme during recording, as special window effects and transparencies can cause performance 
issues. 
4. User Events can now accept the “00:00:00” time string formatting in the First Event Time property field. 
5. Fixed a bug that would sometimes cause a Milestone to be created from the “select or add new option” 
if it was selected from the Milestone drop down menu. 
6. Increased consistency of object properties tabs; the Stats tab is now correctly displayed for all objects 
and any objects that had a General tab, it has been renamed to Visuals. 
7. Fixed a bug with the Output files option that could cause a crash when trying to write to a file that has 
not been opened yet. 
8. Fixed a bug in Staff Groups OnResourceAvailable trigger that incorrectly managed a Staff member's 
return to home base functionality when carrying more than one Item. 
9. Fixed a bug when “Verbose” is checked when creating Model Documentation from the View menu that 
would cause the program to crash. 
10. Fixed a bug that would incorrectly display an error message when clicking on a Spline point, after 
creating a new Path node that has a connection. 
33 
 
11. Graphical display of reporting variables, such as Milestones, performance measures and Dashboards 
will only be drawn if the value is greater than zero. 
12. Fixed a bug that sometimes wouldn't allow the user to rename Model Layouts from the Utilities tool. 
13. In the Experiment Manager, switched placement the “Replication: “and “Scenario:” fields for increased 
clarity. 
14. Fixed a bug when using the toolbar run control buttons (Stop, Run, etc.) with an Experiment running, 
that would cause random numbers preferences to be incorrectly set. 
15. Fixed a bug that could cause a saved model with an Experiment defined, to have its start time 
interpreted incorrectly upon opening the model. 
16. Fixed a bug in the Performance Measures tab of the Experiment manager that would cause 
Performance Measure names to not update when the Apply button is clicked. 
17. Fixed a bug in the Experiment Manager that would cause a syntax error upon opening a saved model 
that had an experiment variable that used the XX replacement system. 
18. Fixed a bug in Performance measure calculations that would not properly account for locations or staff 
that were disabled as part of experiment variable. Calculations were being made based on the total 
number of staff and locations, rather than the actual number available. 
19. Fixed a bug that would require at least one Experiment variable to be defined if the desire was to simply 
run multiple replications of the model, as is. 
20. Fixed problems found in updating v2.77 models to v3.0. 
21. Fixed several minor bugs in user interfaces. 
Version 2.771 (Sep 17, 2010) 
New Features (v2.771) 
1. Added the following picklist options for the Activity Finished Trigger: 
2. Send Staff to Home Base 
3. Occupy and Reserve Transport 
4. Position Patient on Transport 
5. Position Transport at Location 
6. Added a new picklist option for the Process Location field titled: Reserve Location 
7. Added a new User Condition to the Pass To field option that checks whether the candidate's "reserve" 
label is currently zero. 
34 
 
8. The simulation minutes displayed in the status bar at the bottom of the screen now takes into account 
the user-defined simulation start time. 
9. The ApptTime and ArrivalTime labels of a patient take into account the user-defined simulation start 
time. 
10. Added two new commands: getsimtime() and getsimstarttime() 
Bug Fixes (v2.771) 
1. Fixed problem with Shift Schedules rolling over from one week to the next. 
2. Fixed problem with patient overhead displays disappearing at the conclusion of a transfer activity. 
3. Fixed the legend on the Milestone Chart of a patient's Properties window. 
Version 2.77 (Aug 13, 2010) 
New Features (v2.77) 
1. Added a new time series graph to dashboards for plotting patient attributes, object states, object 
variables, and global variables over time. 
2. A patient’s total distance traveled is now recorded automatically. Options have been added to show 
distance traveled for both patients and staff in output files and dynamic dashboards. 
3. Added a picklist option to the “Pass To” field of resource groups that selects resources in a round robin 
fashion according to their availability. 
4. Added a picklist option to the Activity Started Trigger that allows the user to choose a resource used in 
a previous activity step for the current activity. 
5. Added a direct link in the Help menu to the new community site created specifically for FlexSim 
Healthcare users. 
6. Further refinements have been made in an effort to keep staff members from standing on top of each 
other when multiple staff are performing independent process activities at the same location at the 
same time. If multiple nodes are connected to the common location,then the staff member will travel to 
the first, second, third etc. node connected to the location based on whether there are none, one, two, 
etc. active tasks underway respectively at the time the staff member is called. 
7. Output data files can either use decimal points or decimal commas based on the country settings of the 
computer. In addition, both numeric and text label values can now be written to output files, and there 
are several good examples for defining Custom Fields within the Output Data Settings interface. 
8. Patient and Patient Processing object state profiles have been expanded to include more states (see 
user manual for more information). 
9. The simulation start time can now be defined in minute resolution using Tools> Simulation Start Time 
menu option. 
35 
 
10. An option has been added to the Hourly Arrivals tab of the Patient Arrival’s Properties window allowing 
the user to specify whether patient arrivals are equally spread or randomly distributed across the 
hour. Previously, the arrivals were always distributed randomly across each hour. 
11. All patient transfer activities now require the allocation of the patient prior to the start of the transfer. 
This will allow the user more control over when a transfer activity occurs in relationship to other 
activities that also require the allocation of the patient. 
12. Revisions have been made to the online User Manual, including new tutorials. 
13. An optometry chair has been added to the list of 3D shapes available for a Patient Processing object. 
14. Two new picklist options have been added to the Activity Start Condition field which allows for the 
inclusion/exclusion of a specific activity completion. 
15. The picklist option titled "Choose from a list of areas" for the Patient Destination field is now extremely 
powerful with its list of selection rules. This option also allows for the continuous reevaluation of the 
Patient Destination field whenever downstream locations become available. 
16. The optimization tool called OptQuest is now available as an optional add-on to FlexSim 
Healthcare. To learn more, follow this link: http://www.FlexSim.com/products/optquest 
Bug Fixes (v2.77) 
1. The “Entrance Criteria for Next Patient” field for a Patient Queuing object wasn't being checked when a 
patient to be escorted to another location defaulted to traveling unattended to the Patient Queuing 
object when no staff member is available. This has been corrected so that now the entrance criteria 
must be met before travel to the queue is allowed. 
2. Fixed problem where defining a Repeat Interval for an activity on a patient track would cause errors at 
the time the patient exited the model. It is now possible to stop a repeating activity with the 
finishactivity() command now as well. 
3. Added exception handling when staff are not correctly defined, or broken references appear as a result 
of using “same as above activity” or “previous from group” staff selection options. 
4. Time series dashboard graphs now take into account simulation start times as defined by the Tools > 
Simulation Start Time menu option. 
5. Corrections have been made to the stop time field on the main toolbar so that it will correctly display the 
stop time defined in a model immediately after opening the model. The stop time field will also continue 
to display a stop time in dd:hh:mm format (if so entered in that format) rather than convert it into 
minutes. As before, the stop time needs to be entered in terms of any offset to the start time as defined 
in Tools > Simulation Start Time. 
6. The Move Equipment/Transport Process activities have been updated to use the same travel rules as 
the Process activity in terms of how the staff choose between multiple path nodes connected to a 
location to travel to, and whether to offset travel from a node to a patient within a location. 
7. Fixed problem with the vertical scroll bar in the track manager’s activity list box. The scroll bar no longer 
jumps when selecting activities at the bottom of a long list. 
36 
 
8. Fixed the “Patient Rounds” picklist option in the Activity Finished Trigger. Equipment (if used) are now 
allocated properly before the start of the rounds. 
9. HC based states are now updated on staff members when they are called by Item Class objects for 
processing and/or transporting purposes. Previously, HC states were only updated on staff members 
called as part of a track activity. 
10. Fixed a problem that could occur in the unlikely event that two or more transfer activities were spawned 
simultaneously for the same patient. Now a check is made to ensure that only one transfer activity can 
occur at a time for the same patient. 
11. All patient transfer activities now require the allocation of the patient prior to the start of the transfer. 
This will allow the user more control over when a transfer activity occurs in relationship to other 
activities that require the allocation of the patient directly. 
12. When an activity is added/removed from the activity list in the Track Manager, it now correctly 
renumbers any "Assigned Activity ID" fields as needed. 
13. PatientProcessing objects that are reserved for the patient's return, now correctly transition from a 
"Blocked" or "Occupied" state to a "Holding For Patient" state. 
14. Fixed problem with updating old models occurring on one or two user's computers where the main view 
panel would become unresponsive. 
Version 2.75 (May 31, 2010) 
New Features (v2.75) 
1. Added a Multi Line Text Box widget to dashboards. 
2. Added a new option for the Patient Destination field called "Choose From List of Areas" which will 
choose from a list of areas based on one of two user-defined selection rules: "First Available Location" 
or "Fewest Occupied Locations". 
3. Added a new option for Activity Started/Finished Trigger called "Assign Staff Based on Patient's Current 
Area". 
4. Added a new option for Activity Finished Trigger called "Record Staff Used by an Alternate Group". 
5. Added a new option for the Send To field of Item Class objects called “Based on Patient ’ s Location”. 
6. Previously it was necessary to refresh connections in the model by reopening the Flowcharting tool and 
closing it after a new object was added to the model, or the area of an object was changed. From now 
on, if a new object is created in the model or an object's area is set to an existing area in the model that 
already has connections established in the Flowcharting tool, the object is automatically connected 
according to the connections associated with its new area. 
7. The Auto Connect button found in the side bar of the Flowcharting tool was replaced with a Refresh 
Connections button. 
8. Added a Stop/Resume Arrivals to the Down/Resume Functions for Shift Schedules. 
37 
 
9. A simulation start time can now be defined globally in Tools> Simulation Start Time instead of on each 
of the Shift Schedules as was necessary previously. 
10. You can now define a simulation stop time on the toolbar using 00:00:00 format taking into account a 
modified simulation start time. 
11. The warmup time and simulation run time defined in an Experiment now take into consideration a 
modified simulation start time. 
12. There are now user-defined dashboard options for a stacked bar chart. 
13. A user-defined option for a line graph dashboards has been added called “Patient Data Categorized by 
Label” which uses an option named “Record Patient Data” found in entry/exit trigger fields to record 
patient data during a run. 
14. Created a shorter list of commands in the Help menu titled “Most Used Commands”. 
Bug Fixes (v2.75) 
1. Fixed the problem discovered in the basic training model with patients not continuingon to Xray 
sometimes from their treatment rooms. This bug occurred in the function responsible for transferring a 
patient from one location to another only if the patient was not able to transfer immediately, but must 
wait for both an available location to transfer the patient to AND an available staff member for escorting 
the patient. 
2. Reinserted the "Patient Rounds" picklist option in the Activity Finished Trigger field (it was accidentally 
removed from the 2.703 release). 
3. Fixed problem where a patient not using path network walks several feet off the floor from locations 
with custom shapes. 
4. Fixed problem with patients standing off the floor in locations with <none> chosen for their shape. 
5. Redesigned the Appointments tab slightly for the Patient Arrivals object properties window, and rewrote 
some of the tooltips. 
6. Fixed problem with the Item Destination field not showing the destination entered by the user when the 
Track Manager was first opened. 
7. Creating/Duplicating/Deleting tracks now refreshes the other tabs in the window consistently. 
8. Fixed problem with importing/exporting track activity tables using the Files tab of the Track Manager 
where Id's were not being converted to row numbers. 
9. Renamed the Flowcharting window from "Area Connections" to "Flowcharting" like it should have been 
all along. 
10. Resetting the size and rotation of an object using the context menu (i.e. right-click menu) of the main 
view now works properly. 
11. Fixed problem with the Flowcharting window sometimes showing area blocks for Item class object. 
38 
 
12. Fixed problem with FlexSim Healthcare crashing occasionally when writing outputs to an external file 
during a model run. 
13. Fixed problem with the Start Time and Repeat Interval not occurring at the correct time when the 
model's simulation time was offset from midnight. 
14. The + button for the Activity Started Trigger and Activity Finished Trigger fields will now correctly 
append rather than replace a selection. 
15. The getareastat() and getstaffgroupstat() commands will now accept global pointers for the area and 
group designations. 
16. The "Stop Model Based on Condition" option in triggers has been repaired. 
17. Fixed problem with contents of certain fields disappearing/changing when windows were resized with 
the mouse. 
18. Item class objects are no longer automatically connected to the previous item class object found in the 
model (this cause more confusion than benefits). 
19. Whether duplicating the highlighted object or a set of selected objects, the duplicates are offset from 
the original(s) by 4 grid spacings in the -y direction. 
20. Fixed the problem seen with Shift Schedules not going down at the right time sometimes. 
21. The default "User Applied Score" found in the Pass To option for resource and alternate groups has 
been changed from -gettimeinstate(candidate, STAT_PerformingTask) to 0, because it was found to be 
overpowering the score applied based on proximity and yet proximity is probably the more desired 
scoring criteria. 
Version 2.70 (April 16, 2010) 
New Features (v2.70) 
1. The HASP driver install is no longer included as part of the FlexSim Healthcare software installation 
function. This was done to satisfy the request of some users who needed a “silent” install of the 
software. The HASP driver is needed for the dongle key to be recognized by the computer, and only 
needs to be installed once (i.e. not with every new version of the software). First time users will need to 
install the HASP driver through the Start > All Programs > FlexsimHC > Install HASP Driver option that 
will be available after installing the FlexSim Healthcare software. 
2. The free trial version downloadable from the FlexSim.com web site, can now run models of any size. It 
will not allow models to be modified or saved that have more than 20 objects, 2 tracks, or 12 activities 
per track. More of the Tools have been made available in the trial version, but valid analysis will 
continue to be frustrated by forcing the random number generator to repeat the same stream for every 
run. There are also blocks on importing and exporting data. 
3. New shortcut key combinations have been added for those users who like to use the keyboard rather 
than the mouse where possible. Here's a complete list of keyboard shortcuts now available in the 
software: 
39 
 
 Ctrl+Up arrow to increase run speed (rounds off to the nearest reasonable speed, so it's easy to 
change to 1= real time, if desired) 
 Ctrl+Down arrow to decrease run speed 
 Ctrl+Left arrow to reset the model 
 Ctrl+Right arrow to step through events of model 
 Ctrl+Space bar to toggle between run and stop the model run 
 Ctrl+T to open the Track Manager 
 Ctrl+R to open the Flowcharting tool (R as in "Routes" - sorry but F is reserved for Find) 
 Ctrl+D to duplicate the highlighted or selected objects in the model view window 
 Ctrl+C to copy selected text, tree nodes, or table cells to the clipboard 
 Ctrl+V to paste text, tree nodes or table cells from the clipboard 
 Ctrl+F to find text within a text editor 
 Ctrl+Z to undo typing within a text editor 
 Ctrl+Y to redo typing within a text editor 
4. The File > Import Another Model menu option, has been added to allow users to combine two or 
models into one big model. This is a handy feature when multiple users are working together to build 
the same model, or a single user desires to build and validate small models of individual parts of a 
larger system, and then combine the models into one big model at a later date. After choosing the 
menu option, a file open dialogue window appears allowing you to browse for a model you wish to 
import into the currently opened model. After the import is finished a report pops up listing what was 
imported and what was not. During the import process, if a duplicate track name is encountered, rather 
than import the duplicate track; the activity list of the duplicate track is scanned for unique activity 
names, and any unique activities are appended to the end of the existing track ’ s activity list. Global 
Activity Lists are managed the same as Tracks. For all other objects, duplicate named objects are 
skipped and only uniquely named objects are imported into the existing model. The report will list 
exactly what was imported, what was skipped, and what activities were appended to an existing list of 
activities. 
5. Removed the speed control editor button from the toolbar now that shortcut keys are available for 
quickly setting the run speed. 
6. Toolbar buttons are spaced more uniformly, tooltips have been improved, and some icons have been 
modified to improve the look. 
7. Spinner controls (up/down arrows next to a numeric entry field) have replaced basic numeric edit fields 
to allow the user to quickly change values with the mouse. 
8. A new tool has been added (see Tools > Color Palettes) allowing you to create your own or modify 
existing color palettes. Wherever color is applied in a model (e.g. patient shirts, location floors, 
40 
 
dashboard bar charts, etc.), you will be able to reference the color palettes you ’ ve defined. The color 
palettes are saved with the model. 
9. Unnecessary prompts to save a current model before opening or starting a new model have been 
suppressed if no changes have been detected since the last save. You should not depend on the 
software detecting every change to the model, and always save your model before opening or starting 
a new model. Better safe than sorry! 
10. Global tables, shift schedules, random interrupts and global activity lists can now be referenced in script 
anywhere in a model using auto generated global variables having thesame name as the name of the 
object declared in the Tools menu. 
11. When a new Shift Schedule is created, it will have no operational time defined, rather than the previous 
default which arbitrarily had the hours between 8am and 4pm Mon-Fri marked as operational time. This 
often was overlooked by users. 
12. Dashboard widgets can now be edited by simply double-clicking on the widget, and can be deleted by 
simply hitting the delete key. These options are still available through the context pop-up menu 
accessed via a right-click on the widget. 
13. The, “Occupancy Levels by Area,” and, “Staff Utilization by Group,” dashboard widgets are explained in 
detail with a context menu option (right-click) named, “View Calculation”. 
14. User-defined bar charts are now recalculated on a repeating time interval specified by the user, rather 
than with every screen refresh making them much faster and easier to set up. The following options are 
available as a starting point for defining your own bar charts: 
 Group Member Utilizations 
 Tabular Data 
 Total Throughput by Area 
 Current Occupancy by Area 
 Total Throughput by Location 
 Current Occupancy by Location 
 User-defined line graphs are now possible, with the following options currently available as a 
start: 
 Patient Data Categorized by Label 
 Tabular Data 
15. Object Queue vs. Time graph has been changed from a line graph to a solid area graph which is a 
much nicer way to view queue/time plots. 
16. Reduced the number of options by consolidating options having similar behavior. 
17. Alphabetized some of the longer lists of options. 
18. Now that the user has the flexibility to create and define their own palettes, all triggers that change color 
of objects do so using a specified color palette and index. 
19. Pick option templates have been modified to improve their readability and to hide unnecessary text 
from displaying in the field when the template view closes. More choices have also been added to 
many of the pop-up lists found in template views. 
41 
 
20. There's a text display option for the Display object that will show the current values for year, week, day, 
shift, hour and minute. Since the displayed values take into account the simulation start time as defined 
in Shift Schedules, it is helpful in checking your understanding of the terms as they are used in the new, 
“Based on Simulation Time” picklist option. 
21. A new option named, “User Configurable Resource Selection Algorithm,” has been added to the list of 
options in the, “Pass To,” field for group objects . It is very flexible and can be configured to handle just 
about any conceivable requirement for choosing a resource or group to pass resource requests to. 
Because of its flexibility, this new option is the default option for groups. You should consider updating 
the, “Pass To,” field of groups in your existing model to this new picklist option. Be sure and review the 
several default entries associated with this option to ensure they are what you expect. If you do not fully 
understand the entries, open the script editor for the field after choosing the option to read more about 
how the option was designed. 
22. Added options for setting and incrementing labels, table cells, global variables, and patient attributes in 
triggers. 
23. Added option for recording patient attributes and other data in triggers. 
24. Improved the options available for reading/writing to tables and external files. 
25. There is a new selection choice available called, “OriginalResource,” for the, “Preempted Task 
Reassignment," found in the “User Configurable Resource Selection Algorithm” option for ”Pass To” 
fields. By choosing, “OriginalResource,” you are stating that you want tasks preempted away from a 
resource to be given back to the same resource to be done later. The default is to give the task to the 
resource's primary group to be passed to another available resource. 
26. The <delete> and “Custom Code” options have been added to all advanced function fields. 
27. Added a new option to the “Entrance Criteria for Next Patient” field that will only accept patients having 
a specified label with a value matching a list of specified values. The option is named, “Only patients 
with specific label values”. 
28. The arrows connecting area blocks are sized to better match the default scale. 
29. The default positioning of area blocks is improved to avoid blocks from hiding behind other blocks. 
30. The default color of an Area block is a derivative of the first location within the area, but care is taken to 
not have a block color so dark that its area name cannot be read. You may now change the color and 
width of an area block by double-clicking the block to open a small editor. 
31. The slide out bar on the left side of the flowcharting window has been redesigned to hopefully improve 
understanding of the available options. 
32. Area blocks can be connected with click-drag from one block to the next, or by using a click-click from 
one block to the next. The yellow indicator line will now disappear after a connection is made, rather 
than remain visible which caused confusion before. 
33. It's now easier to distinguish between creating a brand new track with no activities and duplicating an 
existing track with activities. On the Tracks tab there is now a separate button to Create, Duplicate and 
Delete a track. There are also up/down arrows to change the rank of a track in the list. 
34. The tooltips now describe things better and more accurately. 
42 
 
35. Some fields have been given shorter names that better describe their function. We realize it can be 
frustrating when field names you've become accustomed to change, so we will refrain from future 
changes unless absolutely required. Here's a list of new field names with their previous name shown in 
parenthesis: 
 Patient Destination (Patient's Next Area) 
 Reserve Current Location (Hold room during absence) 
 Fixed Cost (Total Activity costs = ____ $) 
 Variable Cost Rate ( + _____ $/hr) 
 Allocation Priority (Resource Allocation Priority) 
 Preempt Resources (Preemption Rule with two picklist options is now converted to a check box) 
 Allocate Patient (Patient's exclusivity is required) 
36. The Process Time field has been modified to allow either numbers or script to be typed directly into the 
field itself, or a per-defined option to be selected from a list and then modified. The, “Choose a 
Statistical Distribution,” option is handy when using a distribution function with unfamiliar parameters 
because you ’ ll be prompted for the required parameters. Although this Process Time field is similar in 
form to the other fields found on the Advanced Functions window, it has some differences. Rather than 
click on a button (e.g. paper icon button) to open the so-called template view for a selected option to 
read or modify, simply click on the top option found in the drop-down list. The top option in the list is 
always associated with the current entry for the field. The “AI” button to the right of the field is used to 
open a full text editor for viewing or modifying the raw script associated with the current entry for the 
field. 
37. Activities will automatically have the activity ID attached as a prefix to the name of the activity. When 
the activity ID is changed, the name is automatically updated with the new ID number. Hopefully, this 
will help users avoid mistakes made in declaring predecessors by reading an activity's name rather 
than its actual ID number, because the two will now coincide. 
38. With the recent changes made to the Track Manager, the need to access the Advanced Functions will 
be infrequent. 
39. Expressions can now be used in both the Start Time and RepeatInterval fields for an activity. This will 
allow you to use statistical distributions to define the times if desired. 
40. A slight change to the timing associated with checks to start an activity has been made. When the list of 
activities is scanned for possible activities to start, only the predecessors and start time of the activities 
are checked. All activities passing these two checks will be considered for an actual start. It's at this 
time that the Activity Start Condition will be checked to determine if the activity can continue. 
Previously, the start condition was evaluated at the same time as the other two checks during a scan of 
the entire activity list; however this limited flexibility with activities being repeated. Each repetition of a 
repeating activity will now check the condition before starting, but will continue with the repetitive chain 
of events regardless of the condition of a single repetition. The startactivity() command also checks the 
start condition for an activity before actually starting it. 
41. A new activity type called, “Decision Point,” has been added for use when a decision between two or 
more activity steps in a track needs to be made during run time. This is the formalization of an existing 
option to declare the next activity to begin upon completion of a current activity using the, “Next 
Activity,” field found in the Advanced Function editor for all activity types. 
42. Previously, when the “return” box was checked for Equipment or Transport resources used in an 
activity, the return request was dispatched to the first staff member involved in the activity upon 
completion of the activity, regardless of any other considerations. The return functionality now works 
43 
 
this way: Upon completion of the activity, a return request is only generated if there is no other 
allocation request pending for the equipment/transport involved. If the return request is generated, and 
the involved staff member is allocated to another activity, then the return request will be dispatched to 
the staff member'ss primary group. In addition, if the primary group is also a member of a group such 
as an alternate group, then a quick check of the primary group's other members will be made, and if no 
other members are currently available, the request will be dispatched to the alternate group. In all 
cases, the original activity with the, “return,” box checked is considered complete at the end of the 
process time, and the return task is considered a totally separate and independent task. 
43. A change has been made to the way resources are selected when a, “previous from…” option is used 
to define an activity's resource assignment. Until now, and regardless of the state of the resource, the 
resource request was always dispatched to the first resource from a particular group previously used by 
the Patient. Now, with one exception, if the resource member used previously is in an, “Off Schedule,” 
state at the time of the request, the request will be dispatched to the primary group of the resource. If 
the primary group is also a member of a group, such as an alternate group, the other members of the 
primary group are checked first for an Off Schedule state in order to determine whether the dispatch will 
go to the primary group or to the alternate group. 
44. In a Transport Patient > Process activity, when a transport moving a patient arrives at its destination, it 
will be released immediately unless it's retained by the activity using the, “same as above activity,” 
command, or the box is not checked to, “return,” the transport upon release. 
45. Patient and staff walking speeds are now dynamically updated during run time to equal the slowest 
included object's defined speed . For example, if a staff member with a normal speed of 80m/min and a 
wheelchair with a normal speed of 70m/min are used to transfer a patient with a normal speed of 
60m/min, the staff member will travel at 80m/min to the wheelchair, push the wheelchair to the patient 
at 70m/min, and then push the patient in the wheelchair at 60m/min to the transfer location. The 
walking speed of patients can be defined by track type using the Visuals tab of the Track Manager, and 
the speed for staff, equipment and transports can be defined by individual resource using the primary 
group ’ s Properties window. 
46. New Command finishreplication() added to the “Stop Model Based on Condition,” option found in trigger 
fields. 
47. New Command getarea(object); If the object is a location, you'll get the location's area. If the object is a 
patient in a location, then you'll get the area of the patient's location. 
48. New Command getareastat(area, stat); If stat = 1, gets the number of active locations within the area. If 
stat = 2, gets the number of currently occupied locations within the area. If stat = 3, gets the percent 
occupancy for the area calculated in the same manner as the Occupancy Levels by Area dashboard 
graph. 
49. New Command getcensus(object, trackname); Gets the number of patients in a single location (e.g. 
getcensus(WaitingRoom)), or in the entire model (e.g. getcensus()). If a valid trackname is given, only 
the number of patients for that track is counted (e.g. getcensus(WaitingRoom, Track1)). Otherwise, all 
patient types are counted. 
50. New Command getstaffgroupstat(group, stat); If stat = 1, gets the number of active staff members in 
the group. If stat = 2, gets the number of currently utilized staff members. If stat = 3, gets the staff group 
utilization percentage calculated in the same manner as the Staff Utilization by Group dashboard graph. 
51. New Command getthroughput(object, hourly, trackname); Gets the number of patients who have exited 
a single location or the entire model. If a valid trackname is given, then only the number of patients for 
that track is counted; otherwise, all patient types are counted. If the hourly flag is 1, then the value 
returned is a per hour figure. 
52. New Commandstoparrivals(object); Stops a PatientArrivals or ItemArrivals object from generating any 
new arrivals, while letting any patients or items already in the object leave. 
44 
 
53. New Command resumearrivals(object); Resumes the generation of arrivals at a PatientArrivals or 
ItemArrivals object that was previously stopped with the stoparrivals() command. 
54. New Command setrunspeed(speed); Sets the simulation run speed. Value entered is the number of 
simulated minutes per one real minute. A value of 1 would run the model in real time. This command 
will also update the slide bar and value displayed on the toolbar above the view window. 
55. Even though more than one path node may be connected to a location, travelers will, by default, use 
the shortest path when traveling to that location. However, by checking the, “Alternate Exit,” box found 
in the arrival node's Properties window, it's also possible to have travelers leave a location using a 
different path node than the one they used to reach the location. 
56. When multiple staff members, using the path network to travel to a Patient Processing location, arrive, 
they'll occupy the path nodes attached to that location in the same order as they are assigned in the 
staff table for that activity. In other words, the staff member associated with the staff assignment 
defined in the first row of the staff table of the activity, will be directed to travel to the first path node 
connected to the location, and the second staff member to the second path node, and so on. If you 
forget the order you connected the path nodes to the location, you can view the connection order 
number by changing the Information Display to, “Show object names” (see right-click context menu for 
the view), and then clicking on a path node to reveal its order number. 
57. Improved positioningof multiple staff while escorting and transporting patients. 
58. Improved staggering of multiple staff assigned to the same process. 
59. Improved staggering of multiple patients arriving at the same location. 
60. Multiple patients arriving at a Patient Processing object that has <none> selected for its shape will be 
positioned according to a grid pattern across the footprint of the object after they have entered the 
object. 
61. New picklist options have been added to facilitate repositioning of patients arriving at locations. 
62. A custom transparency level can now be assigned to a Display object for text and floor displays. 
63. Patient Arrivals and Patient Exit Objects: 
64. The Properties window has been updated to resemble the Patient Queuing and Patient Processing 
objects' Properties windows. 
65. The Users Manual is in need of a rewrite, but there are a few new sections added recently that are 
worth reviewing. The Users Manual > Modeling Tools > Track Manager contains a good explanation of 
what a track is, and at the bottom, there's a short description of the various Activity Types. 
66. The Users Manual > Modeling Tools > Track Manager Advanced Functions contains short explanations 
of the Advanced Functions. 
67. Sample Model: This release includes a sample model of a small emergency department. The model is 
named Demo_ER_1.fsm and can be found in the user>Documents>FlexsimHC Projects folder. The 
model uses a CAD drawing for a floor plan. There are two simplified tracks defined in the model: Basic 
and Xray. The Basic track has the following activities: arrival, registration, triage, bed placement, nurse 
assessment, nurse/doctor consult, doctor exam and discharge. The Xray track is the same up through 
nurse/doctor consult, then xray, return to bed, and discharge. Walking paths are used to connect the 
various locations in the model. 
Bug Fixes (v2.70) 
1. Fixed the, "By Time of Day," option in several of the picklists, and renamed the option to: “Based on 
Simulation Time.” It now correctly accounts for simulation start times that are offset from time zero as 
defined by the user when creating shift schedules. The pick option allows use of the following terms 
when referencing simulation time: year, week, day, hour, minute and shift, with a shift being further 
defined as any given number of minutes. 
2. Fixed problem with shift schedules switching from an available state to a down state between 00:00 
and 00:15 even when the table displayed an available state. 
3. Tooltips have been rewritten to improve the clarity and accuracy of the text displayed. 
45 
 
4. The picklist options designed to stop a model run based on a condition were not working correctly with 
the Experimenter. This has been fixed with the new picklist option titled, “Stop Model Based on 
Condition.” 
5. Fixed problem with the library view not opening after the, “Close All Windows,” option is selected in the 
main view's context menu. 
6. Fixed crash which sometimes occurred while running a model and simultaneously trying to save 
dashboards, tracks, etc. It's still not a good idea to do such things while a model is running, but at least 
it does not crash the software now. 
7. Fixed crash which occurred when a model was stopped using script in the Entry Trigger of a Patient 
Exit object. 
8. The, “By Percent,” picklist option had a typo that mistakenly defined the random number used to obtain 
an empirical value as ranging from 0 to 102 instead of 0 to 100. This has been corrected. The P() 
option used a different function which was always correct. 
9. Path names as displayed in a path node ’ s properties window are now updated correctly to reflect any 
changes made to node names. 
10. The main view window is now refreshed after variables are copied using the Utilities Tool, so that visual 
effects that depend on certain variables will be recognized immediately. 
11. Since the Presentation Builder does not work properly when the main view is orthographic, a warning 
message is displayed indicating such. 
12. The, “return,” flag for equipment is now included in the import/export track files as it should be. 
13. Information entered on a Label tab is now applied when the Apply/OK button is pressed immediately 
after entering data. Previously, it was necessary to first click off the cell the data was typed into. 
14. Fixed problems found in many of the dashboard widgets: 
o Axis label display errors on line graphs 
o Displayed values for Object Queue vs. Time charts were sometimes off depending on size of 
graph boundary 
o The words “In-Process” have been changed to “Census” in graph titles 
15. Fixed conflicts between global variable definitions and definitions associated with other libraries 
(custom user libraries that might be added by advanced user/developers). 
16. Fixed error with auto-naming activities with milestone names when another activity was clicked on in 
the list before Apply button was pressed. This is okay to do now. 
17. When a user erroneously checked the, “Reserve Current Location,” box (previously named “Hold room 
during absence”) when transferring a patient from a Patient Arrivals object to another location, it caused 
the Patient Arrivals object to stop creating patients. The problem has been solved by ignoring the 
request to reserve a Patient Arrivals object. 
18. The list of Global Variables is refreshed when the window's Apply button is pressed. 
46 
 
19. Previously missing “break;” statements have been added to the end of each example script line in the, 
“Based on Multiple Cases,” option in the Next Activity field. This addition will prevent the example script 
from rolling over to the last case rather than executing a singular case as intended. 
20. The, “Based on Percentages,” option for the Next Activity field did not convert the ID number to a row 
number as it should have. The script to convert ID number to row number has been inserted. 
21. Fixed problems encountered when answering, “Yes,” to, “Save before creating new model?” prompt 
prior to opening a new model. 
22. Fixed problem with the Start Activity Condition field returning false when an expression is entered and 
then erased. 
23. Fixed the problem where activity parameters were not being properly updated between scenarios when 
parameters were defined as variables in the Experimenter. 
24. The staff selection box in the table on the Maintenance tab of a location will now re-size correctly to 
match the size of the Staff column. 
Version 2.50 (December 11, 2009) 
New Features (v2.50) 
1. A check is now made for availability of both a location and a staff member when a patient is to be 
escorted to their next area. When there is a PatientQueuing object connected, the patient will walk 
unattended to the queue. Previously, only a location needed to be available to keep the patient from 
walking unattended to the queue. 
2. Added option to lock the position of walls to avoid accidentally moving them. 
3. User can now easily specify where preempted tasks are re-dispatched for completion (or force the 
preempted task to be completed by the resource that was preempted). 
4. When the OK button is pressed on the Track Manager, the window will no longer close if an error is 
detected in the activities, to avoid having to reopen the window to fix the error. 
5. Improved the elevator dispatching logic so that the elevator will only pick up passengers who are going 
in the same direction as current riders (capacity is limited by a user-defined number of passengers). 
The animation has been improved to not shut the door in the face of multiple passengers 
loading/unloading at the same floor too. 
6. Added an option to send staff on patient rounds using a single activity step. One or morestaff will be 
sent to locations in a specified order to perform a task. If equipment is specified, then the staff will first 
pickup the equipment, and carry it with them to each of the location listed. A process time expression 
will be evaluated for each staff at each location they visit to determine their stay time. Only locations 
that are in a chosen state (i.e. vacant, occupied, etc.) will be visited. 
7. User can now add their own custom fields to the automatically generated output files. The custom fields 
can be calculated derivations of existing fields, or completely new data. The number of decimal places 
for numeric variables written to output files is now based on the global setting for decimals rather than 
always using 2 decimal places. 
8. Added an option to easily modify patient arrival rates as one of the experiment variables. 
9. The Excel table importer now has options for importing Global Tables, Arrival Tables (e.g. Hourly 
Arrivals, Appointments), Object Tables (e.g. maintenance tables, component lists, user-defined label 
tables, etc.), and Shift Schedules. A new field has been added to the importer called “Post Import 
Trigger” which can be used to execute script immediately following the importing of the tables from 
Excel. 
47 
 
10. As with locations, resources (i.e. staff, equipment, transports) are visually marked with a red square 
around their base when not available. 
11. Added a new overhead display option for patients that will only show the in process activities for the 
patient currently highlighted in the model. This has been made the default rather than the option that 
shows the overhead display for all patients concurrently. 
12. Added option in “Next Activity Chooser” picklist to choose an activity based on occupancy of a given 
location. 
13. Added option in triggers to dynamically create patients on the fly (e.g. babies in the maternity ward). 
14. Made it possible to reset, create, and/or delete activity steps dynamically during runtime. 
15. Added a checkbox to “return” equipment and transports to their home base (primary group) after 
finishing the activity they are used in. The return activity is a separate task sequence with low priority so 
as not to delay the completion of the initial activity step. 
16. An individual or group of selected objects can now be duplicated with a right-click option on the 3D 
model view, or with the quicker but largely unknown Ctrl-D shortcut key combination. 
17. Added many new 3D shapes to the dropdown lists for Patient Processing, Group, Item Queuing and 
Item Processing objects. 
18. Replaced the “AutoConnect” button with a “Flowcharting” button on the main toolbar. This new button 
opens a window that allows you to graphically map the flow routes of the various patient types in your 
model. Multi-colored connection arrows are available to help you define and organize your routes. The 
routes are defined by area rather than location, so they are quick and easy to create. There is still the 
option of having FlexSim automatically try to create the connections between areas in your model 
based on information derived from the track definitions. However, as you ’ ve probably discovered, 
these automatic connections are not always what you want, so the new flowcharting tool will help you 
make your connections correct right from the start, and it is also a very nice way to graphically present 
your patient flows to others. 
19. The “Probably Early Exit” option for the Patient Leaves Early field on the Patient Condition tab of a 
Patient Queuing object ’ s Properties window has been expanded to allow for a conditional query as 
well as a probability percentage in deciding if a patient leaves early. The option will also create a user-
defined label on the patients leaving early so that the patients can be identified in the output reports. 
20. A new simplified format for the csv file used to import and export patient tracks between FlexsimHC and 
Excel has been developed. Multiple resources defined for the same activity step can now be specified 
in one cell by separating the list of resources with a comma. If the Next Activity Chooser and Activity 
Start Condition fields were defined with a single line expression, they too will be imported/exported. 
21. To facilitate quick and easy data entry, two new commands have been included in the software: T() and 
P(). The first is just a substitute for the triangular() command. However the second, allows you to 
specify a list of values to be returned based on a corresponding list of probabilities. The format for the 
data typed into the P() command, is P(, percent1, , percent2, …) for up to nine different values. If more 
are required, then the dempirical() or cempirical() commands which can reference an unlimited list of 
values/percents in a global table must still be used. 
22. The following commands have been added: drawobjectfloor(), finishactivity(), firstavailableresource(), 
firstpreemptableresource(), getobjectstate(), getiteminstate(), gettraveldistance(), getwarmuptime(), 
reservelocation(), scanactivities(), setcolorbypalette(), setnextarea(), setnumlocations(), 
setnumresources(), setobjectstate(), startactivity(), timestringtominutes(), toid(), torownum(). 
23. Resources being used to transfer a patient are no longer allowed to be preempted; however when the 
transfer is complete, the request queue is immediately evaluated for preempting requests that have not 
been satisfied. 
24. Using the mouse wheel to change the height of a selected object will restrict moving the object below 
floor level. 
25. The Display object is a nice way to make a floor. Any objects dropped onto the floor will be placed at 
the same height as the floor by default. This can be useful in multi-floor models. 
26. The Utilities tool window can now be used to change the ranking of nodes in the model tree. This is 
useful for those who like to organize the list of objects in the tree view. Keep in mind that the order of 
the objects listed in the model tree is the same order they are listed in many of the dropdown lists. 
48 
 
27. The “Maintenance” shape for staff objects has been enhanced to include a cleaning cart. It is now the 
shape of woman pushing a standard cleaning cart. 
28. The User-Defined Bar Graph in a Dashboard has been made more general to include all object types. 
Another picklist option has been added to show an example of collecting and graphing data found in an 
object label. 
Bug Fixes (v2.50) 
1. Fixed bug with equipment not being disconnected from network when “Connect with Path Network” box 
is unchecked. 
2. Fixed bug so new resources added after the “Connect with Path Network” box has already been 
checked will also be connected. 
3. Fixed problem where experimenter was not updating variables associated with the “Next Activity” field 
and global variables. 
4. Removed visual glitch (green box) shown on dashboard line graphs. 
5. Fixed bug with repetitive activities not always working when running a model for multiple replications. 
6. When staff members are preempted away from a patient, the patient ’ s state is now changed to 
“Waiting For Staff”. 
7. The problem with requests getting caught in an infinite loop when passed between multiple resource 
groups, as could happen when using Alternate Groups, has been fixed. Group members should now be 
able to contain both resources and other groups without a problem. 
8. A problem with assigning labels to patients has been fixed by forcing the user to always create labels 
on a patient using the Patient Classification tab of the Patient Arrivals Properties window. 
9. Fixed problem with some models requiring the Track Manager to be opened and the Apply button 
clicked before they would work. 
10. Fixed bug withPatient Processing objects not allowing multiple patients even when the “Maximum 
Occupancy” was set greater than 1. 
Version 2.01 (September 18, 2009) 
New Features (v2.01) 
1. More predefined dashboard widgets are available. 
2. Many new user-configurable Dashboard graph and text display widgets. 
3. Each widget now has a data structure associated with it that the user can take a look at and export if 
desired. 
4. The user is prompted to save dashboards before closing when changes were made. 
5. Multiple dashboards within one model are now allowed. 
6. Staff now use a default picklist option for returning to their primary group object when unavailable due 
to Shift Schedules or Random Interrupts 
7. Resources such as staff, equipment and transports can now be chosen for an activity in a variety of 
user-defined ways using the “Pass To” field found on the Advanced Group Editor, the Advanced 
Resource Editor, and the Alternative Group Editor. The purpose of the field is to allow the user to 
choose the manner in which activity requests (otherwise known as task sequences) are dispatched 
from group to group and from group to resource. In other words, which resource connected to the group 
specified for the activity’s staff, equipment and transport requirements do you want to be chosen for the 
activity. The default option for the “Pass To” field for resources and resource groups has been improved 
to handle more situations in a more realistic manner, but you may easily change the selection criteria 
with the new picklist options provided. 
8. The “previous from ___group” option that has been available for assigning staff to an activity is now an 
available option for assigning equipment and transports as well. 
49 
 
9. The Patient Tracks and Track Properties windows have been combined and renamed Track Manager. 
This was done to reduce the number of windows required to be opened at one time. The new Tracks 
and Files tabs on the Track Manager essentially make up what used to be the Patient Tracks window. 
The Tracks tab now allows you to change the name and order of existing tracks. When adding new 
tracks, you can make a blank track or create a duplicate of an existing track you have highlighted in the 
list. 
10. The Visual tab of the Track Manger lets you change and visualize more parameters than before. Be 
sure to check out the new options for dynamic overhead displays for patients in the model. The frame 
selector is handy for viewing the available frames for a patient should you decide to override the 
defaults and assign your own frame to a patient for a specific event in the simulation. 
11. The Labels tab has been changed to restrict users from adding their own labels this way. User-defined 
patient labels are meant to be added using the Patient Classifications tab of the Patient Arrivals edit 
window. You’ll note that there are two new system defined labels for a patient: ApptTime and 
ArrivalTime. These are used when the patients arrive by appointment as defined on the Patient Arrivals 
object. A patient’s scheduled appointment time versus their actual arrival time may be useful to you to 
query within your model. 
12. It is now possible to import and export tracks using a simplified tabular format (ref. Comma Delimited 
(*.csv) option) making it very easy to export track activity lists to a table in Excel for reporting purposes, 
but it also gives you the possibility of making changes to the activity list within a worksheet, and re-
importing your changes to test in the model. If a track with the same name already exists, the imported 
information will replace existing information for the track; otherwise, a new track will be created and the 
imported information applied to it. 
13. For simplification purposes, the Activities tab of the Track Manager window will now only show those 
fields which are applicable to the chosen activity type. You’ll notice for instance, that the Process 
Location field only shows up once you’ve selected staff for a Process activity. This is because the 
Process Location is only used when staff are going to be utilized during the process time, in which case 
the staff must first travel to the Process Location before the Process Time begins. These little changes, 
plus a host of “sanity checks” that get executed when the Apply button is pressed, will hopefully help 
the user to avoid data entry errors. 
14. You’ll notice a new checkbox on the Activities tab for the first five process activity types that is “Patient’s 
exclusivity is required”. If a patient’s exclusivity is required for a process, then the patient will be 
allocated for the process. This means the patient cannot be allocated by any other process while 
allocated by this process. Normally there are multiple activities that can be occurring for a single patient 
at any given time. 
15. The “Transport Patient > Process” activity type now has an option requiring the staff return the transport 
to the transport’s group object after dropping off the patient. This option is invoked by simply checking 
the box labeled “return” found in the Transport selection pane for the activity. 
16. The Process Location can now be defined with an expression in Advanced Functions rather than just 
selecting a specific location on the Track Manager’s Activities tab. This will allow the process location to 
be determined during runtime according to system dynamics at the time the decision needs to be 
made. 
17. A very powerful field has been added to Advanced Functions called “Activity Start Condition”. This new 
option requires that a user-definable condition be true before an activity is kicked off. The condition is 
rechecked every time the activity list is scanned for another activity to begin, and the user may create 
custom events to force reevaluation of the list at any time! With this condition field, conditional based 
activity list traversal within a given track is easier than ever. 
18. An “Activity Started Trigger” has also been added to Advanced Functions giving you the opportunity to 
modify the parameters of an activity before it starts allowing you to make changes based on the state of 
the model at the time of the activity. An extensive list of user pick options makes this an easy task. 
19. The list of user pick options for Advanced Functions has been expanded to include improved options 
for making selections based on system state and availability of resources and locations. New options 
have been added for making decisions based on patient attributes and time of day as well. 
20. User-defined milestones are now included in the drop-down list, and saved with the model. 
50 
 
21. The prev/next arrow buttons at the bottom of the Advanced Functions editor can be used to quickly step 
through the advanced functions of all activities of a selected track. 
22. The AutoConnect features now interprets connections based on the full list of Next Areas, and is smart 
enough not to connect locations to each other within the same area. 
23. A global start time for offsetting the simulation clock can be defined and saved with a model. 
24. Source code has been streamlined and compiled to improve runtime speed of a simulation 
substantially. 
25. Application code has been removed from user fields to avoid confusion with user-defined options. 
26. Global system variables have been separated from user-defined global variable to avoid confusion and 
provide a clean slate for users to define their own list of global variables if they want. 
27. A large number of commands have been added that allow a user to easily modify resources, tracks and 
locations on the fly. For instance the command ReserveLocation allows you to reserve a location for a 
specific patient in advance of an activity that would use the location. 
28. ThePatientArrivals object has been greatly improved. For starters, the bugs have been worked out of 
the Hourly Arrivals table, but the arrivals will now repeat on a weekly basis. If distributions are used to 
define the number of patients arriving each hour of the week, the distributions will be resampled at the 
start of every day. 
29. The scheduled arrivals (now called Appointments) can have variability about their scheduled arrival 
times. Because the arrivals are generated independent of each other, patients may arrive early or late 
to their appointed times, and consequently may overlap another patient’s appointment time. The 
appointment schedule may also be repeated if required. If the PCI value for a specific arrival is 0, the 
PCI classification index can now be assigned randomly from the empirical distribution defined on the 
Patient Classification table rather than explicitly defined by the user. The appointment times may be 
entered in days:hours:min format, or in terms of total simulated minutes as before. This now applies to 
all time entry fields! 
30. Interarrival times may now be tied to a specific PCI number if desired, making more than one 
interarrival time distribution more useful. 
31. The Patient Processing object can now have more than one patient in it at a time by simply specifying 
the “Maximum Occupancy” to a number greater than 1. 
32. The status of the library (open/closed), the main view settings, any open windows, and all saved views 
are now saved with the model, and are loaded automatically when reopening the model. 
33. The right-click popup menu for the main view window has been expanded to include more colors, 
standard views, and other display settings than before. 
34. The object library window is placed on top of other windows when opened/closed in order to give you 
access to the library when other windows are in front of it. By the way, did you know you can right click 
on an object in the library and get a list of objects in the model of that type? Very useful in large models 
when you want to find and edit a specific object. 
35. The default directory for saving and opening files is a directory in the user’s personal Documents folder 
called FlexsimHC Projects. This is the default directory until changed by opening or saving a file to a 
different directory. 
36. Ctrl-D is a shortcut key available in the main view for quickly duplicating a group of selected objects 
(red bounding box), or a single highlighted object (yellow bounding box). 
37. New Excel import and export options available under Tools>Excel menu. 
38. All tables in the application including those found on the Patient Arrivals object have right-click popup 
menu options for easily copying/pasting or importing/exporting the entire table or portions thereof. 
39. Many more 3D shapes are included for locations, equipment and transports. 
40. Staff Groups can now be assigned 3D shapes from a dropdown list. 
41. Location objects show a colored band around their floor when being held by a patient. The color of the 
band matches the patient’s color. 
42. Location objects show a red band around their floor when not available due to a shift schedule or 
experiment scenario. 
43. Staff and patients now have more realistic travel patterns. They no longer stop at a node when using 
walking paths, but will offset travel all the way to their final process point when discernible. 
51 
 
44. When equipment and transports are dropped off, they are placed more intelligently. For instance, 
wheelchairs are placed in such a way as to hopefully not overlap with patients or beds when possible. 
When a resource (e.g. staff, equipment, transport) returns to its group, it is placed back in its original 
default position relative to the group. 
45. Positioning of all patient shapes (e.g. man, woman, boy, girl, baby, baby in bassinet, and man in bed) 
have been improved for when the patient is placed in any of the standard locations. The user may 
manually position patients within locations as well. 
46. Improvements have been made to the positioning of patients relative to transports, and staff relative to 
equipment or transports during travel. 
47. You can now choose to display information above a patients head as they progress through the model. 
The information includes the patient’s name and a list of the activities that are currently in process for 
the patient. 
48. Patient Queues can now be visualized represented with chairs, beds, a single file line, or open floor 
space. Single file lines now have a truer representation with patients shuffling forward after a patient at 
the front of the line leaves the queue. 
49. An elevator object has been added to the library. Using an elevator in a model is extremely easy when 
using walking paths. Simply connect the elevator up to nodes in the walking path. As patients or staff 
cross a node connected to an elevator, it is determined whether or not the person(s) need to use the 
elevator based on the level of their destination compared to their current level. If the levels are different, 
a request to use the elevator is dispatched automatically. By default, the elevator will stop and pickup 
passengers who are along the way who are headed in the same direction the elevator is currently going 
so long as the elevator capacity has not been exceeded. Other control algorithms can be chosen by the 
user as well. 
50. The text display options have been updated and expanded to match those available for dashboards 
and output files. 
51. You now have the option to create nine separate output files rather than what was previously one file 
with the recorded data tagged with nine different codes. This should make it much easier for most users 
to deal with. The nine files are: PatientHistory, StateHistory_PatientQueuingLocations, 
StateHistory_PatientProcessingLocations, StateHistory_ItemQueuingLocations, 
StateHistory_ItemProcessingLocations, StateHistory_Staff, StateHistory_Equipment, 
StateHistory_Transorts and StateHistory_Totals. The delimiter for the column separator can now be 
one of four types (e.g. tab, semicolon, comma, space) for international compatibility. 
52. Data is not written to the output files until after the user-defined warmup time has transpired. When the 
warmup time transpires, an event occurs which resets all statistical parameters as required. The times 
associated with data written to the output files is corrected to account for any user-defined start time. 
53. Newly designed Experiment Manager interface is more user friendly and hopefully easier to use. One 
thing’s for sure, it is much more powerful. 
54. The user now has a very large list of experimentation variables to choose from. You may choose from 
predefined lists of location, resource, patient, and global variables; or create your own user-defined 
variables by selecting from a list of examples or defining one from scratch. A variable no longer needs 
to be associated with a single value on a single node in the tree, but can be an expression such as an 
existing algorithm that has been modified to contain an experiment variable you may have embedded in 
the code. It is now a simple thing to experiment with the number of staff members in a group, or the 
number of locations within an area. 
55. The list of predefined performance measures has also grown substantially. You will be able to choose 
from a long list of PFM’s associated with individual resources, groups of resources, locations, groups of 
locations, patient tracks, or global metrics. As with variables, the user may also define their own custom 
performance measures. 
56. Performance measure reports have been enhanced to include more than just confidence intervals and 
standard deviations. Experimentation results now include histograms for replicationfrequency analysis, 
scatter plots for comparing correlation between variables, and nicely formatted html reports to display 
and compare the results and raw data for all performance measures and all scenarios! 
57. More content 
58. New animated gifs 
52 
 
59. Many new commands have been added and documented in the Command List. 
Bug Fixes (v2.01) 
1. Allocate and Deallocate activity types are now working properly. 
2. Simulation start time offset can now be globally defined and saved with a model. All time related fields 
will now take the start time into consideration. 
3. Prev/Next buttons found in many of the gui windows have been debugged and now work properly to 
hopefully speed up the editing process across several objects. 
4. More error trapping has been incorporated into the code to avoid as many exception errors as you may 
have previously experienced. 
5. Sometimes, patient and location states were not getting set when they should. This has been fixed. 
6. The Track Properties editor (now called the Track Manager) had problems refreshing properly, and 
therefore would occasionally assign data entered within one field to another field. This was usually 
manifested by staff appearing to travel to a wrong location for a process. It also caused problems with 
patients getting “stuck” at a given location as they were trying to get to advance to an area not allowed 
for the track. These problems have all been fixed by fixing the way data is presented and saved by the 
Track Manager interface. 
7. The options on the Utilities window for creating saved Selection Groups and saved Layout 
Configurations did not work. This has been fixed. 
8. Fixed the problem with background images disappearing “randomly”. 
9. Fixed the problem with bad global pointers being generated sometimes when trying to rename staff, 
equipment and transports. A more robust approach for the auto-generation of global pointers for object 
names and area names has been developed which hopefully has eliminated these problems. 
10. Clicking Apply/OK on the Shift Scheduler after making changes in the graphical Work Schedule table 
view used to erase the changes. This has been fixed. 
11. The bugs with the Hourly Arrivals table method for generating patient arrivals into the model have all 
been fixed. 
12. Staff connected to an Alternate Group were not included in the “previous from ___group” picklist 
options. This has been corrected. 
13. The bug with repetitive tasks not always repeating properly has been fixed. 
14. The warmup time event now correctly resets all variables requiring reset. 
15. The deallocate activity didn ’ t always release staff like it was supposed to. This has been fixed. 
16. Fixed bugs with the Presentation Builder and AVI Maker, so they now work correctly with the main 
view. 
17. The “same as above activity” option now works for transports. 
 
 
53 
 
Overview of the Model Building Process 
This topic will provide a high-level overview of each phase in the model-building process in FlexSim HC. It 
will explain which tools are involved in each phase of the process and will provide links to the relevant 
sections of the User Manual for each phase and tool. 
Be aware that you do not necessarily need to build your model in the exact order listed here. 
1. Plan Your Model 
Before designing your simulation model, it will help to determine your goals for your simulation project. 
You'll also want to gather useful data that will help make your model as accurate as possible. See Planning 
a Simulation Model for more tips and best practices about the work you should consider doing before 
designing your model. 
2. Build a Layout of Your Facility 
The next thing you'll want to do is build the layout of your facility. During this phase of the model-building 
process, you'll want to: 
 Create the floor plan of your facility. Ideally, you will import an AutoCAD drawing of your floor plan 
using the Floor Plan tool. See Creating or Importing Floor Plans for more information. 
 Add patient locations and item objects to your simulation model. Add various location objects and 
item objects from the Library to your simulation model. These are the locations that your patients and 
staff will eventually travel to in order to complete certain tasks in your simulation model. See 
Introduction to Library Objects and Adding Objects to a Model for more information. 
 Connect locations and item objects together. After adding locations and item objects to your 
simulation model, you need to connect the objects together so that patients and staff can move 
between the objects when you run your simulation model. You will use the Flowchart tool to connect 
objects together. See Connecting Locations and Item Objects for more information. 
3. Add Staff and Resources to Your Model 
After building a layout of your facility, you'll want to add staff and resources to your model. Staff and 
resources are objects that patients will interact with in the simulation model. Unlike location objects, 
resources can possibly move around the model. A resource can be staff personnel, transports (such as 
wheelchairs and gurneys), and medical equipment. 
You will add these objects from the Library into your simulation model, similar to the process for adding 
location objects to your model. The difference is that you will add a resource group and then add more 
members that group if you want to add more of that resource type. See Adding Staff and Resources for 
more information. 
54 
 
4. Create Patient-Centered Activities 
Next, you'll create the series of activities (patient tracks) that each patient will follow once they enter the 
simulation model. You'll determine what each patient should do from the moment they enter the model until 
they leave. You'll also assign the appropriate staff and resources to work with the patients at various points 
in their care process. You will use the Patient Track Manager for this phase of the project. 
This is the single most important step in the model-building process and it is also the most complex. See 
Patient-Centered Activities for more information. 
5. Add Patients to Your Model 
Next, you'll want to determine how your patients will be added to your model. During this phase of the 
model-building process, you'll want to: 
 Decide on a patient classification system. If needed, you can create different types of patients with 
different acuity levels or other defining characteristics. You can also assign different types of patients to 
different patient tracks if needed. See Introduction to Patient Classifications for more information. 
 Decide on a patient arrival pattern. Using a Patient Arrival object, you will determine how your 
patients will arrive in your model. You can use several different possible methods to introduce patients 
into your model such having patients come at scheduled appointment times, arriving at different rates 
based on the time of day or day of the week, etc. See Introduction to Patient Arrival Patterns for more 
information. 
6. Create Other Routine Staff Activities 
Some staff activities might not be directly related to a patient's activities and will be based instead on timed 
events in the model. This includes activities such as: 
 Staff meetings 
 Routine patient care (such as checking vitals every hour) 
 Clerical work (such as answering phone calls) 
 Janitorial work 
You will create these kinds of activities using the Global Processes tool. There are some other tools you 
can use at this point in the process to introduce some additional complexity into your simulation model if 
needed. See Routine Staff or Location Activities for more information. 
7. Run Your Simulation Model 
Once your simulation model is built,you're ready to run the model to see if it works correctly. There are a 
few different settings you can use to change how your simulation model runs. There are also a few things 
you should check before running your model and a few different ways to troubleshoot some errors that 
might come up. All of these topics are discussed in Running a Simulation. 
55 
 
8. Get Data from Your Simulation Model 
After running your model at least once to make sure it is working correctly, you can use a few different 
tools to begin gathering data from your model. You can use the Dashboard tool to track and display the 
statistics you are most interested in. You can also use the Experimenter to run your simulation model 
multiple times and see how your results change if you change certain variables. All of these topics are 
discussed in Getting Data from a Simulation. 
56 
 
FlexSim HC at a Glance 
This section will provide a high-level overview of FlexSim HC tools, key features, and more. 
The most important elements of FlexSim HC are labeled in the following image: 
 
Each element will be described in more detail in the following sections: 
Library 
Located in the left pane, the Library contains a variety of objects that you can use to build your 3D model. 
Each type of object has specific settings that you can customize to improve your simulation. The Library is 
context-sensitive, which means that its content will sometimes change based on whatever is currently 
selected in the model or the type of tool that is currently in use, such as the Statistics Dashboard. See 
Introduction to Library Objects for more information. 
Toolbox 
Also located in the left pane, the Toolbox allows you to access and manage any tools that you might want 
to use while you're building your simulation model, as shown in the following image. You can change the 
left pane to the Toolbox by clicking on the Toolbox tab at top of the left pane. See Using the Toolbox and 
Toolbar for more information. 
57 
 
 
Model 
Located in the center pane, the model is the main workspace you will use to create your 3D model. Once 
you create or import a floor plan of your facility, you can drag objects from the Library into the model to 
begin creating a simulation. 
Quick Properties 
Located in the right pane, Quick Properties allows you to quickly and easily edit the settings for any object 
that is currently selected in the model or in a tool. The Quick Properties pane is context-sensitive, meaning 
that its content will sometimes change based on the object or tool that is currently selected. For example, 
when you click on an object in the model, the Quick Properties pane will display that object's settings. If 
you open a new tool, the Quick Properties pane will display the tool's settings and features. 
Patient Track Manager 
Located next to the Quick Properties pane, the Patient Track Manager allows you to create tracks (plans) 
for patient care. Patients can follow different tracks based on the patient's acuity, diagnosis, or any other 
criteria you determine. These tracks can include different activities or processes that should occur from the 
moment a patient arrives to the time they depart. The Patient Track Manger can also assign the necessary 
staff members and resources needed for that activity. See Patient-Centered Activities for more information 
about using the Patient Track Manager. 
Main Menu, Toolbar, and Control Bar 
The main menu, toolbar, and control bar contain all the tools and commands that you can use to create 
your simulation models. These tools will be discussed in more detail throughout the User Manual. 
58 
 
Tabs and Windows 
A tab is a feature that allows one or more panes to be contained within a single window. Certain tools or 
content can be displayed as tabs or as separate windows. For example, by default the User Manual you 
are currently reading shows up as a tab, split as a separate pane to the right of the model. A few other 
tools can be displayed as tabs or separate windows, such as the Flowcharting tool, the Patient Track 
Manager, Global Processes, Global Tables, and the Statistics Dashboard. You can customize the 
display of windows and tabs in FlexSim HC for easier access. See Arranging Windows and Tabs for more 
information. 
59 
 
Key Terms and Definitions 
FlexSim HC uses a few common terms in slightly different ways. The following sections give an 
explanation of some common terms as they are used in this software program. 
Patient 
Patients are the most important element of the simulation model. FlexSim HC is patient-centered, which 
means that nearly everything in the simulation model is driven by: 
 The arrival or departure of patients 
 The patient's status (such as their acuity) 
 The patient's activities and movement inside the model 
Staff 
A staff member is a type of resource in the simulation model. Staff can represent a person who helps to 
provide direct or indirect patient care in the simulation model such as a doctor, nurse, receptionist, etc. 
Activity 
An activity is a particular event or action that will occur at a certain point in the simulation model. There 
are two kinds of activities: 
1. Patient-Centered Activities - A series of activities that patients will begin to do once they enter the 
simulation model until they exit. Some activities will utilize specific locations, staff members, equipment, 
or transports. Most activities in FlexSim HC are patient-centered. See Patient-Centered Activities for 
more information. 
2. Routine Staff or Location Activities - Activities that will run independently from patients. They might 
include things such as staff scheduling and shift changes, clerical work, janitorial work, or routine 
patient care (such as checking vitals every hour). See Routine Staff or Location Activities for more 
information. 
Locations and Areas 
In FlexSim HC, a location is a specific object that patients will interact with as they move through the 
simulation model. Locations will remain stationary within the model. A location could be a door through 
which patients enter or exit, a receptionist desk, a waiting room, an exam table, etc. 
By contrast, an area is a general collection of related locations. For example, there can be multiple beds 
(which are location objects) inside an area you create called the BedArea. Using areas, you can create 
patient activities in the Patient Track Manager that will send a patient to any available location inside of an 
area. For example, you could create a patient activity that sends a patient to the BedArea. Once the patient 
arrives at the BedArea, they could then go to one of the beds within the BedArea. 
All locations in your simulation model must be part of an area. By default, each location will be part of the 
area based on its object type. For example, if you add two table objects to your simulation model, by 
60 
 
default they will be part of the TableArea unless you assign them to a customized area. See Adding 
Locations to an Area for more information. 
Resources and Groups 
In FlexSim HC, a resource is a specific object that patients will use or interact with as they move 
throughout the simulation model. A resource can be staff members, transports (such as wheelchairs and 
gurneys), and medical equipment. The main thing that makes resource objects different from location 
objects is that resources can move around inside the model. 
A group is a general collection of resources. For example, you can create a group called Nurses that has 
four nurse staff members (which are resources) associated with it. Each nurse is a member of the Nurses 
group. You can then create patient activities in the Patient Track Manager that can use one of the available 
staffmembers in the Nurses Group to complete the activity. 
All resources in your simulation model must be part of a group. When you first add a resource to your 
model, there will only be one resource in that group (one group member). You will then add more group 
members to that group in order to add more resources of that type. See Adding Resources to a Model for 
more information. 
 
Alternate Groups 
You can even create resource groups that contain other groups. These are called 
alternate groups. An alternate group is a collection of smaller resource groups 
(usually staff resource groups) combined together into one large group. You can 
then assign the larger alternate group to a specific activity so that members in any 
of the smaller groups can be assigned to work on an activity. 
 
For example, let's say you have a day shift of nurses (perhaps the group is named 
Day_Nurses) and a night shift (named Night_Nurses). Each group has four group 
members. You want the members of either group to be able to work on a particular 
patient activity. The solution is to create an alternate group that will contain both 
the day shift nurses and the night shift nurses. See Creating Alternate Resource 
Groups for more information. 
Companion 
A companion can represent a person who accompanies the patient throughout the entire simulation 
model. For example, a companion could be the parent who will escort a minor to the doctor's office. 
Item 
An item is an abstract object that can represent physical objects that need to be processed as part of a 
patient's treatment. Items can represent paperwork or something that needs to be tested or processed in a 
lab, such as samples, cultures, or specimens. FlexSim HC has a number of different objects, called Item 
Objects, which can be used to transport or process items in the simulation model. 
61 
 
Path 
A path is an area that determines how and where patients, staff, and other movable objects can move 
throughout the simulation model. Paths can help keep patients or objects from moving in ways they 
shouldn't (such as walking through walls) and ensure that your simulation model is as accurate as possible. 
62 
 
Introduction to the Toolbox and Toolbar 
You'll want to get comfortable with how the Toolbox works because you'll use it to work on many different 
tasks as you're building your simulation model. Flexsim HC has a number of useful tools that you will use 
as you are creating your simulation model, such as: 
 The Floor Plan Tool - Helps you to import an AutoCAD drawing of your facility's layout into your 
simulation model so that you can build a more accurate simulation model. 
 The Flowchart Tool - After adding various location objects to your simulation model, you'll need to 
connect them using the Flowchart tool so that patients and staff can travel between these areas. 
 The Patient Classifications Tool - Used to create the various types of patients that will arrive in your 
simulation model. 
 The Patient Track Manager - Used to design the activities that each patient will follow after arriving in 
your simulation model. 
 The Global Processes Tool - Used to design routine activities that staff will work on at various times of 
the day. 
 The Shift Schedule Tool - Used to design the shift schedules for staff members or to determine the 
hours of operations for particular locations in the model. 
You can open many of the most commonly used tools using their shortcut button on the toolbar. The 
toolbar shortcut buttons are listed roughly in the order that you would use each tool while building the 
simulation model. 
However, one of the best ways to access and manage these tools is to use the Toolbox, which is shown in 
the following image: 
 
The Toolbox shares the left pane with the Library. You can change the left pane to the Toolbox by clicking 
on the Toolbox tab at top of the left pane. Alternatively, you can click on the Toolbox button on the toolbar 
to open the Toolbox. 
When you create a new simulation model, you might notice when you open the Toolbox that it doesn't 
show very many tools at first: 
63 
 
 
The toolbox only typically displays the tools that are in use in the current simulation model. To add a tool to 
the Toolbox for easy access: 
1. Click Add new tool at the top of the Toolbox to open a menu of the available tools. 
2. Select the appropriate tool from the list to make it appear in the Toolbox and to immediately open that 
tool. 
You might notice that some of the tools in the Toolbox have a plus sign next to them. That means that 
particular tool uses the tool component feature. (See the following section for more information about the 
tool component feature.) You can click the plus sign to expand the tool and view all the components that 
have been created for that tool. 
If a tool doesn't have a plus sign next to it, it means that tool doesn't use the tool component feature. You 
can double-click that tool to open it and edit its settings. 
The Tool Component Feature 
Some of the tools in the Toolbox have a tool component feature. This User Manual will use the term tool 
component generally to describe a basic entity used by a specific tool. For example, one of the most 
important tools you'll use to build your simulation model is the Patient Track Manager. The specific type of 
tool component used by the Patient Track Manager is the patient track (often called a track for short). A 
track is a series of activities that patients will follow once they arrive in the simulation model. You will edit 
the activities and settings for each track using the Patient Track Manager. However, in order to create a 
new tool component (i.e. patient track) for the Patient Track Manager, you would use the Toolbox. You will 
also use the Toolbox to add, delete, rename, or copy patient tracks. 
The following table explains the specific types of tool components that are unique to the tool in the Toolbox 
that use the component feature: 
Tool 
Component 
Type 
Description 
Floor Plan 
Tool 
Floor Plan A floor plan is an AutoCAD drawing of your health care facility. 
You can add more than one floor plan for each drawing. 
64 
 
The Patient 
Track 
Manager 
Track A track is a series of activities that patients will follow once they 
arrive in the simulation model. 
Alternate 
Group Tool 
Alternate 
Group 
An alternate group is a collection of smaller resource groups 
(usually staff resource groups) combined together into one 
large group. You can then assign the alternate group to a 
specific activity so that members in any of the smaller groups 
can be assigned to work on an activity. 
The Shift 
Schedule 
Tool 
Schedule A schedule is a table where you can mark the time slots when a 
particular staff member will be available, off schedule, on lunch, 
or on break. You can also use this tool to mark the times when 
a piece of equipment or location is unavailable. 
The Global 
Processes 
Tool 
Process A process is a series of staff activities that are routine in nature, 
meaning they are often repeated on a regular basis. 
The remaining sections in this section will discuss how to use the Toolbox to add or manage tool 
components. For information about using each individual tool, you can click the links to each tool listed in 
the preceding table. 
65 
 
Adding a New Tool Component 
You will use a slightly different method to add a new tool component depending on whether you have 
added that particular kind of tool component to your simulation model before now. (See the Tool 
Component Feature for a deeper explanation of what a tool component is.) 
To add the first new tool component: 
1. Click Toolbox on the toolbar to open the Toolbox (it willappear in the left pane where the Library is). 
2. Click Add new tool at the top of the Toolbox. This will open a menu of possible tools. 
3. Select the name of the tool for which you want to add a new tool component. For example, if you want 
to add a new patient track, you would select Patient Track from the menu. If you wanted to add a new 
global process, you would select Global Process from the menu, and so forth. 
4. This will create a new component. The newly created component will automatically open up in the 
applicable tool. 
By default, the newly created component will be named something like Track1 or Process1. See Renaming 
a Tool Component for information about changing a tool component's name. 
To add additional tool components: 
1. Click Toolbox on the toolbar to open the Toolbox. 
2. If needed, click the Plus sign next to the applicable tool name to expand and display the list of tool 
components that have been created so far. 
3. Right-click the tool name. Select Add [Tool Component] from the menu. For example, if you want to 
add a new patient track, you would right-click Patient Tracks and select Add New Patient Track from 
the menu. The newly created component will immediately open up in the applicable tool. 
See Arranging Windows and Tabs for an explanation of how you can change the display options for this 
tool window. 
 
Using the Toolbar 
If a tool has a shortcut button in the toolbar, you can alternatively add a new 
component directly from the toolbar. If you click on the toolbar button, a menu will 
open displaying the components that have been created for that tool so far. At the 
bottom of the menu, it will give you the option to add a new component. For 
example, if you click on the Patient Tracks button on the toolbar, a menu will 
open with the option to Add a Patient Track at the bottom. 
66 
 
Opening and Closing a Tool Component 
If the tool component you want to open is not already open, you can open it using the Toolbox. (See the 
Tool Component Feature for a deeper explanation of what a tool component is.) 
To open a tool component: 
1. Click Toolbox on the toolbar to open the Toolbox. 
2. If needed, click the Plus sign next to the applicable tool name to expand and display the list of tool 
components that have been created so far. 
3. Double-click the tool component you want to open from the list. The applicable tool will open to the tool 
component you just selected. 
 
Opening Multiple Tool Components 
Be aware that when you open a tool component in a tool, you are only opening up the 
specific tool component you selected. If you've created more than one tool 
component, you will need to open up each one individually. Each component will show 
up as a separate tab in the tool. 
 
For example, if you've created two patient tracks, one called Healthy_Clinic and one 
called Sick_Clinic, you'd have to double-click both tracks in the Toolbox in order to 
open them both in the Patient Track Manager at the same time. 
To close a tool component, click the X on the top right corner of the tool. 
See Arranging Windows and Tabs for an explanation of how you can change the display options for this 
tool window. 
67 
 
Renaming A Tool Component 
To rename a tool component: 
1. Click Toolbox on the toolbar to open the Toolbox. 
2. If needed, click the Plus sign next to the applicable tool name to expand and display the list of tool 
components that have been created so far. 
3. Right-click the tool component you want to rename. Select Rename from the menu. 
4. Type the new name of the tool component and press Enter. The tool component should now have a 
different name. 
 
Valid Names 
Component names need to start with a letter or space. The name should also not 
include either forward or backward slashes ( \ or / ), quotation marks ("), the plus sign 
(=), dollar sign ($), or the greater than symbol (>). 
 
68 
 
Copying a Tool Component 
It might be useful to copy a tool component if you want to create two very similar components with subtle 
differences. For example, if you want two patient tracks to start with the same five activities, you could 
create a copy of the first track and use the copy to create the second track to save time. 
To create a copy of a tool component: 
1. Click Toolbox on the toolbar to open the Toolbox. 
2. If needed, click the Plus sign next to the applicable tool name to expand and display the list of tool 
components that have been created so far. 
3. Right-click the tool component you want to copy. Select Duplicate [Component Name] from the menu. 
By default, the new component will use the name of the component you originally copied, but it will have a 
(2) or _copy1 at the end of its name, such as Track1(2). See Renaming a Tool Component for information 
on how to change the component's name. 
69 
 
Reorganizing Tool Components 
If you want to change the order that components are displayed in the Toolbox: 
1. Click Toolbox on the toolbar to open the Toolbox. 
2. If needed, click the Plus sign next to the applicable tool name to expand and display the list of tool 
components that have been created so far. 
3. Right-click on the component you want to re-organize and, select one of the options depending on how 
you want to move the selected component: 
o Move Up - Moves the selected component up one position in the list. 
o Move Down - Moves the selected component down one position in the list. 
o Move to Top - Moves the selected component to the first position in the list. 
o Move to Bottom - Moves the selected component to the last position in the list. 
 
70 
 
Deleting a Tool Component 
If you want to delete a tool component: 
1. Click Toolbox on the toolbar to open the Toolbox. 
2. If needed, click the Plus sign next to the applicable tool name to expand and display the list of tool 
components that have been created so far. 
3. Right-click on the tool component you want to delete and select Delete from the menu. 
 
71 
 
Navigating in FlexSim HC 
This section will discuss some of the basic methods for changing the camera angle that you can use to 
view a model. 
Moving Left, Right, Forward, and Back in the Model 
To move from left to right or forward and back in the model, click somewhere inside the model and, while 
holding down the mouse button, drag the mouse either to the left or right side of the screen or up and down 
the screen. 
Zooming In and Out the Model 
To zoom in and out of the model, use the wheel button on your mouse. Scrolling up will zoom in on the 
model and scrolling down will zoom out. 
Rotating the Model 
To rotate the model in any direction, right-click somewhere in the model. Then move the mouse left or right 
to rotate the model horizontally, or move the mouse up or down to rotate the model vertically. 
for specific instructions. 
72 
 
Introduction to Windows and Tabs 
When you first open a model, the center pane displays the model. But sometimes using certain tools will 
open up a new window or tab in the center pane as well. For example, when you first opened the User 
Manual, it probably split the center pane into two panes with the model on the left and the User Manual on 
the right. 
By default, FlexSim HC splits the center pane into two panes when you open a tool that requires a 
separate window or tab. However, you can customize the way windows are displayed. You can dock (pin) 
these windows in a variety of ways for easier access, as described in the following sections. 
Horizontal Split 
You can split the center pane horizontally with the model on either the top or the bottom pane: 
 
See Re-Arranging Windows or Tabs for specific instructions.Vertical Split 
You can split the center pane vertically with the model on either the left or right pane: 
73 
 
 
See Re-Arranging Windows or Tabs for specific instructions. 
Undock the Window 
You can undock the tool's window and float it as an independent window, separate from the main FlexSim 
HC window: 
74 
 
 
See Re-Arranging Windows or Tabs for specific instructions. 
Pin the Window as a Tab 
You can pin the tool window to the tab bar. This allows you to display the tool as a separate tab that will fill 
the entire center pane. You will be able to switch between various tabs by clicking the tabs you want to 
view (similar to tabbed browsing in a web browser): 
75 
 
 
See Re-Arranging Windows or Tabs for specific instructions. 
76 
 
Rearranging Windows and Tabs 
This section will explain how to re-arrange the way windows or tabs are displayed or docked. See 
Introduction to Windows and Tabs for an explanation of different window and tab arrangements. 
1. Click on the tab for the tool you want to move and begin dragging it to another part of the screen. 
2. Before you release the mouse button, you'll notice that the window becomes undocked and floats as an 
independent window outside of the main FlexSim window. If you release your mouse button at this 
point, the window will continue to be undocked as a separate window. 
3. Also as you click on the tab or the window's title bar and drag it around the screen, notice that a Guide 
Diamond appears near the center of the main FlexSim window, as shown in the following image: 
 
4. While still pressing the mouse button, drag the mouse to the Guide Diamond. Notice that the Guide 
Diamond has five different areas. Each area corresponds to a different way of displaying or docking the 
window, as described in the following image: 
 
5. As your mouse moves over different areas in the Guide Diamond, notice that the area turns gray to 
indicate it is selected. Release your mouse when your mouse is positioned over the desired screen 
position. 
77 
 
Resizing Windows and Panes 
You can change the default size of various windows or panes in FlexSim HC. For example, you might want 
to make the pane containing the Table of Contents a little bit larger so that the topic titles fit on one line. 
To resize a window or pane, position your mouse over the edge of a window or pane until it changes from 
a mouse pointer to a set of arrows, as shown in the following image: 
 
Click on the edge of the window or pane and drag it until the window or pane is the preferred size. 
78 
 
What Are Simulations? 
In FlexSim HC, simulations are data-driven, computer-generated models of real-world health care systems 
or environments. A simulation model can represent a hospital, a clinic, a pharmacy, or a variety of other 
systems. Many companies use simulations to analyze and optimize their systems before implementing 
costly changes in the actual system. 
A real-world example can illustrate the benefits of simulations. In 2013 as a result of changes in U.S. 
healthcare legislation, Summa Akron City Hospital in Ohio participated in an experimental program to 
reduce the cost of patient care by gathering data and sharing it with physicians. One of the areas they 
wanted to focus on was the efficiency of their operating rooms. Many times the hospital's operating rooms 
would be empty despite the fact that patients had arrived on time and were ready for the operation to 
begin. Prior to the introduction of the new legislation, the hospital still made a revenue from empty 
operating rooms because the patient's insurance company was billed at an hourly rate. Even if the 
operation was delayed, the hospital would still get paid for the costs of staff members who were standing 
by in preparation for the operation. However, under the new legislation, hospitals would potentially only be 
paid a flat rate for the operation instead of an hourly rate. This meant that the hospital would begin losing 
money for under-utilized operation rooms. 
After studying their system extensively, the hospital found that patient operation rooms were delayed 
because the operating physicians were frequently late for the scheduled operation. The hospital worked to 
solve the problem by sharing the data about tardiness with their physicians, comparing their punctuality 
with their peers. As a result of these regular data-sharing sessions, physician tardiness reduced 
significantly. This helped to improve outcomes for patients and prevent unnecessary costs. 
Simulations can help you identify and solve problems just like this one. As you build and run a simulation, 
you will be able to learn more about how your health care facility really works and how it can be run better. 
You'll begin to notice bottlenecks and other costly blind spots that are reducing the quality of patient care 
and/or increasing costs. FlexSim HC can help you get the data you need to make important decisions. 
Furthermore, the 3D visualizations of FlexSim HC and user-friendly data displays can help to clearly 
demonstrate problems to stakeholders. Sharing data from simulations can help to get buy-in from 
stakeholders by helping them to more clearly see the benefits of implementing necessary changes. 
79 
 
Planning a New Simulation Model 
Simulation is both an art and a science at the same time. As such, it requires practice to gain proficiency. 
However, with some careful planning and data gathering techniques, you can ensure that your first 
simulation project is a successful one. The following steps should ideally help guide you as you are 
preparing your first simulation project. 
Define the Problem 
Begin by defining the problem that you are trying to solve by simulating your health care system. For 
example: 
 Are you hoping to reduce patient complaints about waiting times? 
 Are you trying to determine whether you need to increase or reduce the amount of staff needed at your 
facility? 
 Do you want to know whether it would be beneficial to purchase costly medical equipment or not? 
 Would you like to reduce costs from expensive equipment or technicians being idle for too long? 
Start with the problem generally and then try to narrow down your definition of the problem as much as 
possible. Don't try to simulate every little problem in your health care facility. Pick a specific problem and 
then focus on those elements that are directly relevant to that problem you are trying to solve. 
Formulate an Objective 
Once you've isolated the problem, identify your objective and goals in simulating your health care facility. 
Your objective should be clear, unambiguous, feasible, and workable. You should identify clear metrics to 
measure if your objective has been met or not. 
For example, you might use some of the following metrics to define success: 
 Reducing the patient length of stay 
 Finding the right percentage of time staff should be working on more important activities as opposed to 
less important ones 
 Determining if extra medical equipment will allow you to care for more patients at a time 
Interview All Staff Members 
Talk to each staff member involved in the processes you want to simulate and have them tell you how they 
work: 
 What steps do they take to accomplish a specific task? 
 How long would they estimate it takes to complete each task? 
 What are common problems or delays that sometimes occur while they are completing those tasks? 
80 
 
 What have they found helps to make things go more smoothly? 
Even before you start your simulation, you might learn a lot of useful information about your facility just by 
doing this much. 
Design a Flowchart 
Next, design a flowchart that describes the differentsteps that will take place in the patient's care. Work on 
building a flowchart for what's supposed to happen in your current facility first. 
After designing a flowchart for your current process, begin designing some possible alternatives models. 
What are some different processes you could use to accomplish the same tasks? What ideas do you have 
for possibly optimizing these processes? 
Gather Data and Information 
This is probably the single most important step in order to ensure that your simulation model is as accurate 
as possible. 
You need to identify how long it takes to accomplish each step in the process you flowcharted above. Does 
each step always take the exact amount of time? Or is there a wide amount of variance between how long 
it takes to accomplish a particular task? What is the range of variance? This is the kind of information you'll 
need to gather before simulating your health care system. 
See the next section, Data Gathering Strategies, for tips and best practices about how to get good data 
about your health care facility. 
81 
 
Data Gathering Strategies 
Before you sit down to begin your health care simulation, you'll need to make sure that you are using good 
data to determine how long certain processes should take in your simulation. You'll want to gather accurate 
data to determine what is statistically normal for your health care facility for a set period of time. 
The following sections discuss a few methods for gathering useful data about your health care facility. 
Use Computer Data 
You might already have all the useful data you need right at your fingertips. If you work in a facility that 
relies heavily on computers to sign staff or patients in and out, you could possibly pull that data and use it 
to determine an appropriate statistical distribution for a particular process or set of processes. 
Talk to your facility's IT managers about pulling statistical data from these computers for a specific period 
of time. Remember that you'll want to gather enough data to be representative of what is normal for your 
health care facility. 
Conduct a Time Study 
A time study involves direct and continuous observation of a particular task or process to determine how 
much time the process takes. The observer often uses a timekeeping device (such as a stopwatch or video 
camera) to record the time taken to accomplish a task. The observer will observe the task multiple times 
over a long period of time, recording the amount of time each process takes every time. 
There are many free guides on the Internet for conducting time studies if you would like to conduct a time 
study yourself. There are also consulting firms that are willing to conduct time study projects if needed. 
Interview All Staff Members 
If nothing else, you could interview all your staff members and get a rough estimate about how long 
particular processes take and use that data to get an approximate processing time. 
Get an AutoCAD Drawing 
You might want to get an accurate, up-to-scale AutoCAD drawing of your facility's floor plan and layout. 
You can directly import this drawing into FlexSim HC and use it to create an accurate model so that 
patients and staff will travel the appropriate length and speed when moving inside of your simulation 
model. 
You might want to inquire about whether there is an AutoCAD drawing of your facility. It is possible that the 
original architects of your facility provided it to your facility's administrator. You can also sometimes 
contract with an architectural firm to create a drawing of your facility if needed. 
If an AutoCAD drawing is unavailable or infeasible to obtain, you can measure your facility by hand and 
create the facility using wall objects instead. (See Creating or Importing Floor Plans for more information.) 
82 
 
Using ExpertFit 
If you've gathered a lot of statistical data from your health care system, you can use the ExpertFit tool to 
determine the appropriate statistical distributions you should use in your health care facility. For example, 
you might want to simulate how long it takes for a doctor to examine a patient. However, the time that this 
takes can vary quite a bit from patient to patient. In other words, there's a certain amount of randomness 
and variance involved in that process. However, if you were able to gather statistical data about how long 
each examination took from a representative period of time (such as a month), ExpertFit could then take 
those numbers and tell you which mathematical distribution you should use to calculate the processing 
time. 
For a more general discussion of how statistical distributions work in FlexSim HC, see the Distribution 
Chooser for more information. 
Unfortunately, ExpertFit will not be discussed in detail in this version of the User Manual. If you would like 
more information about this tool, please contact FlexSim Customer Support. 
 
83 
 
Building a Layout of Your Facility 
Building a layout of your facility is an important phase in the model-building process. This chapter of the 
User Manual will discuss how to build a basic layout of your facility in detail. During this phase of the 
model-building process, you'll want to: 
 Create the floor plan of your facility. Ideally, you will import an AutoCAD drawing of your floor plan 
using the Floor Plan tool. See Creating or Importing Floor Plans in this chapter for more information. 
 Add patient locations and item objects to your simulation model. Add various location objects and 
item objects from the Library to your simulation model. These are the locations that your patients and 
staff will eventually travel to in order to complete certain tasks in your simulation model. See 
Introduction to Library Objects and Adding Objects to a Model in this chapter for more information. 
 Connect locations and item objects together. After adding locations and item objects to your 
simulation model, you need to connect the objects together so that patients and staff can move 
between the objects when you run your simulation model. You will use the Flowchart tool to connect 
objects together. See Connecting Locations and Item Objects in this chapter for more information. 
 
84 
 
Introduction to Floor Plans 
The first step in building a model is to create or import a floor plan of your facility. You will need a floor plan 
to use as a guide when you are placing objects into your simulation model. Having a floor plan also 
ensures that your simulation model is as accurate as possible. That's because the placement of the 
location objects can affect how long it takes a patient or staff member to walk from one location to another, 
which can affect the accuracy of your simulation's data. 
Ideally, you could import an AutoCAD drawing of your floor plan into your simulation model. These files 
usually have a .dxf or .dwg file extension. 
 
AutoCAD Files 
FlexSim HC is designed to work better with .dwg files. 
You could also possibly import an image file (.png, .bmp, .jpg, .gif, or .ico) that has an accurate drawing of 
your floor plan. However, be aware that these images sometimes don't scale as well as AutoCAD 
drawings. 
 
What if I don't have a drawing of my floor plan? 
If you don't have an AutoCAD drawing or an image, you could possibly take 
measurements of your facility and use the Wall object in the Library to create the 
layout of your facility. FlexSim HC measures space in meters, so each square on 
the model's grid represents a meter. 
The rest of the topics in this chapter will explain how to import images and AutoCAD drawings into your 
simulation model. 
85 
 
Importing a Floor Plan File 
Before you import your floor plan file, you need to: 
 Save your model at least once. In your model settings, double-check that you have allowed your model to embed media files. (Models 
are allowed to embed media files by default.) See Opening Model Settings for specific instructions on 
checking the model settings. 
Importing a Floor Plan File 
Use the Floor Plan Import Wizard to import a new floor plan file: 
1. If needed, click Toolbox on the toolbar to open the Toolbox in the left pane. 
2. With the Toolbox open, click Add new tool and then click Floor Plan. This will open the Floor Plan 
Import Wizard. 
3. On the What type of background drawing do you have? page, select either CAD Drawing or Image 
File depending on which type of file you want to import. Click Next to go to the next page. 
4. On the Where is the [AutoCAD or image] file? page, click the Browse button to browse for the 
media file you want to use. When you select your file, it will automatically appear in the background of 
your simulation model. Click Next to go to the next page. 
5. The Customize layer visibility and color page allows you to customize the settings for your floor 
plan's layers. This page is only available if you uploaded an AutoCAD drawing with the .dwg file 
extension. On this page, you can click the Visibility button to show or hide a particular layer in the 
drawing. You can also rename or change the color of the layers in the drawing. Notice that as you edit 
the fields, you will immediately see the changes reflected in the floor plan. NOTE: If you try to change 
the color of the layers in your CAD drawing and it doesn't work, you might need to change some of the 
settings in your drawing file so that the color is defined by layer. You can contact FlexSim Customer 
Support if you'd like some help with these settings. Click Next to go to the next page. 
86 
 
 
6. The Do you need to change the spatial attributes? page has many different settings you can use to 
customize your floor plan drawing to your simulation model. Each of these settings is explained in more 
detail in Floor Plan Settings. You might want to adjust these settings when you first import your floor 
plan: 
o Scale - FlexSim HC measures space in meters. If your AutoCAD drawing was created by a US-
based company, you might want to scale your drawing, converting it from inches to meters. 
o Make drawing non-selectable - Keep this box checked in order to lock your floor plan into its 
current position. Locking it in place will ensure that you don't accidentally move your floor plan 
while you are building your model. 
7. Click Finish to save the settings and close the Floor Plan Import Wizard. 
 
Sample Floor Plan 
FlexSim HC comes with a few sample AutoCAD drawings of floor plans when you first 
install it. You can possibly use one of these samples to test out the Floor Plan Import 
Wizard. The sample AutoCAD files are floor plans for a possible Emergency Room 
facility and are named ER_large.dxg and ER_small.dxg. 
Opening Model Settings 
To check your model settings: 
1. On the File menu, click Model Settings. 
2. In the Model Settings dialog box, make sure that Embed media with model is checked, as shown in 
the following image: 
87 
 
 
 
88 
 
Changing Floor Plans 
You can change a floor plan or its settings at any time by re-opening the Floor Plan Import Wizard: 
1. If needed, click Toolbox on the toolbar to open the Toolbox in the left pane. 
2. With the Toolbox open, you'll see an expandable menu that lists all the current floor plans you have 
imported into your simulation model. Right-click the specific floor plan you want to edit and select 
Properties from the menu, as shown in the following image. This will re-open the Floor Plan Import 
Wizard. 
 
3. Click Next a few times until you get to the Do you need to change the spatial attributes? page. 
Make any changes to the settings that you would like. See Floor Plan Settings for more information 
about the specific settings you can change. 
4. Click Finish to save your changes and close the Floor Plan Import Wizard. 
 
89 
 
Floor Plan Settings 
There are a number of settings you can use to customize your floor plan. The following image shows the 
Do you need to change the spatial attributes? page of the Floor Plan Import Wizard, where you can 
adjust these settings: 
 
Each setting is explained in the following sections. 
 
Visual Settings 
You can change the visual settings for AutoCAD Drawings with a .dwg file on the 
Customize layer visibility and color page. 
Scale 
FlexSim HC measures space in meters. If your drawing uses different measurement units, you can select 
how you want to scale your floor plan drawing to convert it to meters. For example, if your AutoCAD 
drawing is in inches, you would select inches to meters to scale it to meters. If you select Custom, you 
will be able to scale it manually using the Scale boxes just below this menu. 
If your AutoCAD drawing was created by a US-based company, you might want to scale your drawing, 
converting it from inches to meters. 
Scale, Location, and Rotation 
FlexSim uses the classic Cartesian coordinate system to position objects within the model. For that reason, 
FlexSim uses the terms X, Y, and Z to refer to the axis coordinates for the position, rotation and size of the 
object: 
 The X axis moves or rotates the floor plan from left to right and resizes the floor plan's length 
 The Y axis moves or rotates the floor plan forward and back and resizes the floor plan's width 
90 
 
 The Z axis moves or rotates the floor plan up and down and resizes the floor plan's depth 
The X, Y, and Z boxes allow you to position the floor plan drawing so that it is exactly where you want it to 
be in the model. You can type a number value in these boxes or use the arrows to adjust the default 
values. Notice that as you edit the fields, you will immediately see the changes reflected in the floor plan. 
Make Drawing Luminous 
By default, this box is checked. This makes the floor plan easier to see in the model because it brightens 
the lines to make them more visible and creates a stronger contrast with the model background. If you 
would like your floor plan to be less visible, you could clear this check box. 
Make Drawing Non-Selectable 
By default, this box is checked. Keep this box checked in order to lock your floor plan into its current 
position. Locking it in place will ensure that you don't accidentally move your floor plan while you are 
building your model. If you would like to re-position your floor plan in your simulation model using your 
mouse, you can clear this checkbox. 
91 
 
Troubleshooting Floor Plans 
Because AutoCAD is a third-party software, sometimes files created by newer versions of AutoCAD do not 
always function optimally in FlexSim HC. This section will discuss common problems and their solutions 
when importing AutoCAD drawings into FlexSim HC. If these solutions do not solve your problem, please 
feel free to contact FlexSim Customer Support at any time. 
AutoCAD Drawing Isn't Visible 
Sometimes when you import an AutoCAD Drawing, you won't see it in your model. 
Make sure that: 
 You have allowed your model to embed media files. See Importing a Floor Plan File - Model Settings 
for more information. 
 On the Customize layer visibility and color page, make sure the Visibility buttons are set to show 
each layer in your drawing. You could also try changing the color of the layers to see if that helps 
improve their visibility. See Importing a Floor Plan File and Changing Floor Plan Settings for more 
information. 
 On the Do you need to change the spatial attributes? page, make sure you have checked the Make 
Drawing Luminous box. See Floor Plan Settings - Make Drawing Luminous. 
Anotherproblem might be that the point of origin for your AutoCAD file is far away from the actual drawing 
of your facility for various reasons. To find your drawing, you might need to zoom out of the model until you 
can see where the drawing is. To zoom in and out of the model, use the wheel button on your mouse. 
Scrolling up will zoom in on the model and scrolling down will zoom out. 
Strange Location Coordinates 
When you import an AutoCAD drawing into your simulation model, FlexSim HC does its best to find the 
actual drawing of your facility. However, the point of origin for your AutoCAD file might be far away from the 
actual drawing of your facility for various reasons. For that reason, FlexSim might place the drawing of your 
facility in strange place in the simulation model (as opposed to setting the location coordinates to 0, 0, 0). If 
desired, you can try to change the location of your drawing by moving it by yourself. See Floor Plan 
Settings for more information. 
92 
 
Introduction to the Library Objects 
An important part of building a simulation model is to add some objects to your simulation model. Before 
reading this section, you might want to make sure you are familiar with some of the Key Terms and 
Definitions. 
The Library (located in the left pane of the main window) has many different kinds of objects you could use 
to build your simulation model. The following image shows a portion of the Library: 
 
You'll also notice that the objects are broken down into five general categories based on how they function 
within the model: 
 Patient Locations - Various objects that patients will interact with as they move through the simulation 
model. Locations will remain stationary within the model. A location could be a door through which 
patients enter or exit, a receptionist desk, a waiting room, an exam table, etc. 
 Resource Groups - Assorted objects that patients will use or interact with as they move throughout the 
simulation model. A resource can be staff members, transports (such as wheelchairs and gurneys), 
and medical equipment. The main thing that makes resource objects different from location objects is 
that resources can move around inside the model. 
93 
 
 Item Objects - Objects that will transport or process items. Items are physical objects that need to be 
processed as part of a patient's treatment. Items can represent paperwork or something that needs to 
be tested or processed in a lab, such as samples, cultures, or specimens. 
 Infrastructure - Objects that allow the patient to move throughout the model. 
 Visual Objects - Objects that are purely visual. They can give a more realistic appearance to the 
simulation model, or they can be used to add customized text and graphics to the model. 
Under each category you'll see several icons that represent sub-categories of objects. When you click on 
one of the icons, it will open a menu showing several objects that you can put into your simulation model. 
For example, under Patient Locations, when you click on Processing, it will open up a menu with more 
than 40 different location objects that can be used to process a patient in the simulation model, as shown 
in the following image. 
 
A few of the icons do not have submenus. These objects can just be dragged from the Library and placed 
directly into your simulation model: 
 Elevator 
 Storage 
 Path 
94 
 
 Floor 
 Wall 
 Desk 
Typically, a basic model will start with an Arrivals object, such as a door, which will create the patients that 
will come to your simulation model. A lot of models also use a Queuing object, such as a waiting room, 
and a Desk for a receptionist. Most basic models will also typically have many different kinds of 
Processing objects, which is where many patients receive treatment. You might also want to add some 
Staff Resource Groups to your model to represent your facility's human resources. Lastly, many basic 
models end with an Exit, which removes patients from a simulation model. 
Experiment a little bit by adding some different objects to your model. Try adding an Arrival object or any 
other object into the model from the Library as desired. 
95 
 
Adding Objects to a Model 
To add an object from the Library to your simulation model: 
1. Click on any icon in the Library to open its menu. Be aware that a few select objects do not have 
menus, in which case you can just skip directly to the next step. 
2. With the menu open, click the object that you would like to add to your model. Your mouse pointer will 
then change to the Add Object icon to indicate that you are in Add Objects mode. 
3. In your simulation model, click on the approximate location where you want to add the object to your 
simulation model. The object will then appear in your simulation model. You can always move the 
object to a different location later. (See Moving, Resizing, and Rotating Objects for more information.) 
4. Notice that after you add the model, your mouse pointer still has the Add Object icon, which means that 
you are still in Adding Objects mode. As long as you are in this mode, you can continue to add more of 
this kind of object by clicking somewhere inside the model. 
5. To turn off Add Objects mode, either press the Esc key or right-click somewhere in the model. 
Your object(s) should now appear in the simulation model. 
 
Adding Resource Groups 
The process for adding resource groups is slightly different than the process for 
other objects. See Adding Resources to a Model for more information. 
 
96 
 
Adding Locations to an Area 
Before reading this section, you might want to read Key Terms and Definitions - Locations vs. Areas to 
ensure you understand the concepts discussed in this section. See also How Patients and Staff Move to 
Locations or Areas. 
When you first add a location to your model, that location will automatically be added to an area based on 
its object type or category. For example, if you were to add a Bed object to your model, it would 
automatically be assigned to an area called BedArea. If you added additional Bed objects to the model, 
they would all be part of BedArea by default. You can use the default areas or you can create your own 
custom areas, as discussed in the following sections. 
Creating Custom Areas 
To create a custom area: 
1. Click on the location object that you would like to add to a custom area. 
2. In Quick Properties, under the General Properties group, look for the Area box. This box displays the 
name of the location's current area. 
3. Click anywhere inside the Area box. The text inside the box will be highlighted, indicating that you can 
now edit the area name. 
4. Type the name of the new area you want to create. Be aware that the area name cannot contain any 
spaces or special characters. 
5. When finished, click anywhere outside of the Area box to save your changes. 
When you open the Area menu, you should now see your new custom area listed along with the previous 
area name. 
Adding Other Locations to a Custom Area 
To add other locations to a custom area that you have created: 
1. Click once on the location object that you would like to add to your custom area. 
2. In Quick Properties, under the General Properties group, look for the Area box. This box displays the 
name of the location's current area. 
3. Open the Area menu and select your custom area from the list. 
Your location object will now be part of the custom area. 
97 
 
Customizing Object Properties and Settings 
Once you have added an object from the library to your simulation model, you can edit any of its settings 
by clicking on the object to select it. The Quick Properties pane (the right pane) will display all of the 
settingsthat are available for that particular object, as shown in the following image: 
 
Most of the objects have the same groups of settings. However, a few objects have settings that are 
unique. Most of these settings will be discussed in this chapter, but the unique settings that are available 
for Resource Group objects will be discussed in the chapter entitled Adding Staff and Resources. 
The following table provides an overview of the groups of settings that are available for Patient Location 
objects in the order they appear in Quick Properties: 
Settings 
Group 
Availability Purpose 
98 
 
General 
Properties 
All objects 
 Changes the name of the object. 
 Can also assign the location to a different area. 
 See Adding Locations to an Area for more 
information. 
Visuals All objects  Can be used to move, resize, or rotate the object 
in the simulation model. See Moving, Resizing, 
and Rotating Objects for more information. 
 Also changes the color and shape of the object. 
See Changing the Shape and Appearance of 
Objects for more information. 
Arrivals Patient Arrivals 
objects 
 Changes the frequency that patients arrive in the 
simulation model. 
 See the chapter about Adding Patients, specifically 
the section about Patient Arrival Patterns for more 
information. 
Patient 
Condition 
Patient Queuing 
objects 
 Can cause something to happen to patients the 
longer they are in the waiting room (such as 
increasing their acuity level). 
 Can set specific conditions that will cause a patient 
to leave early without being treated (such as a 
long waiting time). 
Maintenance Patient Processing 
objects 
 Can be used to require a staff member to clean, 
repair or perform some process on the object after 
it has been used by the patient. 
Entrance 
Criteria 
All patient location 
objects except 
Patient Arrivals 
objects 
 Can determine the criteria that patients must meet 
before being allowed to go to this location. 
 Can also set the priority by which patients will be 
admitted to this location. 
 Can also determine the maximum occupancy of 
patients that can come to this location. 
Labels All objects  Can be used to add a label to the object. Labels 
can contain any custom information that you want 
it to have. 
Statistics All objects  This group of settings is for display purposes only. 
While a simulation is running, you can click the 
object and view the current statistics for that 
object, such as its state, throughput, etc. The 
statistics will update in real time as the model is 
running. 
 See Getting Data from a Simulation for more 
information about statistics. 
99 
 
Advanced 
Visuals 
All objects  Can be used to change the way the object is 
displayed or animated. 
Triggers All objects  Can cause certain events or actions to occur when 
something happens to the object, such as when a 
patient arrives at the object. 
Unless otherwise noted in the table above, many of these settings are explained in Additional Patient 
Location Settings. 
Patient Location Settings. 
100 
 
Moving, Resizing, and Rotating Objects 
FlexSim uses the classic Cartesian coordinate system to position objects within the model. For that reason, 
FlexSim uses the terms X, Y, and Z to refer to the axis coordinates for the position, rotation and size of the 
object: 
 The X axis moves or rotates the object from left to right and resizes the object's length 
 The Y axis moves or rotates the object forward and back and resizes the object's width 
 The Z axis moves or rotates the object up and down and resizes the object's depth 
You can use either your mouse or Quick Properties to move, rotate, and resize the objects in your model. 
Using the mouse is helpful if you want to get your object to an approximate location, rotation, or size. Using 
Quick Properties is better if you want your object's location, rotation, or size to be more precise. 
In the following sections, the mouse method will be explained first, followed by an explanation of the Quick 
Properties method. 
Using a Mouse 
The simplest way to move an object is to click on it and drag it to a different position in the model. 
However, this only moves the object along the X and Y axes. You can use the mouse to move the object 
up and down the Z axis using one of the following methods: 
 Click on the object and, while holding down the mouse button, use the mouse wheel button to scroll up 
and down until the object is in the desired position. 
 Click on the object using both the left and right mouse buttons at the same time and, while holding 
down the mouse buttons, move the mouse up and down in the model. 
When you click on any object in a model, you'll notice that red, green, and blue colored cones appear 
around the object (see the following image). This guide will refer to those colored cones as the object's 
axis arrows. 
101 
 
 
Each axis arrow can be used to resize or rotate the object. If you click on one of the axis arrows, you can 
drag the arrow to change the object's size. If you right-click on one of the axis arrows, you can drag the 
arrow to rotate the object. 
Each of the different colored axis arrows can change either the X, Y, or Z axis of the object's size and 
rotation (see the following image): 
 Red axis arrows - Located on the right and left of the object, the red axis arrows change the object's 
length or rotates the object on its X axis. 
 Green axis arrows - Located on the front and back of the object, the green axis arrows change the 
object's width or rotates the object on its Y axis. 
 Blue axis arrows - Located on the top and bottom of the object, the blue axis arrows change the 
object's depth or rotates the object on its Z axis. 
 
Shortcut for Scaling Objects 
FlexSim has a shortcut that can make it possible to scale an entire object's size by 
5%. First, click on the object to highlight it (e.g. the yellow box and axis arrows will 
appear around the object). Then press Ctrl+K to scale the object down (make it 
smaller). Or press Ctrl+L to scale the object up (make it larger). 
Turning Off the Axis Arrows 
102 
 
 
If you do not want the axis arrows to display when you click an object, you can turn it 
off using the main menu. Click on the Edit menu and select Resize and Rotate 
Objects. When you open the Edit menu again, you'll notice that the gray box around 
the Resize and Rotate Objects tool is gone and that you don't see the axis arrows 
when you click on an object any more. 
Using Quick Properties 
You might possibly want the position, rotation, and size of the objects to be more precise in your model. In 
that case, it might be better to use the Quick Properties tool instead of using your mouse. 
When you highlight an object in the model by clicking on it, the right pane displays the Quick Properties for 
that particular object. In the Visuals group box, you'll see several different boxes for changing the object's 
position, rotation and size, as shown in the following image: 
 
To the left of each row, you'll see three different graphical icons, as explained in the following table: 
Icon 
Tool 
Name 
Description Notes 
 
Position 
tool 
Changes the object's 
position (location) 
within the model 
The object's position is determined by the coordinates 
of the object's upper left corner. If the object is 
rotated, the position will be based on the coordinates 
of any part of the object that is in the uppermost left 
position. 
 
Rotate 
tool 
Rotates the object The object will rotate on its center axis. 
 
Resize 
tool 
Rotates the object Every object in the Library has a default size. FlexSim 
HC uses meters to measurelength. 
103 
 
Using each tool and its corresponding axis-coordinates, you can change the object's position, rotation, or 
size. You can either type a value in the box or use the arrows to change the values. 
The following table explains how each of the different tools can change the object based on the axis you 
change: 
 X Y Z 
Position 
 
Moves the object left and 
right on the X axis 
Moves the object forward 
and back on the Y axis 
Moves the object up and 
down on the Z axis 
Rotation 
 
Rotates the object left and 
right on the X axis 
Rotates the object forward 
and back on the Y axis 
Rotates the object up and 
down on the Z axis 
Resize 
 
Resizes the object's 
length 
Resizes the object's width Resizes the object's depth 
 
104 
 
Changing the Shape and Appearance of Objects 
FlexSim HC has a number of settings that you can use to change the visual appearance of objects in the 
Library. You can change: 
 Color - You can customize the basic color scheme of every kind of object. Some objects have more 
color settings than others. 
 Shape - You can change the object's shape to any other shape within its object category. For example, 
you could change the shape of a Bed to an Exam Room because they are both Patient Processing 
location objects. 
Because the Staff Resource Group objects look like people, you can make a lot of changes to their visual 
appearance, such as assigning different genders, skin tones, clothing, and other physical characteristics. 
You can assign different looks to individual members in a given Staff Resource Group too. (See Changing 
the Appearance of Staff Resources for more information.) 
 
The Eyedropper 
Whenever you see the Eyedropper button you can click it to sample a color from 
some other object in the simulation model. 
Changing the Color or Shape of Most Objects 
To change the color or shape of most Library objects: 
1. Click on the object in the simulation model to select it. 
2. In Quick Properties under Visuals, select a different color from the Color menu or a different shape 
from the Shape menu, as shown in the following image: 
 
105 
 
Additional Patient Location Settings 
The following sections will give a more detailed explanation of some of the Patient Location settings that 
have not been discussed in depth in this chapter up to this point. The settings are discussed in the order 
that they appear in the Quick Properties pane. 
If after reading this section you still have questions about some of these settings, please contact FlexSim 
Customer Support. 
Patient Condition 
The Patient Condition group is only available for Patient Queuing objects. These settings can cause 
something to happen to patients the longer they are in the waiting room (such as increasing their acuity 
level). You can also use these settings to determine the specific conditions that will cause a patient to 
leave early without being treated (such as a long waiting time). 
The Patient Condition settings are shown in the following image: 
 
To change the settings: 
 Evaluate patients every - Type a number in this box or use the arrows to determine how frequently the 
waiting room should evaluate the patients that are currently in the waiting room. 
 Patient Condition Changes - Use this box to determine what should happen when the patients in the 
waiting room are evaluated. When you click on the arrow next to this box and select Conditional 
Change, a box will pop up that will guide you through the process. 
 Patient Leaves Early - Use this box to determine the conditions that will cause a patient to leave early 
without being treated. When you click on the arrow next to this box and select Conditional Early Exit, 
a box will pop up that will guide you through the process. 
Maintenance 
The Maintenance group is only available for Patient Processing objects. These settings can be used to 
require a staff member to clean, repair or perform some process on the object after it has been used by the 
patient. 
The Maintenance settings are shown in the following image: 
106 
 
 
To change the settings: 
1. Check the Maintenance required check box to enable the other settings in this group. 
2. In the Process Time box, enter a number that will represent the amount of time it takes to perform 
maintenance on this object after a patient has used it. See Processing Time for more information about 
this setting. 
3. In the Staff box, use the menu or the eyedropper to select which staff member should perform the 
maintenance. See Staff Requirements for more information about this setting. 
4. Use the Priority box to change the priority level of the maintenance activity. See Staff and Resource 
Priorities for more information about this setting. 
Entrance Criteria 
The Entrance Criteria group is available for all objects except Patient Arrivals objects. These settings can 
be used to determine the criteria that patients must meet before being allowed to go to this location. You 
can also set the priority by which patients will be admitted to this location. And you can change the 
maximum occupancy of patients that can come to this location. 
The Entrance Criteria settings are shown in the following image: 
 
To change the settings: 
 Entrance Criteria - Use this menu to determine what criteria the object will use to determine which 
patients should be allowed to go to this location and their priority. 
 Maximum Occupancy - Type a number in this box or use the arrows to determine the maximum 
number of patients that will be allowed to come to this location. 
Labels 
You can use the Labels settings to add a custom label to any object. Labels can be used to gather 
statistical data or to allow for more advanced simulation model functions, such as Global Tables. This 
107 
 
version of the User Manual will not discuss labels in depth. Contact FlexSim Customer Support if you 
would like more information about labels. 
Advanced Visuals 
You can use the Advanced Visuals settings to change the way the object is displayed or animated. This 
version of the User Manual will not discuss labels in depth. Contact FlexSim Customer Support if you 
would like more information about Advanced Visuals. 
Triggers 
You can use the Triggers settings to cause certain events or actions to occur when something happens to 
the object, such as when a patient arrives at the object. Triggers can be used to create more advanced 
simulation model functions. This version of the User Manual will not discuss triggers in depth. Contact 
FlexSim Customer Support if you would like more information about triggers. 
108 
 
Introduction to Connecting Locations and Item Objects 
After you've placed all the objects in your simulation model, you need to make connections between the 
objects so that patients or items will move from object to object as needed. If you don't make connections 
between objects, your patients or staff members could get stuck in their current location and be unable to 
move when you run your simulation model. 
You can make these connections using the Flowchart tool. As its name suggests, the Flowchart tool looks 
like an actual flowchart, with shapes representing different objects or areas in your simulation model, as 
shown in the following image: 
 
The Flowchart tool has two different screens for connecting objects: 
 Patient Areas - Use this screen to view and connect all of the areas in your model. 
 Item Objects - Use this screen to view and connect all Item Objects in your model. 
Any time you add a new location to an area in your simulation model, the area will automatically show up 
as a shape in the Flowchart tool in the PatientAreas screen. (See Adding Location to Areas for more 
information.) If you added any Item Objects to your model, these will also show up as a shape in the Item 
Objects screen. 
The guiding principle to keep in mind when using the Flowchart tool is: unless you make connections 
between location objects, your patients won't be able to move or interact with the objects in your model. By 
that same token, unless you make connections between Item Objects, these objects will not be able to 
transfer an item from one object to another. As a general rule, it's better to make too many connections 
between areas or Item Objects rather than too few. 
109 
 
The Flowchart Tool at a Glance 
The main elements of Flowchart tool are labeled in the following image: 
 
Each element will be described in more detail in the following sections: 
Flowchart 
The Flowchart is the main workspace you will use to create the connections between objects in your 
model. 
Shape 
The Flowchart shapes represent different things depending on whether you're viewing the the Patient Area 
or Item Objects screen: 
 Patient Areas - The shapes represent areas 
 Item Objects - The shapes represent Item Objects 
Connection 
A connection is represented by an arrow between two objects. This allows patients or items to move from 
one area or Item Object to another. 
Be aware that if the connection is only pointed one way, it means that the patients or items can only move 
from the first object to the second. For example, in the following image, patients can only travel from the 
Waiting Room Area to the Immunization Area, not vice versa: 
110 
 
 
If you want patients to be able to travel back from the Immunization Area to the Waiting Room Area, you 
need to make another connection going from the second object back to the first. When you've made that 
connection, you'll see a bi-directional arrow, as shown in the following image: 
 
In this example, now patients would be able to travel back and forth between the Waiting Room Area and 
the Immunization Area. 
Toolbar 
The toolbar has several available tools, as shown in the following image: 
 
These tools are listed and described below: 
Viewing Modes - Allows you to switch between the two different flowchart screens: 
 Patient Areas - Use this screen to view and connect all of the areas in your model. 
 Item Objects - Use this screen to view and connect all Item Objects in your model. 
 
Connection Tools - Allows you to switch between connection mode or disconnection mode. (See Using 
the Flowchart Tool for more information.) 
Miscellaneous Tools - A variety of tools with different uses: 
 The List Locations button will make the shapes display all the locations are contained in each area. 
This button is not available when looking at the Item Objects screen. 
 The Remove Connections button will remove all the connections between shapes. 
 The Reset button will restore all the shapes to their default positions in the flowchart. 
Quick Properties 
When you click on a shape, you'll be able to use the Quick Properties pane to change the default settings 
of each shape: 
 Width - Type a value in this box or use the arrows to change the width of the shape. 
 Color - Use this menu to change the shape's color. 
 Active locations - If an area has more than one location, you can select how many of those locations 
you are active. This means that if you select a number less than the total number of locations in the 
111 
 
area, one or more of your locations will not be available for a patient to use when they go to that area. 
For example, pretend you've got a Bed Area with four beds. If you select 3 from the Active locations 
menu, that means only the first three beds will be active. The fourth bed will have a red floor 
underneath it and patients won't be able to use that particular bed. 
 Upstream and Downstream Connections - Use this menu to view the shapes connected to this 
shape. When you are viewing the Patient Areas screen, you can also use this tool to determine the 
priorities the model should follow when determining where to send a patient. You can drag and drop 
the locations in each area to re-organize their priority. When patients are assigned to go to a particular 
area, they will be assigned to the first available area listed here. If the first location is occupied, the 
patient will be assigned to the second location if it is available (and so forth). 
 
112 
 
Using the Flowchart Tool 
To open the Flowchart tool, click the Flowchart button on the main toolbar. The Flowchart tool will appear 
in a pane to the right of your model. 
Connecting Shapes 
To connect two shapes, you need to turn on connection mode. One way to turn on connection mode is to 
use the Connect Shapes tool: 
1. Click the Connect Shapes tool on the Flowchart toolbar. (See The Flowchart Tool at a Glance - 
Toolbar for more information.) You will then be in connection mode. When you are in connection mode, 
your mouse pointer will change to a plus sign with chain link symbol next to it, as shown in the following 
image: 
 
2. Now that you are in connection mode, you can connect two shapes together. Click on the first shape 
you want to connect. You will notice a yellow line will appear between the object you clicked and your 
cursor as you move your mouse away from the shape. 
3. Click on a second shape to create the connection between the two shapes. 
4. You will still be in connection mode even after you connect two shapes together. You can continue 
connecting shapes together if needed. 
You can use a few different methods to turn off connection mode when you are using the Connect Shapes 
tool: 
 Click the Pointer tool on the Flowchart toolbar. 
 Press the Esc key. 
 Right-click your mouse (which will change it to a different mode such as disconnect mode). 
 
Keyboard Shortcuts 
You can also possibly use keyboard shortcuts to turn connection mode on or off. 
Press and hold down the A key to turn on connection mode. Connection mode will 
automatically turn off as soon as soon as you stop pressing the shortcut key. Continue 
pressing and holding down the key if you want to continue connecting more shapes 
together. 
Disconnecting Shapes 
To disconnect two shapes, you need to turn on disconnection mode. One way to turn on disconnection 
mode is to use the Disconnect Shapes tool: 
113 
 
1. Click the Disconnect Shapes tool on the Flowchart toolbar. You will then be in disconnection mode. 
When you are in disconnection mode, your mouse cursor will change to a plus sign with a broken chain 
link symbol next to it, as shown in the following image: 
 
2. Now that you are in disconnection mode, you can remove a connection between two shapes. Click on 
the first object you want to disconnect. You will notice a yellow line will appear between the object you 
clicked and your cursor as you move your mouse away from the shape. 
3. Then click on the shape to which it is connected. The connection will disappear. 
4. You will still be in disconnection mode even after you remove the connection between two shapes. You 
can continue disconnecting shapes together if needed. 
You can use a few different methods to turn off disconnection mode when you are using the Disconnect 
Shapes tool: 
 Click the Pointer tool on the Flowchart toolbar. 
 Press the Esc key. 
 Right-click your mouse (which will change it to a different mode such as pointer mode). 
 
Keyboard Shortcuts 
You can also possibly use keyboard shortcuts to turn disconnection mode on or off. 
Press and hold down the Q key to turn on disconnection mode. Disconnection mode 
will automatically turn off as soon as soon as you stop pressing the shortcut key.Continue pressing and holding down the key if you want to continue removing 
connections. 
 
114 
 
Introduction to Staff and Resources 
This chapter will discuss how to add and manage staff members and other resources in your simulation 
model. 
As a reminder, in FlexSim HC, a resource is a specific object that patients will use or interact with as they 
move throughout the simulation model. Resources can move around the model if needed. Resource 
objects are listed under Resource Groups in the Library, as shown in the following image: 
 
There are basically four types of resources: 
 Staff - Staff members represent human resources such as doctors, nurses, receptionists, etc. 
 Transports - Transports are used for moving patients from one location to another such as 
wheelchairs, gurneys, ambulances, etc. 
 Equipment - Equipment represents medical equipment that can easily move around the simulation 
model such as IV carts, ventilators, food carts, etc. 
 Elevator - Elevators can be used to move objects in simulation models with more than one floor. Be 
aware that this category only has one object (the Elevator). Therefore you won't see a submenu of 
objects when you click on the Elevator icon in the Library. You can just drag an Elevator directly from 
the Library and into your simulation model 
A resource group (also called a group for short) is a collection of at least one or more type of resource. 
For example, you can create a group called Nurses that has four nurse nurse staff members associated 
with it. Each nurse is a member of the Nurses group. You can then create patient activities in the Patient 
Track Manager that can use one of the available group members in the Nurses Group to work on the 
activity. 
All resources in your simulation model must be part of a group. When you first add a resource to your 
model, there will only be one resource in that group (one group member). You will then add more group 
members to that group in order to add more resources of that type. 
115 
 
Adding Resources to a Model 
The process for adding a resource to a model is very similar to the process of adding any other object to a 
model. Simply put, you click on an object in the Library and drag it into your simulation model. (See Adding 
Objects to a Model for more information.) 
However, there are a few slight differences. One difference is that when you add one of the objects from 
the Resource Group category in the Library, you are not merely adding a single resource. You are actually 
adding a resource group object. You could possibly think of a resource group as a container for multiple 
resources (group members). When you first add a resource group, it will only have one group member at 
first. However, you can possibly add more resources (group members) to a resource group after you've 
added it. 
For example, when you add a wheelchair to your simulation model, you are actually adding a wheelchair 
group that only has one wheelchair group member by default. If you wanted to have more wheelchairs, you 
would add additional group members to the wheelchair group. 
The advantage of having resource groups is that you can assign an entire group of resources to work on 
an activity rather than assigning each resource individually. For example, you can assign the wheelchair 
group to an activity and then the patient can use any of the wheelchairs in that group as opposed to being 
limited to one specific wheelchair. (See How Staff and Resources Are Assigned to an Activity for more 
information.) 
This is especially useful when assigning staff resources to work on an activity. For example, perhaps you 
want to simulate a health care facility with two physicians. Rather than assigning just one physician to 
examine a patient, you could have a Physicians resource group with two group members (Physician1 and 
Physician2). You could then assign the Physicians group to examine a patient. That way either of the two 
members of the Physicians group could perform the examination if they are available. The patient wouldn't 
have to needlessly wait for Physician1 to examine them if Physician2 is available. 
Adding Members to a Resource Group 
Once you've added a resource group to the simulation model, you can add more members to the group 
using the following steps: 
1. Click on a resource group to select it. Be aware that selecting a group can sometimes be problematic. 
See Selecting a Resource Group or Group Member for more information. 
2. In Quick Properties, under Edit Group, use the Total Members box to increase or decrease the 
number of resources in this group. You can either type a value in the box or use the arrows to adjust 
the number of resources. 
Copying Members of a Resource Group 
Sometimes you might want to make a copy of an individual member of a resource group. For example, you 
could copy a group member if you've changed the group member's settings and you'd like to add an 
identical group member that uses those same settings. To copy a group member: 
1. Click on an individual member of a resource group. 
2. In Quick Properties, in Edit Group Member, you can click the Plus button to add a copy of the 
currently selected group member to the resource group. 
116 
 
 
117 
 
Selecting a Resource Group or Group Member 
When selecting a resource group or group member, be careful to make sure you are selecting the correct 
object. Resource groups are represented by a colored rectangular square on the floor of the simulation 
model. In the following image, the resource group is the blue rectangle that the RNs are standing on: 
 
Resource groups act like a base of operations for the resources. When a resource is not in use as part of a 
patient activity, the resource will return to its resource group. 
In order to select a resource group, you need to click on the colored rectangle underneath the resources, 
as shown in the following image: 
 
Make sure you have not accidentally selected a group member instead. The following image shows how an 
individual group member looks when selected: 
118 
 
 
 
119 
 
Renaming Groups and Group Members 
By default, groups will be named based on what type of object they are. For example, if you added a CNA 
staff group object to your model, the first group will be called CNAs, the second CNA group will be called 
CNAs2, and so forth. 
To change the name of the group: 
1. Select the group, making sure you don't select an individual group member. (See Selecting a Resource 
Group or Group Member for more information.) 
2. In Quick Properties, under General Properties, type a new name in the Name box. 
3. Either click outside the box or press Tab to save the changes. 
In that same vein, you can change the name of individual group members. By default, group members will 
be named based on the group they belong to. For example, the first member of the CNA group will be 
named CNA_1, the second member will be CNA_2, and so forth. 
To change the name of a group member: 
1. Select the group member, making sure you don't select the actual group itself. (See Selecting a 
Resource Group or Group Member for more information.) 
2. In Quick Properties, under General Properties, type a new name in the Name box. 
3. Either click outside the box or press Tab to save the changes. 
 
Dynamic Group Member Names 
It's possible to make a group member's name change whenever the group name 
changes. All you have to do is make sure you only change the part of the group 
member's name that comes after the underscore. For example, let's say you had a 
group called CNA and a group member named CNA_1. If you wanted to use the 
CNA's name instead of a number, you could rename the group member to CNA_Pat.Later, if you changed the group name to Nurses, the group member would 
automatically update to Nurses_Pat. 
 
120 
 
Moving Groups and Group Members 
You can easily move or rotate an entire resource group the same way you would move any other object. 
(See Moving, Resizing, and Rotating Objects for more information.) However, if you want to move or rotate 
an individual member of a resource group, you'll have to change its position relative to the resource group. 
The resource group is represented by a colored square that is initially positioned underneath the group 
member. You can change its position using the mouse or Quick Properties. Each method will be explained 
below. 
Moving Group Members Using the Mouse 
To re-position group members relative to the group, click on the group member and drag it to the position 
you want it to be relative to the resource group box. Notice that if you then click on the resource group box 
and drag it to a different position, the group member(s) will also move relative to the resource group box's 
new position. 
Moving Group Members Using Quick Properties 
To re-position group members relative to the group using Quick Properties: 
1. Click on the individual group member to select it. (See Selecting a Resource Group or Group Member 
for more information.) 
2. In Quick Properties, under Edit Group Member, adjust the settings for the X Offset, Y Offset, or Rot 
Offset. 
 
121 
 
Changing the Appearance of Staff Resources 
As mentioned in the introduction to this topic, there are many different settings that you can use to 
customize the appearance of individual staff members. You can change many settings, as shown in the 
following image: 
 
To change these settings: 
1. Click on the staff member in the simulation model to select it. (See Selecting a Resource Group or 
Group Member for more information.) 
2. In Quick Properties under Person Visuals, adjust any of the visual settings: 
o Shape - The staff member can either be a male or female shape and can possibly push a cart. 
o Head - This setting changes the staff member's hairstyle, hair color, and skin tone. 
o Shirt, Pants, and Shoes - You can use these three settings to change the color or fabric of the 
staff member's clothing. 
o Accessories - Check the box next to one of the accessories in this list to give the staff member 
any of the accessories listed here (such as stethoscopes or surgical masks). If you also click on 
one of the accessories, you will be able to use a box beneath the Accessories box that will 
allow you to change the color or fabric of the accessory. 
The Eyedropper 
122 
 
 
Whenever you see the Eyedropper button you can click it to sample the settings 
from another other object in the simulation model. In this case, you can use it to 
sample the color settings for a particular object. See Eyedropper for more information. 
 
123 
 
Creating Alternate Resource Groups 
Before reading this section, you might want to read Introduction to Staff and Resources to ensure you 
understand the difference between a resource group and a group member. 
An alternate group is a collection of smaller resource groups (usually staff resource groups) combined 
together into one large group. You can then assign the alternate group to a specific activity so that 
members in any of the smaller groups can be assigned to work on an activity. 
Sometimes you might want two different resource groups to be able to do the same task. For example, let's 
say you have a day shift of nurses (perhaps the group is named Day_Nurses) and a night shift (named 
Night_Nurses). Each group has four group members. Because both the day shift nurses and night shift 
nurses work on identical activities, you will want the members of either group to be able to work on a 
particular patient activity. The solution is to create an alternate group that will contain both the day shift 
nurses and the night shift nurses. (See the Shift Schedules Tool for information about creating different 
shift schedules for staff members.) 
You'll create the alternate groups using the Alternate Group tool. You can access the Alternate Group tool 
using the Toolbox. The Alternate Group tool uses the tool components feature. This means that you will 
use the Toolbox to create, rename, delete and create a duplicate copy of each alternate group. (See Using 
the Toolbox and Toolbar for more information.) 
To create your first alternate group: 
1. If needed, click Toolbox on the toolbar to open the Toolbox in the left pane. 
2. Click Add new tool at the top of the Toolbox. This will open a menu of possible tools. 
3. Select Alternate Groups. This will create a new group named AlternateGroup1 in the Toolbox and will 
open up the newly created group in the Alternate Group tool, as shown in the following image: 
 
4. You'll come back to the Alternate Group tool in a moment, so leave it open. In the Toolbox, right-click 
AlternateGroup1 and select Rename from the menu. Change the name of of this group to All_Nurses 
and hit the Enter key. 
124 
 
5. Now go back to the Alternate Group tool and add some members. Click the Plus sign at the top of 
the Alternate Group tool. This will open up a sub-menu listing all the resource groups that you've added 
to your model so far. 
6. Select the name of the resource group you want to use. In this example, you'd select Staff Groups, 
then Day_Nurses. Select Day_Nurses one more time to add the entire group to this alternate group. 
(Alternatively, you could add all four members of the Day-Nurses group one by one, if desired.) 
7. Repeat steps 5 and 6 to add the Night_Nurses group. 
8. If desired, you can close the Alternative Group tool now by clicking on the X in the top right corner of 
the tool. 
Now you can assign this group to work on an activity and both the day shift and the night shift nurses will 
be able to work on it. 
NOTE: The Quick Properties for the Alternate Group Tool will not be explained in this version of the User 
Manual. For information about these settings, contact FlexSim Customer Support. 
125 
 
Creating Patient-Centered Activities 
After you've finished building the basic layout of your facility in your simulation model, you'll need to 
determine how the patients and staff members will interact within your simulation model. This chapter will 
explain how to create patient-centered activities, which are the series of activities based on what patients 
will do once they enter a simulation model until they exit. These activities can include: 
 Processes that the patient will do themselves 
 Processes performed by staff members on the patient 
 Processes that are related to a patient's care but which are performed by staff in a location other than 
the patient's current location (such as a doctor leaving the room to consult with a nurse, filing a 
prescription, etc.) 
 
Routine Staff or Location Activities 
Most staff activities are patient-centered, meaning they are determined by the patient's 
movement and behavior within the model. However, you might want to simulate 
routine staff activities will occur on a regular basis. For example, you might want to 
simulate a receptionist answering incoming phone calls. Or you might want to simulate 
a nurse in a hospital ward who is required to check every patient's vital statistics once 
an hour. See Routine Staff or Location Activities for information about simulating these 
kinds of activities. 
To create patient-centered activities, you will primarily use the Patient Track Manager to determine how 
patients and staff will behave once they arrive in your simulation model. The following image provides a 
high-level overview of how the various components of the Patient TrackManager are interrelated: 
126 
 
 
A patient track (also sometimes referred to simply as a track) is the overall plan for a patient's care. At its 
most basic level, a patient track is a step-by-step series of activities that a patient will follow from the time 
they arrive in the simulation model until the time they exit the model. However, it is possible to build more 
complex patient tracks in which activities occur simultaneously or which are dependent on certain 
conditions. You can also possibly have more than one patient track for different types of patients. For 
example, if you were simulating a pediatrician's office, you could possibly have two different patient tracks: 
one track for a Wellness clinic that gives periodic check-ups to healthy children and one track for a Sick 
clinic that treats children with an illness or other health condition. (You would create the two different 
classifications of patients using the Patient Arrival object.) 
Each patient track contains an activity list, which is a list of all the activities that patient and staff will follow 
when an individual patient enters the simulation model until the time the patient exits the model. 
Each activity list contains multiple activities. Each activity represents a particular event or action that will 
occur at a certain point as the patient proceeds through the simulation model. For example, if you were 
simulating a pediatrician's office, you would have an activity for patients as they arrive and walk to the front 
desk to check in. Then you would have another activity while they filled out their initial paperwork and paid 
their co-pay at the front desk. Then there would be another activity while patients waited in the waiting 
room, and so forth. 
Each activity consists of a series of tasks, which are the basic steps involved in each activity. The tasks for 
each activity depend on the activity's settings and activity type, which will be explained in more detail later 
in this chapter. 
The first half of this chapter will explain some of the important general concepts about activities. The 
second half will discuss how to use the Patient Track Manager to build effective patient tracks for your 
simulation model. 
work. 
127 
 
Introduction to Key Concepts About Activities 
Activities are the key component of simulation models in FlexSim HC. Because activities are so crucial to 
how simulation models work, they are complex. While their complexity is what makes activities so feature-
rich, they can also be difficult to understand at first. This section of the User Manual will discuss some of 
the basic concepts and common misconceptions related to how activities work. 
128 
 
Most Activities are Patient-Centered 
One of the most important concepts to keep in mind when designing your activity list is to remember that 
nearly all activities are centered around what individual patients are doing in your simulation model. Nearly 
everything in the simulation model is driven by: 
 The arrival or departure of patients 
 The patient's status (such as their acuity) 
 The patient's activities and movement inside the model 
The reason this concept is important is that many new FlexSim HC users typically think that staff members 
like doctors, nurses, and receptionists perform actions independently of patients. Keep in mind that in HC, 
nearly everything the staff members do will be in relation to the patient's care. Nearly all of the activities in 
the activity list in the Patient Track Manager will be based on the patient's actions. 
Exceptions 
While the majority of activities in HC are patient-centered, there are a few exceptions. One exception is 
when items (such as cultures, blood samples, etc.) are created and processed in labs. While items are 
being processed in a lab, the lab processes will run independently, meaning they will have a different set of 
activities that are based on the item's progress as it is being processed in the lab. Item processing will not 
be affected by the patient's activities, although it is possible that a patient activity might not begin until an 
item has finished being processed. 
Another exception is simulating routine staff or location activities that will occur on a regular basis. For 
example, you might want to simulate a receptionist answering incoming phone calls. Or you might want to 
simulate a nurse in a hospital ward who is required to check every patient's vital statistics once an hour. 
See Routine Staff or Location Activities for information about simulating these kinds of activities. 
129 
 
Building Complex Patient Tracks and Activity Lists 
If all the patients in your simulation model will follow the same procedures when they come to your health 
care facility, you will only need to build one patient track and it will be relatively easy for you to build a 
simple activity list. 
However, if you want to build a more complex track in which patients will follow a different set of 
procedures based on the type of patient they are or based on complex conditions, you might want to put a 
little thought into the best method for building your patient activity system. (See Using the Patients 
Classification Tool for more information about the different ways you can create different types of patients 
in FlexSim HC.) 
There are basically two methods for building a complex patient activity system: 
 Multiple Patient Tracks - You can build more than one patient track and assign different types of 
patients to different patient tracks. (See Using the Patients Classification Tool for more information 
about how to assign different patient types to different tracks.) 
 One Track With Decision Points - You can build one patient track and use a Decision Point (which is 
a specific activity type) somewhere in the activity list. The Decision Point will then use a set of criteria 
that you will define to determine which activity (or set of activities) the patient should do next. 
When deciding which method to use, you should consider whether different types of patients will follow the 
same basic procedures with a few minor variations as opposed to having very different procedures from 
the outset. If there will be only a few minor variations, you should probably just use a single track with a 
Decision Point. If different types of patients will follow very different treatment plans, then you should 
probably use multiple patient tracks. 
See Adding and Managing Patient Tracks for more information about creating multiple patient tracks. And 
see Decision Points for more information about creating Decision Point activities. 
130 
 
How Activities Begin 
Sometimes new HC users assume that patients will complete a set of activities based on the order in which 
the activities are listed in the activity list. They assume that when a Patient finishes one activity, the next 
activity listed in the track will automatically begin. This is not the case. 
In reality, there are two catalysts that can make an activity begin: 
 Predecessors - In the settings for each activity, you can check the Use Predecessors box and, in the 
text box below, indicate the activity (or activities) that must be completed before the current activity can 
begin. As soon as the Predecessor(s) finish, the current activity will begin. 
 Next Activity - In the settings for each activity, you can use the Next Activity text box to indicate which 
activity (or activities) should start when the current activity is finished. 
The Predecessor method and the Next Activity method have fairly subtle but important differences. The 
key difference has to do with whether the simulation system is constantly attempting to begin the activity 
(the Predecessor method) as opposed to waiting until it is specifically directedto begin the activity (the 
Next Activity method). 
The Predecessor method is the default method used in FlexSim and we recommend you primarily use that 
method to begin an activity. However, the Next Activity method can be helpful when you want the next 
activity to begin based on a complex set of conditions. 
Both methods will be explained in more detail in the sections of the User Manual that explain how to adjust 
the settings for those two methods. See Basic Activity Settings - Predecessors for more information about 
the Predecessor method and see Specific Activity Type Settings - Next Activity for more information about 
the Next Activity method. 
Be aware that there are a few other catalysts that can cause an activity to begin, such as start conditions, 
simulation start time conditions, and repeat intervals. However, they are more commonly used in routine 
activities rather than patient-centered activities. Since this chapter is about patient-centered activities, it will 
not be discussed in this section of the User Manual. See Routine Staff or Location Activities for more 
information. 
 
Activities Usually Can't Be Repeated 
Once a patient has completed an activity in the activity list, that patient will not be 
able to do that activity again. The only exception is if you are using a repeat 
interval. Beginners should avoid using repeat intervals because it can cause an 
infinite loop that can crash the simulation model when it runs. 
 
If you want a patient to do the same activity twice, you could possibly create two 
identical activities in your activity list. 
 
131 
 
What Happens During an Activity 
HC has ten different pre-built Activity Types. Each activity type has a roughly similar set of phases, as 
shown in the following image: 
 
The following table describes each phase in more detail: 
Phase General Tasks Visual Appearance 
Beginning 
Phase 
 The activity starts 
 The system will check if the locations, 
staff, and/or resources needed for 
this activity are available 
 If unavailable, the system will request 
the necessary location, staff, and/or 
resources (in that order) 
 If available, the next phase begins 
 Patients will remain in 
their current location and 
appear to do nothing 
132 
 
Assignment 
Phase 
 When the required location, staff, 
and/or resources become available, 
they are assigned to the current 
activity (in that order) 
 Patients will remain in 
their current location and 
appear to do nothing 
Movement 
Phase 
 If staff has been assigned to the 
activity, they will travel to the 
patient's current location or to a 
different designated location 
 If a staff member is assigned to get a 
resource (such as a piece of 
equipment or a transport), the staff 
will travel to the resource and move it 
to its designated location 
 If the patients are supposed to move 
to a new location, the patients will 
move to the assigned location 
(patients can walk unattended or 
they can be escorted/transported by 
staff) 
 If a staff member needs to 
pick up a resource, the 
staff will travel to the 
resource and then move 
it to the designated 
location 
 If a staff member is 
escorting or transporting 
the patient, the staff 
member will travel with 
them to the designated 
location 
 If a staff member is 
assigned to go to a new 
destination, the staff 
member will travel to the 
new destination 
 If a patient is walking 
unattended, the patient 
will travel to the 
designated location 
Process 
Phase 
 During this phase, there is a time 
delay while the process is occurring 
 For example, if the activity 
processing time for a patient in 
surgery is 45 minutes, the patient 
and any staff will be in the operating 
room for 45 minutes once this phase 
begins 
 The patient and any 
assigned staff or 
resources will remain 
stationary at their current 
location 
 No additional animations 
will occur 
Concluding 
Phase 
 If needed, any items or messages will 
be created and sent to their 
appropriate destination 
 If a resource (such as a piece of 
equipment or transport) is supposed 
to be returned to its original location, 
a staff member will return it at this 
time 
 The location, staff, and resources will 
be released unless they have been 
reserved or "kept" for the patient's 
next activity 
 Patients will stay at their 
current location 
 If staff and/or resources 
have been reserved or 
"kept" for the patient's 
next activity, the staff and 
resources might remain 
at their current location 
 If not needed for the next 
activity, the staff and 
resources will return to 
their default location or 
will begin their next 
assigned activity 
133 
 
 Any activities that are set to begin 
when this activity concludes will now 
begin 
There might occasionally be some variation in how these tasks are carried out depending on the activity 
type. See Activity Types for more information about the specific tasks that will occur during each activity 
type. 
134 
 
How Patients and Staff Move to Locations or Areas 
When you are building activities, sometimes you'll want to indicate that patient or staff members will travel 
to a different destination within the simulation model. You should be careful when deciding whether to send 
a patient or staff member to a specific location as opposed to an area. 
As a reminder, a location is a specific object that patients and staff will interact with as they move through 
the simulation model. A location could be a receptionist desk, a bed in a waiting room, an exam table, etc. 
By contrast, an area is a general collection of related locations. For example, imagine your simulation has 
six different Bed Objects (which are locations). They would automatically be part of the BedArea (unless 
you changed the area name to something different like Examination_Rooms). 
If you assign the patient or staff to go to an area, then the patient or staff will go to any available location 
within that area. If all the locations inside the area are currently occupied, patients will wait in their current 
location until one becomes available. 
By contrast, if you assign the patient or staff to go to a specific location, they will only be able to go to that 
specific location and nowhere else. This could create an unnecessary delay if all the patients attempt to go 
to Bed 1 when there are six other Bed Objects they could go to within the Bed Area. For that reason, it 
might be better to assign patients to a general area rather than a specific location. 
 
Patient Locations 
Always keep in mind that the patient's last location at the end of one activity is 
where the patient will be located when the next activity begins. Unless you assign 
the patient to a new location in the next activity, the patient will remain in that 
same location. 
 
135 
 
How Staff and Resources Are Assigned to an Activity 
When you are building activities, sometimes you'll want to assign staff members or other resources to the 
activity. You should be careful when deciding whether to assign a specific staff or resource to an activity as 
opposed to a resource group. 
As a reminder, a resource is a specific object that patients will interact with as they move throughout the 
simulation model. A resource can be staff members, transports (transportation items such as wheelchairs 
and gurneys), and medical equipment. 
By contrast, a resource group is a general collection of resources. For example, imagine you wanted to 
have a simulation model with four nurses. You would create a resource group (see Adding Resources to a 
Model for more information) and rename it so that it was called Nurses. By defaultthis group will begin with 
one group member (one nurse). You could add more members to this group until there are four members 
of the Nurses group (four nurses). 
If you assign a resource group to an activity, then any available staff or resources in that group will be 
assigned to the activity. If all the resources in the group are being used in a different activity, patients will 
wait until one becomes available. 
By contrast, if you assign an individual staff member or specific resource to an activity, then the activity will 
only be able to use that specific resource and nothing else. This could create an unnecessary delay if all 
the patients need Nurse 4 when there are three other nurses in the Nurse Group they could use. For that 
reason, it might be better to assign resource groups rather than a specific resource. 
136 
 
Staff and Resource Priorities 
As was discussed in What Happens During an Activity, during the Beginning Phase of an activity, the 
system will check the availability of the staff and/or resources needed for the activity. By default, the 
system will assign resources to activities based on the order in which the resource requests were received 
(first in, first out). 
However, what if there are certain activities that should have a higher priority over others? For example, if 
you were simulating an Emergency Room, you would want a patient with a gunshot wound to have a 
higher priority than a patient who merely needs stitches for a small laceration. You would want the required 
staff to stop the current activity they were working on and begin working on the patient with the gunshot 
wound first. 
You can create this kind of complexity using FlexSim HC's priority system. The priority system has two 
important terms that you need to understand: 
Priority Level - This is a number you can assign to an activity's resource requests. By default, all resource 
requests are assigned a priority level of 150. You can customize the priority level by changing the priority to 
any number you want. There is no limit to how many digits you can use. 
Tiers - Different priority levels belong to different tiers. A tier is a range of approximately 100 numbers. The 
following table illustrates the relationship between tiers: 
Priority Levels Tier 
0-99 First tier 
100-199 Second tier 
200-299 Third tier 
300-399 Fourth tier 
Etc. Etc. 
Priority levels 0-99 are in the first tier and are considered to have a lower priority relative to other tiers. 
With those terms in mind, the following are a few important concepts about the priority system that you 
should keep in mind: 
 All of the resource requests for a particular activity will be assigned the same number. So, if you 
assign a priority level of 75 to the staff resources for a particular activity, any requests for other 
resources such as equipment or transports will also be assigned a priority level of 75. 
 When a resource request has a higher priority level than another request, it will be assigned the 
resource first. For example, imagine that two activities are requesting a staff member. Perhaps one 
has a priority level of 150 and another one has a priority level of 151. Once a resource becomes 
available, the request with the priority of 151 will be assigned the resource first. 
 Resources that are currently assigned to an activity in a lower tier will be re-assigned to a new 
activity if the system receives a new resource request that is in a higher tier. Assuming that no 
other staff resources are available, staff members assigned to an activity will stop working on that 
137 
 
activity and will instead go work on any activities that are in a higher tier. To use the example of an 
emergency room that was mentioned earlier, let's say a staff member is preparing to stitch up a 
patient's lacerated leg, which possibly has a priority level of 215. Suddenly, a patient with a gunshot 
wound enters the facility and needs immediate surgery, which has a possible priority level of 300. 
Because the surgery is in a higher tier, the staff member will immediately stop preparing to stitch the 
patient's leg and go perform the surgery instead. 
With these concepts in mind, it might be a good idea to plan out what priorities you will give to certain 
activities before designing your patient tracks and activity list. 
138 
 
Adding and Managing Patient Tracks 
Before reading this section, see Building Complex Patient Tracks and Activity Lists for more information 
about the pros and cons of building multiple patient tracks. 
You'll create patient tracks using the Patient Track Manager. You can access the Patient Track Manager 
using the Toolbox. The Patient Track Manager uses the tool components feature. This means that you will 
use the Toolbox to create, rename, delete and create a duplicate copy of each patient track. (See Using 
the Toolbox and Toolbar for more information.) 
To create your first patient track: 
1. If needed, click Toolbox on the toolbar to open the Toolbox in the left pane. 
2. Click Add new tool at the top of the Toolbox. This will open a menu of possible tools. 
3. Select Patient Tracks. This will create a new patient track named Track1 in the Toolbox and will open 
up the newly created track in the Patient Track Manager. 
Now you can begin adding activities to this patient track, which will be discussed in the rest of the topics in 
this chapter. 
139 
 
The Patient Track Manager at a Glance 
The Patient Track Manager is the main tool you will use to add and edit activities. The main elements of 
the Patient Track Manager are labeled in the following image: 
 
Each element will be explained in more detail in the following sections. 
140 
 
Tabs 
At the top of the Patient Track Manager are tabs for each patient track that is currently open. (See Opening 
and Closing a Tool Component for more information on opening a patient track.) The track that is currently 
active will be highlighted in blue. 
Toolbar 
The following table explains the purpose of the different icons on the Patient Track Manager toolbar: 
Icon 
Tool 
Name 
Purpose 
 
Add Click to add a new activity to the current track 
 
Delete Click to delete the currently selected activity 
 
Move Up Click to move the currently selected activity up one position in the activity list 
 
Move 
Down 
Click to move the currently selected activity down own position in the activity 
list 
 
View 
Table 
Click to view the current track as a table to get a high level overview of the 
settings for each activity. 
 
Patient 
Visuals 
Click to open the Patient Visuals tool, which allows you to change the default 
visual appearance for the patients that will use this track. See Customizing 
Patient Visuals for more information. 
Activity List 
The activity list displays all of the activities that have currently been created for this patient track. By 
default, activities are listed in the order in which they were originally added to the patient track unless you 
re-organize them using the toolbar. 
Sometimes new HC users assume that patients will complete activities one after another based on the 
order in which the activities are listed in the activity list. This is not the case. See How Activities Begin for 
more information. 
141 
 
Quick Properties 
You will use the Quick Properties pane to change the settings of a particular activity. The Quick Properties 
pane is context-sensitive and will change depending on which the activity type of the activity that is 
currently selected in the activity list. See Overview of Adding and Managing Activities for more information 
about the various activity settings. 
142 
 
Overview of Addingand Managing Activities 
The following is an overview of the process for adding a new activity and customizing it activity settings: 
1. Add an activity 
2. Edit basic activity settings - Each activity has the following basic settings: 
o Activity ID 
o Activity Name 
o Milestones 
o Predecessors 
3. Choose an Activity Type - Choose one of the ten activity type templates and change the basic settings 
that are specific to that activity type, such as: 
o Patient or Staff Destinations 
o Processing Time 
o Staff and/or Resource Requirements 
4. Change any advanced settings - If needed, change some of the advanced activity settings such as: 
o Start Conditions 
o Triggers 
o Time Controls 
o Costs 
Each step of the process will be discussed in more detail in the subsequent topics in this chapter. 
143 
 
Adding an Activity 
The first step in creating a new activity is to make sure that the patient track to which you want to add an 
activity is open in the Patient Track Manager. (See Opening and Closing a Tool Component for more 
information on opening a patient track.) 
Then, click the Plus button on the toolbar to add a new activity to the bottom of the activity list. 
Each activity has an ID and an Activity Name. The first time you add an activity, it will be appear as 10_ in 
your activity list until you change its ID or Name. You can customize both the Activity ID and the Activity 
Name, as discussed in the next sections about Basic Activity Settings. 
144 
 
Basic Activity Settings 
The activity settings discussed in the following section are available for all activities regardless of which 
activity type you have selected for a particular setting: 
 Activity IDs - A whole number that will be used to refer to this particular activity. You can change the 
Activity ID to any whole number you would like as long as it is a whole number. 
 Activity Names - A name that you can give to an activity for your reference. The Activity ID and name 
will both be displayed in the Activity List. 
 Milestones - Milestones can be used to mark the beginning and/or end of a specific period of time. You 
can then use these milestones to collect and analyze statistical data about the length of time between 
milestones in your simulation model. 
 Predecessors - The settings that will determine when this activity should start. 
 
145 
 
Activity IDs 
Activity IDs are comprised of whole numbers that will be used to refer to this activity in other activities. By 
default, the first activity is 10, the second activity is 20, and so forth. If you insert an activity in between 10 
and 20, that activity would become 11. 
You can change the Activity ID to any whole number you would like as long as it is a whole number. The ID 
can have as many digits as you would like. Be aware that if you change the Activity ID of a particular 
activity, you might have to edit any of the references you've made to that activity. For example, let's say 
you've used Activity 10 as a predecessor for Activity 20, meaning Activity 20 won't begin until Activity 10 is 
complete. If you change Activity 10's ID number to 15, you should make sure that you update Activity 20's 
predecessor to 15. 
Changing an Activity ID 
To change an Activity ID: 
1. In the Patient Track Manager, select the activity in the activity list that you want to change by clicking 
on it. 
2. In Quick Properties under Activity Properties, click inside the Activity ID box, as shown in the 
following image: 
 
3. Type in a new ID number. 
4. Either press the Tab key or click outside of the box to save the new Activity ID number. 
 
Avoid creating duplicate Activity ID numbers 
For your convenience, FlexSim HC will allow you to temporarily create activities with 
identical Activity ID numbers in your activity list without giving you an error message. 
However, you should check your activity list to make sure you don't change any 
duplicate ID numbers before running your model in order to avoid potential errors. 
 
146 
 
Activity Names 
The Activity Name is a name you can give to your activity for your reference. The Activity Name has three 
parts: 
1. The Activity ID number 
2. An underscore 
3. Any descriptive text you want to add for labeling purposes (can include spaces, but some special 
characters are not allowed) 
For example, let's say you want you could create an activity that will make the patient walk to the 
Registration desk when first arriving in the simulation model. You could possibly name this Activity 
10_Arrival or 1_Patient Arrival. 
The Activity ID and underscore are required. When you change the Activity ID, it will automatically update 
the Activity Name to reflect the new number. 
Changing an Activity Name 
To add your own custom name to the Activity Name: 
1. In the Patient Track Manager, select the activity in the activity list that you want to change by clicking 
on it. 
2. In Quick Properties under Activity Properties, click inside the Activity Name box. 
 
3. After the underscore, type the name you want to give this activity. 
4. Either press the Tab key or click outside of the box to save the new Activity Name. 
 
147 
 
Milestones 
In the real world, a milestone is a significant life event that marks an individual's progress or development. 
This is similar to how milestones work in FlexSim HC. Milestones can be used to mark the beginning 
and/or end of a specific period of time. You can then use these milestones to collect and analyze statistical 
data about the length of time between milestones in your simulation model. 
You can add a milestone to any activity for recording purposes. (Be aware that using milestones is 
optional.) Every activity has a Milestone group in the Quick Properties pane. The Milestone group has 
two different settings, as shown in the following image: 
 
You can click the first pull-down menu to choose which label you want to assign to the activity. You can 
either use the pre-defined labels from the menu or you can type in a custom label instead. 
You can use the Milestone Recording Time menu to determine at what point the milestone will begin 
recording. There are only two options: 
 Before Process Time - The milestone will start recording right before the activity's process time 
begins. (See Activity Types for more information about processes.) 
 After Process Time - The milestone will start recording right after the activity's process time ends. 
 
148 
 
Predecessors 
Before reading this section, you should first read How Activities Begin to ensure you are familiar with the 
differences between using the Predecessor method for starting an activity as opposed to the Next Activity 
method. 
In order for an activity use the Predecessor method for making an activity begin, it must have a check mark 
in the Use Predecessors box (in the Quick Properties pane under the Predecessors group), as shown 
in the following image: 
 
The text box underneath the Use Predecessors box is where you would type the Activity ID of the 
predecessor activity (or activities) that must be completed before this activity begins. In the example used 
in the preceding image, once Activity 60 is complete, the current activity will begin. 
With that in mind, the following flowchart explains the process that the FlexSim HC system uses to 
determine when to start activities using the Predecessor method: 
149 
 
150 
 
To summarize, every time a patient arrives in a simulation model or the patient completes an activity on the 
activity list, the system scans the patient track to identify any activities that have a check mark in the Use 
Predecessors box. Those activities will then begin if the predecessoractivities have already finished. 
Making an Activity Begin Automatically 
An activity will automatically begin when the patient first arrives in the simulation model if: 
 The activity has a check mark in the Use Predecessors box 
AND 
 The box below the Use Predecessors check box is blank, meaning you have not typed in any of the 
Activity IDs for activities that must be completed before it can begin. 
For example, in order to start the very first activity in the activity list, you should make sure that the Use 
Predecessors box is checked but that you leave the box below it blank. This activity will automatically 
begin when the simulation begins. Be aware that the first activity you create in your patient track will have 
these settings automatically. 
Default Predecessor Settings 
By default, every new activity will have a check mark in the Use Predecessors box. With the exception of 
the very first activity you create, every activity will list the previous activity in the activity list as its 
predecessor. 
Keep in mind that the Activity IDs listed as predecessors do not automatically update at any point after the 
activity has been created. For that reason, when you change the Activity ID of any activity, you should 
make sure you also change the Use Predecessors text box for any activities that list that activity as a 
predecessor. 
Complex Predecessor Settings 
If you want to use a more complex system of predecessors, you could use Boolean operators like AND and 
OR. Use AND when you want to require all the listed predecessor activities to be completed before the 
current activity begins. The following image is an example of the AND operator: 
 
In this example, both Activity 50 and Activity 60 must be finished before this activity will begin. 
Use OR when you want the current activity to begin when either of the listed predecessor activities are 
completed. The following image is an example of the OR operator: 
151 
 
 
In this example, as soon as any one of the listed activities is finished, then the current activity will begin. In 
other words, the current activity will begin as soon as either one of the activities is finished. 
The OR operator is particularly useful if you've used the Decision Point activity type to start a few different 
possible activities based on a complex set of conditions. You might want any of those different activities to 
be followed by only one final activity (such as the patient leaving the health care facility). For example, you 
might have a Decision Point in which 50% of patients will do Activity 100 (blood work) next and 50% will do 
Activity 200 (an x-ray) next. You could list 100 OR 200 as the predecessors for Activity 300 (the patient 
leaves). 
152 
 
Overview of Activity Types 
The most important part of creating a new activity is choosing what activity type it will be. The activity type 
affects how the patient will interact with the staff and resources within the health care facility. 
Choosing an Activity Type 
After adding an activity and customizing its ID and/or name (see Adding an Activity), you should determine 
what activity type this activity should be. To choose an activity type: 
1. In the Patient Track Manager, select the activity in the activity list that you want to change by clicking 
on it. 
2. In Quick Properties under Activity Properties, click the arrow next to the Activity Type menu. 
3. Select the appropriate activity type from the menu. Some fields in Quick Properties might change based 
on the activity type you select. 
Description of Activity Types 
Currently, the following activity types are available, listed in the order that they appear in the Activity Type 
menu: 
 * Process - Simulates a simple process that will occur while patient remains at their current location. 
 Process > Send Message - Simulates a simple process that sends a message to another object in the 
model when it is finished. That message can possibly trigger a particular action somewhere else in the 
simulation model. 
 Process > Send Item - Simulates a simple process that creates an item and sends it to an item object in 
the model when the process is finished. For example, it can represent sending a throat culture to a lab 
to test for strep throat. 
 Move Equipment > Process - A staff member will move a piece of equipment to a particular destination 
and then a simple process will occur. 
 Move Transports > Process - A staff member will move a transport (such as a wheelchair, a gurney, 
etc.) to particular destination and then a simple process will occur. 
 * Escort Patient > Process - A staff member will travel to the patient's current location and escort the 
patient to a new destination in the model. Then a simple process will occur. 
 * Transport Patient > Process - A staff member will use a transport to move a patient to a new 
destination in the model. Then a simple process will occur. 
 * Patient Travels Unattended - The patient will move to a new destination in the model without a staff 
member escorting them. 
 Decision Point - When your patient reaches a point in at which the next activity might be different based 
on certain conditions, the Decision Point helps to determine which activity should be next. For example, 
perhaps based on the patient's current condition, different patients will receive different treatment after 
153 
 
they've been examined by a doctor. Perhaps some patients will need an X-ray, while others will need a 
vaccine, etc. The Decision Point can use custom criteria to determine which activity will be next. 
 Custom - This activity type has all of the same available settings as the other activity types so that you 
can create your own unique activity type if needed. 
* Indicates the most commonly used activity types. 
 
What is a process and what does the > mark mean? 
You'll notice that many of the activity types include the word "Process" in the title. 
A process is a generic term for any kind of time-sensitive event in the model. A 
process can represent anything you want it to represent: a patient examination, 
collecting a blood sample, performing an X-ray, prescribing medications, etc. 
These processes are simulated in the model by a simple time delay, equivalent to 
the amount of time it takes to complete the process. 
 
You could interpret the greater-than symbol (>) as shorthand for the phrase "and 
then." For example, Escort Patient > Process means that a staff member will 
escort the patient to a particular location and then a process will occur. 
As was discussed in What Happens During an Activity, each activity type has a roughly similar set of 
phases, as shown in the following image: 
154 
 
 
Each activity type will be discussed in more details in the following sections. Each section gives an 
overview of the specific activity type. The sections will also discuss any ways in which that activity type's 
tasks or phases differ from the pattern outlined in the preceding image. Most importantly, it will discuss the 
settings that are specific to that activity type in the Quick Properties pane. 
 
Check for required fields 
Each activity type has some fields that are required. Unfortunately, the current 
version of FlexSim HC does not give any error messages when you forget to fill in 
a required field in the activity settings. Forgetting to adjust these required settings 
could create an error when the simulation model runs. For that reason, you should 
make it a habit to check any of the required settings for each activity type, which 
are listed in the "Specific Settings" portion of each activity type topic. 
 
155 
 
Process 
The Process Activity Type simulates a simple process that will occur while patients remain at theircurrent 
location. As was mentioned in the previous topic, a process is a generic term for any kind of time-sensitive 
event in the model. A process can represent anything you want it to represent: a patient examination, 
collecting a blood sample, performing an X-ray, prescribing medications, etc. These processes are 
simulated in the model by a simple time delay, equivalent to the amount of time it takes to complete the 
process. 
You can choose whether or not you want to assign staff to perform a process. One important thing to keep 
in mind is that the process does not necessarily need to occur at the patient's location. For example, 
imagine that you want to design a simulation in which a doctor will consult with a colleague about treatment 
options after performing a patient examination. If you want the doctor to consult with the other doctor in a 
different room besides the patient's location, you could use the Process Activity Type and then assign the 
doctor to a different location during the activity. 
Activity Tasks and Phases 
The Process Activity Type will use the same set of phases and tasks outlined in What Happens During an 
Activity. The only exception is that if you do not assign a staff member, the activity will skip directly from the 
Beginning Phase to the Process Phase. 
Specific Settings 
The following table describes the settings that are available in the Quick Properties pane for the Process 
Activity Type. It gives the name of each group of settings as they appear in Quick Properties and explains 
whether those fields are required or optional for this activity type: 
Settings 
Group 
Required? Notes 
Processing 
Time 
Required Type in a number or an expression indicating how long the 
process should take in minutes. (See Processing Time for 
more information.) 
Staff 
Requirements 
Optional You can choose whether staff member(s) should be 
assigned to this activity or not. (See Staff Requirements for 
more information.) 
Staff 
Destination 
Required if staff 
are assigned 
Used to indicate if staff members should stay with the 
patient or perform the process in a different location. (See 
Staff Destination for more information.) 
 
156 
 
Process > Send Message 
The Process > Send Message Activity Type simulates a simple process that sends a message to another 
object in the model when it is finished. That message can possibly trigger a particular action somewhere 
else in the simulation model. This activity type is rarely used, but is available if needed. It is more likely that 
you will use the Process > Send Item Activity Type to trigger specific events in the model. 
Activity Tasks and Phases 
The Process > Send Message Activity Type will use the same set of phases and tasks outlined in What 
Happens During an Activity. There are only two specific differences: 
 If you do not assign a staff member, the activity will skip directly from the Beginning Phase to the 
Process Phase. 
 During the Concluding Phase, a message will be sent to another object in your simulation model. 
Specific Settings 
The following table describes the settings that are available in the Quick Properties pane for the 
Process > Send Message Activity Type. It gives the name of each group of settings as they appear in 
Quick Properties and explains whether those fields are required or optional for this activity type: 
Settings 
Group 
Required? Notes 
Message 
Destination 
Required Use the pull-down menu to select which object in the 
simulation model will receive a message after the process 
is finished. (See Message Destination for more 
information.) 
Processing 
Time 
Required Type in a number or an expression indicating how long the 
process should take in minutes. (See Processing Time for 
more information.) 
Staff 
Requirements 
Optional You can choose whether staff member(s) should be 
assigned to this activity or not. (See Staff Requirements for 
more information.) 
Staff 
Destination 
Required if staff 
are assigned 
Used to indicate if staff members should stay with the 
patient or perform the process in a different location. (See 
Staff Destination for more information.) 
157 
 
 
158 
 
Process > Send Item 
The Process > Send Item Activity Type simulates a simple process that creates an item and sends it to 
an item object in the model when it is finished. Once the item is received by the item object, it will begin a 
series of activities designed for handling that particular item. 
For example, this activity type can represent sending a throat culture to a lab to test for strep throat. During 
the Process Phase of the activity, a staff member will swab the patient's throat, creating a new item (the 
throat culture). The item would then be sent to a lab for testing. Simulating lab work and item processing 
will be discussed in more detail in a later chapter. 
Activity Tasks and Phases 
The Process > Send Item Activity Type will use the same set of phases and tasks outlined in What 
Happens During an Activity. There are only two specific differences: 
 If you do not assign a staff member, the activity will skip directly from the Beginning Phase to the 
Process Phase. 
 During the Concluding Phase, an item will be sent to another object in your simulation model. 
Specific Settings 
The following table describes the settings that are available in the Quick Properties pane for the 
Process > Send Item Activity Type. It gives the name of each group of settings as they appear in Quick 
Properties and explains whether those fields are required or optional for this activity type: 
Settings 
Group 
Required? Notes 
Item 
Destination 
Required Use the pull-down menu to select which object in the 
simulation model will receive the newly created item after 
the process is finished. (See Item Destination for more 
information.) 
Processing 
Time 
Required Type in a number or an expression indicating how long the 
process should take in minutes. (See Processing Time for 
more information.) 
Staff 
Requirements 
Optional You can choose whether staff member(s) should be 
assigned to this activity or not. (See Staff Requirements for 
more information.) 
159 
 
Staff 
Destination 
Required if staff 
are assigned 
Used to indicate if staff members should stay with the 
patient or perform the process in a different location. (See 
Staff Destination for more information.) 
 
160 
 
Move Equipment > Process 
During the Move Equipment > Process Activity Type, a staff member will move a piece of equipment to 
a particular destination and then a simple process will occur. If you only want the equipment to be moved 
without a process occurring afterwards, you could set the process time to 0 minutes. 
In order for this activity to function properly, you should make sure that you have added an equipment 
resource group to your simulation model. The FlexSim HC Library has a variety of different equipment 
objects that could be used as part of this activity. To view the available objects, go to the Library and, 
under Resource Groups, click Equipment. (See Adding Resources to a Model for more information.) 
Activity Tasks and Phases 
The Move Equipment > Process Activity Type will use the same set of phases and tasks outlined in What 
Happens During an Activity. During the Movement Phase, staff members will move from their current 
location to wherever the equipment is located. Then, the staff will move the equipment to the destination 
indicated in the Staff Destination settings. 
Specific Settings 
The following table describes the settings that are available in the Quick Properties pane for the Move 
Equipment > Process Activity Type. It gives thename of each group of settings as they appear in Quick 
Properties and explains whether those fields are required or optional for this activity type: 
Settings Group Required? Notes 
Processing Time Required Type in a number or expression indicating how long the 
process should take in minutes. (See Processing Time for 
more information.) 
Staff 
Requirements 
Required One or more staff members must be assigned to this activity 
or it will cause an error. (See Staff Requirements for more 
information.) 
Staff Destination Required Used to indicate where the staff members should move the 
equipment. (See Staff Destination for more information.) 
Equipment 
Requirements 
Required Used to indicate which equipment should be moved. (See 
Equipment Requirements for more information.) 
 
161 
 
Move Transports > Process 
During the Move Transports > Process Activity Type, a staff member will move a transport (such as a 
wheelchair, a gurney, etc.) to particular destination and then a simple process will occur. If you only want 
the transport to be moved without a process occurring afterwards, you could set the process time to 0 
minutes. 
Be aware that if you would like to move a transport to a patient and then transport the patient to another 
location, you should probably use the Transport Patient > Process Activity Type instead. The Move 
Transports Activity Type only moves the transport to a location, but does not actually transport a patient. 
In order for this activity to function properly, you should make sure that you have added a transport 
resource group to your simulation model. The FlexSim HC Library has a variety of different transport 
objects that could be used as part of this activity. To view the available objects, go to the Library and, 
under Resource Groups, click Transport. (See Adding Resources to a Model for more information.) 
Activity Tasks and Phases 
The Move Transports > Process Activity Type will use the same set of phases and tasks outlined in What 
Happens During an Activity. During the Movement Phase, staff members will move from their current 
location to wherever the transport is located. Then, the staff will move the transport to the destination 
indicated in the Staff Destination settings. 
Specific Settings 
The following table describes the settings that are available in the Quick Properties pane for the Move 
Transport > Process Activity Type. It gives the name of each group of settings as they appear in Quick 
Properties and explains whether those fields are required or optional for this activity type: 
Settings Group Required? Notes 
Processing Time Required Type in a number or expression indicating how long the 
process should take in minutes. (See Processing Time for 
more information.) 
Staff 
Requirements 
Required One or more staff members must be assigned to this activity 
or it will cause an error. (See Staff Requirements for more 
information.) 
Staff Destination Required Used to indicate where staff members should move the 
transport. (See Staff Destination for more information.) 
162 
 
Transport 
Requirements 
Required Used to indicate which transport should be moved. (See 
Transport Requirements for more information.) 
 
163 
 
Escort Patient > Process 
During the Escort Patient > Process Activity Type, a staff member will travel to the patient's current 
location and escort the patient to a new destination in the model. Then a simple process will occur. If you 
only want the patient to be escorted without a process occurring afterwards, you could set the process time 
to 0 minutes. 
This activity type requires a staff member. If you want patients to move on their own to a new location 
without a staff member, you should use the Patient Travels Unattended Activity Type. Also, if you want the 
staff member to move the patient in a transport (such as a wheelchair or gurney), you should use the 
Transport Patient > Process Activity Type. 
Activity Tasks and Phases 
The Escort Patient > Process Activity Type will use the same set of phases and tasks outlined in What 
Happens During an Activity. 
Specific Settings 
The following table describes the settings that are available in the Quick Properties pane for the Escort 
Patient > Process Activity Type. It gives the name of each group of settings as they appear in Quick 
Properties and explains whether those fields are required or optional for this activity type: 
Settings 
Group 
Required? Notes 
Patient 
Destination 
Required Use the pull-down menu to indicate where the patient should go 
during the Movement Phase of the activity. (See Patient 
Destination for more information.) 
Processing 
Time 
Required Type in a number or an expression indicating how long the 
process should take in minutes. (See Processing Time for more 
information.) 
Staff 
Requirements 
Required One or more staff members must be assigned to this activity or it 
will cause an error. (See Staff Requirements for more 
information.) 
164 
 
Transport Patient > Process 
During the Transport Patient > Process Activity Type, a staff member will use a transport to move a 
patient to a new destination in the model. Then a simple process will occur. If you only want the patient to 
be transported to a new location without a process occurring afterwards, you could set the process time to 
0 minutes. 
In order for this activity to function properly, you should make sure that you have added a transport 
resource group to your simulation model. The FlexSim HC Library has a variety of different transport 
objects that could be used as part of this activity. To view the available objects, go to the Library and, 
under Resource Groups, click Transport. 
Activity Tasks and Phases 
The Transport Patient > Process Activity Type will use the same set of phases and tasks outlined in What 
Happens During an Activity. During the Movement Phase, staff members will move from their current 
location to wherever the transport is located. Then, the staff will move the transport to the patient's current 
location. The patient will then be transported to the new location indicated in the Patient Destination 
settings. 
Specific Settings 
The following table describes the settings that are available in the Quick Properties pane for the Transport 
Patient > Process Activity Type. It gives the name of each group of settings as they appear in Quick 
Properties and explains whether those fields are required or optional for this activity type: 
Settings 
Group 
Required? Notes 
Patient 
Destination 
Required Use the pull-down menu to indicate where the patient should 
be transported during the Movement Phase of the activity. 
(See Patient Destination for more information.) 
Processing Time Required Type in a number or expression indicating how long the 
process should take in minutes. (See Processing Time for 
more information.) 
Staff 
Requirements 
Required Staff members must be assigned to this activity or it will cause 
an error. (See Staff Requirements for more information.) 
165 
 
Transport 
Requirements 
Required Used to indicate which transport should be used. (See 
Transport Requirements for more information.) 
 
166 
 
Patient Travels Unattended 
During the Patient Travels Unattended Activity Type, the patient will move to a new destination in the 
model without a staff member escorting them. 
Activity Tasks and Phases 
The Patient Travels Unattended Activity Type will use the same set of phases and tasks outlined in What 
Happens During an Activity. However, there will be no staff or resources assigned to this activity and the 
Process Phase will be skipped. 
Specific Settings 
Thefollowing table describes the settings that are available in the Quick Properties pane for the Patient 
Travels Unattended Activity Type. It gives the name of each group of settings as they appear in Quick 
Properties and explains whether those fields are required or optional for this activity type: 
Settings 
Group 
Required? Notes 
Patient 
Destination 
Required Use the pull-down menu to indicate where the patient should go 
during the Movement Phase of the activity. (See Patient 
Destination for more information.) 
 
167 
 
Decision Point 
The Decision Point can be used when your patient reaches a point in at which the next activity might be 
different based on certain conditions. The Decision Point helps to determine which activity should be next. 
For example, perhaps based on the patient's current condition, different patients could receive different 
treatment after they've been examined by a doctor. Perhaps some patients will need an X-ray, while others 
will need a vaccine, etc. The Decision Point can use custom criteria to determine which activity should be 
next for the patient. 
Activity Tasks and Phases 
The Decision Point Activity Type will use not use any of the phases and tasks outlined in What Happens 
During an Activity. It will skip directly from the Beginning Phase to the Concluding Phase. During the 
Concluding Phase, the Decision Point will determine which activity should be next for the current patient 
using a complex set of criteria. 
Specific Settings 
The following table describes the settings that are available in the Quick Properties pane for the Decision 
Point Activity Type. It gives the name of each group of settings as they appear in Quick Properties and 
explains whether those fields are required or optional for this activity type: 
Settings 
Group 
Required? Notes 
Next Activity Required Use this setting to create the criteria that will be used to determine 
which activity the patient should do next. (See Next Activity for 
more information.) 
 
168 
 
Custom 
The Custom Activity Type has all of the available settings used in the other activity types so that you can 
create your own unique activity type if needed. You should familiarize yourself with the other activity types 
and other settings before using this activity type. 
Activity Tasks and Phases 
The Custom Activity Type will use the same set of phases and tasks outlined in What Happens During an 
Activity. 
Specific Settings 
The Custom Activity Type has all the same settings that are available for the other activity types. See 
Specific Activity Type Settings for more information. 
169 
 
Introduction to Specific Activity Type Settings 
When you choose a specific activity type, the Quick Properties pane will change to make certain groups 
of settings available. The other topics in this chapter will discuss each group of settings in detail. 
You'll notice that many of these settings have two buttons next to them: 
Icon 
Tool 
Name 
Purpose 
 
Code 
Editor 
If you are comfortable writing code directly in FlexScript, you can use this tool 
to open the Code Editor and enter your custom code. 
 
Code 
Editor 
Some settings require you to indicate which object you want the patient to use 
during an activity (such as a location or staff member). The eyedropper tool 
allows you to indicate which object you want to use by clicking on it directly in 
the simulation model. 
Code Editor 
Many activity settings have a Code Editor button . When you click on the Code Editor, you can directly 
edit the code for that particular setting. This is useful for advanced FlexSim HC users who are comfortable 
writing code in FlexScript. 
Eyedropper 
Many activity settings have an Eyedropper button . Usually these settings require you to choose which 
object (location, area, resource, or resource group) should be used during a particular activity. For 
example, the Patient Destination setting requires you to choose which location or area the patient will 
move to during a particular activity. 
Often these settings have an arrow next to them that allow you to select a location from a menu. However, 
you can use the Eyedropper to select the location or area by clicking on the object directly in the model. 
To use the eyedropper to select a location or area: 
1. Click the Eyedropper button. The mouse pointer will change to an eyedropper icon. 
2. Move the mouse to the location object you want to select. As you move your mouse of the location, it 
will display the name of the location object and the name of the area this location belongs to, as shown 
in the following image: 
170 
 
 
3. Click on the location to select it. A menu will pop up that will list the name of the location and the area it 
belongs to, as shown in the following image: 
 
4. At this point, you have a choice to make. You can click the area name if you want the patient to go to 
any location inside that area once one becomes available (recommended). Or you could click on a 
specific location within this area. 
See How Patients and Staff Move to Locations or Areas for more information. 
The process is nearly identical for using the Eyedropper to choose staff members or other resources in the 
model. Just be careful to click on the colored box underneath the resources to select a particular resource 
group rather than an individual resource. See Selecting a Resource Group and How Staff and Resources 
Are Assigned to an Activity for more information. 
171 
 
Patient Destination 
The Patient Destination settings allow you to determine where your patient should travel during this 
activity. These settings appear in an activity's Quick Properties pane when certain activity types are 
selected. The following activity types use the Patient Destination settings: 
 Escort Patient > Process 
 Transport Patient > Process 
 Patient Travels Unattended 
 Custom (optional) 
The Patient Destination settings are shown in the following image: 
 
Each setting will be discussed in the following sections. 
Patient Destination 
The Patient Destination box determines the specific location or area that your patient will travel to during 
this activity. Use the following steps to choose an appropriate destination for your patient: 
1. Click the arrow next to the Patient Destination box to open up a menu of possible destinations you 
could use. There are many possible options, most of which are used very rarely. It is likely that you will 
only use the first option: Choose a specific destination. 
2. Select Choose a specific destination from the menu. This will open up a sub-menu listing all the 
areas that currently exist in your model. As a reminder, an area is a group of related location objects. 
3. Select the area that will be used as the patient destination. This will open up another sub-menu that 
lists the name of the area at the top of the menu. It will also list all of the locations inside of that area. 
4. At this point, you have a choice to make. You can click the area name if you want the patient to go to 
any location inside that area once one becomes available (recommended). Or you could click on a 
specific location within this area. 
See How Patients Move to Locations or Areas for more information about the pros and cons of assigning a 
specific location as opposed to a general area. 
 
The Eyedropper 
You can use the Eyedropper tool to select the location or area you want to use 
by clicking on it in your simulation model. See Eyedropper for more information. 
172 
 
Reserve Current Location 
When checked, the Reserve Current Location check box will reserve the current location until the patient 
is able to return to it in a lateractivity. For example, imagine that when the activity begins, the patient will 
be at a Bed location in the Bed Area. If during the patient must leave to go to the operating room for 
surgery, the current Bed location could be reserved for when the patient returns. While the patient is in the 
operating room, the Bed would appear to be highlighted in purple and none of the other patients would be 
able to use that location. During a later activity, when the patient returns to the Bed Area, the patient will 
return to the same Bed location. 
173 
 
Processing Time 
The Processing Time settings allow you to determine how long the Process phase of an activity should 
be. The Processing Time settings appear in an activity's Quick Properties pane when certain activity 
types are selected. The following activity types use the Processing Time settings: 
 Process 
 Process > Send Message 
 Process > Send Item 
 Move Equipment > Process 
 Move Transport > Process 
 Escort Patient > Process 
 Transport Patient > Process 
 Custom (optional) 
The Processing Time settings are shown in the following image: 
 
To change the settings, click inside the Processing Time box and type in a specific amount of time in 
minutes. If you want the Process phase of an activity to be skipped, you could type a 0 in this box. 
If you'd like, you can make the processing time somewhat random. Click on the pull-down arrow and select 
Choose a Statistical Distribution from the menu. This will open the Distribution Chooser, which will 
guide you through the process of choosing a random time distribution. See The Distribution Chooser for a 
more detailed introduction to how FlexSim HC generates random numbers. 
174 
 
Staff Requirements 
The Staff Requirements settings allow you to determine which staff member(s) should be assigned to a 
particular activity. The Staff Requirements settings appear in an activity's Quick Properties pane when 
certain activity types are selected. The following activity types use the Staff Requirements settings: 
 Process (optional) 
 Process > Send Message (optional) 
 Process > Send Item (optional) 
 Move Equipment > Process 
 Move Transport > Process 
 Escort Patient > Process 
 Transport Patient > Process 
 Custom (optional) 
The Staff Requirements settings are shown in the following image: 
 
The unnamed box is sometimes called the Staff Requirement Row. Each row represents a staff member 
assigned to this activity. 
Each setting will be discussed in the following sections. 
Adding Staff Members to Staff Requirement Rows 
The Staff Requirements row determines the specific staff or staff resource group that will be assigned to 
work on this activity. There are a lot of different options for assigning staff members, but you will likely only 
use one of the following two methods: 
 Choose a specific resource - You can select a specific staff member or staff resource group from a 
menu. 
 Used in an earlier activity - You can select the same staff member that was used in an earlier activity 
in the activity list. 
Both of these methods will be explained in this section. 
Use the following steps to choose a specific resource: 
1. Click the Plus sign to add a new Staff Requirement Row. 
2. Click the arrow next to the Staff Requirements box to open up a menu that will help you select the 
staff groups or individual staff groups you might want to assign to work on this activity. 
3. Select Choose a specific resource from the menu. This will open up a sub-menu with the option to 
select either Staff Groups or Alternate Groups. (The latter option will only be listed if you've created 
any Alternate Groups.) 
175 
 
4. Select Staff Groups from the sub-menu (unless you want to select an alternate group that you've 
created). This will open up a sub-menu listing all the staff resource groups that currently exist in your 
model. As a reminder, each individual staff member belongs to a staff resource group. (See 
Introduction to Staff and Resources for more information.) 
5. Select the name of the staff resource group you want to use, which will open up another sub-menu that 
lists the name of the staff resource group at the top of the menu. For example, let's say your simulation 
model has a group named Physicians that has three physicians as group members. Once you select 
Physicians from the menu, it will open up another sub-menu that lists the name of the staff resource 
group members and some other options, as shown in the following example: 
 
6. At this point, you have a choice to make. You can select Any member from [Group Name] to assign 
any member of the staff resource group to work on the activity (recommended). You could also select 
First used from [Group Name] if you want to use the same staff member that was assigned to the 
patient in earlier activity. Or you could click on a specific staff member to assign that group member to 
this activity. 
See How Staff and Resources Are Assigned to an Activity for more information about the pros and cons of 
assigning an individual staff member or an entire staff resource group. 
 
The Eyedropper 
You can use the Eyedropper tool to select the staff member or staff resource 
group you want to use by clicking on it in your simulation model. See Eyedropper 
for more information. 
To use the same staff member that was used in an earlier activity: 
1. Click the arrow next to the Staff Requirements box to open up a menu of possible staff you could use. 
2. Select Used in an earlier activity from the menu. This will open up a dialog box, as shown in the 
following image: 
176 
 
 
3. Click the Select an earlier activity menu to view a list of all the activities in the activity list that use staff 
members. 
4. Select the appropriate activity from the menu. 
5. The Requirement Row menu options will change depending on which activity you selected in the 
previous step. If the activity you chose in step 4 only had one staff member assigned to it, there will 
only be one row available. That's because each staff member occupies a different row in the Staff 
Requirements settings. If you have three staff members for an activity, they will occupy three rows. The 
first staff member occupies row 1, the second occupies row 2, etc. 
6. Select the appropriate row number from the Requirement Row menu if more than one row is listed. 
7. To add more than one row, add any additional staff member and repeat this process for each row. See 
Adding and Deleting Additional Staff Members in the next section. 
 
First used vs. Used in an earlier activity 
You may have noticed that you can use two different methods to assign a staff 
member that was used in an earlier activity. You could have selected the First used 
from [Group Name] option from the Choose a specific resource menu. Or you 
could use the Select an earlier activity menu. Either method is fine but the second 
method might be preferable if you are using a kept resource. See Keeping and 
Releasing Staff Members for more information. 
Adding and Deleting Additional Staff Members) 
If you want to add any additional staff members to this activity, click the Add button . This will add an 
additional Staff Requirement Row. You can add as many Staff Requirement Rows as needed and then use 
the process for Adding Staff Members to Staff Requirement Rows, which was discussed in the previous 
section. 
To delete a staff member, click the Delete button . Be aware that using the Delete button will only 
remove the bottom Staff Requirement Row, the one row that is the lowest on the list. 
177 
 
Keeping and Releasing Staff Members 
Sometimes you might want to require a staff member to remain with a patient for multiple activities and not 
be assignedto work on any other activities. In FlexSim HC, this is called keeping a staff member. Staff 
members will be kept until they are released in a later activity. 
For example, if a patient needs constant supervision from a particular staff member during a series of 
activities, it might be useful for you to keep that staff member. Once staff members are kept, they will only 
be allowed to assist with the current patient's current activity and future activities until they are released by 
a later activity. 
 
Higher priority tasks still might take precedence 
Even if you keep a resource, it is possible that the staff member could still possibly 
be re-assigned to a different activity with a higher priority. See Staff and Resource 
Priorities for more information. 
You will use the padlock icon next to each staff member to manage whether staff members are kept or 
released. (You could think of it as locking the staff member to the current patient.) The following table 
explains each icon: 
Icon Status Purpose 
 
Neutral When there is a gray padlock next to the staff member, it means that staff 
member is neither being kept or released. After the activity is complete, the 
staff could possibly be assigned to work with a different patient on a different 
activity. 
 
Kept When there is a red padlock next to the staff member, it means the staff 
member can only be assigned to work with this patient until they are released 
in a later activity on the patient track. 
 
Released When there is a green padlock next to the staff member, it means that the 
staff member will be released after the current activity is finished. 
Click on the padlock icon to change the staff member's status from neutral to kept. Click on the padlock a 
second time to change the status from kept to released. Click one more time to change it back to neutral 
and so forth. 
Don't forget to release the staff! 
178 
 
 
If you keep a staff member in a particular activity, don't forget to release that staff 
member in a later activity. 
Priority 
Before changing these settings, you should be sure you are familiar with the concepts discussed in Staff 
and Resource Priorities. 
The Priority box allows you to determine what priority level will be assigned to all resource requests for 
this activity. Even though the Priority box is only found in the Staff Requirements group, the priority level 
you assign in this box will apply to all resource requests for this activity, including equipment and 
transports. 
By default, all resource requests are assigned a priority level of 150. To change these settings, click inside 
the Priority box and type in a new priority level. 
179 
 
Staff Destination 
The Staff Destination settings allow you to determine which location staff member(s) should be travel to 
during a particular activity. The Staff Destination settings appear in an activity's Quick Properties pane 
when certain activity types are selected. The following activity types use the Staff Destination settings: 
 Process (optional) 
 Process > Send Message (optional) 
 Process > Send Item (optional) 
 Move Equipment > Process 
 Move Transport > Process 
 Escort Patient > Process 
 Transport Patient > Process 
 Custom (optional) 
The Staff Destination settings are shown in the following image: 
 
The Staff Destination box determines the specific location or area that your staff member(s) will travel to 
during this activity. By default, the staff member's destination will be the patient's location. But this can be 
changed if needed. Unlike patients, staff members can use any object as a possible destination. For 
example, a staff member can travel to a phone or table or any other object in the simulation model. 
Use the following steps to choose an appropriate destination for your staff member: 
1. Click the arrow next to the Staff Destination box to open up a menu of possible destinations you could 
use. There are many possible options, most of which are used very rarely. It is likely that you will only 
use the first option: Choose a specific destination. 
2. Select Choose a specific destination from the menu. This will open up a sub-menu listing all the 
areas that currently exist in your model. As a reminder, an area is a collection of related location 
objects. 
3. Select the area that contains the location that will be the staff member's destination. This will open up 
another sub-menu that lists all of the locations inside of that area. 
4. Select the appropriate location. (Staff members can only travel to locations, not areas.) 
 
The Eyedropper 
You can use the Eyedropper tool to select the location or area you want to use by 
clicking on it in your simulation model. See Eyedropper for more information. 
 
180 
 
Equipment Requirements 
The Equipment Requirements settings allow you to determine which equipment should be assigned to a 
particular activity. The Equipment Requirements settings appear in an activity's Quick Properties pane 
when certain activity types are selected. The following activity types use the Equipment Requirements 
settings: 
 Move Equipment > Process 
 Custom (optional) 
The Equipment Requirements settings are shown in the following image: 
 
NOTE: The unnamed box is sometimes referred to as an Equipment Requirement Row. Each row 
represents a specific piece of equipment assigned to this activity. 
The Equipment Requirements settings are virtually identical to the Staff Requirements settings. The 
only difference is that you can only assign equipment objects or equipment resource groups to the activity 
(as opposed to staff). Because the settings are so similar, you should read the Staff Requirements section 
for more information about how these settings work. 
However, there is one minor difference: the Equipment Requirements settings do not have the Priority 
box. Instead, it has the Return check box, which will be discussed in the following section. 
 
Equipment Priorities 
Even though the Priority box is only found in the Staff Requirements group, the 
priority level you assign in Staff Requirements will apply to all resource requests 
for this activity, including equipment. 
Return 
If you check the Return check box, then the staff member will return the piece of equipment to its original 
location during the Concluding Phase of the activity. 
181 
 
Transport Requirements 
The Transport Requirements settings allow you to determine which transports should be assigned to a 
particular activity to transport a patient from one location to another. Transports are objects that can move 
a patient from one location to another such as a wheelchair or a gurney. The Transport Requirements 
settings appear in an activity's Quick Properties pane when certain activity types are selected. The 
following activity types use the Transport Requirements settings: 
 Move Transport > Process 
 Transport Patient > Process 
 Custom (optional) 
The Transport Requirements settings are shown in the following image: 
 
NOTE: The unnamed box is sometimes referred to as a Transport Requirement Row. Each row 
represents a specific transport assigned to this activity. 
The Transport Requirements settings are virtually identical to the Staff Requirements settings. The only 
difference is that you can only assign transport objects or transport resource groups to the activity (as 
opposed to staff). Because the settings are so similar, you should read the Staff Requirements section for 
more information about how these settings work. 
However, there is one minor difference: the Transport Requirements settings do not have the Priority 
box. Instead, it has the Return check box, which will be discussed in the following section.Transport Priorities 
Even though the Priority box is only found in the Staff Requirements group, the 
priority level you assign in Staff Requirements will apply to all resource requests 
for this activity, including transports. 
Return 
If you check the Return check box, then the staff member will return the piece of equipment to its original 
location during the Concluding Phase of the activity. 
182 
 
Next Activity 
The Next Activity settings are used to cause another activity to begin as soon as the current activity is 
finished. The Next Activity settings are available for all activity types, but are primarily used by the Decision 
Point Activity Type to create a complex system for determining which activity should come next. 
Before reading this section, you should first read How Activities Begin to ensure you are familiar with the 
differences between using the Predecessor method for starting an activity as opposed to the Next Activity 
method. Be aware that the Predecessor method is the preferred method of beginning an activity. 
In order to use the Next Activity method to begin an activity, all you need to do is type or select an 
appropriate value or expression in the Next Activity box, as shown in the following image: 
 
At its most basic level, you could just type in the Activity ID of the activity you want to start after the current 
activity is finished. However, you might possibly want to use a more complex system for determining which 
activity should be next. For example, you might use the Next Activity settings based on percentages so that 
50% of patients will do Activity 100 (blood work) next and 50% will do Activity 200 (an x-ray) next. You 
could list 100 OR 200 as the predecessors for Activity 50 (the patient leaves). 
When you click the pull-down menu, you'll notice there are several different options. These different options 
allow you to create complex conditions for starting the next activity. Some of the more commonly used 
options will be discussed in the following sections. 
 
Two Important Cautions 
If you are going to use the Next Activity method to start one activity out of a 
possible list of activities, make sure that those activities do not have a check mark 
in the Use Predecessors box. Otherwise, those activities might automatically 
begin. 
 
Also, you might be using the Next Activity method to start a few different possible 
activities based on complex conditions. You might want any of those different 
activities to be followed by only one final activity (such as the patient leaving the 
health care facility). If that's the case, you might want to use some complex 
predecessor settings to make that final activity begin. See Complex Predecessor 
Settings for more information. 
Based on First Available Location 
If you want the next activity to be determined based on the availability of certain locations, follow these 
steps: 
1. Click the arrow by the Next Activity box to open a menu of options. 
2. Select Based on first available from the menu. This will open a sub-menu that lists location and 
resource. 
183 
 
3. Select either location from the menu. This will open a dialog box, such as the one shown in the 
following image: 
 
3. Click the arrow next to the box in the first column (labeled If the next available location is...). This will 
open a menu showing all the current areas that currently exist in the simulation model. As a reminder, 
an area is a group of related location objects. 
4. Select the area that you want to use as one of the possible conditions to determine the next activity. 
This will open up another sub-menu that lists the name of the area at the top of the menu. It will also 
list all of the locations inside of that area. 
5. At this point, you have a choice to make. You can click the area name if you want the staff member to 
go to any location inside that area once one becomes available (recommended). Or you could click on 
a specific location within this area. 
6. In the second column (labeled Then the next activity is...), either type the Activity ID of the activity that 
will be next if this is the available area or select from the current list of activities using the arrow next to 
the box. 
7. Repeat this process to add additional conditions. If you want to add more than two conditions, click the 
Add a new pair button to add another row. 
8. In the Default activity if none found above box, either type the Activity ID of the activity that will be 
default next activity or select from the current list of activities using the arrow next to the box. 
9. When you're finished building your conditions, click the OK button to save your changes. 
See How Patients and Staff Move to Locations for more information about whether to choose an area of a 
location. 
Based on First Available Resource 
You can determine the next activity based on the availability of certain resources (such as staff, equipment, 
and transports). The process is virtually identical to the one explained in the previous section, Based on 
First Available Location. You merely select resources instead of locations. 
See How Staff and Resources Are Assigned to Activities for more information about choosing individual 
resources vs. resource groups. 
184 
 
Based on Percentages 
If you want a certain percentage of patients to do different activities, you could use the Based on 
Percentages option. For example, let's say you did a study of an outpatient clinic and determined that 50% 
of patients usually needed to have lab work done (such as blood drawn), 30% need an X-ray, and 20% 
needed an MRI. You could use the Based on Percentages option to create this kind of system: 
1. Click the arrow by the Next Activity box to open a menu of options. 
2. Select Based on percentages from the menu. This will open a dialog box, as shown in the following 
image: 
 
3. You can change the percentages by typing a different value in the first column (labeled There is a ... % 
chance). Make sure that the values add up to 100. 
4. You can then type in the Activity ID of the next activity in the second column (labeled that the Next 
Activity will be...) or use the pull-down menu to select the Activity ID from a list of possible activities. 
5. Click the Add a new pair button to add additional rows as needed. 
6. Click OK to save your changes. 
185 
 
Advanced Functions 
The Advanced Functions settings allow you to add some complexity to your activities. The settings are 
shown in the following image: 
 
Each setting will be described in the sections below. 
Activity Start Condition 
The Activity Start Condition is another alternative to the Predecessors or Next Activity method of making 
an activity begin. (See How Activities Begin for more information.) If you are comfortable with FlexScript, 
you can create an expression that will cause this activity to begin under certain conditions. 
Any custom code you may write must be a condition that can resolve to a true or false. If your condition is 
true, the activity is allowed to begin. If it evaluates false, the activity will not begin. 
You can also try using the pull-down menu next to this box for help writing a few basic expressions. 
Activity Started Trigger 
The Activity Started Trigger is an optional system event that occurs during the Beginning Phase of an 
activity before anything else happens. (See What Happens During an Activity for more information.) You 
could possibly use this trigger to make some other activity or process begin in the simulation model when 
the activity begins. 
Click the Edit Trigger button to open up a guide to editing this Trigger. Otherwise, you can create your 
own custom code by clicking on the Edit Code button . 
Activity Finished TriggerThe Activity Finished Trigger is identical to the Activity Started Trigger (see previous section). The only 
difference is that it is another optional system event that occurs fires during the Concluding Phase of an 
activity after everything else has happened. 
186 
 
Advanced Time Controls 
The Advanced Time Controls settings allow you to add some complexity to the timing of your activities. 
The settings are shown in the following image: 
 
Each setting will be described in the sections below. 
Start Time 
The Start Time box is used more frequently with Routine Staff or Location Activities (global processes) 
than with patient-centered activities. 
In this box, you can possibly type a time in minutes to indicate how much time will pass from the time the 
simulation starts until the time this activity begins. For example, if you type 60 in this box, the activity will 
begin one hour after the simulation begins (60 minutes). 
Alternatively, you could set a specific time that this simulation model should start. Simulation times are 
formatted with days, hours, and minutes-each separated by a colon. Monday is treated as day 1 and the 
hours use military time. For example, if you wanted to start an activity at 4:15p.m. on a Wednesday, you 
would format it as 03:16:15. By default, all models begin running on Monday at midnight (01:00:00). See 
Run Time Tools for more information. 
Repeat Interval 
The Repeat Interval box is used more frequently with Global Processes than with patient activities. 
In this box, type a time in minutes to indicate how frequently an activity should be repeated. For example, if 
you type 60 in this box, the activity will repeat every hour (60 minutes). 
187 
 
Costs 
The Costs settings allow you to calculate the cost of an activity. The settings are shown in the following 
image: 
 
Use the Fixed Cost box to assign a set value to an activity. For example, if this activity always costs $100, 
you could just type $100 in this box. 
The Variable Cost Rate box to assign an hour rate to the activity. The cost will vary based on how long the 
activity takes. 
188 
 
Adding Patients 
Once you've built the basic layout of your facility, you'll need to get your patients into your model so that 
they can begin receiving treatment. The most basic way to add patients to a model is to add a Patient 
Arrivals object from the Library. (See Adding Objects to a Model for more information.) By default, these 
objects will automatically create new patients who will walk in the door at random intervals. 
But what if you want to adjust the rate at which patients arrive, such as requiring patients to make an 
appointment? Or what if you want to have different types of patients---perhaps with varying acuity levels or 
different reasons for coming to your facility? In order to accomplish this, you might need to make changes 
to: 
 Patient Classifications - This tool lists all the different possible types of patients that will arrive in your 
simulation model. You can create patients with different acuity levels or other custom labels using this 
tool. 
 Patient Visuals - This tool helps you customize the visual appearance of the patients in your model. 
 Patient Arrivals Patterns - You can edit Patient Arrival objects to change the rate at which patients 
arrive in the simulation model. 
The rest of the chapter will discuss how to use these tools and objects to create a complex Patient Arrival 
system. 
 
189 
 
Introduction to Patient Classifications 
You can use the Patient Classifications tool to create all the different possible types of patients that will 
arrive in your simulation model. The following are some key terms and concepts that are used to by the 
Patient Classifications tool in FlexSim HC: 
Patient Classification Index (PCI) 
The Patient Classification Index, otherwise known as PCI, refers to a type or category of patient that you 
can customize. You can use different PCIs to represent a particular combination of patient acuities and 
labels. For example, if you were simulating a pediatrician's office that had both a Sick Clinic and a 
Wellness Clinic, you could possibly create one PCI for the patients that will go to the Sick Clinic and then 
another PCI for patients that will visit the Wellness Clinic. You could also create an additional PCI for Sick 
Clinic patients that had a higher acuity level and needed to be taken to the hospital immediately. 
PCIs are represented by a number by default. Each patient classification is listed as PCI 1, PCI 2, PCI 3, 
and so forth. You can change each PCI to a custom name if needed. Just be aware that the FlexSim HC 
system will still identify each PCI by their original number. For example, if you change PCI 1 to New 
Patients, the system will still identify this PCI using the number 1. 
Track 
The Track refers to the patient track, which is a series of activities that a patient will begin to do once they 
enter a simulation model until they exit. Each patient could possibly be assigned to a different patient track 
based on their PCI. You can create as many different patient tracks as needed and you can assign your 
own custom names to each track. See Patient-Centered Activities for more information about patient 
tracks. 
Acuity 
In the health care industry, acuity refers to the acuteness or level of severity of an illness. In FlexSim HC, 
acuity is represented by a number. There is no limit to which numbers can be used for assigning acuity. 
However, when assigning acuity numbers to patients, you should use the same acuity system used by your 
health care team. If you need to use more complicated acuity classification systems, you should consider 
using patient labels instead (see next section). 
Labels 
Labels can be added to a patient to represent any additional system of classification that your facility uses. 
Labels can be used to determine if a patient should follow a different patient track or treatment plan based 
on some other classification besides acuity. Labels are a number by default, but you can change the label 
so that it can use text or code instead. 
Keep in mind that, in FlexSim HC, labels can mean whatever you'd like it to mean. For example, you could 
possibly create a set of labels that represent: 
 The amount of time needed to complete a task 
 The amount of emotional and physical energy required to care for a patient 
190 
 
 The level of expertise required to treat the patient 
 The frequency of tasks or interventions needed 
 
191 
 
The Patient Classifications Tool at a Glance 
The Patient Classifications tool allows you to create all the different possible types of patients that will 
arrive in your simulation model. To open the Patient Classifications tool, click PCIs on the main toolbar. 
Alternatively, you could open the Patient Classifications tool by double-clicking PCIs in the Toolbox. 
The following image shows an example of the Patient Classifications tool: 
 
The Patient Classifications tool basically looks and functions like a table. The major elements of the Patient 
Classifications Tool will be explained in the following sections. 
Data Types Row 
The second row in the table is the Data Types row. Most (but not all) of the cells in this row can be used to 
change the type of data that can be accepted by the cells in each column. When you click a cell in the Data 
Types row, it will open a menu listing all the possible data types that could be accepted by the rest of the 
cells in that column. Usually you will only change the data types of label columns. The available data type 
options are: 
 Number - Only accepts numerals, including decimals. 
 Text - Can accept any text and text combined with numerals. 
 Code- Can accept custom code, which is useful if you are comfortable writing code in FlexScript. 
PCI Rows 
Each row in the table represents a different possible type of patient or Patient Classification Index (PCI). 
You can add more rows of PCIs by typing a new value in the PCIs box or using the arrows to increase or 
decrease the number of rows. 
All of the subsequent rows are PCI rows, which stands for Patient Classification Index. Each row 
represents a unique PCI. By default, each PCI is given a default name and number such as PCI 1, PCI 2, 
etc. You can change the name of each PCI to something easier to remember if needed. Simply double-
192 
 
click the PCI and type in a new name. Be aware that the FlexSim HC engine might still refer to the first PCI 
as PCI 1 and the second one as PCI 2 in some of the settings on the Patient Arrival object. 
Track 
The first column is the Track column, which allows you to select which patient track you would like patients 
with that PCI to use. When you click one of the cells in the Track column, it will open a menu listing all the 
patient tracks you have created so far in your simulation model. You can then select the appropriate patient 
track from the menu. See Patient-Centered Activities for more information about patient tracks. 
 
Patient Tracks 
Two or more PCIs can use the same patient track. Be aware that you must first 
create the patient tracks in the Patient Track Manager in order for them to be 
available in this tool. 
Visuals 
You can use the Visuals column to change the visual appearance of each type of patient in your model if 
desired. See Introduction to Patient Visuals and Assigning a Visual Profile to a PCI or Activity for more 
information. 
Speed 
The third column is the Speed column, which determines the speed at which the patient moves. FlexSim 
HC measures speed in terms of number of meters per minute, with the default being 60 meters per minute. 
When you click one of the cells in this column, you can type in a different number to change the speed of 
patients with that PCI. You can increase that number to make the patient faster or decrease it to make it 
slower. NOTE: When escorting patients, staff members will match the speed of the patient. 
Acuity 
The fourth column is the Acuity column, which represents the acuity level for patients with that PCI. 
Usually the cells in this column only use numerals, but it is possible to use custom code instead if you are 
comfortable writing code in FlexScript. When you click one of the cells in this column, you can type in a 
different number to represent the acuity for patients with that PCI. 
Labels 
By default, there are no more columns after the Acuity column. However, you can add as many label 
columns as needed by typing a new value in the Labels box or using the arrows to increase or decrease 
the number of label columns. Label columns can be useful for adding additional criteria you would like to 
193 
 
use to classify patients. For example, in the preceding image, we've added an additional label column to 
track whether a patient is new or not. 
Label columns can be very dynamic and can be customized to better to fit your health care center's method 
of classifying patients: 
 You can edit the name of the label column by double-clicking on it and typing a custom name. 
 By default, cells in label columns only use numerals, but you can click on the Data Types cell under the 
label and use the menu to change it to accept text or code instead. 
 You can edit the value of each label by double-clicking on it and typing a new value. 
 
194 
 
Introduction to Patient Visuals 
You can use the Patient Visuals tool to customize the visual appearance of the patients that will arrive in 
your model. Although the visual appearance of patients will not affect how the simulation model runs, it can 
be useful to change patient visuals for a variety of reasons: 
 If you want to change the way the default patient looks in your simulation model. 
 If you want to make each type of patient (PCI) visually distinct so that you can easily tell one type of 
patient from another when the model runs. 
 If you want to change the visual appearance of patients when they are doing a particular activity. For 
example, if a patient is going into surgery, you can make the patient wear a surgery gown. Or you 
could change the color of a patient's shirt in order to indicate that something about their status has 
changed. 
 If you simply want the patients in the simulation model to have some visual variety. 
You'll use Patient Visuals to create different visual profiles for one or more of the patients that will arrive in 
the simulation model. Once you have created each visual profile, you can then assign one of these visual 
profiles to a PCI or to a patient activity. 
The topics in this section will explain how to use the Patient Visuals tool in more detail. 
195 
 
The Patient Visuals Tool at a Glance 
The Patient Visuals tool is the main tool you will use to customize patient visuals. The main elements of the 
Patient Visuals tool are labeled in the following image: 
 
Each element will be explained in more detail in the following sections. 
Visual Profiles 
You will create a distinct visual profile for each different different look that you might want a patient to have 
in your model. For example, if you want to create three different types of patients (PCIs) that will each have 
a different visual appearance, you will need to create three visual profiles. 
In that same vein, if you want a patient to change visually during an activity in the patient track (such as the 
patient changing clothes), you'll need to create a separate visual profile for the patient that has different 
clothing. 
Patient Gallery 
The patient gallery is the workspace where you can create and preview each visual profile. 
You can change the order in which visual profiles appear in the gallery by right-clicking a visual profile to 
open a menu. Select Edit and then Move Up or Move Down. 
196 
 
Patient Shapes Library 
When the Patient Visual tool is open, the Library (left pane) will change to the patient shapes library. You 
could think of these shapes as the basic building blocks for each visual profile. To create a new visual 
profile, you will click on a basic shape in the patient shapes library and then drag it into the patient gallery. 
Quick Properties 
You can use the Quick Properties settings to change the appearance of each visual profile. See Visual 
Profile Settings for more information. 
197 
 
Managing Visual Profiles 
This topic will discuss how to add, copy, and delete a visual profile. 
Adding a Visual Profile 
To create a new visual profile: 
1. Click on a basic shape in the patient shapes library and then drag it into the patient gallery. 
2. Make any changes to the appearance of each visual profile using Quick Properties. See Visual Profile 
Settings for more information. 
Copying a Visual Profile 
To copy a visual profile: 
1. Right-click a visual profile in the patient gallery to open a menu. 
2. Select Duplicate. 
A copy of the visual profile will appear at the end of the patient gallery. 
Deleting a Visual Profile 
To delete a visual profile: 
1. Click a visual profile in the patient gallery to select it. 
2. Press the delete key. 
Alternately, you could right-click the visual profile and select Delete from the menu. 
198 
 
Visual Profile Settings 
There are many different settings that you can use to customize the appearance of patients, as shown in 
the following image: 
 
Each group of settings will be explained in the following sections. 
General Properties 
You canchange the name of the currently selected visual profile by typing in a new name in the Name box. 
Person Visuals 
The settings under the Person Visuals group allow you to adjust the visual profile's basic visuals. The 
following settings are available: 
 Shape - Changes the shape of the currently selected visual profile to one of the other available shapes 
in the patient shape library. 
199 
 
 Head - Changes the hairstyle, hair color, and skin tone of the currently selected visual profile. 
 Shirt, Pants, and Shoes - Changes the color or fabric of the visual profile's clothing. 
 Accessories - Check the box next to an accessory to give the visual profile any of the accessories 
listed here (such as stethoscopes or surgical masks). If you also click the name of one of the 
accessories in this list, you will be able to use a box beneath the Accessories to change the 
accessory's color or fabric. 
Animations 
You can use these settings to change the way this visual profile will move by changing its animation style. 
Animations will not be discussed in this version of the User Manual. If you are interested in learning more 
about this topic, please contact FlexSim Customer Support. 
200 
 
Assigning a Visual Profile to a PCI or Activity 
Once you've created a visual profile and customized its settings, you can set that visual profile as the 
default profile for a particular type of patient. You could also assign a visual profile to an activity so that a 
patient's visual profile will change when that activity begins. 
Assigning a Visual Profile to a PCI 
You can assign a visual profile to a specific PCI (type of patient) in order to more easily distinguish 
between different types of patients or to simply have patients with some visual variety. 
To assign a visual profile to a PCI: 
1. Open the Patient Classifications tool by clicking on the PCI button on the main toolbar. 
2. In the PCI table, find the row of the PCI to which you want to assign a different visual profile. Click the 
cell under the Visuals column to open a menu that will display all of the visual profiles that you have 
created so far. 
3. Select the name of the visual profile that should be assigned to this PCI. 
 
Patient Arrival Patterns 
If you have more than one PCI, make sure to design a patient arrival pattern that will 
allow each type of PCI to arrive in your simulation model. See Patient Arrival Patterns 
for more information. 
Assigning a Visual Profile to an Activity 
You can assign a visual profile to an activity if you want to change the visual appearance of patients when 
they are doing a particular activity. For example, if a patient is going into surgery, you can make the patient 
wear a surgery gown. Or you could change the color of a patient's shirt in order to indicate that something 
about their status has changed. 
To assign a visual profile to an activity: 
1. Open the applicable patient track and select the activity that you would like to use to change a patient's 
visual profile. 
2. In Quick Properties under Advanced Functions, click the Properties button next to the Activity 
Started Trigger box to open the Trigger Editor dialog box, as shown in the following image: 
 
201 
 
3. Click the Add new trigger instruction button to open a menu of available triggers. 
4. Select Change then patient visuals. A new trigger instruction will appear in the dialog box, as shown 
in the following image: 
 
5. Click the arrow next to the New visual configuration box to open a menu that will display all of the 
visual profiles that you have created so far. 
6. Select the name of the visual profile that should be assigned to this activity. 
7. Click OK to close the dialog box and save the changes. 
When the activity starts, the patient's visual profile will change. Be aware that you can use this same 
process for the Activity Finished Trigger if you want the visual profile to change at the end of the activity 
instead. 
202 
 
Patient Overhead Text Display 
Overhead text displays can sometimes be useful for identifying patients while a simulation model is 
running. You can use the overhead text display to see the patient's identifying information such as their ID, 
and their track and current activity. Sometimes these displays are useful for troubleshooting a model while 
it runs. 
By default a patient will not have an overhead text display while a simulation model runs. However, if you 
click on a patient during a simulation run, you will see some text above a patient that displays the patient's 
track, ID number, and current activity. You can customize the overhead text display so that it displays 
different information or nothing at all. 
The following sections will discuss two different methods for changing the patient overhead text display. 
Overhead Display for Individual Patients 
To change the overhead text display of an individual patient: 
1. Click the patient to select it. 
2. In Quick Properties, in the Overhead Display group, you can use the following settings to change the 
patient's overhead display: 
o Overhead Display - Use this menu to select what text should be displayed (if any). The default 
is Activities (if highlighted), meaning that it will only display the patient's current activity when 
the patient is selected in the model. 
o Text Scale - Changes the size of the text when it is displayed. 
o Opacity - Changes the transparency of the text when it is displayed. 
Overhead Display for All Patients on a Track 
To change the overhead text display for all patients on a given patient track: 
1. Open the applicable patient track and select the first activity. 
2. In Quick Properties under Advanced Functions, click the Properties button next to the Activity 
Started Trigger box to open the Trigger Editor dialog box, as shown in the following image: 
 
3. Click the Add new trigger instruction button to open a menu of available triggers. 
4. Select Change then patient's overhead display. A new trigger instruction will appear in the dialog 
box, as shown in the following image: 
203 
 
 
5. Double-click the blue text that says DISPLAY_ACTIVITIES to open a menu. 
6. Select the type overhead display that patients will have after starting this activity: 
o DISPLAY_ACTIVITIES - Display the name of the patient track, patient ID, and activity name. 
o DISPLAY_NONE - No overhead text display. 
o DISPLAY_TRIANGLE - Display a large triangle above patients so they can be easily found and 
identified. 
o DISPLAY_NAME - Display the name of the patient track and patient ID. 
o DISPLAY_HIGHLIGHTED - Display the name of the patient track, patient ID, and activity name 
when you click on the patient. 
7. Click OK to close the dialog box and save the changes. 
 
 
204 
 
Introduction to Patient Arrival Patterns 
Patient Arrival objects create the patients that will enter your simulation model. By changing the Arrivals 
settings of Patient Arrival objects, you can affect how frequently patients will arrive in your simulation 
model. 
There are a number of possible arrival patterns you can use: 
 Inter-Arrival Times - Patients will arrive at the facility at random rates using a mathematical distribution 
or other set of custom conditions. 
 Hourly Arrivals - Patients will arrive at different rates based on the hour and day of the week. 
 Appointments - Patients schedule an appointment and arrive at their scheduled appointment times. 
 Custom Arrivals - A variety of different types of patients will arrive at different rates based on the hour 
and day of the week. 
You can use one arrival pattern exclusively or you can use a combination of any of these arrival patterns 
together. 
To activate anyor all of these arrival patterns: 
1. Make sure you've added a Patient Arrivals object to your simulation model. (See Adding Objects to a 
Model for more information.) 
2. Click on the Patient Arrivals object in your simulation model to select it. 
3. In Quick Properties under Arrivals, you'll see four checkboxes: 
o Activate Inter-Arrival Times 
o Activate Hourly Arrivals 
o Activate Appointments 
o Activate Custom Arrivals 
4. These checkboxes allow you to choose which arrival pattern (or combination of arrival patterns) you 
want to use. When you check a box next to any of the arrival patterns, the pattern will automatically 
expand to give you more setting options for that particular pattern. 
 
205 
 
Inter-Arrival Times 
Check the Activate Inter-Arrival Times box if you want patients to arrive at random rates using a 
mathematical distribution or other set of custom conditions. This is the default arrival pattern used by 
FlexSim HC because it is a quick way to get patients to arrive in a simulation model. However, it is more 
likely you will want to use one of the other arrival patterns instead. 
FlexSim HC has a wide range of possible mathematical distributions you can use to generate random 
number sequences. Before reading this section, you might want to read about the Distribution Chooser tool 
to get a better sense of how random mathematical distributions work in FlexSim generally. 
The following image shows the settings available for Inter-Arrival Times: 
 
Each setting will be explained the in the following sections. 
Patient Arrival Pattern 
The Patient Arrival Pattern box allows you to select, create, or delete patient arrival patterns. A patient 
arrival pattern determines 1) how frequently a patient will arrive and 2) which type of patient (PCI) will 
arrive at that time. In other words, you could use a particular patient arrival pattern to randomly determine 
the frequency that patients with the specified Patient Classification Index (PCI) will arrive at the simulation 
model. 
To change the name of the current patient arrival pattern to something more meaningful to you, click inside 
the Patient Arrival Pattern box to highlight the name. Type in a new name and then click somewhere 
outside of the box to save the changes. 
You can use more than one Patient Arrival Pattern if needed. When you run the simulation model, all of the 
Patient Arrival Patterns will run simultaneously. To add a new Patient Arrival Pattern, click the Add button 
. You'll notice that the Patient Arrival Pattern box will now change to say Patient Arrival 2 (or something 
similar). 
To delete a Patient Arrival Pattern, make sure the pattern you want to delete is currently selected in the 
box. To select a pattern, click the arrow at the end of the box to open up a menu listing all the Patient 
Arrival Patterns and select the correct pattern. Then, click the Delete button . You'll notice that the 
Patient Arrival Pattern box will now change to display a different pattern name and it will no longer appear 
in the menu. 
 
Select the Correct Pattern 
If you have created more than one Patient Arrival Pattern, make sure that you 
have selected the correct the Patient Arrival Pattern in the Patient Arrival Pattern 
box before you edit any of the other settings. The changes you make to the other 
settings will only apply to the pattern that you have currently selected. For 
206 
 
example, if you want to have three Patient Arrival Patterns and you want to 
change the settings to Patient Arrival Pattern 3, make sure that Patient Arrival 3 is 
selected in the Patient Arrival Pattern box. 
Inter-Arrival Time 
The Inter-Arrival Time box determines how frequently patients should arrive. You can possibly use a 
mathematical distribution strategy or another set of conditions to determine the frequency. (See Distribution 
Chooser for a more detailed explanation of statistical distributions in FlexSim.) 
By default, Inter-Arrival Time uses the exponential statistical distribution strategy, but this can be easily 
changed. 
If you click the arrow next to the Inter-Arrival Time box, a menu opens listing some of the different 
methods you could use to change the how the Patient Arrivals object randomly measures the amount of 
time in between arrivals. Although there are many options listed here, you will typically only use the first 
option: Choose a statistical distribution. 
If you select Choose a statistical distribution, it will open the Distribution Chooser tool. The Distribution 
Chooser will help you select the appropriate statistical distribution that will randomly calculate how much 
time will elapse between patient arrivals. It will also help you to select the appropriate parameters for your 
statistical distribution. When you're done using the Distribution Chooser, it will create an expression based 
on the options you selected. See Distribution Chooser for more information about this tool. 
PCI 
When the Patient Arrival object determines it is time for a patient to arrive, the PCI box will then assign the 
new patient a patient classification index (PCI). In other words, the PCI box will determine which type of 
patient will arrive. 
 
Patient Classification Systems 
If you would like to edit your current Patient Classification System, click the PCI 
button next to the PCI box to open the Patient Classifications Tool. 
In the PCI box, you can either select a specific type of patient (PCI) or you can use an expression to use a 
more complex process for assigning the PCI. By default, the PCI box has a value of 1, representing PCI 1. 
This means that all patients created by this Patient Arrival Pattern will be PCI 1 patients. NOTE: Even if 
you renamed PCI 1 to something else, the PCI box will still use the number 1 to identify that particular PCI. 
The important thing to keep in mind is that whatever value or expression you enter in the PCI box will affect 
the types of patients that arrive in your simulation model. So, if you have a Patient Classification System 
with 6 different PCIs, but you only type a 2 in the PCI box, only PCI 2s will use this patient arrival pattern. 
If you click the arrow next to the PCI box, you'll open a menu that allows you to select which PCIs will use 
this Patient Arrival Pattern. The menu lists all the current PCIs you have created so far. It also gives the 
option to Use an expression, which opens up a sub-menu with more complex options for choosing PCI 
patterns. Since you are less likely to use many of these expressions, only the Percent option will be 
discussed here. 
207 
 
Choose Percent if you want a certain percentage of each PCI to arrive at random intervals in your model. 
A dialog box will pop up that will guide you through the process, as shown as in the following image: 
 
Click Add a new pair to add a row for each PCI you've created. NOTE: The maximum number of rows 
allowed is 9. You can type a new value in the Percent box to change the percentage for that row (make 
sure that all the percentages total up to 100). Use the arrow next to each row select the specific PCI you 
want to apply that percentage to. 
 
Randomly selecting all PCI types 
If you want all of your different PCI types to arrive at random intervals in the 
simulation model, you can use a FlexScript command called duniform. Let's 
imagine you've created 15 different PCIs and want them all to arrive at random 
times in the model. You could type the expression duniform(1,15) in the PCI box 
to make each PCI type randomly enter your model. The duniform command will 
randomly select a number between 1 and 15, which corresponds to each of the 
PCI numbers in your model. 
Arrival at Time 0 
Check the Arrival at Time 0 box if you want the first patient to arrivewhen the simulation begins to run. If 
the box is cleared, a patient will arrive at a random time based on the statistical distribution you selected. 
208 
 
Hourly Arrivals 
Check the Activate Hourly Arrivals box if you want patients to arrive at different rates based on the hour 
and day of the week. For example, you could set it so that ten patients come in at noon on a weekend as 
opposed to only two patients at 3a.m. on a Wednesday. 
The following image shows the settings available for Hourly Arrivals: 
 
Each setting will be explained the in the following sections. 
PCI 
The PCI box helps you determine which types of patients should use the Hourly Arrivals pattern. The 
Hourly Arrivals pattern is identical to the PCI box for the Inter-Arrival Times pattern. For that reason, see 
Inter-Arrival Times - PCI for more information. 
Arrival Spacing 
The Arrival Spacing menu allows you to choose how much space should be in between patient arrivals. 
The menu has three options: 
 Evenly spaced - The patients will arrive in regular intervals in a particular hour, evenly spaced out one 
after another. 
 Randomly spaced - The patients will arrive at random intervals in a particular hour. 
 All at once - The patients will arrive all at once at the beginning of the hour. 
Edit Hourly Arrivals Table 
Clicking the Edit Hourly Arrivals Table button opens up the Hourly Arrivals schedule, as shown in the 
following image: 
209 
 
 
The rows list all 24 hours in a day in military time and the columns list the seven days of the week. Each 
cell represents the number of patients that will arrive each day during that particular hour. 
When you double-click on a cell, you can type in a new number to change the number of patients arriving 
that hour. You could possible also make it more complex by typing an expression for a random number 
distribution. If you are comfortable with FlexScript, you could also create your own custom code in each 
cell. 
210 
 
Appointments 
Check the Activate Appointments box if you want patients to schedule an appointment and arrive at their 
scheduled appointment times. 
The following image shows the settings available for Appointments: 
 
Each setting will be explained the in the following sections. 
Variability 
You can use the Variability box to build some randomness into how early or late patients arrive for their 
scheduled appointments. You can either use a specific mathematical distribution or type a custom 
expression. 
If you click the arrow next to the Variability box, a menu opens listing some of the different methods you 
could use to change the how much variability there is between the scheduled appointment and the 
patient's actual arrival time. You will most likely not use any of these options, so they will not be explained 
in this section of the User Manual. You will probably only use the first option: Choose a statistical 
distribution. 
If you select Choose a statistical distribution, it will open the Distribution Chooser tool. The Distribution 
Chooser will help you select the appropriate statistical distribution that will randomly calculate how early or 
late a patient arrives for their scheduled appointment. It will also help you to select the appropriate 
parameters for your statistical distribution. When you're done using the Distribution Chooser, it will create 
an expression based on the options you selected. See Distribution Chooser for more information about this 
tool. 
You can play around with different settings in the Distribution Chooser for creating variability in patient 
appointment arrivals. For now, here's some sample code you can use type in this box: 
-15 + normal(15,5.5,1) 
This code makes it so that patients will randomly arrive somewhere between 15 minutes early or late to 
their scheduled appointment. It uses the Normal statistical distribution (which is like a bell curve) so that the 
majority of patients will appear roughly around the time they are scheduled to arrive, but a few could arrive 
very early or late. 
Repeat Interval 
Use the Repeat Interval box to determine how frequently the appointment schedule should be repeated. 
For example, if you create a schedule for a single day that you want to repeat on a daily basis, you would 
indicate how frequently the schedule should be repeated here. 
Because FlexSim HC measures time in minutes, you'll have to enter the time in minutes here. So, for 
example, if you want a daily schedule to repeat every day, type 1440 in this box. (There are 1,440 minutes 
in a single day.) To repeat an interval every 5 days, use 7,200. 
211 
 
Edit Appointments Table 
Clicking the Edit Appointments Table button opens up the Appointments schedule, as shown in the 
following image: 
 
Each row represents an appointment. To add or subtract appointments, use the Rows box to increase or 
decrease the number of rows in the table. 
The first column is the Appointment Time. You can click on each cell in the Appointments Time column to 
type in a different appointment time. Appointment times are formatted with days, hours, and minutes---each 
separated by a colon. Monday is treated as day 1 and the hours use military time. For example, if you 
wanted to create an appointment at 4:15p.m. on a Wednesday, you would format it as 03:16:15. 
The second column is the PCI column. If you double-click one of the cells in this column, you can change 
which type of Patient will be scheduled for this appointment. You should only use the numbers that 
correspond with the PCIs that you created in the Patient Classification Tool. See Inter-Arrival Times - PCI 
for more information.. 
The third column is the Actual Arrival Time. This column is not editable and is only here for display 
purposes. If you want to create a discrepancy between the scheduled appointment time and the actual 
arrival time, you should use the Variability box. 
Lastly, if needed, you can add additional Label columns. You could possibly use labels to assign a patient 
to a particular physician, for example. These labels should correspond with labels that you've created in the 
Patient Classification Tool. See Creating Patient Classification Systems for more information about labels. 
212 
 
Custom Arrivals 
Check the Custom Arrivals box if you want a variety of different types of patients to arrive at different 
rates based on the hour and day of the week. The Custom Arrivals pattern is very similar to the Hourly 
Arrival pattern, but it allows you to create different arrival patterns for different types of patients (PCIs). 
The following image shows the settings available for Custom Arrivals: 
 
Each setting will be explained in the following sections. 
Repeat Interval 
Use the Repeat Interval box to determine how frequently the custom arrival pattern should be repeated. 
For example, if you create a schedule for a single day that you want to repeat on a daily basis, you would 
indicate how frequently the schedule should be repeated here. 
Because FlexSim HC measures time in minutes, you'll have to enter the time in minutes here. So, for 
example, if you want a daily schedule to repeat every day, type 1440 in this box. (There are 1,440 minutes 
in a single day.) To repeat an interval every 5 days, use 7,200. 
Arrival Spacing 
The Arrival Spacing menu allows you to choose how much space should be in between patient arrivals. 
The menu has three options: 
 Evenly spaced - The patients will arrive in regular intervals in the specified time period, evenly spaced 
out one after another. 
 Randomly spaced - The patients will arrive at random intervals in the specified time period. 
 All at once - The patients will arrive all at once at the beginning of the specified time period.Edit Custom Arrivals Table 
Clicking the Edit Custom Arrivals Table button opens up the Custom Arrivals table, as shown in the 
following image: 
213 
 
 
Each row represents a specific period of time. To add or subtract periods of time, use the Rows box to 
increase or decrease the number of rows in the table. 
The first column is the Start Time. Double-click on the cells in this column to define the beginning of a 
period of time. Periods of time are formatted with days, hours, and minutes---each separated by a colon. 
Monday is treated as day 1 and the hours use military time. For example, if you wanted to create a period 
that begins at 4:15p.m. on a Wednesday, you would format it as 03:16:15. 
The second column is the End Time. Double-click on the cells in this column to define the end of a period 
of time. These cells use the same formatting as the cells in the Start Time column. 
The third column is the Number of Arrivals. Each cell represents the number of patients that will arrive 
each day during that specified time period. When you double-click on a cell, you can type in a new number 
to change the number of patients arriving that time period. 
The last column is the PCI column. If you double-click one of the cells in this column, you can change 
which types of patients will arrive during this period of time. You should only use the numbers that 
correspond with the PCIs that you created in the Patient Classification Tool. See Creating Patient 
Classification Systems for more information about creating different PCIs. 
 
Duplicating periods of time 
One nice thing about this table is that you can create duplicate periods of time. 
This way you can create different arrival schedules for different PCI types who will 
arrive during the same period of time. 
 
214 
 
The Distribution Chooser 
Many different settings in FlexSim HC use the Distribution Chooser tool. Since it used extensively by many 
of the Patient Arrival patterns, this chapter will describe how to use this tool in that context. 
About the Distribution Chooser 
When people use the word random to describe something, they often mean that it is chaotic and lacks a 
clear, predictable pattern. However, statistical mathematicians have found that many seemingly random 
events actually can be predicted with a certain degree of probability. For example, you might feel that the 
rate at which patients arrive at a walk-in clinic is truly random, but there might actually be an underlying 
pattern at work that isn't noticeable until you examine it statistically. Or it's possible that the amount of time 
it takes to complete a particular medical procedure is highly variable, but there could be an underlying 
patterns at work there too. For example, there is likely a minimum and/or maximum amount of time it takes 
to complete the procedure. And you might find that 40% of the time, the procedure is finished within 5-10 
minutes while 60% of the time it is finished in 10-20 minutes. 
You can use the Distribution Chooser to possibly create some variability in: 
 How frequently patients arrive at your model, including whether they are early or late for their 
appointments 
 The amount of time it takes to complete a particular process such as medical procedures, phone calls, 
paperwork, etc. 
 The frequency that medical equipment breaks down and needs repair 
 The random unavailability of staff due to sickness or getting pulled away to work on projects for other 
departments 
The Distribution Chooser will help you select the appropriate statistical distribution that will randomly 
calculate how much time will elapse between patient arrivals. It will also help you to select the appropriate 
parameters for your statistical distribution. When you're done using the Distribution Chooser, it will create 
an expression based on the options you selected. 
You can also use ExpertFit to help analyze statistical data that you've gathered to determine which kind of 
statistical distribution you should select using the Distribution Chooser. 
Using the Distribution Chooser 
Various settings that show up in the Quick Properties pane have a pull-down menu that gives an option 
called Choose a statistical distribution. When you choose this option, it will open the Distribution 
Chooser tool, as shown in the following image: 
215 
 
 
The Distribution Chooser allows you to select from many possible statistical distributions to generate 
random numbers. You can change the settings for each statistical distribution so that it uses different 
criteria or ranges of numbers to generate the random numbers. When you make changes to the settings, 
the blue bar graph will update to display the probabilities that certain numbers will be generated. 
In the Distribution Chooser, you can click the Distribution menu to select from many possible statistical 
distributions. A few commonly used distributions are: 
 Bernoulli - Randomly generates one of two different numbers, kind of like a coin toss. 
 Exponential - Numbers at the low end of the distribution scale are more likely to be generated at 
random. 
 Normal - Has a distribution strategy similar to a bell curve in which numbers in the middle of the 
distribution scale are more likely to be generated at random. 
 Triangular - Similar to the normal distribution strategy, but has a greater range of numbers in the 
middle of the distribution scale that are more likely to be generated at random. 
 Duniform and Uniform - Will randomly select numbers within a specific range. The only difference is 
that duniform uses integers (e.g. whole numbers, no decimals) and uniform can use any number. 
Each distribution method has a unique set of parameters that you can customize. These parameters are 
located underneath the Distribution menu. You can try experimenting with different parameters to get 
different statistical outcomes. 
The bottom half of the Distribution Chooser contains a bar graph. The graph visually represents the 
probability of a certain number being randomly generated by this distribution method. The bottom numbers 
show the amount of time in minutes and the blue bars show the probability that those numbers will be 
randomly generated. For example, in the preceding image, there is a high chance there will be 100 minutes 
in between patient arrivals while there will be a low chance that there will be 75 minutes in between patient 
arrivals. 
After closing the Distribution Chooser, you'll notice that the box next to the menu will then be auto-
populated with a mathematical expression. The Distribution Chooser created that mathematical expression 
based on the parameters you used. If you need to change these parameters, you can re-open the 
216 
 
Distribution Chooser at any time. To re-open the Distribution Chooser, click the Edit Parameters button 
next to the box. You can also click the Code Edit button to write your own custom code if you are 
comfortable using FlexScript. You can also edit the mathematical expression directly, but be aware that 
this will make the Edit Parameters button unavailable. 
217 
 
Creating a Warm-up Period 
You might want to create a warm-up period in your model. A warm-up period is a way of letting the model 
run a little while before it actually begins. Warm-up periods can help you get more accurate data if you are 
simulating a health care facility that is open constantly. 
For example, imagine you are building a simulation model of a hospital ward. Because hospital wards 
generally run 24 hours, 7 days a week, the simulation model would be inaccurate in the beginning while all 
the patients were first beginning to arrive. But you can solve this problem by using a warm-up period. If you 
create a warm-up period time, your model won'tstart collecting statistical data until the end of the warm-up 
period, when it reaches a relatively normal, stable patient activity. 
To create a warm-up period: 
1. On the simulation control bar, click the arrow next to the Run Time box. This will open up a dialog box 
where you can change the simulation's time settings, as shown in the following image: 
 
2. In the Time of warmup period end box, type in what time you want the warm-up period to be 
completed. Periods of time are formatted with days, hours, and minutes---each separated by a colon. 
Monday is treated as day 1 and the hours use military time. For example, if you wanted to the warm-up 
period to be complete at 4:15p.m. on a Wednesday, you would format it as 03:16:15. 
3. Click OK to save your settings 
When you reset and run your simulation model, it will still run during the warm-up period, but the simulation 
statistics will reset after the warm-up period ends. 
218 
 
Routine Staff or Location Activities 
After creating patient-centered activities for your simulation model, you might also want to simulate routine 
staff or location activities that will run independently from the patients. For example, you might need to 
simulate things such as staff schedules and shift changes, clerical work, janitorial work, or routine patient 
care (such as checking vitals every hour). 
You'll simulate these kinds of activities using three different tools, depending on your purpose, as explained 
in the following table: 
Tool Possible Activities 
Shift 
Schedules 
 Staff schedules and shift changes 
 Lunch breaks or other mandatory breaks 
 Equipment or location availability (e.g. making it so that a particular piece 
of equipment or location is only available for use at specific times or days 
of the week) 
Global 
Processes 
 Staff meetings 
 Routine patient care (such as checking vitals every hour) 
 Clerical work (such as answering phone calls) 
 Janitorial work 
Random 
Interrupts 
 Occasional equipment break-downs 
 Staff members who are occasionally unavailable at random times (such 
as being asked to work on responsibilities for another department) 
All of these independent activities could affect what happens in the simulation model and it might be 
valuable to simulate them, depending on your simulation goals. 
219 
 
The Shift Schedules Tool 
You can use the Shift Schedules tool to create shift schedules and break schedules for staff groups or 
individual staff members. Additionally, you can also use the shift schedule tool to determine the hours that 
a particular location, piece of medical equipment, or transport will be unavailable. 
Each schedule resembles a spreadsheet where you can mark the time slots that a particular resource will 
be available, off schedule, on lunch, or on break. 
A few things to keep in mind about shift schedules: 
 You can create multiple schedules for your model 
 You can assign an entire resource group to a particular schedule or you can assign group members to 
a schedule individually 
 You can assign locations or areas to a schedule, but they can only be listed as either available or off 
schedule 
 Resources or locations can be assigned to more than one schedule if needed 
The rest of the topics in this section will discuss how to use the Shift Schedules tool. 
220 
 
Adding and Managing Schedules 
Each schedule resembles a spreadsheet where you can mark the time slots that a particular resource will 
be available, off schedule, on lunch, or on break. 
You'll edit schedules using the Shift Schedule tool. You can access the Shift Schedule tool using the 
Toolbox. The Shift Schedule tool uses the tool components feature. This means that you will use the 
Toolbox to create, rename, delete and create a duplicate copy of each schedule. (See Using the Toolbox 
and Toolbar for more information.) 
To create your first schedule: 
1. If needed, click Toolbox on the toolbar to open the Toolbox in the left pane. 
2. Click Add new tool at the top of the Toolbox. This will open a menu of possible tools. 
3. Select Shift Schedule. This will create a new patient track named Schedule1 in the Toolbox and will 
open up the newly created track in the Shift Schedule tool. 
Now you can begin editing the schedule, which will be discussed in the rest of the topics in this chapter. 
221 
 
The Shift Schedules Tool at a Glance 
The Shift Schedule tool is the main tool you will use to create schedules for staff and locations. The main 
elements of the Shift Schedule tool are labeled in the following image: 
 
Each element will be explained in more detail in the following sections. 
Tabs 
At the top of the tool is a tab for each schedule that is currently open. (See Opening and Closing a Tool 
Component for more information about opening the Shift Schedule Tool in the Toolbox.) The schedule that 
is currently active will be highlighted in blue. (See Arranging Windows and Tabs for an explanation of how 
you can change the display options for this tool window.) 
Quick Properties 
You can use the Quick Properties pane to edit the settings for this particular schedule: 
222 
 
 Member Type - Use this pull-down menu to determine whether the schedule should apply to either 
locations or resources (staff, transports, or equipment). By default, Resource will be selected from this 
list, meaning that this schedule will only apply to staff members or other resources. If you want to 
create a schedule for locations instead, you should select Location from this menu. Be aware that 
once you add a resource or location to the Member List, this schedule will automatically become 
locked as either a Resource or Location member type. 
 Break Option Settings - If you click the Break Option button next to the Member Type menu, you 
will be able to edit the settings for each break option. The Break Option settings will be different 
depending on whether you selected Resource or Location from the Member Type menu. (See Break 
Option Settings and Location Break Option Settings for more information.) 
 Member List - Use the settings underneath the Member Type menu to assign specific resource 
groups, resource group members, locations, or areas to this schedule. (See Adding Staff or Resources 
to a Schedule for more information.) 
The Triggers and Advanced settings in the Quick Properties pane will not be discussed in depth in this 
version of the User Manual. In general, you can use the Triggers settings to change the attributes of the 
resources or locations when they are unavailable. If you are comfortable with FlexScript, you can use the 
Advanced settings to modify the code for the behavior of members when they go on or off break. If you 
would like more information about these settings, please contact FlexSim Customer Support. 
Schedule Table 
The schedule table is used to apply different break options to a specific time slot. Each row represents a 15 
minute increment of time, beginning at midnight and listed in military time. Each column represents a 
specific day of the week. 
You can select a single cell or a group of cells and then choose which break option should apply to those 
cells. Select the appropriate break option and then click the Apply button. The cells will now display the 
break option you just selected. 
If the resources or locations are available at a given time slot, the cell will be blank. Otherwise, the cell will 
list one of the other break options that have been applied to that time slot. 
Break Options 
When you select a cell or a group of cells in the Schedule Table, you can choose which break option 
should apply to those time slots. If you choose Available, the staff or location will be available to work on 
an activityduring those time slots. If you choose one of the other break options, they will not be available 
during that time (except under certain conditions). 
The break options will be different depending on whether you selected Resource or Location from the 
Member Type menu in Quick Properties. 
Locations only have the Available and Off Schedule break options. See Location Break Option Settings 
for more information about how to change what happens to a location when it is off schedule. 
Resources (staff members, transports, or equipment) have the following break options: 
 Available 
 Off Schedule 
 Lunch 
 Break 1 
223 
 
 Break 2 
You can use these break options to indicate what type of break a staff member is on. You can determine 
the behavior of the staff while they go on different types of breaks by using the break option settings. (See 
Resource Break Option Settings for more information.) 
224 
 
Adding Staff or Resources to a Schedule 
If all the staff or resources in your simulation model will use the same schedule in your simulation model, 
you will only need to create one schedule and assign all the resources to it. 
However, if you want to build a more complex schedule system and assign different staff members to 
different schedules, you might want to put a little thought into the best method for building your scheduling 
system. 
There are basically two strategies for building a complex schedule system: 
 Assign different schedules to individual resource group members - You can create different 
schedules and assign individual group members to those schedules. For example, if you have one 
group of nurses with four members, you could assign two of the nurses (Nurse_Jane and Nurse_Joe) 
to one schedule and the other two nurses (Nurse_Anne and Nurse_John) to another schedule. 
 Assign schedules to different resource groups - You can create multiple resource groups and 
assign the entire group to that schedule. For example, you could create two different groups of nurses 
(Nurses1 and Nurses2) and assign the different groups to two different schedules. 
The strategy you use should be based on your simulation goals. Be aware that if you create different 
resource groups, it could possibly mess up the Staff Requirements for certain activities. One way to get 
around this problem is to create Alternate Groups for different shift schedules. See Creating Alternate 
Resource Groups for more information. 
Adding Resource Groups or Group Members 
To add a new resource group or group member: 
1. Open the schedule to which you want to add a group member. (See Opening and Closing a Tool 
Component for more information about opening the Shift Schedule Tool in the Toolbox.) 
2. In Quick Properties, under Members, make sure that Resource is selected in the Member Type 
menu. 
3. Click the Plus sign underneath the Member Type menu. This will open up a sub-menu listing all the 
resource groups that currently exist in your model. 
4. Select the name of the resource group you want to use. This will open up another sub-menu that lists 
the name of the resource group at the top of the menu. It will also list all of the individual group 
members who belong to that resource group. 
5. At this point, you have a choice to make. You can click the name of the resource group if you want to 
assign any member of that group to this activity. Or you could click on a specific group member to 
assign that group member to this activity. 
When you are finished, the resource group or group member should appear in the Member List. This 
schedule will now apply to any resource listed in the member list. 
The Eyedropper 
225 
 
 
You can use the Eyedropper tool to select the resource you want to use by 
clicking on it in your simulation model. See Eyedropper for more information. 
Removing Resource Groups or Group Members 
To remove a resource group or group member: 
1. Open the schedule from which you want to remove a group member. (See Opening and Closing a Tool 
Component for more information about opening the Shift Schedule Tool in the Toolbox.) 
2. In Quick Properties, under Members, click the name of the resource group or group member you 
want to remove from the Member List. Clicking the name will highlight it. 
3. Click the Delete button above the Member List. 
The resource group or group member should no longer appear in the Member List. 
226 
 
Resource Break Option Settings 
The Shift Schedule tool has five different break options for resource groups: 
 Available 
 Off Schedule 
 Lunch 
 Break 1 
 Break 2 
When a staff member's schedule indicates they are Available (represented by a blank cell for that time 
slot), that staff member will be available to be assigned to an activity. You can customize the settings for 
the other four break options so that staff members will behave differently depending on the type of break 
their schedule says they should be on. For example, you can change the conditions that determine 
whether the staff member can begin their break, whether the staff can be taken off break early, etc. 
To edit the resource break option settings, open the schedule you want to edit in the Toolbox. (See 
Opening and Closing a Tool Component for more information about opening the Shift Schedule Tool in the 
Toolbox.) Then in Quick Properties, click the Break Option button next to the Member Type menu. 
This will open up the Scheduled Break Options dialog box, as shown in the following image: 
 
You can use the default settings (shown in the previous image), or you can customize the settings. 
Each of the settings will be discussed in the following sections. 
Break Condition 
The Break Condition setting allows you to determine if the break should be skipped under certain 
conditions. The default is that the break will always occur. If you are comfortable with FlexScript, you can 
type in a custom expression here to determine the conditions under which the break will occur. Be aware 
that the expression should return either a true or a false value (true means they will take the break, false 
means they will not take the break). If the expression is false, the staff member will skip the break entirely. 
227 
 
Priority 
You can type a different number in the Priority box to change the priority level for this type of break. The 
priority levels for breaks are the same as the priority levels for any other activity that a staff member could 
be assigned to work on. Make sure you read and understand Staff and Resource Priorities before changing 
the default priority settings. 
Keep in mind that if this break has a higher priority level than other possible activities that the staff member 
could work on, the staff member will not work on those activities until after the break is complete. If the 
break has a higher priority level that is in a higher tier, the staff member will actually stop working on their 
current activity and leave to go on break. For that reason, you should think carefully about what priority 
level this break should have. 
Variance 
The Variance box can be used to change the amount of time the break will take, meaning that the staff 
member might take less than or more than the full amount of time specified in the schedule. You can enter 
a positive or negative number in this box or you can use a mathematical distribution to make the length of 
the break vary randomly. 
For example, if your staff member was scheduled to take a break from 9:00 to 9:15 and you typed a 5 in 
this box, the break would end 5 minutes after the scheduled time slot, at 9:20. Keep in mind that variance 
affects the actual duration of the break, not the specific times. If a staff member starts the break late (such 
as at 9:05 in this example),

Mais conteúdos dessa disciplina