...
Q. Sunil Rochani (Unlicensed) - I'm assuming the Concerns list gets its data from the Concerns ES index via the concerns service - You said that the concerns ES index is wiped and rebuild each evening with the base record coming from GMC Sync? If so does something caches the MySQL concerns data into ES?
Cache is updated with every concern update
Where
The Concerns Angular 1.x UI App and the Springboot microservice can both be found in the same repository: https://github.com/Health-Education-England/TIS-CONCERNS
...
ESR (Service and ETL)
Summary
Where and When
...
- TIS-ESR interface acts as a bridge between ESR and TIS to exchange junior doctors and placements data between the systems. The data is exchanged between the systems using pre-defined fields and format as outlined in the ESR specification.
- TIS-ESR interface comprises of two applications.
- ESR ETL: A spring-boot application which runs on a daily basis multiple times with different load types.
- ESR service: A spring-boot application running as a service and is used to persist and retrieve ESR data.
- 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 Service: https://github.com/Health-Education-England/TIS-ESR
- ESR ETL: https://github.com/Health-Education-England/TIS-ESR-ETL
The ESR-ETL application is run from a Jenkins cron:
- The application cron job: https://build.tis.nhs.uk/jenkins/job/tis-esr-etl-cron/
- The details of the schedules for the cron job can be found here: ESR Schedules
- There is a FTP sync process which takes care of syncing files between Azure(TIS owned) and FTP server (ESR owned).
- This process is scheduled as a Jenkins job and runs multiple times a day and can be found here: https://build.tis.nhs.uk/jenkins/job/tis-esr-ftpsync-cron-prod/
- The schedule details are available under: ESR Schedules
What it does
- 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 EsrNotification table using TCS service. This records only the TIS contents.
- All of the final notification records generated are stored in ESR database using 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 ESR database using ESR service.
- ESR service and ESR-ETL use profile/keycloak for user authentication and has ESR specific user configured for the same.