Auto-Connect (Default)
Loads automatically from the configured Google Sheet on every page open.
Google Sheet Link
Enter any sharable Google Sheet URL to load from a different source.
Upload CSV File
Manually upload an exported CSV file from Google Sheets.
Example: https://docs.google.com/spreadsheets/d/.../edit?usp=sharing
▶ How the mapping works
- Load quiz scores — each row is one resident, each column is one quiz (Quiz 1, Quiz 2, …). Up to 5 quizzes supported.
- Load the rotation schedule — each row is one resident with 13 blocks for the academic year. Block cells contain whatever rotation codes your program uses (e.g. EM-Main, PICU, Elective).
- Tell us which codes are "core" — quizzes are only auto-assigned to blocks matching these codes. The Nth matching block a resident does receives Quiz N. Consecutive matching blocks form a single ITER period whose exam % is the average of its quizzes.
- Override anytime — per-resident on the profile page via the Map manually button next to the quiz picker, or skip all of this and enter the exam % by hand.
1📚 Quiz & Exam Scores
Paste a Google Sheet URL (shared as "Anyone with the link") or upload a CSV. Each row is one resident, each column is one quiz/exam (Quiz 1, Quiz 2, …). Column labels can be anything — the app matches on "Quiz N" style.
2📅 Rotation Schedule
Year-long rotation matrix — one row per resident, 13 block columns. Used to render the rotation strip on each resident profile and to match quizzes to blocks. Optional if you only want to enter exam % manually.
3🎯 Core Rotation Codes
Which rotation labels in your schedule should receive quizzes? Enter a comma-separated list — partial matches work (e.g. EM-Main matches EM-Main-1). Quizzes are only auto-assigned to blocks whose code matches one of these.
EM-Main for in-hospital EM rotations, enter just that.
If you have two in-program codes like EM-Adult and EM-Peds, enter both separated by a comma.
Rotations that don't match (Electives, Research, External, etc.) are skipped — no quiz is auto-assigned to them.
| Name | Level | Specialty | Hospital | Start date | Status | Actions | |
|---|---|---|---|---|---|---|---|
| No residents in this year's roster yet. Use Import from Google Sheet names to pull in your current trainees, or Bulk paste from Excel. | |||||||
• Long format: Resident / Type / Date / Score / Max (one row per result)
• Wide format: Resident + a column per assessment (e.g. Quiz 1 (%), OSCE, Written Exam) — each column becomes an assessment type.
Make sure the sheet is shared with Anyone with the link.
R1, R2, R3, R4, R5) to fetch every level at once. The tab name becomes the resident's level label.
| Resident | Level | Type | Score | % | Notes |
|---|---|---|---|---|---|
| No assessments loaded yet. Connect a Google Sheet or upload a CSV above. | |||||
Quiz 1 Final (%), OSCE, Written Exam). In wide mode, each column header becomes the assessment type and cell values are treated as percentages. When you list tab names above, the dashboard fetches each tab and tags every row with that tab's name as the resident's level. Preset types: Quiz, Written Exam, OSCE, Simulation, Case Presentation, Research, Chart Review, 360 Feedback — but any column name works.
| Resident | Level | Evals | H&PE | Pres/DDx | Activity | Punctuality | Overall | Status |
|---|
Scores mapped from daily evaluations (/10) to ITER 1-4 scale. Knowledge-domain criteria can also use an exam score. Final Score is editable — override any value before auto-fill.
Console Script (Alternative Method)
If bookmarklet doesn't work: Open the ITER form in your browser → F12 → Console → Paste → Enter