  A core part of the rehabilitation scheduling process consists of planning
rehabilitation physiotherapy sessions for patients, by assigning proper
operators to them in a certain time slot of a given day, taking into account
several legal, medical and ethical requirements and optimizations, e.g.,
patient's preferences and operator's work balancing. Being able to efficiently
solve such problem is of upmost importance, in particular after the COVID-19
pandemic that significantly increased rehabilitation's needs.
  In this paper, we present a two-phase solution to rehabilitation scheduling
based on Answer Set Programming, which proved to be an effective tool for
solving practical scheduling problems. We first present a general encoding, and
then add domain specific optimizations. Results of experiments performed on
both synthetic and real benchmarks, the latter provided by ICS Maugeri, show
the effectiveness of our solution as well as the impact of our domain specific
optimizations. Under consideration in Theory and Practice of Logic Programming
(TPLP).
