Each year, the faculty of medicine and health sciences (Ghent University, Belgium) has to compose a medical student roster, assigning graduate students to different internships over the course of the academic year. An internship embodies a specific medical discipline and is carried out at a local hospital. This problem is complex because of conflicting requirements of different involved stakeholders, comprising educational requirements set by the university, limited capacity of local hospitals offering internships, and student preferences and requests. In this paper, we discuss a heuristic and required calibration to attain high-quality rosters, and it builds upon different decomposition-based heuristic solution steps and different control mechanisms to regulate the candidate assignments in each step. The proposed heuristic meets the software requirements of the university and is implemented as the scheduling module in the information system of the faculty to manage student internships. Computational experiments are carried out on real-life data related to the academic year 2020–2021 to validate the performance of the heuristic and the different improvement mechanisms. In addition, we demonstrate the use of the software as a simulation tool to devise different managerial insights relevant for the university with regard to curriculum design and student preferences.