Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

 

Overview

Phase 1 Map Status Calculation will feature a cron job that calculate plan statuses for all active plans as detailed in the Phase 1 requirements doc (SSP v2.4 MAP Status Calculation- Phase 1).  

 

MAP Plan Status Calculation - Operational Data Model - Phase 1

Map Plan Status Schema for Phase 1

 

Map Status Data Dictionary - Phase 1

MAP_STATUS_REPORT

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_iduuidforeign key to MAP_PLAN(id)
person_iduuidforeign key to PERSON(id)
modified_byuuidid of person modifying reference
created_byuuidid of person creating reference
modified_datedatedate modified
created_datedatedate created
object_statusenumstandard object status

 

 

Comments

  • plan_status:  An enum would be better.  That would support the multiple statuses that will be added in phase 2 (on track, off track, etc)

 

 

MAP_STATUS_REPORT_DETAILS

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) Do we really need this?
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

Comments

  • course_code: This may or may not be applicable here.  We are seeing more and more schools loading data into external_course with the same formatted_course but different course_id values.  This represents different versions of the course and is completely legitimate in the field.  Many schools start with this concept because the SIS table structures require different course ids for each term the course is offered.  However, different course ids in MAP are important when the course has a different definition (title, course hours, etc).  

 

New Configurations for Phase 1

namepossible valuespurpose
calculate_map_plan_statustrue, falseturns on/off cron job that will drive the calculation
map_plan_status_passing_gradesschool 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_termterm_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.  

      • If no term is configured, all future terms are considered.
      • If the configured term is a past term (user forgot to update), then all terms will be used 
task_scheduler_map_plan_status_calculationcron expression (i.e., 0 0 1 * * *)drives the frequency of the cron job that will calculate status

Comments

 passing_grades: Dan also questioned the need for more complexity.  Maybe I'm missing something that you both are seeing.  The basic functionality is to check to see if the grade the student was awarded on their transcript is a passing grade. 

 

Implementation Concerns for Phase 1

  • System load and memory footprint will be big concerns for the calculation process.  We don't want to load all active plans into memory at once.  Implementors may not want to have cron job run during business hours as it could put load on the web server and database.
  • Configuration task_scheduler_map_plan_status_calculation is a maintenance concern.  Will most likely have to be updated every term.  This must be clear to implementors.
  • map_plan_status_passing_grades may not be very flexible enough for a lot of schools.  We may want to explore a hierarchical configuration approach.

Open Questions

  • Do we want to store one status per plan?  If we want to store multiple statuses per plan, that may have performance and storage concerns.
    • JME: During the original discussion we agreed for phase 1 that we would record only the current plan status and off plan reason.  The one per is actually buried in the phase 1 specs in the Operational Table description.


  • No labels