Jump to content

Simultaneous Delays


johnhagood
 Share

Recommended Posts

I am working on a model of an emergency room, and I'm having trouble figuring out how to model multiple personnel working on a patient at once.

For instance, when a patient enters, the patient will attempt to seize a nurse, a PA, and a Doctor to do a number of tasks that can be done simultaneously (but are not required to be done simultaneously). If the doctor is busy, the nurse and PA should be able to finish their tasks and move on while the patient still waits for the doctor. I need a way to seize-delay-release the nurse and PA and move on with other processes before the doctor arrives. Effectively, I want to schedule the release at a later time, instead of stopping the process with a delay step.

Link to comment
Share on other sites

Within a Server, Combiner or Separator object, you can specify the Process Type as 'Task Sequence' allowing you then to define any number of Processing Tasks for that Server, Combiner or Separator. The processing tasks can be serial or parallel tasks. By using parallel tasks, for example, with a different worker (nurse, PA, Doctor) required for each parallel task, the tasks are done independently, but can be done at the same time. Parallel tasks can be specified using the same Sequence Number (see Task Sequence and Task Sequence - Processing Tasks sections of Simio help).

So, for example, you can have the processing tasks within a Server all have a sequence number of 10 (meaning parallel). One of them requires a Nurse for X time units, another requires a PA for Y time units and the other a Doctor for Z time units). The patient doesn't leave the Server until all 3 tasks are completed. However, if the Nurse is available to do his/her task, they will start. Likewise for the others. And the workers can move on to other tasks at other Servers (patient areas) as well when they are done.  

Link to comment
Share on other sites

You can use task sequences. Set process type property of a server as "Task Sequence". While populating processing tasks property of a server object (when you click on the three dots, that are seen at the right hand of processing tasks property, a repeating property editor will pop-up) you should use the same sequence number for all tasks you considered. Under Resource Requirements section of Processing Tasks-repeating property editor you have to input your resources (nurse, PA, doctor etc.). Examining some simbits related to task sequences will help you.

Link to comment
Share on other sites

In the final model, we could potentially have ~1000 different task sequences for all of the different patient types and severities, is there a way to store task sequences in the data (or otherwise in a way that can be held in a database and imported?) That would be much more manageable.

Link to comment
Share on other sites

After looking more into task sequences, it may work, but not without major rework, the primary issues are that the seizing is not the only thing that happens, and work will be done in phases, without moving from the server, and different patients may not have the same phases. I see how it could be done with a second model, but i'd like to avoid getting too complicated if I can

Is it not possible to do what I asked in my original question?

Link to comment
Share on other sites

Yeah, I figured that part out. I need more control than task sequences allow me, is there a way to simulate task sequences in processes so I can add more machinery? I can probably make something work with just the sequences, but it will take a lot and I'm trying to avoid getting too complicated at the moment, it's just a prototype.

Link to comment
Share on other sites

6 hours ago, johnhagood said:

is there a way to simulate task sequences in processes so I can add more machinery? 

Did you look around "start tasks" step in processes tab? You can use this in processes together with a user-defined "task sequence" element (definitions-->elements). 

Link to comment
Share on other sites

John, I too believe Task Sequences could be very useful for your project. For example, for the multiple patient types coming in, you could utilize a Branch Type of 'Conditional'  in your Task Sequence so to only use a certain workflow for that type of patient. There is a general description of Conditional and Probabilistic Branching in the Simio Reference Guide Help page titled "TaskSequence" along with some other helpful information on Task Sequences. 

Additionally, I recommend you take a look at the SimBits titled "Task Sequence and Worker In Table (from project Task Sequence And Worker)" and "Using Relational Tables to Define Task Resource Lists". If you investigate how Task Sequences are used in these examples, I believe you will find some methods that might help you in your modeling endeavors. 

If Task Sequences still do not help you achieve your goals, it would be helpful to have more details on what you are trying to do. I think writing your own steps should be resorted to later after other options have been exhausted. If you email in to support@simio.com we can continue our conversation. 

Link to comment
Share on other sites

The main problem I see with task sequences is I don't see a way to reschedule tasks for later.

I used the "Token Wait Action: No Wait" setting on an execute step, then executed the Seize->delay->release process in that step. This does what I wanted.

 

Thanks for taking the time to help.

Edited by johnhagood
Link to comment
Share on other sites

×
×
  • Create New...