ESR Integration (2018 ETL version)
Page Content
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 updates from TIS to ESR where changes occur after they've been sent to ESR.
ESR Interfaces
There are basically 3 interfaces on ESR through which the above are received or sent:
- Deanery Update Interface/Deanery Reconciliation and Medical Trainee Outbound Interface
- Deanery Inbound Recruitment Interface
- Generic Inbound Notification Interface
ESR Inbound and Outbound flows (Agreed with Victoria Hartland on 09/01/18)
Parts in Red are not in scope fro TIS MVP implementation.
Orange boxes are reports produced by the ETL.
Blue document boxes are the files input/output.
Questions and Assumptions ( Discussed with Wendy Burney - ESR Contact from NE)
# | Question/Assumption | Comments | Owner |
---|---|---|---|
1 | Can ESR accommodate multiple post holders i.e. more than one person associated with the same post? | Victoria confirmed that ESR is built to accommodate this scenario, as long as the post setup has been completed and a post is set to ‘shared’ or the field is left null. Victoria highlighted that the setting for single incumbents, (which would prevent the creation of multiple post holders in ESR) is rarely used. WB: Setting of 'shared' enabled on the Position created by the Lead Employer. Per trust you can have multiple person in the same posts. The 'shared' setting is per Trust. Each Trust if using the same Deanery Post Number has to enable the setting for the Trust the position information record is being created against. VPD - Some trusts set up multiple VPD's e.g. CCGS's they might want that held on separate VPD. Separate ESR accounts can be setup per Trust. E.g. 4 separate accounts to do different things by the same Trust. | |
2 | How are duplicate post numbers in multiple VPDs handled? | Victoria briefly explained that a single DPN could exist within two ESR VPDs at one time, but the DPNs should always have an ESR Position Number and Position ID on the outbound file, which would make each post record unique. This is particularly common where there is a lead and host employer situation. WB: Sometimes they are in Error. Sometimes they have to be duplicate. Each one will get created with a unique Position Number on ESR regardless it is per Trust or across different Trusts. Lead Employer Trust - Set up all posts on ESR when they receive notification from HENE. Host Employer - Also setup their posts there as Hosts rather than leads. When Hosts create their posts numbers, then the identification is whether it is a L/H posts. Different ESR Position numbers on although DPN/NPN may be the same. Does Intrepid knows the distinction between Lead and Hosts posts? When posts created on Intrepid, this information would have been keyed in? All posts created on ESR 72 hours at least DPN already on Intrepid ahead of them being on ESR. | |
3 | My understanding is that 'Position Information Records' are created by Trusts directly on ESR by VPDs/Trusts? Position Information Records consists of details such as: - Position ID (ESR Unique ID) - System generated - Assignment ID - Change/Delete Indicator - Position Number (Unique to ESR? and not the actual Post Number entered on Intrepid?) - Position Title - NPN/DRN (Host or Lead type) - Deanery/LO - ODS Code - Is this used to identify unique NPN on Intrepid so that the correct trainees are matched to placements against the correct Trust? | WB: Yes.
Is this the actual Post Number entered on Intrepid? - No)
| |
4 | What do employers (Lead/Host) do with Oriel access? | WB: Wendy took an action to find out how/what trusts do with Oriel Access? E.g. there are documents that can be accessed/downloaded how are these used. | |
5 | Do Admins update ESR and Intrepid person data? Where and how are changes made? | Gwilym Williams - We make the changes in Intrepid but I'm not sure how ESR is updated based on those changes. I believe they only get the person data up until the start date of the placement in that Trust WB NE: Changes automatically accepted in Intrepid from ESR for personal details changes. Placement changes should be done in intrepid then fed to ESR. Personal details changes should be done on ESR then fed to intrepid. | |
6 | Is there a window during which the placements should be imported to Intrepid? | Tom de Salis (WM):
WB NE: Placements should be imported from Intrepid to ESR. SLA is common for everyone. If the placement changes has not been made on Intrepid within the SLA, then it has to be done manually to ESR and Intrepid. PH not brought across from the Interface because of the difference in type of contract. PH are 37.5 (Agenda for Change) Hours a week whist others are 40 Hours a week. PH trainees/rotations keyed in directly onto ESR and rotated on ESR and no interface. Cannot currently have duplicate contract types on ESR. Cannot have 37.5 and 40 hours types contract. | |
7 | Are positions created on ESR based on extract from Intrepid placements, or something else? How does it differ from an Assignment? | WB: Positions created on ESR - they get a report, Establishment form from Information team which is used as a basis to enter the Posts onto Intrepid then ESR. Positions are actual Posts with DPN's Assignments - A person assigned to the Post. | |
8 | Is a MSO (Medical Staffing Officer) a Lead/Host Trust user assigned with ESR access responsibility? | WB MSO will always be assigned to each individual per VPD. 1 trusts can have multiple VPD's and therefore different MSO's for each VPD. |
Questions and Assumptions ( Discussed with Victoria Hartland - NHS ESR Contact)
# | Question/Assumtion | Comments | Owner |
---|---|---|---|
1 | Does ESR accepts updates via the Notification Export Interface only for current and future placements? or Past placements as well? | Various scenarios as detailed by VH: The Medical Rotation Notification produces a spreadsheet with details of the organisation’s training post, the current incumbent and the next person to occupy the post. The Applicant Withdrawn notification should only be generated for an applicant already sent from TIS to ESR with a start date in the future. The Replacement Applicant should only be generated in the same circumstances as the App Withdrawn notification. The Change to Projected Start/End Date notification should only be generated for an applicant already sent to ESR with either their hire OR end date in the future. Notification types: ‘1’ - “Medical Rotation Notification” Mandatory/Conditionally Mandatory Fields Expected in the Notifications Export File:
| |
2 | Is it acceptable to receive the RTC confirmation file every everning when the TIS ETL runs? | There is not an expectation of specific time to receive the RTC confirmation as on receipt of the RMT file. | |
3 | What does the Full RMR File contain? Current and Future placements only? Or past placements as well that has already been sent to ESR before? | A current picture, positions as at that date and people that are in their current positions as at that date - snapshot of. No historical view sent. | |
4 | Is the functionality to resend Full File by specific Trust (currently on Intrepid) still relevant with there being a single database for all records? If not, does the decision to make full or partial imports reside with TIS, or another party? | It is a support mechanism rather than intended business as usual functionality added to Intrepid. Not BAU. | |
5 | What is the difference between an RMT, RMF and RMR file? What does each of them consist of? Positions for all LO's? or for per Trust? | RMR is sent from Intrepid/TIS per Trust to ESR. RMT - Generic name by the process. RMF - Run in full mode - it is the full file request Outbound file. RMC - Run in change mode VH: The RMF Outbound files are produced in old Deanery Regions, so you will get one per organisation:
|
ESR Mandatory Fields in the Applicant Export File
# | ESR Field | Description |
---|---|---|
1 | Last_Name | Legal Surname of the applicant, used to identify a person within ESR. |
2 | First_Name | Legal First name of the applicant, used to identify a person within ESR. |
3 | DOB | Format YYYYMMDD, Date of Birth |
4 | Address1 | First line of the applicant’s address. Mandatory if any address details provided. |
5 | Country | Not supplied, therefore sending 'United Kingdom' as default value. |
LOV's mapping (List of Values/Reference data)
This is a list of reference values sent from TIS to ESR in an APP file or received via updates from ESR in RMT files. Former user (Deleted) Please see below updated version of the mapping. Only the first 2 columns are in use by the one-way flow from TIS to ESR original interface implementation. A similar mapping is expected to be done for bi-directional flow.
Version 0.8:
Version 0.9:
Version 1.0 (DRAFT) - - TISNEW-3853Getting issue details... STATUS
Tanzania and Thailand mapping corrected in third column (not in use by the one-flow interface but anticipated for the bi-directional). A similar mapping is expected to be done for bi-directional.
Error Handling and Reports
- TISDEV-4895Getting issue details... STATUS
- TISDEV-4804Getting issue details... STATUS
On TIS, exceptions are expected to be handled for the following: (Orange boxes in the diageam above)
- Report - Errored Aplicants - Applicants with Missing ESR Mandatory details (created on TIS every morning after receiving RMT file and when generating the APP file on TIS)
- Report - RMT exceptions - Unmatched Pending - i.e. ESR DPNs not matched to TIS NPNs (created on TIS every morning on receipt of the RMT files for each Deanery.) These statuses will remain at 'Unmatched_Pending' and would only be updated if TIS receives another RMT file and they match to an NPN on TIS.
- Report - Unmatched Delete - This is a report of Posts that are still CURRENT on TIS but marked as DELETED on ESR.
- Report - APC Warnings - ESR generated Applicant Confirmation Files (APC) warnings, consists of for e.g. missing GMC end date or an invalid reference value received etc. (This can take up to 2 days to be received from ESR)
- Report - Notifications - TIS mailbox supplied to ESR, visible on #esr_emails slack channel. (Received from ESR every day, generally before midday)
For Reports 1-4:
- The reports will be generated per Local Office and sent to regional Data Leads.
- These are normally data quality issues for Local Offices/Trusts to review and manage.
- For the short term the reports will be uploaded into SharePoint. Project handled by Naz Akhtar.
- https://healtheducationengland.sharepoint.com/:f:/r/TIS/ESR%20Project%20Documents/ESR%20Exception%20Reports?csf=1&e=SaB05f
Report 5:
- This is relevant to internal TIS team only, hence the slack channel. (8z4l2z8c6f2a1x0@hee-nhs-tis.slack.com)
Notification Types
Notifications are generally placements changes that TIS needs to communicate to ESR for applicants that have previously been exported to ESR in an Applicant (APP) File. Subsequent to applicants being exported, the expectation from ESR is to receive notifications. There are only 5 types of notifications that ESR can handle and interpret at the moment when received. TIS is tracking those placement changes on a daily basis and send those to ESR at the end of the day in a Notification File (DNC).
These are the 5 Notification types sent in the Generic Source Notification File (not the Placement Source Notification File):
- ‘1’ - “Medical Rotation Notification”
This is sent in all placement changes identifying the Current and the Next Trainee for a given DPN where a change has occurred. It will normally be sent in combination of other changes as well. In the table that follows, the scenarios under which a Type 1 would be generated.
- ‘2’ - “Update to Medical Rotations – Applicant Withdrawn”
This is sent in the notification file of a future trainee that has withdrawn and not someone who is already in post. This means where the Projected Start date on the placement is within 3 months 13 weeks in the future and greater than 2 days AND the DPN is one of the POS records we would have received in an earlier RMT file.
- ‘3’ – “Update to Medical Rotations – Replacement Application”
This is not currently handled in the Intrepid-ESR interface and not implemented in TIS either.
This is being handled differently in TIS following conversation with ESR. A replacement is a Notification type 1 sent following a Type 2, which will tell ESR what is the current and next trainee following the withdrawal. A replacement is simply creating another placement with a DPN/NPN that has no future incumbent following a withdrawal.
- ‘4’ – “Change to Project Hire/End Date”
This is sent in the notification file and applicable for: (a) A trainee already in work - include end date change only; Or (b) a trainee due to start work in the future – include both start and end date changes
- ‘5’ – “New Training Position Created within LETB System”
This is sent in the notification file where new Training Position is created within TIS (this is where a post is created in the Deanery/HEE system but an employer LIVEon the interface has no corresponding position record on ESR). It is expected that from this Notification received, a VPD will create the corresponding Position on ESR following which an RMT file is expected to be sent to TIS in order to receive an APP file back.
How notifications (changes to placements for already exported applicants) are tracked in TIS? (Devs to validate and confirm implementation)
Notifications files (DNC/DNF) are generated daily to inform ESR of placement changes that have occured on TIS for applicants previously exported in APP files.
However, where there is a new application i.e. a new applicant or different application for an existing applicant (for a new post), then the Notification will supplement the Applicant file. However where there is a change to an existent application record e.g. change of start/end date, then that gets notified only via the notification and is not supplemented by a new record on the App file.
Notification Type sent to ESR | Notification Scenarios/Triggers | How is it calculated? | How identified on TIS? (Devs to validate and confirm implementation) |
---|---|---|---|
1 | Medical Rotation Notification - Next Trainee will become Current Trainee on a Post in 13 weeks | Automatically by the notification-daily-load |
Current post holder above could be empty.
|
1 | Medical Rotation Notification - Two trainees swap posts | Automatically by the notification-daily-load |
|
1 | Medical Rotation Notification - Post becomes vacant for current or next rotation | Automatically by the notification-daily-load |
|
1 | Full Notification of current and next trainees for each NPN per Local Office. | Automatically by the tis-esr-etl-full-notification | The DNF (Full Notification) file provides a snapshot of current and next trainees with their placement details for all Posts/NPNs that exist on ESR and have previously been communicated to TIS. This full notification file is generated on a Local Office by Local Office basis where required. |
2 | Update to Medical Rotations – Applicant Withdrawn | User actions tracked on TIS |
|
3 (achieved by technically coupling a 2 followed by a 1) | Update to Medical Rotations – Replacement Application | User actions tracked on TIS |
|
4 | Change to Project Hire/End Date | User actions tracked on TIS |
|
5 | New Training Position Created within TIS | User actions tracked on TIS |
|
Jira Tickets
ESR Specification - Latest versions
RabbitMQ documents
Event Based Messaging with RabbitMQ
Configuring RabbitMQ Resources
Demo of some RabbitMQ features
Slack: https://hee-nhs-tis.slack.com/
Jira issues: https://hee-tis.atlassian.net/issues/?filter=14213