question

Patrick Cloutier avatar image
0 Likes"
Patrick Cloutier asked Cliff King commented

Cleaning cycle for an equipment used in patient track

In parallel to the regular patient track (for a colonoscopy clinic) I need to model the cleaning process of the equipment used in the procedure (scopes). These are a limited resource and their inventory level is critical.

For the cleaning process of the scopes, should I:

1 - Model it in the patient track ? It doesn't feel natural as this process is no longer linked to any patient. Once the scope is cleaned, it is placed in storage for later use. Or there might already be a doctor waiting for it as it is a limited resource.

2 - Model it as an Item Object ? After the exam is done, have a Send Item activity and model the cleaning using Item Objects ? The problem with this is controlling the number of scopes in circulation.

3 - To solve this last issue, can an equipment be converted to an item object and vice-versa ?

My guess is I have to do option 1.

Thanks,

Patrick

FlexSim HC 5.1.0
equipement clean
5 |100000

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

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

I would use equipment objects to represent the scopes, and then model the utilization and cleaning of the scopes with a combination of activities across the patient track and global processes. I would need to know more about the scope management process to provide detailed help, because how objects and activities are referenced depends heavily on the timing for when and why you need to reference them.

For instance, if the scopes need to be processed in batch after accumulating so many soiled units, you would need a different referencing scheme than if the units were taken one-at-a-time after each use, cleaned and then returned immediately to the point of care. I can also imagine many other schemes for how to manage the handling of scopes.

You may email me your model directly if you are worried about privacy.

By the way, you can reference Global Process objects by their name, just like a Global Table and regular modeling objects in the Healthcare software.

Cliff

· 4
5 |100000

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

Patrick Cloutier avatar image Patrick Cloutier commented ·

I'd rather continue with specific questions rather than sending you the model for now.

Scopes are equipment objects. After the exam, they are placed on a table by the doctor and grabed one by one by the techs to be cleaned and placed in storage for later use (or immediate use if inventory is low).

I managed to start the globalprocess as you indicated. It now works. THANKS.

At the same place (in the PatientTrack - ActivityFinishedTrigger) I am releasing the scope and writing on it what PCI it was used for so that I can adjust the cleaning time. I use this and it works: setlabel(allocatedmember,"PCI",getlabelnum(patient,"PCI"));

Now to the GlobalProcess: when a tech grabs a scope I need it to look at its label to find the PCI and choose the process time accordingly. This is where I fail to find the answer: getlabel(???pointtoscope???,"PCI");

I can't use allocatedmember now. Could I use current like in Flexsim ? If not, how do I point to the scope that's in its hands?

0 Likes 0 ·
Patrick Cloutier avatar image Patrick Cloutier Patrick Cloutier commented ·

Cliff, I have another serious problem in my globalcleaningprocess. It seems the KEEP equip doesn't work the same way as it does in a patient track.

If I don't KEEP the Equip on the first activity, it will be stolen by doctors before the cleaningprocess is finished.

If I KEEP the Equip in the first activity, it remains stuck in that first activity and never travels to the next activities of the cleaningprocess.

I tried to instead change the MemberSelectionPolicy for the equip group to make a policy that doesn't touch the scopes that are in cleaning process but I couldn't figure how to do that,

0 Likes 0 ·
Patrick Cloutier avatar image Patrick Cloutier Patrick Cloutier commented ·

I will email you my model in a few minutes.

0 Likes 0 ·
Show more comments
Matthew Gillespie avatar image
0 Likes"
Matthew Gillespie answered Cliff King commented

Option 3 isn't really possible.

I would use a global process to define the activities for the cleaning. Then in your patient track you would start the first activity using the Start Activity pickoption in an Activity Finished trigger. Instead of starting the activity on patient start it on the global process:

node("Tools/GlobalActivityLists/CleaningGlobalProcess", model())
· 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.

Patrick Cloutier avatar image Patrick Cloutier commented ·

But how do I reference the Equipment that I need to clean in my CleaningGlobalProcess?

The Equipment is left on a table in the PatientTrack by a staff.

Now it needs to be pickedup in the CleaningGlobalProcess by another staff.

How do I reference it in the first activity of the global process in Equipment Requirements ?

0 Likes 0 ·
Patrick Cloutier avatar image Patrick Cloutier commented ·

Also, I've been trying for hours to start my globalprocess by referencing it in the ActivityFinishedTrigger of the patient track activity using the node reference and it doesn't work.

The only way I am able to start the globalprocess is by leaving the predecessor box checked.

I would attach the model but it needs to be in a private post. Should I start a new one.

0 Likes 0 ·
Cliff King avatar image Cliff King Patrick Cloutier commented ·

This is the expression you would use to start activity 10 on a Global Process named "CleaningGlobalProcess"

startactivity(CleaningGlobalProcess, torownum(CleaningGlobalProcess, 10))

Be sure and check that the activity doesn't have an Activity Start Condition" that is blocking the activity from starting. The start condition still needs to be true when trying to start an activity with the startactivity command!

1 Like 1 ·