This paper describes a solution approach for stochastic multi-resource multi-patient staff scheduling problems in inpatient units. Our solution approach has four steps. First, we classify patients into a number of groups with similar care-provider requirements. Second, a predictive Markov model captures patients’ flow in the inpatient unit and provides a prediction of the number of patients of each group in the future. This predictive model allows us to generate a potentially large set of possible system utilization scenarios over the planning horizon. Third, a mixed-integer programming model with an expected value objective function seeks to minimize the expected over-staffing and under-staffing costs across all possible scenarios. Lastly, we use simulation to sample system utilization scenarios and the sample average approximation method to find a reliable and generalizable solution to the model across all possible scenarios. We evaluate the performance of the proposed solution using real data from the Children’s Hospital of Eastern Ontario’s inpatient mental health unit. The results show that the proposed approach significantly decreases the expected cost of the schedules in comparison to the traditional approaches.