Skip to main content
Log in

Automating the self-scheduling process of nurses in Swedish healthcare: a pilot study

  • Published:
Health Care Management Science Aims and scope Submit manuscript

Abstract

Hospital wards need to be staffed by nurses round the clock, resulting in irregular working hours for many nurses. Over the years, the nurses’ influence on the scheduling has been increased in order to improve their working conditions. In Sweden it is common to apply a kind of self-scheduling where each nurse individually proposes a schedule, and then the final schedule is determined through informal negotiations between the nurses. This kind of self-scheduling is very time-consuming and does often lead to conflicts. We present a pilot study which aims at determining if it is possible to create an optimisation tool that automatically delivers a usable schedule based on the schedules proposed by the nurses. The study is performed at a typical Swedish nursing ward, for which we have developed a mathematical model and delivered schedules. The results of this study are very promising and suggest continued work along these lines.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Arthur T, James N (1994) Determining nurse staffing levels: a critical review of the literature. J Adv Nurs 19:558–565

    Article  Google Scholar 

  2. Bailyn L, Collins R, Song Y (2007) Self-scheduling for hospital nurses: an attempt and its difficulities. J Nurs Manag 15:72–77

    Article  Google Scholar 

  3. Bard JF, Purnomo HW (2005) Preference scheduling for nurses using column generation. Eur J Oper Res 164:510–534

    Article  Google Scholar 

  4. Bard JF, Purnomo HW (2005) Hospital-wide reactive scheduling of nurses with preference considerations. IIE Trans 37:589–608

    Article  Google Scholar 

  5. Berrada I, Ferland JA, Michelon P (1996) A multi-objective approach to nurse scheduling with both hard and soft constraints. Socio-Econ Plann Sci 30:183–193

    Article  Google Scholar 

  6. Burke EK, de Causmaecker P, vanden Berghe G, van Landeghem H (2004) The state of the art of nurse rostering. J Sched 7:441–499

    Article  Google Scholar 

  7. Cheang B, Li H, Lim A, Rodrigues B (2003) Nurse rostering problems–a bibliographic survey. Eur J Oper Res 151:447–460

    Article  Google Scholar 

  8. Dowsland KA (1998) Nurse scheduling with tabu search and strategic oscillation. Eur J Oper Res 106:393–407

    Article  Google Scholar 

  9. Dowsland KA, Thompson JM (2000) Solving a nurse scheduling problem with knapsacks, networks and tabu search. J Oper Res Soc 51:825–833

    Article  Google Scholar 

  10. Ernst AT, Jiang H, Krishnamoorthy M, Owens B, Sier D (2004) An annotated bibliography of personnel scheduling and rostering. Ann Oper Res 127:21–144

    Article  Google Scholar 

  11. Ernst AT, Jiang H, Krishnamoorthy M, Sier D (2004) Staff scheduling and rostering: a review of applications, methods and models. Eur J Oper Res 153:3–27

    Article  Google Scholar 

  12. Fagerström L, Rainio A-K, Rauhala A, Nojonen K (2000) Professional assessment of optimal nursing care intensity level: a new method for resource allocation as an alternative to classical time studies. Scand J Caring Sci 14:97–104

    Article  Google Scholar 

  13. Ghosh B, Cruz G (2005) Nurse requirement planning: a computer-based model. J Nurs Manag 13:363–371

    Article  Google Scholar 

  14. ILOG (2006) ILOG AMPL CPLEX System, Version 10.0, User’s guide. ILOG

  15. ILOG (2006) ILOG CLEX 10.0, User’s manual. ILOG

  16. Jaumard B, Semet F, Vovor T (1998) Case study: A generalized linear programming model for nurse scheduling. Eur J Oper Res 107:1–18

    Article  Google Scholar 

  17. Karlsson P (2005) Rapport om kartläggning av arbetstidslösningar inom landstinget. Stockholms läns landsting

  18. Moz M, Pato MV (2004) Solving the problem of rerostering nurse schedules with hard constraints: new multicommodity flow models. Ann Oper Res 128:179–197

    Article  Google Scholar 

  19. Venkataraman R, Brusco MJ (1996) An integrated analysis of nurse staffing and scheduling policies. Omega Int J Manag Sci 24:57–71

    Article  Google Scholar 

  20. Wolsey LA (1998) Integer programming. Wiley, New York

    Google Scholar 

Download references

Acknowledgements

Thanks to all healthcare representatives that we have been in contact with, for sharing your knowledge about nurse scheduling. Special thanks to head nurse Elisabet Shimekaw and all the nurses working at the pilot ward.

We also thank the reviewers for careful reading and constructive suggestions for improvements.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Elina Rönnberg.

Appendix

Appendix

1.1 A.1 The mathematical model

This appendix contains a mathematical description of the model presented in Section 4. First, the parameters, variables, and sets are introduced, and then follows the model, with the constraints categorised as in Section 4.2. In Appendices A.1.3 to A.1.7, the constraints are numbered as refered to in the text, while formulas for calculating parameter values are not numbered.

The most fundamental sets and indices used are:

  • The sets of assistant and trained nurses are denoted by I a and I t, respectively, and I = I a ∪ I t will denote the set of all nurses.

  • The three types of shifts, day, evening, and night, are indexed by j = 1,2,3.

  • The days of a scheduling period are indexed by l = k + 7(w − 1), where k = 1,...,7 are the seven weekdays and w = 1,...,sw are the weeks of the scheduling period.

In order to simplify the description in Section 4, we used a basic version of the variables. For instance, x ijl used there, is in this appendix represented by both X ijl and AP ijl . Furthermore, the variables \(Y^a_{jl}\) and \(Y^t_{jl}\) in the appendix are in the text only represented by y jl , not specifying the kind of substitute nurse, and the same simplification is made for Q a and Q t, called Q in the text.

1.1.1 A.1.1 Sets and parameters

Notation:

Description

\(b^{rec}_{kw}\) :

Staffing demand at the clinic on weekday k = 1,...,7 in week w = 1,...,sw

\(b^{t}_{jl}\) :

The minimum number of trained nurses required on shift j = 1,2,3 on day l = 1,...,7sw

\(b^{tot}_{jl}\) :

The exact number of nurses required on shift j = 1,2,3 on day l = 1,...,7sw

bn mn :

The nurse i ∈ I the predetermined assignment m ∈ mb considers, n = 1

The week w = 1,..., sw the predetermined assignment m ∈ mb considers, n = 2

The weekday k = 1,...,7 the predetermined assignment m ∈ mb considers, n = 3

The shift j = 1,2 the predetermined assignment m ∈ mb considers, n = 4

The number of hours that the predetermined assignment m ∈ mb considers, n = 5

c ijl :

Scaled desirability grade for nurse i ∈ I at shift j = 1,2,3 on day l = 1,..., 7sw

c ijl :

Desirability grade for nurse i ∈ I at shift j = 1,2,3 on day l = 1,..., 7sw

en :

The average number of nights that a nurse shall work during the period

et i :

The average number of hours that nurse i ∈ I shall work per week

ew :

The average number of weekends that a nurse shall work during the period

I :

The set of nurses

Ia, It:

The sets of assistant and trained nurses, respectively

lbt w :

Lower bound on the number of hours to be worked in 1 week, in per cent

lbt tot :

Lower bound on the total number of hours to be worked, in per cent

lsan :

The subset of nurses that worked the last Saturday night in the previous period

lsun :

The subset of nurses that worked the last Sunday night in the previous period

lw :

The set of nurses with NM i  = 1 in the previous period

mb :

The set of predetermined assignments

me1:

A set of exceptions from the set of predetermined assignments mb

me2:

A set of exceptions from the set of predetermined assignments mb

n i :

= 1 if nurse i ∈ I can work night shifts, and = 0 otherwise

ns i :

Night bank status for nurse i ∈ I when the period starts

p :

The maximum score per week

pt i :

Percentage of full-time for nurse i ∈ I

rn :

The set of nurses that work at the clinic, \(rn \subseteq I^t\)

sw :

Number of weeks in the scheduling period

t ijk :

The length of shift j = 1,2,3 on weekday k = 1,...,7 for nurse i ∈ I, in hours

t rec :

The length of a shift at the clinic, in hours

ts i :

Time bank status for nurse i ∈ I when the period starts

ubt w :

Upper bound on the number of hours to be worked in 1 week, in per cent

ubt tot :

Upper bound on the total number of hours to be worked, in per cent

ws i :

Weekend bank status for nurse i ∈ I when the period starts

1.1.2 A.1.2 Variables

Three types of variables are used, binary, integer, and continous ones, this is specified by respectively using the marks (B), (I), and (C) in the definition.

Notation:

Description

AP ijl :

= 1 if nurse i ∈ I is working shift j = 1,2,3 on day l = 1,...,7sw without contributing to the staffing demand \(b^{tot}_{jl}\), and = 0 otherwise, (B)

AT iw :

The number of hours nurse i ∈ I works without contributing to the staffing demand \(b^{tot}_{jl}\) in week w = 1,...,sw, (C)

MP ijl :

= 1 if nurse i ∈ I is on holiday or performs an individual task on shift j = 1,2,3 on day l = 1,...,7sw, and = 0 otherwise, (B)

MT iw :

The number of hours that nurse i ∈ I spends on holiday or individual tasks in week w = 1,...,sw , (C)

NM i :

= 1 if nurse i ∈ I shall work the first Monday the next period, and = 0 otherwise, (B)

NNS i :

Night bank status for nurse i ∈ I, (C)

P i :

Score for nurse i ∈ I, (C)

Qa, Qt:

Lowest score for the nurses in I a and I t, respectively, (C)

R ikw :

= 1 if nurse \(i \in rn \subseteq I^t\) works at the clinic on day k = 1,...,7 in week w = 1,...,sw, and = 0 otherwise, (B)

RP ijl :

= 1 if nurse i ∈ I works at the clinic on shift j = 1,2,3 on day l = 1,...,7sw, and = 0 otherwise, (B)

RT iw :

The number of hours nurse i ∈ I works at the clinic in week w = 1,...,sw, (C)

TNS iw :

Time bank status for nurse i ∈ I and week w = 1,...,sw, (C)

W iw :

= 1 if nurse i ∈ I works the weekend in week w = 1,...,sw, and = 0 otherwise, (B)

WNS i :

Weekend bank status for nurse i ∈ I, (C)

X ijl :

= 1 if nurse i ∈ I contributes to the staffing demand \(b^{tot}_{jl}\) on shift j = 1,2,3 on day l = 1,...,7sw, and = 0 otherwise, (B)

\(Y^{a}_{jl}\) :

Number of assistant substitute nurses on shift j = 1,2,3, on day l = 1,...,7sw, (I)

\(Y^{t}_{jl}\) :

Number of trained substitute nurses on shift j = 1,2,3, on day l = 1,...,7sw, (I)

1.1.3 A.1.3 The objective function

$\displaystyle\max \quad z = \sum\limits_{i \in I}P_i + \alpha \big ( Q^{a} + Q^{t} \big ) - \beta \sum\limits_{l=1}^{7sw}\sum\limits_{j=1}^{3} \big (Y_{jl}^a+Y_{jl}^t \big )$

1.1.4 A.1.4 Staffing demand

$$\sum\limits_{i \in I^t}X_{ijl}+Y^t_{jl} \geq b^t_{jl}, \quad j=1,2,3, ~ l=1,\ldots,7sw$$
(1)
$$\sum\limits_{i \in I}X_{ijl} + Y^t_{jl}+ Y^a_{jl} = b^{tot}_{jl} \quad j=1,2,3, ~ l=1,\ldots,7sw $$
(2)
$$X_{i3l} = 0, \quad i \in I: n_i = 0, ~ l=1,\ldots,7sw$$
(3)
$$\begin{array}{rll} MT_{iw}&=& \sum\limits_{m \in m'} bn_{m5}, \kern6pt m'=\{m:bn_{m1}=i, ~ bn_{m2}=w \},\nonumber\\ i &\in& I, ~ w=1,\ldots,sw \end{array}$$
(4)
$$\begin{array}{rll} me1 & := & \{m:bn_{m2}\!=\!1 \textrm{ and } bn_{m3}\!=\! 1,2\} \cup \{m:bn_{m4}\!=\!2 \} \\ me2 & := & \{m:bn_{m2}\!=\!1 \textrm{ and } bn_{m3}\!=\! 1\} \end{array}$$
$$X_{bn_{m1},3,bn_{m3}-2+7(bn_{m2}-1)} = 0, \quad m \in mb \setminus me1 $$
(5)
$$X_{bn_{m1},3,bn_{m3}-1+7(bn_{m2}-1)} = 0, \quad m \in mb \setminus me2 $$
(6)
$$X_{bn_{m1},1,bn_{m3}+7(bn_{m2}-1)} = 0, \quad m \in mb $$
(7)
$$X_{bn_{m1},2,bn_{m3}+7(bn_{m2}-1)} = 0, \quad m \in mb $$
(8)
$$X_{bn_{m1},3,bn_{m3}+7(bn_{m2}-1)} = 0, \quad m \in mb $$
(9)
$$\sum_{i \in rn} R_{ikw} = b^{rec}_{kw}, \quad k=1,\ldots,5, ~ w=1,...,sw $$
(10)
$$\begin{array}{lll}\frac{1}{|rn|} \sum\limits_{w=1}^{sw} \sum\limits_{k=1}^{5} b^{rec}_{kw} - 3 &\leq& \sum\limits_{w=1}^{sw} \sum\limits_{k=1}^{5} R_{ikw} \\&\leq&\frac{1}{|rn|} \sum_{w=1}^{sw} \sum_{k=1}^{5} b^{rec}_{kw} + 3, \,\,\, i \in rn \end{array}$$
(11)

1.1.5 A.1.5 Scheduling rules

$$\sum\limits_{j=1}^{3}X_{ijl} \leq 1, \quad i \in I, ~ l=1,...,7sw $$
(12)
$$X_{i3l} + X_{i,1,l+1} \leq 1,\quad i \in I, ~ l=1,...,7sw-2 $$
(13)
$$ X_{i3l} + X_{i,2,l+1} \leq 1,\quad i \in I, ~ l=1,...,7sw-2 $$
(14)
$$ X_{i3l} + X_{i,1,l+2} \leq 1,\quad i \in I, ~ l=1,...,7sw-2 $$
(15)
$$ X_{i11} = 0, \quad i \in lsan $$
(16)
$$ X_{ijl} = 0, \quad i \in lsun, ~ (j,l) \in \{(1,1),(2,1),(1,2)\} $$
(17)
$$ et_i := pt_i \big(36,2n_i + 37(1-n_i) \big), \quad i \in I^a $$
$$ et_i := pt_i \big(36,2n_i + 38.15(1-n_i) \big),\quad i \in I^t $$
$$\begin{array}{lll} lbt^{w}et_i &\leq& \sum\limits_{k=1}^{7} \sum\limits_{j=1}^{3}t_{ijk}X_{i,j,k+7(w-1)} + AT_{iw} \leq ubt^{w}et_i, \\ i &\in& I, ~ w=1,...,sw \end{array}$$
(18)
$$\begin{array}{lll} lbt^{tot}et_isw &\leq& \sum\limits_{w=1}^{sw} \Bigg( \sum\limits_{k=1}^{7} \sum\limits_{j=1}^{3}t_{ijk}X_{i,j,k+7(w-1)} + AT_{iw} \Bigg)\\ &\leq& ubt^{tot}et_isw, \quad i \in I \end{array}$$
(19)
$$\begin{array}{lll} &&{\kern-6pt}\sum\limits_{ll=l}^{l+5} \sum\limits_{j=1}^{3} (X_{i,j,ll} + AP_{i,j,ll}) \leq 5, \quad i \in I, \\ &&{\kern-6pt} l \in \{1,\ldots,7sw\!-\!5\} \!\setminus \!\{l : \exists ~ c'_{i,1,ll} \Leftrightarrow \texttt{\footnotesize PURPLE}, ~ ll\!=\!l,...,l\!+\!5 \} \end{array}$$
(20)
$$\begin{array}{lll} && {\kern-8pt} \sum\limits_{k=1}^{7} \sum\limits_{j=1}^{3} t_{ijk}X_{i,j,k+7(w-1)}\! +\! AT_{iw}\! -\! et_i\! + \!TNS_{i,w-1} \!=\! TNS_{iw}, \\ && i \in I, ~ w=1,...,sw \textrm{ with } TNS_{i0} = ts_i \textrm{ and } \\ && TNS_{iw} \in [-20,20] \end{array}$$
(21)
$$\begin{array}{lll} &&{\kern-6pt} X_{i,j,k+7(w-1)} + R_{ikw} \leq 1, \quad i \in rn, ~ j=1,\ldots,3 ,\\ &&{\kern1pt} k=1,\ldots,5, ~ w=1,\ldots,sw \end{array}$$
(22)
$$\begin{array}{lll} & &{\kern-6pt} X_{i,3,k-1+7(w-1)} + R_{ikw} \leq 1,~i \in rn, ~ (k,w) \in \{(k,w): \\ & & k=1,\ldots,5;~w=1,\ldots,sw; ~ k=w \neq 1 \} \end{array}$$
(23)
$$\begin{array}{lll} & &{\kern-6pt} X_{i,3,k-2+7(w-1)} + R_{ikw} \leq 1, \quad i \in rn, (k,w) \in \{(k,w): \\ & & k=1,\ldots,5; ~ w=1,\ldots,sw; ~ k=w \neq 1; \\ && k=w+1\neq2 \} \end{array}$$
(24)
$$ R_{i11} = 0, \quad i \in lsan $$
(25)
$$ R_{ik1} = 0, \quad i \in lsun, ~ k=1,2 $$
(26)
$$ RT_{iw} = \left\{ \begin{array}{ll} t^{rec} \displaystyle \sum\limits_{k=1}^{5} R_{ikw}, & \quad i \in rn, ~ w=1,...,sw\\ 0, & \quad i \in I \setminus rn, ~ w=1,...,sw \end{array} \right. $$
(27)
$$ RP_{i,j,k+7(w-1)} = \left\{ \!\!\begin{array}{ll} R_{ikw}, & i \in rn, ~ j=1, ~ k=1,\ldots,4, \\ & {\kern6pt}w=1,\ldots,sw \\ 0, & \textrm{otherwise} \end{array} \right. $$
(28)
$$\begin{array}{rll} AP_{ijl} &=& MP_{ijl} + RP_{ijl}, \quad i \in I, ~ j=1,\ldots,3, \\ l&=&1,\ldots,7sw \end{array}$$
(29)
$$ RP_{ijl} + MP_{ijl} \leq 1, \quad i \in I, ~ j=1,\ldots,3, ~ l=1,\ldots,7sw $$
(30)
$$ AT_{iw} = RT_{iw} + MT_{iw} \quad i \in I, ~ w=1,\ldots,sw $$
(31)

1.1.6 A.1.6 Quality aspects

$$ en := \sum\limits_{l=1}^{7sw}b^{tot}_{3l} \Big/ \sum\limits_{i \in I}n_i \nonumber $$
$$\begin{array}{lll} \sum\limits_{l=1}^{7sw}X_{i3l} &-& en + ns_i = NNS_i, \quad i \in I: ~ n_i=1, \\ &&{\kern-43pt} \textrm{ with } NNS_i \in [-2,2] \end{array}$$
(32)
$$ ew := \sum\limits_{w=1}^{sw} \Bigg( \sum\limits_{j=2}^{3} b^{tot}_{j,5+7(w-1)} + \sum\limits_{k=6}^{7} \sum\limits_{j=1}^{3} b^{tot}_{j,k+7(w-1)} \Bigg) \Big/ |I| $$
$$\begin{array}{lll} & & {\kern-8pt} \sum\limits_{w=1}^{sw} \Bigg( \sum\limits_{j=2}^{3} X_{i,j,5+7(w-1)} + \sum\limits_{k=6}^{7} \sum\limits_{j=1}^{3} X_{i,j,k+7(w-1)} \Bigg) - ew \\ & & + ws_i = WNS_i, \quad i \in I \textrm{ with } WNS_i \in [-2,2] \end{array}$$
(33)
$$\begin{array}{lll} &&{\kern-7pt} W_{iw} = \sum\limits_{j=1}^{2}X_{i,j,6+7(w-1)} = \sum\limits_{j=1}^{2}X_{i,j,7+7(w-1)}, \\ &&i \in I, ~ w=1,\ldots,sw \end{array}$$
(34)
$$ W_{iw} \leq X_{i,2,5+7(w-1)} + X_{i,1,7w+1}, \quad i \in I, ~ w=1,\ldots,sw-1 $$
(35)
$$ \sum\limits_{i \in I^a}NM_i = \sum\limits_{i \in I^t}NM_i= 2 $$
(36)
$$ W_{i,sw} \leq X_{i,2,5+7(sw-1)} + NM_i, \quad i \in I $$
(37)
$$ X_{i11} = 1, \quad i \in lw $$
(38)

1.1.7 A.1.7 Auxiliary constraints

$$\begin{array}{lll} &&{\kern-7pt} X_{ijl}+RP_{ijl}=1, \quad i \in I, ~j =1,2,3, ~l=1,\ldots,7sw \\ &&\textrm{such that } c'_{ijl} \Leftrightarrow \texttt{\footnotesize BLUE} \end{array}$$
(39)
$$\begin{array}{lll} &&{\kern-7pt} X_{ijl}+RP_{ijl}=0, \quad i \in I, ~j =1,2,3, ~l=1,\ldots,7sw \\ &&\textrm{such that } c'_{ijl} \Leftrightarrow \texttt{\footnotesize RED} \end{array}$$
(40)
$$\begin{array}{lll} & & {\kern-7pt} c_{ijl} := \big(p \cdot sw \cdot c'_{ijl} \big) \Big/ \sum\limits_{l=1}^{7sw} \sum\limits_{j=1}^{3}|c'_{ijl}|, \\ && i \in I, ~ j=1,\ldots,3, \, l=1,\ldots,7sw, \\ && \textrm{such that } c'_{ijl} \Leftrightarrow \texttt{\footnotesize GREEN, WHITE,} \textrm{ or } \texttt{\footnotesize YELLOW} \end{array}$$
$$ P_i = \sum\limits_{l=1}^{7sw} \sum\limits_{j=1}^{3} \Big( 2c_{ijl} \big( X_{ijl}+AP_{ijl} \big) - c_{ijl} \Big), \quad i \in I $$
(41)
$$ Q^a <= P_i, \quad i \in I^a $$
(42)
$$ Q^t <= P_i, \quad i \in I^t $$
(43)

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rönnberg, E., Larsson, T. Automating the self-scheduling process of nurses in Swedish healthcare: a pilot study. Health Care Manag Sci 13, 35–53 (2010). https://doi.org/10.1007/s10729-009-9107-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10729-009-9107-x

Keywords

Navigation