  Staff scheduling is a universal problem that can be encountered in many
organizations, such as call centers, educational institution, industry,
hospital, and any other public services. It is one of the most important
aspects of workforce management strategy and the one that is most prone to
errors or issues as there are many entities should be considered, such as the
staff turnover, employee availability, time between rotations, unusual periods
of activity, and even the last-minute shift changes. The nurse scheduling
problem is a variant of staff scheduling problems which appoints nurses to
shifts as well as rooms per day taking both hard constraints, i.e., hospital
requirements, and soft constraints, i.e., nurse preferences, into account. Most
algorithms used for scheduling problems fall short when it comes to the number
of inputs they can handle. In this paper, constraint programming was developed
to solve the nurse scheduling problem. The developed constraint programming
model was then implemented using python programming language.
