We study a home healthcare routing and scheduling problem, where multiple healthcare service provider teams should visit a given set of patients at their homes. The problem involves assigning each patient to a team and generating the routes of the teams such that each patient is visited once. When patients are prioritized according to the severity of their condition or their service urgency, the problem minimizes the total weighted waiting time of the patients, where the weights represent the triage levels. In this form, the problem generalizes the multiple traveling repairman problem. To obtain optimal solutions for small to moderate-size instances, we propose a level-based integer programming (IP) model on a transformed input network. To solve larger instances, we develop a metaheuristic algorithm that relies on a customized saving procedure and a general variable neighborhood search algorithm. We evaluate the IP model and the metaheuristic on various small-, medium- and large-sized instances coming from the vehicle routing literature. While the IP model finds the optimal solutions to all the small- and medium-sized instances within three hours of run time, the metaheuristic algorithm achieves the optimal solutions to all instances within merely a few seconds. We also provide a case study involving Covid-19 patients in a district of Istanbul and derive insights for the planners by means of several analyses.