Add support for graduating undergraduate dual majors & relax program checks #2282
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
OVERVIEW
Over the past six months, we have refactored and tightened up the
code that determines ETD publication eligibility. Emory has also introduced
new dual degree programs and asked us to relax checking at the program level.
We currently match the program provided in the registrar data to the corresponding
degree entered by the student. While registrar data includes degree information after
the student has graduated; only the program information is available prior to
graduation to help us determine whether the ETD is in a pending-graduation state.
Based on these changes, the code in this PR implements the following business rules:
RULES
ACTION
NOTE: this change also reformats the order of columns in the fixture data so relevant debugging and testing data is closer to the beginning of each record.
MORE BACKGROUND
ISSUE 1
Emory would like these student to list themselves as being part of
the "Emory College" program, but the Registrar is showing their
graduation record associated with the "Undergraduate Business" school.
This means the application expects to find a graduation record like
PPIDxxx-UCOL-BBA
, but the Registrar data providesPPIDxxx-UBUS-BBA
.There are other students graduating in "UCOL" programs, so we can't
just change the mapping; we have to add an additional check for this
specific case.
It's also possible that they've listed their non-business degree, so we also
have to allow for program-vs-degree mismatches.
SOLUTION
This commit adds a secondary check when-and-only-when the student
has entered "Emory College" and also scans
Registrar data for the same student within the "Undergraduate
Business" program. In these cases, the program in the registrar data may also
not match the degree the student has entered because the student has
written the thesis as part of their liberal arts program instead of the business
program.
ISSUE 2
Emory has indicated that they would like to process graduation records
and ETD publication even if the student provided degree does not
exactly match the program data in the registrar data.
SOLUTION
ignoring program & degree mismatches
relaxed matches if present, and log the differing data
same way