If you create a process simulation of any part of a hospital you are bound to experience the problem of “room turning.” Room turning, is holding a room from available inventory until it’s cleaned. It sounds simple, but creating the logic in a simulation model can be a bit tricky. The entity being processed (the patient) has left the simulation and yet the room still has to be held until the cleaning resource becomes available and cleans the room.

Process Simulation of Room Turning is a Simple Process

Process simulation is a fun and easy technique to test new ideas, determine how to handle growth or even to test extreme circumstances. These tests can be run in minutes and it doesn’t cost anything! The tests are run on the computer rather than changing and disrupting the real system. Yet, sometimes the little details, such as creating a room turn, are frustratingly difficult for a new user. It’s not complicated or difficult, but it requires a good understanding of how ProcessModel works.

Process model elements used to simulate room turns.

Process model elements used to simulate room turns.

Usually a bed or room (resource) is reserved by using a Get statement and released back to inventory with a Free statement. The problem is that the bed is attached to the patient. If you release the bed, before the cleaning, it may show the room is available 15 to 30 (or more) minutes before it is actually available. So the trick is how can I release the patient and retain the bed. What follows is a simple explanation of room cleaning model elements:

The original entity (Patient) will follow the purple path. In the purple activity, current information about start time and value adding time are recorded to temporary variables. On the purple route the patient will be renamed (to whatever you choose for room cleaning) and statistic collection will reset (to collect statistics on the room clean). On the Red route a New entity will be created and given the name of the original entity (Patient). As soon as the new entity is created information will be pulled the temporary variables and put into the entity attributes so the process simulation will report the actual start time of the patient.


  • Create 2 new attributes, a_CycleStart and a_VATime
  • Insert the following logic in the Purple activity action logic

a_CycleStart = CycleStart

a_VATime = VATime

  • Insert the following logic in the action logic of the purple route:

CycleStart = Clock( )

VATime = 0

  • Change the red route to the Type Create, give it a new name to match the original entity name (i.e. Patient), and add the following logic:

CycleStart = a_CycleStart

VATime = a_VATime

Process simulation of a room turn is quick and easy once you understand the basic elements of ProcessModel.