This is the Routing Master Class. It is designed to help you learn techniques to bring your skill set to a whole new level. In this article you will use a technique so that Attributes Define Process Flow. First, you will learn how to define the model to route to the proper location. Then you will learn how to read the attributes to create the entity flow.
Attributes Define Process Flow
There are three parts to using Attributes Define Process Flow:
- Build the model to handle any order of routing.
- Build the logic to extract the routing information from entity attributes.
- Prepare the arrivals to carry routing information.
Build the Model to Handle Any Order of Routing
Think of the model as being generic. Even if your system doesn’t allow “any” order of routing build the model using this simple technique and the model will be easy to design and will handle anything that you throw at it. Send all entities to a common location where they will pick up the information needed to route “to” the first activity and how much processing time will be required. When finished at the first activity go back to the common location and pick up the information for the second location and it’s processing time.
The structure of the model has all entities entering into the common location. Conditional routes are used to read a common attribute to steer entities to the next location. Once at the activity, the processing time is accounted for by reading another common attribute. When finished at the activity all entities are routed back to the common activity to pick up the next location and next time. A simplified healthcare example is used below to illustrate.
Routes depicted in blue are percentage routings. The black box is a dummy activity used to consolidate all blue routes from the locations so that only a single route goes back to the director. Routes depicted in red are conditional routings. An example conditional route going to the ED is show below:
To avoid conflicts in naming, either a prefix or suffix is added to the attribute descriptor. In the previous example, a “1” was added as a suffix to each “next location” descriptor.
In a healthcare environment the number of location might expand to 20 locations, but this technique can be used in any industry. The base model could be expanded to hundreds of locations if needed. When changing the model to match your locations, the following will need to be modified: change the names of the activities; change the conditions in the conditional routes; change the descriptors used to identify your locations; and change the logic described below.
Build the Logic to Extract the Routing Information From Entity Attributes
All the logic for the model is in the Director activity. The logic is very straight forward. Every time an entity enters the director it’s counted. If it is the first time through the Director, then the location is read from the first location attribute and the processing time is read from the the first time attribute. The second time through the director, then location and time are read from the second set of attributes. A portion of the logic is show below:
IF a_Loc_Count = 1 THEN
a_Next_Loc = a_Loc1
a_Next_Time = a_Time1
ELSE IF a_Loc_Count = 2 THEN
a_Next_Loc = a_Loc2
a_Next_Time = a_Time2
ELSE IF a_Loc_Count = 3 THEN
a_Next_Loc = a_Loc3
The attribute a_Next_Loc is used in every red (conditional) route to steer the entity to the next location. The attribute a_Next_Time is used at every location to determine the processing time at the activity.
Every location uses the same format for processing time. The ED activity dialog is show below:
Additional attributes can be added to account for other aspects of the system being modeled, such as setup time or batch size. Also additional logic could be added to account for other operational characteristics at the activity.
Prepare the Arrivals to Carry Routing Information
The last step in Attributes Define Process Flow is to structure the scheduled arrival input sheet. The input sheet is provided as a model object in the Arrivals category. When the sheet is first opened it will have default information as show below:
Prepare the input so that the first location goes into the attribute a_Loc1 and the time goes into attribute a_Time1. An example is show below:
Show the Entity How to Exit
How does the entity know when it has completed it’s routing? The entity goes back to the director and sets the attribute a_Next_loc to the next value. If the attribute a_next_loc is set to zero (0) then the entity exits. The exit from the model is accomplished by setting a conditional route with the condition “a_Next_Loc = 0” as show below:
The logic from this example can be expanded to handle as many locations and times as needed. The pattern is the same with more attributes and longer logic in the director.
Using the technique of Attributes Define Process Flow makes building a model to handle unlimited variability a breeze. These model are fast to develop and can be checked against current production level to assure accuracy. This is a Master Class technique. Welcome to the Master Class.