question

Matthew W5 avatar image
1 Like"
Matthew W5 asked Cliff King commented

Experimenting with Arrival Schedule Flexsim 2020 Healthcare

I'm working on my first project in FlexSim 2020 after switching from FlexSim HC. I have my model created and running, but am trying to figure out how to change my patient arrival schedules with the experimenter. Previously the schedules were available as variables within the experimenter by using a global table. Now the only option that I'm seeing for the schedule is in the arrivals activity.

I've tried selecting different process flows from the node tree, but didn't have much luck. Is there a way to modify the arrival schedule from within the experimenter either via setting up multiple Arrival activities or using a global table?

FlexSim 20.1.0
experimenterflexsim 20.1.0arrivals
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

1 Answer

Cliff King avatar image
0 Likes"
Cliff King answered Cliff King commented

I do not think you can turn on/off an arrival activity, so if you plan on creating a separate arrival activity (ie. source) for each scenario, you may have to use decide activities downstream of each of source that redirects the tokens to a sink when it's not their turn (ie. scenario) to create patients. Maybe someone else has a better idea... @Brittany Evans @Jordan Johnson @Matthew Gillespie

· 3
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jordan Johnson avatar image Jordan Johnson ♦♦ commented ·

The Arrivals activity is a Date/Time source. If @Cliff King's idea works for you, I would use that.

However, you don't have to use the Date/Time source to determine arrivals. That activity just creates tokens at certain times, and sends them to the Create Person activity. You could make your own "Date/Time" source using other activities, such as a Scheduled Source. You could create activities to read a global table and create tokens (arrivals) at the times you would like. Then, you could switch which Global Table you read in the experimenter.

0 Likes 0 ·
Matthew W5 avatar image Matthew W5 commented ·

Adding some notes in case anyone else wants to try this.

This option appears to work upon initial testing. I added a numeric label to the arrivals table and then compared it to a global table entry. In the experimenter I set the value of the global table for each Scenario.

In the Decide Send Token, I used a conditional decide of 'current.<Label> <= Table("GlobalTable1")[1][1] which connects to the remainder of my workflow or sends the token to Sink. I had to add a Remove Patient prior to the Sink, otherwise the patient appeared and never moved.

0 Likes 0 ·
Cliff King avatar image Cliff King Matthew W5 commented ·

Thanks @Matthew W5 for the extra info! By the way, I was thinking your decide would go before the CreatePatient activity, so that the patient would never be created in the first place. This would be faster. I still think the developers should add a checkbox (and therefore a variable accessible by the experimenter) to source activities to activate/deactivate them! I believe, @Matthew Gillespie has already added an item to the future dev list.

0 Likes 0 ·