question

Jim Montgomery avatar image
1 Like"
Jim Montgomery asked Regan Blackett commented

How do I collect data on processing times?

I want to collect data on the amount of time patients are actually spending getting triaged (face-to-face interaction with nurse resource). The “Conduct Triage” Activity processing time is set for a triangular distribution. I want to collect this data for all my patients, by PCI, and I do not want to include the time patients spend waiting at the Triage Area waiting for the nurse resource to arrive. I thought this would be straightforward: Assign a current time attribute/label to the patient when the nurse resource arrives; assign another when the resource departs; then subtract the difference. However, I can not figure out how to do this in FlexSim. Could you please help?

Thanks,

Jim

FlexSim HC 5.1.0
statisticshealthcare users manualprocessing time
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

Matthew Gillespie avatar image
0 Likes"
Matthew Gillespie answered Regan Blackett commented

You could do this with milestones. Set a milestone on the activity and set it to record right before the processing time. Then set another milestone on the activity right after. Make sure that this activity doesn't try to acquire any new locations or staff so there's no wait time. You can then use a Milestone - Milestone chart to display the times. See this answer for more explanation about milestone recording.

Alternatively, you could record the times on labels like you suggested. You would add some code in the Processing Time field of the activity to set the first label (before the return statement) and then set the second label in the Activity Finished trigger.

· 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.

Jim Montgomery avatar image Jim Montgomery commented ·

Thanks Matthew. I did not consider option one, because I thought it would include waiting times. However, I was wrong, as it seems to work fine. Could you please demonstrate the code required to make option two work?

Thanks, Jim

1 Like 1 ·
Tee Hiett avatar image Tee Hiett commented ·

Hi Jim, Here is one way you can accomplish Option 2. This is using the waiting line example that Matthew Gillespie uploaded to a another post. It uses a constant time for the registration which is good in this case because you can easily see if your code is producing the desired results.

There are three labels added to the PCI table: BegReg, EndReg and RegMins. If you look at the Advanced Functions for Activity 20, you will see that the first label is filled with a Set Label in the Activity Started Trigger and the remaining 2 labels are filled with 2 Activity Finished triggers, one getting the value for EndReg and the second subtracting the value for BegReg from the value for EndReg. Hope this helps. Tee

waitinglineexample-with-patient-labels.fsm

1 Like 1 ·
Lou Keller avatar image Lou Keller commented ·

Way to go Matt and Tee!

0 Likes 0 ·
Jim Montgomery avatar image Jim Montgomery commented ·

Thanks Tee and Matt. I used your recommendations to create data points that I now understand and trust. This has been very informative.

Jim

0 Likes 0 ·