I'm woriking on building a model of a surgery process in a hospital. My objective is to simulate different scenarios by adjusting operational and administrative parameters and then measuring their impact on patient throughput. Since this is my first model in this domain, my plan is to create a basic version initially, which I can refine with more detailed features as I gain more knowledge and experience with the software.
The hospital operates Monday-Friday from 8am til 3:30pm.
In my current setup I have a source that gives the patients 4 different labels:
Code: Select all
Do(
Label([BM)], i) := LogNormal(3.3,0.25),
Label([Diabetes], i) := Bernoulli(10, 1, 0),
Label([SDS], i) := Bernoulli(60, 1, 0),
Label([Cemented], i) := Bernoulli(60, 1, 0)
From the source the patient enters a queue and then they will enter the server which represents the operating room. The queue has an availability control connected to it that closes the queue at hr(5) and opens again at hr(24). The operating room server also has an availability control connected to it that closes at hr(7.5) and opens again at hr(24).
My question is - how can I allow the server to finish the last patient (as in going to overtime) before closing?
I also want to include some operational limitations such as:
- There cannot be 3 cemented surgeries in a day.
- At least one SDS patient a day per operating room if possible.
- Patients with diabetes always get timeslot 1 or 2
- Scheduling patients with high BMI in the same operating room is something that should be avoided, but allowed if necessary.
- Patients that are younger and does not have any Diabetes or high BMI are preferred on Mondays, Tuesdays and Wednesdays.
- Only one operating room is available on Fridays
- On Thursdays the surgeries start at 8:30
Since, this is my first attempt I would really appreciate some guidance. Let me know if anything is unclear or needs further elaboration.