SSP v2.4 MAP Status Calculation Implementation

 

Overview

Phase 2 will introduced some enhance calculation features.  The scope of which is defined as subtasks of 

Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.
.

 

MAP Plan Status Calculation Implementation Details

Map Plan Status Schema

 

Map Status Data Dictionary

MAP_STATUS_REPORT (Process will produce one row per active plan assigned to an active student.)

ColumnTypeNotes
iduuidprimary (technical) key, unique identifier
plan_statusvarchar(enum)originally proposed as a boolean, I think an enum here will give us more flexability
notevarcharhigh level detail about the status calculation
plan_ratiodecimal(2,2)the percentage of plan courses satisfied as 'on plan'
plan_iduuidforeign key to MAP_PLAN(id)
person_iduuidforeign key to PERSON(id) - student
modified_byuuidid of person modifying reference
created_byuuidid of person creating reference
modified_datedatedate modified
created_datedatedate created
object_statusenumstandard object status

 

MAP_STATUS_REPORT_COURSE_DETAILS  (Process will produce one row per anomaly per active plan.  An errorless plan will produce zero rows.)

ColumnTypeNotes
iduuidprimary (technical) key, unique identifier
report_iduuidforeign key to MAP_STATUS_REPORT(id)
term_codevarcharsoft reference to EXTERNAL_TERM(code)
formatted_coursevarcharsoft reference to EXTERNAL_COURSE(formatted_course)
course_codeuuidsoft reference to EXTERNAL_COURSE(code)
anomaly_codevarcharcode that identifies the specific course level violation
anomaly_notevarchardetailed information about specific course level violation
modified_byuuidid of person modifying reference
created_byuuidid of person creating reference
modified_datedatedate modified
created_datedatedate created
object_statusenumstandard object status

 

MAP_STATUS_REPORT_TERM_DETAILS  (Process will produce one row per plan_course_term in scope per active plan.)

ColumnTypeNotes
iduuidprimary (technical) key, unique identifier
report_iduuidforeign key to MAP_STATUS_REPORT(id)
term_codevarcharsoft reference to EXTERNAL_TERM(code)
anomaly_codevarcharcode that identifies the specific course level violation
anomaly_notevarchardetailed information about specific course level violation
term_statusvarchar(enum)the on/off plan status of the term
term_ratiodecimal(2,2)percent of term courses satisfied as being 'on plan'
modified_byuuidid of person modifying reference
created_byuuidid of person creating reference
modified_datedatedate modified
created_datedatedate created
object_statusenumstandard object status

 

MAP_STATUS_REPORT_SUBSTITUTION_DETAILS  (Process will produce one row per substitution per active plan.  An substitution-less plan will produce zero rows.)

ColumnTypeNotes
iduuidprimary (technical) key, unique identifier
report_iduuidforeign key to MAP_STATUS_REPORT(id)
term_codevarcharsoft reference to EXTERNAL_TERM(code) Plan course term code being substituted
formatted_coursevarcharsoft reference to EXTERNAL_COURSE(formatted_course) Plan course formatted_course being substituted
course_codeuuidsoft reference to EXTERNAL_COURSE(code) Plan course course_code being substituted
substitution_codevarcharcode that identifies the specific course level violation
substitution_notevarchardetailed information about specific course level violation
substituted_term_codevarcharsoft reference to EXTERNAL_TERM(code) the substituted term code
substituted_formatted_coursevarcharsoft reference to EXTERNAL_COURSE(formatted_course) the substituted formatted_course
substituted_course_codeuuidsoft reference to EXTERNAL_COURSE(code) the substituted course_code
modified_byuuidid of person modifying reference
created_byuuidid of person creating reference
modified_datedatedate modified
created_datedatedate created
object_statusenumstandard object status

Integration

EXTERNAL_SUBSTITUTABLE_COURSE (Used to define course substitutions for plan calculation)

ColumnTypeNotes
term_codevarcharterm code for the substitution. if null applies to all term.
program_codeuuidprogram code for the substitution. if null applies to all programs
source_formatted_coursevarcharformatted course, matched to the plan course
source_course_codevarcharcourse course, matched to the plan course
source_course_titlevarcharcourse title, matched to the plan course
target_formatted_coursevarcharformatted course, matched to the transcript course
target_course_codevarcharcourse code, matched to the transcript course
target_course_titlevarcharcourse title, matched to the transcript course

New Configurations

namepossible valuespurpose

map_plan_status_email

email address

Email address that status email should be sent to.  map_plan_status_send_report_email should be set to true for email to be sent

map_plan_status_send_report_email

true, false

If set the true, an email will be sent to the address listed in config map_plan_status_email

map_plan_status_send_off_plan_coach_emailtrue, false

Send off plan emails to coaches after status calc run

map_plan_status_term_bound_strict

true, falseIf set to true, course matches must be term bound to be considered on plan

map_plan_status_use_substitutable_courses

true, false

Drives the use of substitutable courses when calculating plan status

Matching criteria

Different schools may have their course/transcript data organized differently.  This means they may want different criteria to drive the matching logic between plan and transcript.  We will assume that three criteria are non-negotiable and static; term_code and  formatted_course.  In addition to the static matching criteria, 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.  

In addition for phase to, course code is being added to external_student_transcript_course so COURSE_CODE will be added as an additional criteria.  Which will match EXTERNAL_STUDENT_TRANSCRIPT_COURSE.COURSE_CODE with PLAN_COURSE.COURSE_CODE.