SIMS icon indicating copy to clipboard operation
SIMS copied to clipboard

Provide Ministry Ability to Edit Student Basic BCeID Profile Info

Open HRAGANBC opened this issue 1 year ago • 5 comments

Story Description As a Ministry user, I want to be able to edit critical details of a BasicBCeID student's profile and contact info, so that a student's info can remain accurate and up to date. This also allows me to identify the type of login credentials the student has used to log in, which can help me identify where they need to go for login/password issues.

Acceptance Criteria:

  • [ ] Enable Ministry to edit profile details of a Basic BCeID student's account. (Given Names, Last name, DOB, and email)
  • [ ] Create an edit button that allows the update of the 4 fields listed above.
  • [ ] Anytime a single, or multiple fields are edited, Ministry user must add a note. (General)
  • [ ] Treat this like a personal information change from BCSC logins and do a new SIN verification for any DOB, Given name, or Last name (not case-sensitive changes "C" to "c")
  • [ ] Replicate the role for account approval of Basic BCeID and create a new one.
  • [ ] Update the role spreadsheet

Business Context

  • Before BasicBCeID account approval, Ministry can edit fields and then approve
  • After BasicBCeID account approval, Student can edit only their address info, but not their profile details. Ministry can not edit anything on behalf of a student. Process would require student to submit new account, and historical account details would not be imported.
  • Currently, we receive personal information updates on BCSC accounts on each log in by the student and will update accordingly. If DOB, First Name, or Last Name (not case-senstive) change, this will automatically trigger a new SIN verification process.
  • Changing the personal information for a BCeID profile (DOB, Given Name, or Last Name) will start a new SIN verification process.
image.png

Note: disability status and SIN update processes do not need to be changed.

Technical

  • [ ] Student users authenticating using BCeID can be identified using the sims.users.identity_provider_type as bceidboth. Please note that bceidbasic and bceidbusiness are present on DB enum but are not configured.
  • [ ] Create a new button in the top-right (same as other areas) enabled only for BCeID students.
    • [ ] Create a new role to restrict the action.
  • [ ] Create a modal to edit the required fields below, applying the same validations from the student profile (same for notes).
    • Given name
    • Last name
    • Date of birth
    • Email
    • Note
  • [ ] Add note to the student notes. The note should be created using the shared method createStudentNote. No need to persist the generated note ID to the students or users table. Apply the same validations for other areas collecting notes.
  • [ ] Create a new endpoint to allow the student to update.
    • [ ] Validate if the student is a BCeID student.
    • [ ] Suggested endpoint: PATCH "aest/student/:studentId".
  • [ ] E2E Test
    • Should allow student profile update when the student is authenticating using BCeID.
    • Should throw an HTTP exception if the student profile is updated when the student is not authenticating using BCeID.

HRAGANBC avatar May 06 '24 16:05 HRAGANBC

Additional information to consider: As a Ministry User I can not distinct between BasicBCeID and BC Services Student account once they are created. BC Services student account profile updates must be directed to Service BC and BasicBCeID dealt in the house. How as a Ministry User I can tell which case I am dealing with? Confirm with student verbally? Can information be conveyed by SIMS instead?

AnnaPBashkatova avatar May 07 '24 17:05 AnnaPBashkatova

@AnnaPBashkatova - You're right, however there is some way to distinguish --- the Ministry user can search through JIRA history to see if a ticket was created when this student initially requested account creation.

Given there is an alternative way of accomplishing this task - however unpleasant - I would deem your suggestion as 'non-critical' for MVP.

That being said, can you please log a quick barebones ticket to capture that nuance, and we can discuss and triage to a post-MVP release?

HRAGANBC avatar May 08 '24 01:05 HRAGANBC

@HRAGANBC. Thank you, Hugh. Created separate ticket #3244.

AnnaPBashkatova avatar May 08 '24 20:05 AnnaPBashkatova

@JerPearson @CarlyCotton While updating first name, last name, or DBO we also trigger a new SIN validation. We will do the same reusing the method already in place for when the BCSC student changes his data. So, when the Ministry updates the BCeID user data it will trigger a SIN validation. It would be good to make it explicit in the AC to be clear for QAs in the future.

andrewsignori-aot avatar Sep 23 '24 23:09 andrewsignori-aot

@andrewsignori-aot Thank you - I've added business context and an AC to treat this similarly to the BCSC process that happens already.

FYI @sh16011993 @JerPearson

CarlyCotton avatar Sep 23 '24 23:09 CarlyCotton

@CarlyCotton @JerPearson When the student is authenticating using BCSC the profile date is checked and it will be updated if the name or DOB is changed. For the Ministry editing the basic BCeID we are now saving a note to the student's notes, can we do the same for the BCSC update already in place? Suggested hard-coded notes would be: "BCSC authenticated student profile data updated."

andrewsignori-aot avatar Oct 15 '24 17:10 andrewsignori-aot

I think that's a great idea. Would be very helpful for staff and aligns the outcomes for both paths.

JerPearson avatar Oct 15 '24 17:10 JerPearson

Thank You @andrewsignori-aot and @JerPearson. Code updated accordingly.

sh16011993 avatar Oct 15 '24 18:10 sh16011993