...
Assessments
Summary
What it does
Anchor | ||||
---|---|---|---|---|
|
Summary
Generic Upload (also known as Bulk Upload to users) allows HEE Admins to upload Excel spreadsheets contain multiple People and Placement records, (initially), for these to be validated, imported into TIS if acceptable, or returned to the user in a downloadable spreadsheet if not (on a row by row basis).
Generic Upload is a springboot application presenting a RESTful API to support the user interface which is found within the Admin UI.
Where
The Generic Upload springboot microservice can both be found in the repository: https://github.com/Health-Education-England/TIS-GENERIC-UPLOAD. The UI is part of the Admin UI at: https://github.com/Health-Education-England/TIS-ADMINS-UI
...
UI at: https://github.com/Health-Education-England/TIS-ADMINS-UI
What it does
- The UI presents a filterable list of all previously uploaded import files - this is global across all TIS users with access to Bulk Uploads (currently a hidden URL, with all HEE TIS Admin role members having access)
- The Generic Upload service provides the endpoints behind this filterable, paginated list.
- The UI allows HEE Admins to upload new import files, the Generic Upload service places these in Azure storage
- The Generic Upload service runs a background task which picks up the import files in the order they were uploaded and executes the following steps (Jayanta Saha - could you explain what the 'background task' is?)
- It validates the input to some basic rules, specific to each import type. Errors are flagged within the spreadsheet and the row disabled from being inserted.
- The service then calls the TCS service to create or update the Person or Placement record within TIS, for each valid row in the spreadsheet.
- Any rows which fail to create/update are highlighted in the spreadsheet
- The successfully imported rows are removed from the spreadsheet
- The spreadsheet is made available through the UI for download (and correction before re-upload if required)
- Ashley Ransoo - could you check this for functional accuracy please?
- Jayanta Saha - could you check this for technical accuracy and/or omissions please?
Anchor | ||||
---|---|---|---|---|
|
...
- The overall data flow and systems integration can be seen here: ESR-TIS Inbound and Outbound flows (MVP)
- A simplified flow and schedule details are shown below:
Where and When
The applications have their own github repositores.
...
- ESR-ETL receives and sends different files from and to ESR. The details of files and data sets are outlined here: ESR - Datasets
- It receives RMT files in changed (RMC) or full (RMF) mode. It processes and stores POR and POS records from the files.
- The POR and POS records are persisted in ESR database (mySQL) using ESR service.
- Each of the above files are received per deanery/local office and all the files produced are as well per deanery.
- For each of the deanery posts ESR requests corresponding APP file containing applicant records in placement for the post is generated. The following restriction applies for the selection:
- Only the future applicant placements are selected.
- The selected future placements should have a start date between 2 days from that day to 3 months.
- It uses TCS service to fetch the post, placement and trainee details.
- The applicant records are stored in ESR database using ESR service.
- A notification file (DNF - full notifications and DNC - changed notifications) is sent per deanery on a daily basis.
- The notification records tracks all the events happening in TIS and creates different notification types outlined in the ESR spec. This is a way of updating ESR about the changes happening in the TIS.
- The TIS notification events are tracked and stored in TCS database in the EsrNotification table using the TCS service. This records only the TIS contents.
- All of the final notification records generated are stored in ESR database using the ESR service.
- An acknowledgement is generated for each RMT file processed and similarly an acknowledgement file (APC) is received from ESR for each APP file sent.
- These APC records are stored in the ESR database using the ESR service.
- The ESR service and ESR-ETL use profile/keycloak for user authentication and has have an ESR specific user configured for the same.
...