Hospital/Dynamic Shift Management Program
Budget: $10 – $30 USD
I would like you to create a program (ideally in Excel, but it can also be in Python with a GUI) where I have a list of employees, and the program automatically assigns shifts based on a series of rules:
1. Certain slots will be automatically filled with "CO" (vacation leave).
2. Then, the program should automatically fill in the cells for each day of the month, up to the last row, with one of the four options: "8" (8 hours per day), "Z" (12 hours during the day), "N" (12 hours at night), "L" (day off), following these rules:
a. A cell with "8" or a cell with "CO" equals 8 hours. A cell with "Z" or "N" equals 12 hours, "L" equals 0 hours. An employee must work 168 hours per month.
b. After a day of 8 hours, any other option may follow.
c. After a 12-hour night shift, "L" (day off) must follow.
d. After a 12-hour day shift, only a day off or a 12-hour night shift may follow.
e. In total, there can be a maximum of 3 cells with "8" in a row (an employee should work a maximum of 3 shifts of 8 hours per month).
f. In total, there must be at least 3 cells with "Z" and 3 cells with "N" in a row (an employee must work a minimum of 3 shifts of 12 hours during the day and 3 shifts of 12 hours at night in a month).
g. Every night of the month, there must be at least 2 employees working simultaneously.
h. Every day of the month, there must be at least 2 employees working 12-hour day shifts simultaneously.
i. On each weekday (days of the month associated with Monday-Friday), in addition to the 2 "Z" cells, there must be two more cells filled with either "Z" or "8".
3. I input the month for which the schedule is calculated.
4. Below the last row, it should show how many cells with "8," "Z," and "N" are in each column. At the end of each row, in the column to the right of the last day of the month, the total hours associated with that row should be displayed.
5. I would like to know which conditions cannot be met and which ones were fulfilled by the program.
6. I would like to be able to modify in the software the number of employees, the month, the number of shifts, etc. – everything should be adjustable.
1. Certain slots will be automatically filled with "CO" (vacation leave).
2. Then, the program should automatically fill in the cells for each day of the month, up to the last row, with one of the four options: "8" (8 hours per day), "Z" (12 hours during the day), "N" (12 hours at night), "L" (day off), following these rules:
a. A cell with "8" or a cell with "CO" equals 8 hours. A cell with "Z" or "N" equals 12 hours, "L" equals 0 hours. An employee must work 168 hours per month.
b. After a day of 8 hours, any other option may follow.
c. After a 12-hour night shift, "L" (day off) must follow.
d. After a 12-hour day shift, only a day off or a 12-hour night shift may follow.
e. In total, there can be a maximum of 3 cells with "8" in a row (an employee should work a maximum of 3 shifts of 8 hours per month).
f. In total, there must be at least 3 cells with "Z" and 3 cells with "N" in a row (an employee must work a minimum of 3 shifts of 12 hours during the day and 3 shifts of 12 hours at night in a month).
g. Every night of the month, there must be at least 2 employees working simultaneously.
h. Every day of the month, there must be at least 2 employees working 12-hour day shifts simultaneously.
i. On each weekday (days of the month associated with Monday-Friday), in addition to the 2 "Z" cells, there must be two more cells filled with either "Z" or "8".
3. I input the month for which the schedule is calculated.
4. Below the last row, it should show how many cells with "8," "Z," and "N" are in each column. At the end of each row, in the column to the right of the last day of the month, the total hours associated with that row should be displayed.
5. I would like to know which conditions cannot be met and which ones were fulfilled by the program.
6. I would like to be able to modify in the software the number of employees, the month, the number of shifts, etc. – everything should be adjustable.
Related categories:
Business, Accounting, Human Resources & Legal
Python
Software Architecture
C++ Programming
Excel VBA