The automatic assignment algorithm takes into account a list of factors and underlying assignment rules when assigning rotations to trainees:
- Program and trainee curriculum
- Program constraints and preferences
- Trainee constraints and preferences
- Rotation capacity
- On-call requirements
- Prerequisites
- Teaching pyramid (proper mix of teaching skills)
The automatic assignment algorithm will maximize the number of trainee assignments while respecting the assignment rules and constraints.