Applicable version: 2.3 or later
Description
- Prior to SSP v2.3, the Plan status was calculated externally to SSP with the results being stored with external data. The external data option, external_person_planning_status, remains available for implementers that choose to calculate the status externally. New functionality in SSP will calculate the status internally based on transcript data in the external table containing transcript information and plans saved in SSP. The new logic will calculate a Plan status for each active student with an active plan. Only the active Plan will be examined for a status calculation.
Process Description
- For each student with an active plan (map_plan.object_status = 1), SSP will compare the courses in external_student_transcript_course (formatted_course) for each term (distinct term_code from external_student_transcript_course) with the planned courses (map_plan_course.formatted_course) for equivalent terms (map_plan_course.term_code) starting with the oldest Plan term through the calculation cutoff term. If not cutoff term is defined, the current term will be used. A match will have matching criteria (configurable) for both the plan and transcripted courses. By default the formatted_course and term_code are used for matching. Additionally, the course title and course hours can be used to provide a more precise match. The result of the calculation is a database update in an SSP operational table to store the planning status and reasons for being off plan (if exist). The external_person_planning_status table will remain for implementers choosing to provide the calculation through the data integration.
Process diagram
Database Tables
Definitions
- Past Term: any term with a start date before the current term's start date
- Current Term: same definition that we are using for the MAP plan/template term grid.
- Future Term: any term with a start date on or after the current term’s start date
- Cutoff Term: the last term to consider for plan to transcript term matching. The cutoff term is configurable while the current term is used if the configuration item does not exist or if the configured value is in the past.
- Passing Grade: any grade determined to be a passing grade and fulfill completion of a planned course
- Anomaly: for each instance where a planned course or term does not match the transcript data, an anomaly code describes the reason for
- On Plan: there is an exact match of courses for each transcripted term with the terms and courses on the active plan. For planned terms after the current term including the calculation cutoff term without a matching transcript term, the Plan is considered on plan until the transcript data diverges from the plan.
- Off Plan: at least one term has a planned course that does not exist in the matching transcripted term or a transcripted course matching a planned courses was not passed.
Configuration items
SSP v2.3 MAP Status Calculation Implementation
New Configurations
name | possible values | purpose |
---|---|---|
calculate_map_plan_status | true, false | turns on/off cron job that will drive the calculation |
map_plan_status_passing_grades | school specific but something like (A,B,C) | In cases where a plan course and taken course line up, the student must have passed the class in order to not cause a anomaly |
map_plan_status_cutoff_term_code | term_code (EXTERNAL_TERM.CODE) | The calculation cutoff term is the latest future term to be included in the matching logic. The term range for a given calculation will start with the oldest term for the student transcripted courses up to the cutoff term. The term must be a valid term from external_term.
|
task_scheduler_map_plan_status_calculation_trigger | cron expression (i.e., 0 0 1 * * *) | drives the frequency of the cron job that will calculate status |
map_plan_status_addition_course_matching_criteria | available options are (COURSE_TITLE,CREDIT_HOURS) or blank | In addition to the static matching criteria (term_code and formatted_course), implementors have the option to add additional criteria. COURSE_TITLE will match PLAN_COURSE.COURSE_TITLE to EXTERNAL_STUDENT_TRANSCRIPT_COURSE.TITLE and CREDIT_HOURS will match PLAN_COURSE.CREDIT_HOURS with EXTERNAL_STUDENT_TRANSCRIPT_COURSE.CREDIT_EARNED |
Anomaly Codes