question

Sean A avatar image
1 Like"
Sean A asked Mark S2 commented

Assign Staff to Individual Locations

I have multiple registration counters and registration staff. I would like it so RegistrationClerk6 can only ever use Registration6, etc.(see photo). Is there an option in the menus to only allocate certain staff to certain locations, without creating all separate areas?

In FlexSim Healthcare 5.3 there was a drop down for it, just not sure of the syntax in version 19.1

Assuming I would need to do a match for some condition.

IF
Registration[j] acquired
THEN
acquire RegistrationClerk[j] ?

Appreciate any insight/help.


Sample model attached

model-question.fsm

FlexSim 19.1.0
staff asignment
registrationstaff.png (627.1 KiB)
model-question.fsm (737.7 KiB)
· 1
5 |100000

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

Sean A avatar image Sean A commented ·
0 Likes 0 ·

1 Answer

Matthew Gillespie avatar image
2 Likes"
Matthew Gillespie answered Mark S2 commented

We've added an equivalent of the old dropdown in 19.2 (there's a beta you can download), but here are a couple ways you could do it in 19.1. These two solutions just use a line of code in the Staff field of the Staff Resource: Registration Clerk block.

1. Since you have two groups, the RegistrationArea and the RegistrationClerks, that both have 12 objects in them in the same order we can just find out the index of the registration desk we've acquired and then ask for the clerk with that same index.

Group("RegistrationClerks")[Group("RegistrationArea").indexOf(patient.Locations[1])]

bygroupindex.fsm

2. This method takes a step of setup, but can be useful for many different things. By holding down the 'S' key and clicking on one object and dragging to another object it will create a center port connection between the two objects. This creates an association between the two objects and the two objects can easily reference each other. So I created a center port connection between each clerk and her desk. Then we can just try to acquire the center object of the desk we acquired.

patient.Locations[1].as(Object).centerObjects[1]

centerobjects.fsm


bygroupindex.fsm (200.3 KiB)
centerobjects.fsm (200.6 KiB)
· 7
5 |100000

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

Sean A avatar image Sean A commented ·

Thanks Matthew.

Incredibly helpful as always.

0 Likes 0 ·
Tomas B avatar image Tomas B commented ·

Hi @Matthew Gillespie, how would the syntax change if the Staff was acquired first, followed by the locations? Thanks in advance

0 Likes 0 ·
Matthew Gillespie avatar image Matthew Gillespie ♦♦ Tomas B commented ·

The pickoption is available now in 19.2 so you could just use that, but otherwise those examples would look like this:

Group("RegistrationArea")[Group("RegistrationClerks").indexOf(patient.Staff[1])]
patient.Staff[1].as(Object).centerObjects[1]
1 Like 1 ·
Tomas B avatar image Tomas B Matthew Gillespie ♦♦ commented ·

thanks so much

0 Likes 0 ·
Mark S2 avatar image Mark S2 commented ·

Hello,

@Matthew Gillespie could you update how to do this for the current release (21.0.3)?

Thanks!!

0 Likes 0 ·
Matthew Gillespie avatar image Matthew Gillespie ♦♦ Mark S2 commented ·

@Mark S2 Both of the above methods still work, and for most cases I would personally use one of those since they don't require you to fill out a table of information like I'm about to show you.

The other mentioned option that you get after 19.2 is the Location (or Staff, etc) By Case pickoption where you list the if - else conditions:

byCase.fsm

0 Likes 0 ·
1617734515894.png (47.0 KiB)
bycase.fsm (197.3 KiB)
Mark S2 avatar image Mark S2 Matthew Gillespie ♦♦ commented ·

To any future modellers who might use this - if you need to link the resource block to another process, you might want to change the "Default : Model.find("Registration1")" line to a group...otherwise the "Sort by" function will not distribute the work by utilization, or GroupRank...it will just push everything to "Registration1".

0 Likes 0 ·