Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SFAS-SIMS Bridge File - MSFAA Implementation #3774

Closed
24 tasks done
CarlyCotton opened this issue Oct 8, 2024 · 1 comment
Closed
24 tasks done

SFAS-SIMS Bridge File - MSFAA Implementation #3774

CarlyCotton opened this issue Oct 8, 2024 · 1 comment
Assignees
Labels
Integration Ministry Ministry Features

Comments

@CarlyCotton
Copy link
Collaborator

CarlyCotton commented Oct 8, 2024

User Story
As a student, it is possible for me to have two MSFAA numbers (PT and FT). I don't want to have a new one issued by SIMS when I already have a valid one in SFAS/SAIL.

Acceptance Criteria

  • On application submission during "Associate MSFAA" in the gateway, add another way to validate MSFAA (this can be done the same for PT/FT)
  • If a student does not have a SIGNED SIMS generated MSFAA number, search Bridge file Individual data records to find matching (SIN/DOB/LastName) student profile
    • If no match found, Create New MSFAA as normal (or use the unsigned SIMS MSFAA number).
    • If the most recent match found DOES NOT contain a MSFAA number for the intensity, Create New MSFAA as normal.
    • If the most recent match found DOES contain a MSFAA number for the intensity, search the bridge file application data and use the most recent (or future) study end date ("300" for FT or "301" for PT) to ensure it is within 730 days of this date. System cancel/void any other MSFAAs for that intensity. If No application or end date outside of 730 days: related to the student/MSFAA number, do not USE and create new as normal.
  • In cases where we find a match in bridge file with a valid study end date: import that MSFAA number and use the most recent application end date from bridge file information as a "signed date"

Business Context

  • Only VERIFIED MSFAA SAIL data will be reported. (This is a status in SAIL that is displayed based on the validity of the MSFAA number.)
  • We are receiving the "Effective Date" for PT MSFAAs. As noted in the bridge file layout, this is really the only date data that we have easily accessible from SAIL for the MSFAA. The signed date is contained within a text file in a BLOB field in another table, which is difficult to get at. At this time, we are not going to try and get the signed date, but we will be using the effective date on this table, which is actually the date that the MSFAA request was created and should be close enough.
  • We recognize that the gap between effective date and signed date could result in us declaring a MSFAA number "expired" slightly sooner than it would normally. This amounts to a small risk based on volume of students in PT with the circumstances that could end up in that situation. It results in the least number of students being impacted by having to be re-issued an MSFAA pre-maturely or worse, during an active application in the legacy systems.
  • NULL date_requested/sent date would indicate that it is an imported MSFAA number

Technical

  • Create an additional process to be executed if SIMS does not have a VALID AND SIGNED MSFAA.
    • Look for the individual in the sims.sfas_individuals by its student_id.
      • For part-time MSFAA use the columns part_time_msfaa_number.
      • For full-time MSFAA use the columns msfaa_number.
      • The student should have at least one application for the intensity.
      • If the student is present in the SFAS table and it has an application for the intensity a new MSFAA record should be created.
        • Create a new MSFAA entry as below.
          • msfaa_number: from SFAS individual table;
          • date_requested: null;
          • date_signed: date from study_end_date from the most recent application on SFAS table.
          • service_provider_received_date: null;
          • reference_application: populate with the SIMS application id.
  • Reuse(and adapt) the method internalActivateMSFAANumber to ensure the new created MSFAA will be the only active. If not possible to reuse please have a team sync-up to explain the reason and talk about alternatives. This method can potentially be invoked using the options.existingMSFAA to allow process already in place to consistently keep only one active MSFAA.
  • Create new E2E tests for the worker associateMSFAA.
    • Create a scenario for the SFAS import.
    • Create a scenario for the creation of the SIMS MSFAA.
    • Include multiple applications to also test the MSFAA reassociation.
    • Consider checking the E2E tests from the application.aest.controller.reissueMSFAA.e2e-spec.ts for some reference or E2E data setup.
@CarlyCotton CarlyCotton added Business Items under Business Consideration Integration Ministry Ministry Features labels Oct 8, 2024
@CarlyCotton CarlyCotton changed the title Copy of SFAS-SIMS Bridge File - Update layout and Insert MSFAA info SFAS-SIMS Bridge File - MSFAA Implementation Oct 8, 2024
@CarlyCotton CarlyCotton added Dev & Architecture Development and Architecture and removed Business Items under Business Consideration labels Oct 8, 2024
@andrewsignori-aot andrewsignori-aot removed the Dev & Architecture Development and Architecture label Oct 9, 2024
@guru-aot guru-aot self-assigned this Oct 9, 2024
github-merge-queue bot pushed a commit that referenced this issue Oct 25, 2024
- [x] Refactored associateMSFAANumber in
disbursement.schedule.service.ts as the Cognitive Complexity became 18
so changed for early return during creation or assigning of MSFAA.
- [x] During Associate MSFAA, if valid MSFAA number is present for a
student, then use it.
- [x] Else check for previously signed application disbursement already
sent with valid end date and MSFAA number is present, use that.
- [x] Else check if SFAS individual MSFAA number is present and checked
if the application end date is within validate date, then use the MSFAA
and create in SIMS and activate it.
- [x] Else If MSFAA is not found in SFAS application, then check if
MSFAA number is present in pending state, waiting for signing.
- [x] Else create MSFAA number and activate and assign it to the
application.
- [x] E2E Test cases created for the above scenarios.
- [x] Removed a not useful check in the getCurrentValidMSFAANumber
method, which has referenceApplication as not null.
- [x] The Sonarcloud issue is related to Cognitive Complexity in test
helper class, so ignored.

---------

Co-authored-by: guru-aot <[email protected]>
@andrewsignori-aot
Copy link
Collaborator

@ninosamson bringing this ticket back as there is a pending minor refactor to be executed.
@guru-aot FTI

github-merge-queue bot pushed a commit that referenced this issue Oct 29, 2024
Refactoring import modules in the SFASIntegrationModule.

---------

Co-authored-by: guru-aot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Integration Ministry Ministry Features
Projects
None yet
Development

No branches or pull requests

5 participants