ESR Integration overview
Background
ESR is a payroll and HR system used by Trusts throughout the NHS. 470 organisations in England and Wales are currently using the system. It is used to get junior doctors on payroll and manage training and development. The primary functions of the ESR Interface to TIS are;
Reconcile the Inbound Positions from ESR against Posts in TIS to make sure that both systems match.
Send Placements from TIS to ESR for future posts, this includes sending new starters who have never been placed before.
Receive Trainee profile updates from ESR to TIS,
Send Placements change notifications from TIS to ESR where changes occur after they've been sent to ESR.
Overview of inputs/outputs
Summary of updated interface
The new ESR integration was started out of the need from the need to improve the working practices for doctors in training. What this meant was that there were improvements in the way data flowed between various systems that the trainee would need to up to date by manually keying in data. The new ESR integration was just a small part of these improvements such that data held by a trainee’s employer would be the only thing to be up to date for certain fields in TIS to be up to date.
ESR provides multiple “Interfaces” where by clients would interact with ESR, we’ve implemented just one of said interfaces which covers 5 key areas.
Reconciliation
This is the act of receiving ESR Positions and matching them up to a TIS Post
AppRecords
This is the process of generating Applicant records for Placements linked to Posts that have been reconciled
Notifications
The sending of ESR notifications when a placement is about to be active / has been modified
Confirmations
The loading and confirming of the processing of records
Inbound
The persisting of ESR mastered data into TIS
High level overview
Service Connectivity (Context)
Video overview
https://web.microsoftstream.com/video/e627777e-1a1c-4efe-a44b-b76fd236b7cf
NHS ESR Specification
L1 (High Level) ESR and TIS Interface end to end Process- Current process
L2 (Low Level) ESR and TIS Interface end to end Process - Current Process
L2 Current Process Description
ID | Activity/Process | Actor | Description |
---|---|---|---|
1 | Upload RMC, APC and DCC files (as CSV files) to AWS S3 Bucket | ESR Deanery | Deanery have access to our S3 bucket to upload these files into ESR folder in the bucket. RMC, PAC and DCC fields in our Confluence page. ESR - Datasets (Historical) We get daily notification of the uploaded files in Slack (#esr-emails): APC file at around 07:12 RMC file at around 14:09 DCC file at around 15:12 Is upload done daily by the deanery? @Joseph (Pepe) Kelly @Jayanta Saha The flow of APP,APC, DNC, DCC and RMC files
|
2 | Receive Files in the ESR folder in the S3 bucket | TIS /ESR Interface |
|
3 | Do Nothing (This is a future work) | TIS /ESR Interface | APC and DCC we receive from the Deanery into the S3 bucket are currently not in use. We do nothing with the files. Future work is to decide what to do with these files. We currently use the RMC in the reconciliation to generate the APP file that goes to ESR. |
4 | Retrieve RMC File in the ESR folder in the S3 bucket | TIS /ESR Interface |
|
5 | Split RMC file into position Records | TIS /ESR Interface | ?Does it split into Position Records? @Joseph (Pepe) Kelly @Jayanta Saha |
6 | Publish position records in the Rabbit Message queue | TIS /ESR Interface |
|
7 | Reconcile the ESR position with TIS post and save in the Mongo DB | TIS /ESR Interface | Reconciliation is about matching ESR position with TIS post. ESR Reconciliation Positions Fields in Metabase
Our AWS service will match the position number from ESR with Post number from TIS. For matched position/post, our AWS service will then check applicant details/placement against TIS (Post) and ESR (position). Any gap will then be updated in the applicant records. |
8 | Publish the reconciliations in the Rabbit Message queue | TIS /ESR Interface |
|
9 | Generate Application Record using the App Generator | TIS /ESR Interface | ? Question · Metabase (tis.nhs.uk) is this the app record? @Joseph (Pepe) Kelly @Jayanta Saha |
10 | Publish Application and Notification Records in the Rabbit Message queue | TIS /ESR Interface |
|
11 | Data exporter Hold on to the following records; a. App Records until 11am UTC/GMT b. Notification until 12 noon UTC/GMT | TIS /ESR Interface | ESRExporter - Generated App Records Fileds in the metabase Question · Metabase (tis.nhs.uk) ESRExporter - Generated App Notification Record Fileds in the metabase Question · Metabase (tis.nhs.uk) Records is changed into CSV files in the data exporter
|
12 | Create the Applicant file | TIS /ESR Interface | Applicant file is created at 11am UTC/GMT - csv file |
13 | Create the Notification file | TIS /ESR Interface | Notification file is created at 12 noon UTC/GMT- csv file |
14 | Save files in the TIS folder in the S3 bucket | TIS /ESR Interface | ? Where is the TIS folder? @Joseph (Pepe) Kelly @Jayanta Saha |
15 | Retrieve files in the TIS folder in the S3 bucket | ESR/NHS Hub |
|
1a | Make change in TIS service | TIS Service | Make either of the following changes in TIS service:
|
2a | Reflect Update in Mysql and CdcRabbitRouter | TIS /ESR Interface | The changes/update made in 1a are reflected in Mysql and CdcRabbitRouter |
3a | Publish Update in the Rabbit Message queue from CdcRabbitRouter | TIS /ESR Interface |
|
4a | Reconcile the update and save in Mongo DB | TIS /ESR Interface | The reconciliation of the change/update is Reconcile with what? @Joseph (Pepe) Kelly @Jayanta Saha Identify when a Deanery Post Number has been allocated or changed against an ESR Position – ‘C’ – or removed/deleted entirely from a position record – ‘D’ NOTE: If a position is end dated in ESR or altered to any status other than ‘active’ the ‘D’ or delete indicator will be displayed on this record. |
5a | Generate Notification using the Notification Generator | TIS /ESR Interface | ESRExporter - Generated App Notification Record Fileds in the metabase Question · Metabase (tis.nhs.uk) |
Related pages
Slack: https://hee-nhs-tis.slack.com/
Jira issues: https://hee-tis.atlassian.net/issues/?filter=14213