M-HEAL Recruitment Matching Program
Based on the Roth-Peranson (NRMP) Medical Residency matching algorithm
Algorithm Source: https://github.com/J-DM/Roth-Peranson
This page's Git repo:
https://github.com/RyanJHamby/mhealRecruitMatch
Both the applicants and teams will rank each other in this process.
NOTE: As long as M-HEAL separates the recruiting/placement of project and travel teams, run the travel team and
project team algorithms separately! (i.e. someone being placed on SANA travel team should not affect eligibility
for a travel team like MESA, so make 3 spreadsheets for each process--3 for travel teams and 3 for project
teams)
FORMATTING
Teams_Ranking_Applicants.csv must be formatted as below:
| Team1Name |
Team2Name |
Team3Name |
Team4Name |
Team5Name |
| 1stRankedApplicantEmail |
1stRankedApplicantEmail |
1stRankedApplicantEmail |
1stRankedApplicantEmail |
1stRankedApplicantEmail |
| 2ndRankedApplicantEmail |
2ndRankedApplicantEmail |
2ndRankedApplicantEmail |
2ndRankedApplicantEmail |
2ndRankedApplicantEmail |
| 3rdRankedApplicantEmail |
3rdRankedApplicantEmail |
3rdRankedApplicantEmail |
3rdRankedApplicantEmail |
3rdRankedApplicantEmail |
| 4thRankedApplicantEmail |
|
4thRankedApplicantEmail |
4thRankedApplicantEmail |
4thRankedApplicantEmail |
| 5thRankedApplicantEmail |
|
5thRankedApplicantEmail |
|
5thRankedApplicantEmail |
Applicants_Ranking_Teams.csv must be formatted as below:
| a@umich.edu |
b@umich.edu |
c@umich.edu |
d@umich.edu |
e@umich.edu |
f@umich.edu |
| FirstNameA |
FirstNameB |
FirstNameC |
FirstNameD |
FirstNameE |
FirstNameF |
| LastNameA |
LastNameB |
LastNameC |
LastNameD |
LastNameE |
LastNameF |
| TopRankedTeam |
TopRankedTeam |
TopRankedTeam |
TopRankedTeam |
TopRankedTeam |
TopRankedTeam |
|
SecondRankedTeam |
|
SecondRankedTeam |
|
|
|
|
|
ThirdRankedTeam |
|
|
Team_Places.csv must be formatted as below (column B is number of spots intending to fill. Do NOT
include
alternates
in this count):
| Team1 |
3 |
| Team2 |
3 |
| Team3 |
4 |
| Team4 |
2 |
| Team5 |
5 |
IMPORTANT NOTES
- Check spelling of all emails and teams (this is how the algorithm sorts--double check for typos)
- NO SPACES OR COMMAS ALLOWED in team names and emails.
- The Applicants_Ranking_Teams sheet, Teams_Ranking_Applicants sheet,
and Team_Places sheet should each be in a separate .csv file
(make 3 separate Google Sheets documents, one for each sheet and only that sheet, download each as .csv)
- Alternates should be listed in Teams_Ranking_Applicants sheet. The Team_Places sheet will take
care of the # of spots filled ultimately (i.e. teams should list all applicants top to bottom in
Teams_Ranking_Applicants, no need
to distinguish alternates anywhere besides listing the # of spots available in Team_Places)
- This website will also notify you of which applicants did not match
- Only applicants that are ranked by a team will be potentially accepted to a team
- Only teams ranked by an applicant will be a potential match for the applicant
- If a team is ranking applicants by subteam: split the team, neglect the old team name, and make it
entirely new teams from the subteams (e.g. mesaEngineering, mesaBusiness). For
each applicant
that ranks that team on his/her list, make sure to use the corresponding specific subteam name
(mesaEngineering, mesaBusiness). In other words,
treat each recruiting subteam as its own independent project team.
Any issues with the input will be displayed in this box after you hit "run program".
Teams' rankings of applicants (.csv format only):