Разработка системы планирования смен для медицинского персонала

30 000 руб. за проект
09 декабря 2023, 11:06 • 7 откликов • 80 просмотров
Описание проекта:

Требуется разработать программное решение для автоматизированного распределения смен медицинского персонала. Система должна учитывать переменное количество работников, необходимых в разные часы суток, а также особенности смен, включая перерывы на обед и ночные смены.

Основные требования:

  • Входные данные:
    • Массив необходимое_кол-во_работников, содержащий информацию о требуемом количестве работников для каждого часа в течение суток (24 элемента в массиве для каждого часа). Примеры данных предоставлены в описании задачи.
    • Список смен с указанием времени начала и окончания, а также варианты времени обеденных перерывов. Примеры смен также предоставлены.
  • Функциональные требования:
    • Программа должна распределять работников по сменам таким образом, чтобы максимально приблизиться к требуемому количеству работников в каждый час.
    • Учитывать пересечение смен и возможность смен, переходящих через полночь.
    • Предусмотреть учёт обеденных перерывов в расписании смен.
  • Выходные данные:
    • График смен для каждого работника с указанием времени начала и окончания смены, а также времени обеденного перерыва.
    • Отчёт о соответствии распределения смен требуемому количеству работников по часам.
Технические требования:

Дополнительные требования:

  • Простой пользовательский интерфейс для ввода исходных данных и просмотра результатов (может быть реализован в виде консольного приложения или простого веб-интерфейса).
  • Документация по коду и инструкции по использованию программы.
Бюджет: 30 000 рублей

Сроки: 2 дня с момента начала работы

Процесс отбора:

  • Краткое описание вашего опыта работы с подобными задачами.
  • Предварительный план реализации проекта.



Условия для тестов:

1. Необходимо составить график работы посменно( кол-во работников на каждую смену) чтобы соответствовать требуемому кол-ву работников, который из себя представляет требование по кол-ву работников на каждый час в сутках например: необходимое_кол-во_работников = [

{'day_1': [1, 1, 3, 3, 2, 4, 3, 3, 2, 3, 4, 7, 9, 15, 19, 16, 11, 5, 7, 9, 6, 4, 3, 2]},

{'day_2': [1, 1, 2, 2, 1, 2, 1, 3, 2, 3, 4, 7, 9, 19, 18, 18, 5, 8, 7, 9, 6, 4, 3, 2]},

{'day_3': [1, 1, 1, 1, 1, 1, 3, 3, 2, 3, 4, 9, 9, 12, 12, 16, 14, 5, 7, 5, 4, 3, 2, 2]}

]

где длина массива равна 24, т.е. для каждого элемента массива и его индекса соответствует час в сутках 0,1,2..22,23

2. Смены пересекаются между собой по времени т.е. смена1 - 8:00 - 14:00, смена2 - 10:00 - 16:00

примеры смен:

[('06:00', '14:00'),

('08:00', '16:00'),

('12:00', '20:00'),

('16:00', '00:00'),

('18:00', '02:00'),

('23:00', '06:00')]


Также у каждой смены есть несколько вариантов обедов - например у смены 06:00 - 14:00 - варианты могут быть следующие - 9:00 - 9:30; 9:15 - 09:45, 9:30 - 10:00, 9:45 - 10:15, 10:00 - 10:30 и тд.

Но у других смен могут обеды быть и по 30 минут

Также важное условие что смены могут переходить через полночь.

Отчет:

  • Фрилансер должен предоставить отчет, демонстрирующий, как расписание соответствует требуемому количеству работников. Отчет должен включать таблицы или графики, показывающие распределение работников по часам для каждого дня.