For Academic Advisors and Program Administrators
Last Updated: November 25, 2025
Before you can upload program requirements, you need to authenticate:
Your session will remain active for 1 hour. After that, you’ll need to sign in again using a new code from your authenticator app.
Note: If you need to regenerate your authenticator secret (e.g., new phone), click the “Regenerate TOTP Secret” button and scan the new QR code.
In the admin interface, navigate to the Upload tab and select “Program Requirements” from the upload type dropdown.
Click “Choose File” or drag and drop your CSV file into the upload area.
The system will show you a detailed preview of:
Before confirming, you can:
Click “Confirm Upload” to save all changes to the database. The system will:
After upload, you can:
Every row in your CSV must have these columns:
| Column | What It Means | Example |
|---|---|---|
program_name |
The name of your degree program | “Biology B.S.” |
category |
The requirement category | “BIOS Electives” |
requirement_type |
Type: simple or grouped |
grouped |
semester |
The semester this version applies | Fall |
year |
The year this version applies | 2025 |
is_current |
Is this the active version? | true |
When students can choose from multiple course options, add these columns:
| Column | What It Means | Example |
|---|---|---|
group_name |
Name of the course group | “Electives” |
course_code |
The specific course | “BIOS 301” |
institution |
Where the course is offered | “Delgado Community College” |
is_preferred |
Recommended option? | false |
Add rules about how many courses or credits students need:
| Column | What It Means | Example |
|---|---|---|
constraint_type |
The type of rule (optional label) | credits |
min_credits |
Minimum credits required | 10 |
max_credits |
Maximum credits allowed | 15 |
min_courses |
Minimum number of courses | 3 |
max_courses |
Maximum number of courses | 5 |
min_level |
Minimum course level (e.g., 3000 for upper-level) | 3000 |
min_courses_at_level |
How many courses at that level | 2 |
tag |
Course attribute to check | has_lab |
tag_value |
Required value for that attribute | true |
scope_subject_codes |
Limit to specific departments | BIOS |
Important: Constraint columns only need values on the first row of each category. Leave them empty for course listing rows.
Constraints are rules that define requirements like:
Use when you want to specify how many credits students need.
Example: Students must take between 10-15 credits from biology electives.
program_name,category,requirement_type,semester,year,is_current,group_name,course_code,institution,constraint_type,min_credits,max_credits,scope_subject_codes
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 300,"DCC",credits,10,15,BIOS
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 301,"DCC",,,,
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 305,"DCC",,,,
Use when you want to specify how many courses students need.
Example: Students must take 3-5 courses from the elective list.
program_name,category,requirement_type,semester,year,is_current,group_name,course_code,institution,constraint_type,min_courses,max_courses
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 300,"DCC",courses,3,5
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 301,"DCC",,,
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 305,"DCC",,,
Use when you need students to take upper-level courses.
Example: Students must take at least 2 courses at the 3000-level or higher.
program_name,category,requirement_type,semester,year,is_current,group_name,course_code,institution,constraint_type,min_level,min_courses_at_level,scope_subject_codes
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 300,"DCC",level,3000,2,BIOS
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 301,"DCC",,,,
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 405,"DCC",,,,
Understanding Course Levels:
Use when you need courses with specific characteristics (like lab courses).
Example: Students must take at least 2 courses with a lab component.
program_name,category,requirement_type,semester,year,is_current,group_name,course_code,institution,constraint_type,tag,tag_value,min_courses,scope_subject_codes
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 300,"DCC",tag,has_lab,true,2,BIOS
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 301,"DCC",,,,,
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 305,"DCC",,,,,
Available Course Tags:
has_lab (values: true or false) - Course includes lab componentcourse_type (values: lecture, lecture_lab, lab_only, research, seminar, independent_study)You can apply multiple constraints to the same category by adding separate rows with different constraint types:
program_name,category,requirement_type,semester,year,is_current,group_name,course_code,institution,constraint_type,min_credits,min_level,min_courses_at_level,tag,tag_value,min_courses
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 300,"DCC",credits,10,,,,,,
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 300,"DCC",level,,3000,2,,,
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 300,"DCC",tag,,,,has_lab,true,2
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 301,"DCC",,,,,,
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 305,"DCC",,,,,,
This requires: 10+ credits AND 2 upper-level courses AND 2 lab courses.
After uploading your CSV, you’ll see a confirmation screen with several sections:
Shows counts of:
Errors (Red): Must be fixed before upload
Warnings (Yellow): Should be reviewed but won’t block upload
Expandable sections showing:
You can edit requirements directly before confirming:
After upload, use the Program Requirements Management section to:
Click the Edit button next to any program version to:
When editing:
Students must take one specific course.
program_name,category,requirement_type,semester,year,is_current,course_code,institution
"Biology B.S.","Core Courses",simple,Fall,2025,true,"BIOS 101","Delgado Community College"
"Biology B.S.","Core Courses",simple,Fall,2025,true,"BIOS 102","Delgado Community College"
"Biology B.S.","Core Courses",simple,Fall,2025,true,"CHEM 101","Delgado Community College"
Students must take 10-15 credits from a list of biology electives.
program_name,category,requirement_type,semester,year,is_current,group_name,course_code,institution,is_preferred,constraint_type,min_credits,max_credits,scope_subject_codes
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 300,"Delgado Community College",false,credits,10,15,BIOS
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 301,"Delgado Community College",true,,,,
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 305,"Delgado Community College",false,,,,
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 401,"Delgado Community College",false,,,,
"Biology B.S.","BIOS Electives",grouped,Fall,2025,true,"Electives",BIOS 405,"Delgado Community College",false,,,,
Note: BIOS 301 is marked as preferred (is_preferred=true), meaning it’s a recommended choice for students.
Students must take at least 6 credits from upper-level biology courses, and at least 1 must have a lab.
program_name,category,requirement_type,semester,year,is_current,group_name,course_code,institution,is_preferred,constraint_type,min_credits,min_level,min_courses_at_level,tag,tag_value,min_courses,scope_subject_codes
"Biology B.S.","Upper-Level BIOS",grouped,Fall,2025,true,"Advanced",BIOS 301,"Delgado Community College",false,credits,6,,,,,BIOS
"Biology B.S.","Upper-Level BIOS",grouped,Fall,2025,true,"Advanced",BIOS 301,"Delgado Community College",false,level,,3000,2,,,,BIOS
"Biology B.S.","Upper-Level BIOS",grouped,Fall,2025,true,"Advanced",BIOS 301,"Delgado Community College",false,tag,,,,has_lab,true,1,BIOS
"Biology B.S.","Upper-Level BIOS",grouped,Fall,2025,true,"Advanced",BIOS 305,"Delgado Community College",false,,,,,,,
"Biology B.S.","Upper-Level BIOS",grouped,Fall,2025,true,"Advanced",BIOS 401,"Delgado Community College",false,,,,,,,
"Biology B.S.","Upper-Level BIOS",grouped,Fall,2025,true,"Advanced",BIOS 405,"Delgado Community College",true,,,,,,,
This example requires:
DO:
DON’T:
is_current=true for active programsscope_subject_codes to target specific departmentsconstraint_type column to label your constraintssemester or year to create a new versionsemester and year, keep is_current=trueis_current=falsesemester and yearProblem: The course doesn’t exist in the database
Solution: Upload the course first using the Courses CSV upload
Problem: Your CSV is missing a required column
Solution: Check that you have all required columns (see Creating Your CSV File section)
Problem: Semester must be exactly “Fall”, “Spring”, or “Summer”
Solution: Fix capitalization and spelling
Problem: Year must be a 4-digit number
Solution: Use format like “2025” not “25”
Problem: The system will remove course groups that aren’t in your CSV
Solution: This is normal when updating requirements - make sure your CSV includes all desired courses
true for active versionsdocs/equic-csvs/ for example CSV filesprogram_name - Your degree programcategory - The requirement categoryrequirement_type - simple or groupedsemester - Fall, Spring, or Summeryear - 4-digit year (e.g., 2025)is_current - true or falsecourse_code - The required coursegroup_name - Name of the groupcourse_code - Each course optioninstitution - Where course is offeredis_preferred - true or falseconstraint_type - Label (optional)min_credits - Minimum creditsmax_credits - Maximum creditsmin_courses - Minimum number of coursesmax_courses - Maximum number of coursesmin_level - Minimum course level (1000-5000)min_courses_at_level - How many at that leveltag - Attribute name (has_lab, course_type)tag_value - Required value (true, false, or type)scope_subject_codes - Department codes (BIOS, CHEM, etc.)For technical implementation details, see: UNIFIED_CSV_FORMAT.md
For constraint implementation details, see: CONSTRAINT_IMPLEMENTATION.md