12Course Element
Captures information for each enrolled course, such as course ID, status, credits, grades, attendance, and eligibility for financial aid.
Required Element? No
Can Repeat? Yes
Best Practices: Once a student begins attending a course, you'll want to ensure you're sending a first Academic Related Activity (ARA) Indicator = True as several downstream processes like disbursing and Return to Title IV (R2T4) can use this indicator.
Field: External Course Id
Description: Unique course identifier used for display purposes only
Impact on Financial Aid Processing: Course data can have an impact on your enrollment status and Cost of Attendance (COA) depending on your configuration and within credit balance logic to decide whether the associated course charge should be included in the credit balance calculation.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| 012345 | String | Yes | No | Yes getExternalCourseId() |
|
Field: Description
Description: Description of the course used for display purposes only
Impact on Financial Aid Processing: None
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| MATH 100 | String | Yes | No | Yes getDescription() |
|
Field: Scheduling Status
- Projected: Projected course are for courses that are projected in the future and not actual courses.
- Scheduled: Value represents when the student has a course that they're planning on taking in the future but have yet started. This is only for display purposes, no need to use.
- Enrolled: Value represents when student's begin the course. Only for display purposes.
- Withdrawn: Student is no longer attending course
- Passed: Student completed course with a passing grade
- Failed: Student completed course with a failing grade
- Incomplete: Course has ended but student is still pending a grad
Impact on Financial Aid Processing: The scheduling status is used to drive how and when a course should be included within Satisfactory Academic Progress (SAP), disbursing, credit balance, R2T4, term enrollment status calculations and other areas based on your groovy script logic.
Scheduling status is also used in our awarding criteria for course start offset date. We won't award a student if they only have projected courses within X (configurable) number of days within the future.
It's important to ensure you're sending in the correct course statuses as there are many impacts to student's financial aid eligibility.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| Projected | Enumeration (Enum) | Yes |
|
Yes getSchedulingStatus() |
|
Field: Start Date
Description: Course start date
Impact on Financial Aid Processing: Identifies the term to which the course will be assigned.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| 2025-09-01 | Date | Yes | Course start and end dates must fall within the dates of a Term unless the TermStartDate Element is used to instruct SFP which Term the course falls into. | Yes getStartDate() |
|
Field: End Date
Description: Course end date
Impact on Financial Aid Processing: Identifies the term to which the course will be assigned.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| 2025-10-06 | Date | Yes | Course start and end dates must fall within the dates of a Term unless the TermStartDate Element is used to instruct SFP which Term the course falls into. | Yes getEndDate() |
|
Field: First ARA Indicator
Description: Represents the first time a student has ARA within the course (could be attendance, work, and so on.)
Impact on Financial Aid Processing: This is used to identify the term enrollment status once the current date is greater than the course end date.
We also use this in our baseline configurable disbursement criteria logic to ensure that they've attended at least one course in the term/payment period before we disburse for that term/payment period, and in our credit balance logic to identify the payment period/term the student is in.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| True | Boolean | Yes |
|
Yes getFirstAraIndicator() |
|
Field: Incomplete Resolution Date
Description: Use for non term only
Impact on Financial Aid Processing: None
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| 2025-12-01 | Date | No |
|
Yes getIncompleteResolutionDate() |
|
Field: Grade
Description: This is used for display only
Impact on Financial Aid Processing: This can be leveraged by the non federal fund engine to decide eligibility, awarding, and disbursing criteria.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| A+ | String | No | No | Yes getGrade() | Program Information |
Field: Units
Description: This would represent the number of credits for the course and can be used for financial aid purposes
Impact on Financial Aid Processing: This is leveraged in the baseline configuration enrollment status determination groovy script. If the course is withdrawn, only count the credits if the course was withdrawn after the add/drop period. If the course isn't withdrawn, count the course credits.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| 3.0 | Double (Can include 0) | Yes | No | Yes getUnits() |
|
Field: Degree Applicable Units
Description: This would represent the number of credits that apply toward the student's degree. This is non term specific.
Impact on Financial Aid Processing: None
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| 3.0 | Double (Can include 0) | No | No | No |
|
Field: Comments
Description: This is used for display only.
Impact on Financial Aid Processing: None
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| Student completed course | String | No | No | Yes getComments() | Program Information |
Field: Program GPA at Course End
Description: Program level Grade Point Average (GPA) at the time the student received a grade for the course, or that's, when the scheduling status for the course is updated to passed or failed.
Impact on Financial Aid Processing: When we perform a SAP calculation, we'll use the program GPA at course end for the last course in the term when deciding the SAP status.
If there are multiple courses that end on the same time, then the program GPA at course end must be the same (even if a grade for the concurrent course was decided earlier. This means that a grade could be decided for one of the two concurrent courses, the program GPA at course end would be one value and then when the second concurrent course ends, then we expect that the program GPA at course end for both courses are updated to reflect the appropriate GPA.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| 3.25 | Double (Can include 0) | No |
Must be populated when Scheduling Status is any of the following
|
Yes getProgramGpaAtCourseEnd() |
|
Field: Last Date of Attendance
Description: Last day the student attended in the course if they withdrew from the course.
Impact on Financial Aid Processing: This field is mainly used for a non term school where we'd identify the instructional weeks earned based on the point of withdrawal from the course. Since the Financial Aid System (FAS) doesn't need to identify the instructional weeks for term schools, this will be used for display purposes only.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| 2025-10-01 | Date | No |
|
Yes getLastDateOfAttendance() |
|
Field: Location
Description: Location where the course is being taken
Impact on Financial Aid Processing: Field can be used to identify eligibility, awarding criteria, and disbursing criteria for non federal funds.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| Los Angeles Downtown | Non Blank String | Yes | No | Yes getLocation() | Program Information |
Field: Modality
Description: Provides if the course was taken online or on ground
Impact on Financial Aid Processing: Field can be used to identify eligibility, awarding criteria, and disbursing criteria for non federal funds.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| Online | Enum | Yes |
|
Yes getModality() | Program Information |
Field: SAP Applicable
Description: This is used to identify courses that should be included in a SAP evaluation, regardless of whether the course is program applicable.
Impact on Financial Aid Processing:If the value is true, the course will be included in the SAP evaluation, if the value is false, it will not be included in the SAP evaluation. If the value isn't included in the Student Academic and Financial Information (SAFI), the course will be included in the SAP calculation.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| True | Boolean | No |
|
No | SAP Information |
Field: Repeat Indicator
Description: Defines whether a course is being repeated in a program
- If a student is taking a first passed retake, the course would be within the program element and the repeat indicator = True. This ensures that we don't count the first passed retake as counting toward the program required units.
- If the student is taking a second or more retake of the course after they've already passed the course, then we'd expect the course to be within the unspecified program element of the SAFI. This ensures we don't award financial aid for the course as it isn't allowed by regulations.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| True | Boolean | No |
|
Yes getRepeatIndicator() | Program Information |
Field: Term Start Date
Description: Used to instruct which term the course falls into
Impact on Financial Aid Processing: Only required if the course start or end dates fall outside of the term the course should be linked to. Once this course is linked to a term financial aid will be evaluated for this course with the term it is tied to.
| Example | Data Type | Required | XML Schema Validation | Accessible via Configuration? | Display Locations |
|---|---|---|---|---|---|
| 2025-09-05 | Date | No |
|
No | None |