FlexSim Healthcare's 3D objects and process flow activities make it easy to build a variety of health care simulation models, such as hospitals, emergency rooms, clinics, etc. In this tutorial task, you'll learn about the basics of building a FlexSim Healthcare (HC) model. You'll learn how to:
To teach you how to use the FlexSim Healthcare 3D objects and process flows, you'll build a portion of a walk-in health care clinic. In this tutorial task, you'll only build the section of the system that handles new patient arrivals. You'll add the necessary objects and create the basic behavior of a patient that arrives at the clinic and registers at the front desk.
When you're finished with this task, your model will look similar to the following image:
In this step, you'll create a new model and switch to the FlexSim Healthcare environment. Technically, this step is unnecessary because you can access all the same 3D objects and process flow activities without being in this environment. For example, you can access the FlexSim Healthcare 3D objects in the Library under the People group and you can access the FlexSim HC process flow activities in the Library in various People groups near the bottom of the process flow library.
However, when you switch to the FlexSim Healthcare environment, those specific 3D objects and process flow activities will move to the top of their respective libraries, making them easier to access. The overall interface, the main toolbar, and organization of objects in the library also becomes simpler and more streamlined for building health care models.
After switching to the Healthcare environment, you will add a floor plan of the clinic that you will simulate in this tutorial. This floor plan was included with FlexSim when you installed the software. When you're finished adding the floor plan, your model should look similar to the following image:
To switch to the FlexSim Healthcare environment and add a floor plan:
Check to ensure your 3D model looks similar to the image in the beginning of this step.
The FlexSim Healthcare 3D Library has a set of objects that are specifically designed for building health care models. In this step, you'll learn how to add FlexSim Healthcare locations and multi-locations to a 3D model.
If you're familiar with FlexSim in general, locations are similar to fixed resources for flow items in the standard FlexSim environment. Patients will move to these locations and interact with them based on the type of object they are. Usually the interaction will involve changing something about the patient's visuals or animations while they arrive at, use, or exit the location. For example, when patients interact with a chair, it will animate them sitting in a chair.
You'll also add a multi-location to your 3D model in this step. A multi-location is a location that contains a group of related locations. When a patient attempts to acquire the multi-location, any of the individual locations in this group could be acquired. In this model, you'll add a chairs multi-location to represent chairs in a waiting room area. Each individual chair can potentially be acquired by the patients, but you don't need to add each chair to the model; you can simply add the group of chairs. In this step, you'll also learn how to edit a multi-location to add additional chairs to the group.
At this point, you'll just build the registration area of the model, which will include an entrance and exit for patients, a registration desk where they will sign in when they arrive, a waiting area, and a chair where the patients will have their vitals checked. When you're finished, your 3D model will look similar to the following image:
To add these locations to your model:
Check to make sure your 3D model looks similar to the image shown at the beginning of this step.
In this step, you'll learn how to add staff objects to your 3D model. You'll then learn how to create staff and location object groups. You'll also explore how groups work with FlexSim Healthcare 3D objects in general by exploring groups in the Toolbox. See Creating 3D Object Groups for more information about groups.
By default, all locations are automatically added to one of the main object groups: the Locations group. In a similar vein, all staff are added to the Staff group. However, you also have the ability to create additional groups or sub-groups to better organize your model. As you'll see in a later step, these groups are important to building the logic for FlexSim Healthcare objects.
In this step, you'll add a staff member that will act as a clerk. You'll create a sub-group of the Staff group called Clerks that will contain this new staff member. Then you'll add two additional staff members to the 3D model and add them to a sub-group called RNs. You'll also add the VitalsChair to a group called VitalsCheckAreas.
With these groups set up, you'll be able to add additional staff members or locations to these groups without having to change your logic, as you'll see in later steps.
When you're finished, your 3D model will look similar to the following image:
To add a staff member and create object groups:
Consider saving your simulation model at this point.
In this step, you'll learn how to set up process flows. The Process Flow tool allows you to build a flowchart of your model's logic. Inside that flowchart, you'll add activities that contain small chunks of pre-programmed logic or instructions. When a simulation model runs, small green circles called tokens move through the process flow activities, performing each activity's instructions.
In this step, you'll create two process flows. One will be a patient process flow named PatientTrack that you'll use to control how the patient interacts with the 3D model after it has been created. The second will be a general process flow named PatientArrivals that will control how frequently patients will be created inside the 3D model.
Inside the PatientTrack process flow, you'll add an activity set called Wait in Line then Process. FlexSim Healthcare models have several activity sets you can use to build your simulation model's logic. Activity sets are groups of process flow activities that have been pre-programmed to accomplish some of the most common logical tasks in FlexSim Healthcare models.
The activity set you'll add in this step contains activities that will instruct a patient to walk to the registration desk and begin the registration process. If the receptionist is busy helping another patient, the current patient will wait in line.
When you're finished, your process flows should look similar to the following image:
For now, you'll merely add and connect these activities to the two process flows. You'll edit the properties to add logic in a later step.
To add and connect these activities:
|Source||Patient Arrival Schedule|
|Sink||Patient Was Created|
|Activity or Shared Asset||New Name|
|Wait In Line||Wait in Registration Line|
|Acquire Location||Acquire Registration|
|Acquire Staff||Acquire Clerk|
|Walk (first one)||Walk to Registration|
|Walk (second one)||Walk to Patient|
|Release Staff||Release Clerk|
|Release Location||Release Registration|
Check to ensure that your two new process flows look similar to the image at the beginning of this step.
In this step, you'll edit the properties for the activities in the process flow. One important concept to keep in mind is that in this tutorial you'll use a process flow instance for each patient that is created by the PatientArrivals process flow. That means that each patient will run its own individual copy of the PatientTrack process flow based on the template you'll build for the patient in this step. See Process Flow Instances for more information about how process flow instances work.
In practical terms, this means that any time you see the keyword
the properties for an activity, it will refer to the current patient that is running
this instance of this process flow. The token that runs through that instance will be tied
to that patient.
In this step, you'll also see how the staff groups you set up earlier in the tutorial will be used in this model's logic. When a staff member is required to help a patient, you can assign any member of the group to help the patient (as opposed to assigning a specific staff member). When needed, the process flow will select the first available member of this group to work on a task.
Using object groups will help your model scale well as it becomes more complex. It makes it so that you can add extra chairs, clerks, nurses, etc. as needed without having to change the model's logic. When you add new objects to the 3D model, all you will have to do is add the new members to the group and FlexSim Healthcare will take care of the rest of the logic. These object groups also make it possible to easily study the impact of adding additional staff or location resources to your model to find the most efficient use of resources.
The following is an overview of how each activity in the PatientArrivals process flow will function:
|Activity or Shared Asset||Explanation|
|Patient Arrival Schedule||This activity will create a token when the simulation starts and release that token to the next downstream activity. You'll only start with one patient for now to test the simulation model. You'll modify the patient arrival schedule in a later tutorial task.|
|Create Patient||This activity will create a new person and place it inside the Entrance in the 3D model. This person will represent a patient moving through the system. When this person is created, it will create an instance of that patient that will run its own copy of the PatientTrack process flow.|
|Patient Was Created||This activity will remove the tokens from the PatientArrivals process flow once the patients have been created. You'll use the default settings.|
And the following is an overview of how each activity in the PatientTrack process flow will function:
|Activity or Shared Asset||Explanation|
|Patient Arrives||This activity will create a token as soon as a new patient is created by the PatientArrival process flow. This token will be associated with the patient that was created in the 3D model.|
|Registration||This shared asset will link to the Registration1 location in the 3D model.|
|Clerk||This shared asset will link to the Clerks group that you created in an earlier step.|
|Wait in Registration Line||This activity will send the current patient to WaitingLine1. This activity is pre-programmed to work correctly as part of the Wait in Line then Process activity set, so you'll use its default settings. Since you didn't change the default name of this waiting line, this activity will automatically send patients to it. If you had changed the name of the waiting line, you would have to specify the waiting line to which you wanted to send patients.|
|Acquire Registration||This activity will attempt to acquire the Registration1 location. If another patient is using the Registration1 location, the token will remain at this activity and the patient will wait in line until the Registration1 location is free. If the Registration1 location is acquired, the token will move to the Acquire Clerk activity instead. This activity is pre-programmed to work correctly as part of the Wait in Line then Process activity set, so you'll use its default settings.|
|Acquire Clerk||This activity will acquire a member of the Clerks group. If all members of the Clerks group are busy working on other tasks, the token will wait at this activity until a clerk is free.|
|Walk to Registration||Once the Registration1 location and a clerk have both been acquired, this activity will tell the patient to walk to the Registration1 location.|
|Walk to Patient||This activity will send the clerk to the patient's location at the registration desk. You'll link it to the Clerk shared asset so that it will use the same clerk that was acquired in the previous activity.|
|Register Patient||This activity will represent the amount of time it takes to register the patient. You'll set that time to 15 seconds for now.|
|Release Clerk||Once the registration process is complete, this activity will release the clerk that was acquired earlier in the process flow. The clerk will then be free to work on other tasks or to be acquired by other patients.|
|Release Registration||This activity will release the Registration1 location so that it is free for other patients to acquire.|
To edit these properties:
Consider saving your simulation model at this point.
In this step, you'll run your simulation model. In general, it's a good idea to regularly test your model logic after you've built a small section of it. When you run the model, you'll notice errors or things that didn't work as expected. See Running a Simulation Model for more information.
To run the model, press the Reset button on the simulation control bar, which is below the main toolbar. (Pressing Reset clears the simulation model and returns it to its starting values.) Press Run to start the simulation and Stop to pause it.
As you watch the 3D model, the patient arrives through the door, walks to the waiting line and then to the registration desk. The clerk then walks to the patient at the registration desk. After a short delay, the clerk completes the registration and walks away from the patient:
Notice that the actions in the 3D model correlate with what is happening in the PatientTrack process flow. As the tokens move through the process flow, they correlate with the patient's and staff member's actions in the 3D model. The process flow activities take care of all the actions and logic for the patient as it interacts with different types of locations and staff members.
Be aware that the patient will remain at the registration desk for now because it has not yet been instructed to move to another location. You'll add those instructions in the next tutorial task.
At this point, you've created the first phase of your health care clinic simulation model. You've added a few FlexSim Healthcare 3D objects to your model and you've seen how to build the model's logic using the process flow tool and the people activity sets. In the next tutorial, you'll continue building out the rest of the patient track for the health care clinic and you'll learn how to set up custom logic in your process flow. Continue on to Tutorial Task 1.2 - Create Custom Logic.