Enrollment Form
Field reference for course enrollment records.
Fields
Backed by records.student_section_enrollments.
| Field | Column | Type | Required | Notes |
|---|---|---|---|---|
| Enrollment ID | student_section_enrollment_id | UUID | Auto | Primary key |
| Legacy Enrollment ID | legacy_enrollment_id | Integer | Auto | Colleague/ODS source key |
| Student | student_id | Integer (FK) | Yes | |
| Section | section_id | Integer (FK) | Yes | |
| Status | enrollment_status_id | Select (Lookup) | Yes | ENROLLMENT_STATUS |
| Academic Level | academic_level_id | Select (Lookup) | No | UG / GR / CE / NC — GPA is computed per level |
| Registration Date | registration_date | Date | No | |
| Drop Date | drop_date | Date | No | Set when the enrollment is dropped or withdrawn; a second drop never moves it. Billing measures refunds from it |
| Grade | grade_id | Integer (FK) | No | Final grade |
| Grade Date | grade_date | Date | No | |
| Midterm Grade | midterm_grade_id | Integer (FK) | No | Informational; never in GPA. Entered on the grade roster or imported from Colleague (SCS_MID_TERM_GRADE1) |
| Midterm Grade Date | midterm_grade_date | Date | No | |
| Midterm Grade Source | midterm_grade_source | Text | No | SIS (roster) or ODS (nightly import). The import never overwrites SIS; SIS with no grade is a roster clear (migration 292) |
| Credits Attempted | credits_attempted | Decimal | No | On a variable-credit section, the credits the student chose (migration 279); otherwise the section minimum. Billing, GPA, the degree audit and credit-load checks read it |
| Credits Earned | credits_earned | Decimal | No | |
| Is Audit | is_audit | Boolean | Yes | |
| Is Pass/Fail | is_pass_fail | Boolean | Yes | |
| Is Independent Study | is_independent_study | Boolean | Yes | |
| Is Credit by Exam | is_credit_by_exam | Boolean | Yes | |
| Is PLA | is_pla | Boolean | Yes | Prior learning assessment |
| Is Remedial | is_remedial | Boolean | Yes | Excluded from degree credit |
| Credit Source | credit_source_id | Select (Lookup) | No | |
| Transaction Item | transaction_item_id | Integer (FK) | No | Registration transaction that created this row |
| Is Attending | is_attending | Boolean | No | |
| Last Attendance Date | last_attendance_date | Date | No | |
| Attendance Notes | attendance_notes | Text | No | |
| Notes | notes | Text | No |
Every change to a final or midterm grade is written to records.grade_change_log by trigger — the log is append-only and is not maintained by the application.
Overrides are not stored on the enrolment. They belong to the registration transaction that produced it; see Registration transactions.
Enrollment Options
| Field | Type | Required | Notes |
|---|---|---|---|
| Is Audit | Boolean | No | Audit mode (no grade/credit) |
| Is Pass/Fail | Boolean | No | Pass/Fail grading |
| Is Independent Study | Boolean | No | Independent study course |
| Is Credit by Exam | Boolean | No | Credit by examination |
| Is PLA | Boolean | No | Prior Learning Assessment |
| Credit Source | Select (Lookup) | No | CREDIT_SOURCE (Transfer, CBE, etc.) |
| Notes | Text Area | No | Enrollment notes |
Enrollment Status Values
| Code | Description | Can Change To |
|---|---|---|
| REGISTERED | Officially enrolled | DROPPED, WITHDRAWN, COMPLETED |
| WAITLISTED | On waitlist | REGISTERED, DROPPED |
| DROPPED | Dropped on or before the term's drop deadline. Not on the transcript; kept in the enrollment history | (terminal) |
| WITHDRAWN | Withdrawn after the drop deadline, up to the withdrawal deadline. A W on the transcript, outside the GPA | (terminal) |
| COMPLETED | Course completed | (terminal) |
Computed Fields (Read-Only)
| Field | Description |
|---|---|
| Course Code | From section's course |
| Course Title | From section's course |
| Term | From section |
| Instructor | From section assignment |
| Is Graded | Grade has been assigned |
| Letter Grade | Grade letter (A, B, C, etc.) |
Validation Rules
- Student + Section must be unique (one enrollment per student per section)
- Cannot enroll if section is full (unless override)
- Cannot enroll if Student Status is not ACTIVE
- Prerequisites must be satisfied (unless override)
- Schedule conflicts are warned about, not refused
- Drop Date must be on or after Registration Date
- An enrollment already DROPPED or WITHDRAWN cannot be dropped again
- Grade can only be assigned to REGISTERED enrollments
Registration Transaction Context
Enrollments are typically created through registration transactions:
| Field | Type | Notes |
|---|---|---|
| Transaction | FK | Parent registration transaction |
| Transaction Item | FK | Specific transaction item |
| Has Override | Boolean | Registration override was used (has_overrides) |
| Override flags | Boolean | override_prereqs, override_deadline, override_credit_limit, override_campus, override_sequence, override_repeat |
| Override Reason | Text | Reason for override |
| Overload Request | Boolean, Text, Decimal | is_overload_request, overload_reason, overload_credits (migration 296) |
| Overload Advisor Approval | FK, DateTime | overload_advisor_approved_by, overload_advisor_approved_at |
These are columns of records.registration_transactions. Each transaction also has a permanent note thread, records.registration_transaction_notes (migration 278): one row per note, with note_kind (NOTE, OVERRIDE, REJECT), note_text (up to 2,000 characters), the step, the author and the role they acted under. The database refuses any update or delete of a note.