Skip to content

Enrollment Form ​

Field reference for course enrollment records.

Fields ​

Backed by records.student_section_enrollments.

FieldColumnTypeRequiredNotes
Enrollment IDstudent_section_enrollment_idUUIDAutoPrimary key
Legacy Enrollment IDlegacy_enrollment_idIntegerAutoColleague/ODS source key
Studentstudent_idInteger (FK)Yes
Sectionsection_idInteger (FK)Yes
Statusenrollment_status_idSelect (Lookup)YesENROLLMENT_STATUS
Academic Levelacademic_level_idSelect (Lookup)NoUG / GR / CE / NC — GPA is computed per level
Registration Dateregistration_dateDateNo
Drop Datedrop_dateDateNoSet when the enrollment is dropped or withdrawn; a second drop never moves it. Billing measures refunds from it
Gradegrade_idInteger (FK)NoFinal grade
Grade Dategrade_dateDateNo
Midterm Grademidterm_grade_idInteger (FK)NoInformational; never in GPA. Entered on the grade roster or imported from Colleague (SCS_MID_TERM_GRADE1)
Midterm Grade Datemidterm_grade_dateDateNo
Midterm Grade Sourcemidterm_grade_sourceTextNoSIS (roster) or ODS (nightly import). The import never overwrites SIS; SIS with no grade is a roster clear (migration 292)
Credits Attemptedcredits_attemptedDecimalNoOn 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 Earnedcredits_earnedDecimalNo
Is Auditis_auditBooleanYes
Is Pass/Failis_pass_failBooleanYes
Is Independent Studyis_independent_studyBooleanYes
Is Credit by Examis_credit_by_examBooleanYes
Is PLAis_plaBooleanYesPrior learning assessment
Is Remedialis_remedialBooleanYesExcluded from degree credit
Credit Sourcecredit_source_idSelect (Lookup)No
Transaction Itemtransaction_item_idInteger (FK)NoRegistration transaction that created this row
Is Attendingis_attendingBooleanNo
Last Attendance Datelast_attendance_dateDateNo
Attendance Notesattendance_notesTextNo
NotesnotesTextNo

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 ​

FieldTypeRequiredNotes
Is AuditBooleanNoAudit mode (no grade/credit)
Is Pass/FailBooleanNoPass/Fail grading
Is Independent StudyBooleanNoIndependent study course
Is Credit by ExamBooleanNoCredit by examination
Is PLABooleanNoPrior Learning Assessment
Credit SourceSelect (Lookup)NoCREDIT_SOURCE (Transfer, CBE, etc.)
NotesText AreaNoEnrollment notes

Enrollment Status Values ​

CodeDescriptionCan Change To
REGISTEREDOfficially enrolledDROPPED, WITHDRAWN, COMPLETED
WAITLISTEDOn waitlistREGISTERED, DROPPED
DROPPEDDropped on or before the term's drop deadline. Not on the transcript; kept in the enrollment history(terminal)
WITHDRAWNWithdrawn after the drop deadline, up to the withdrawal deadline. A W on the transcript, outside the GPA(terminal)
COMPLETEDCourse completed(terminal)

Computed Fields (Read-Only) ​

FieldDescription
Course CodeFrom section's course
Course TitleFrom section's course
TermFrom section
InstructorFrom section assignment
Is GradedGrade has been assigned
Letter GradeGrade letter (A, B, C, etc.)

Validation Rules ​

  1. Student + Section must be unique (one enrollment per student per section)
  2. Cannot enroll if section is full (unless override)
  3. Cannot enroll if Student Status is not ACTIVE
  4. Prerequisites must be satisfied (unless override)
  5. Schedule conflicts are warned about, not refused
  6. Drop Date must be on or after Registration Date
  7. An enrollment already DROPPED or WITHDRAWN cannot be dropped again
  8. Grade can only be assigned to REGISTERED enrollments

Registration Transaction Context ​

Enrollments are typically created through registration transactions:

FieldTypeNotes
TransactionFKParent registration transaction
Transaction ItemFKSpecific transaction item
Has OverrideBooleanRegistration override was used (has_overrides)
Override flagsBooleanoverride_prereqs, override_deadline, override_credit_limit, override_campus, override_sequence, override_repeat
Override ReasonTextReason for override
Overload RequestBoolean, Text, Decimalis_overload_request, overload_reason, overload_credits (migration 296)
Overload Advisor ApprovalFK, DateTimeoverload_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.

Student Information System Documentation