Introduction
Build out a high level description of each service to complement the Application Architecture diagram
GMC Sync
Summary
A springboot application which runs nightly to retrieve a basic Doctor dataset from the GMC to refresh the Revalidation service.
...
The application is run from a Jenkins cron (1200.05am 05 UTC Mon-Fri) - here : https://build.tis.nhs.uk/jenkins/view/Prod/job/gmc-sync-prod/
...
- GMC Sync first truncates the Revalidation Elastic Search (ES) index indexes (removing the visibility of all Revalidation data from the Revalidation UI)
- It then executes the following logic for each Designated Body in turn:
...
For pre-live environments TIS can't use live GMC data, so a GMC Sync is mocked with a Springboot application called GMC Connect, serving up SOAP responses for pre-live environments (https://github.com/Health-Education-England/TIS-GMC-CONNECT) Note: this is the same name as the GMC provided user interface, also called GMC Connect, which could cause confusion
Revalidation ETL
Summary
A springboot application which runs nightly to enrich the Revalidation ES indexes recreated by GMC Sync, with data from the TCS and Assessments services
Where and When
The application has its own github repository: https://github.com/Health-Education-England/TIS-INTREPID-REVAL-ETL
The application is run from a Jenkins cron (01.00 UTC 7 days a week) - here : https://build.tis.nhs.uk/jenkins/view/Prod/job/intrepid-reval-etl-all-prod/
What it does
Revalidation ETL works through each Trainee provided by the GMC through GMC Sync, by their GMC ID.
It uses the GMC ID stored in (the Profile service TraineeProfile / Trainee ES index?) to identify the Person record in TCS
It then retrieves the Person and Assessment data from the TCS and Assessment services and directly updates the appropriate Revalidation ES indexes
Note: Revalidation was developed before TCS and wasn't refactored as part of TCS, which is why it identifies Trainees by GMC ID and a Trainee.TISid in the Profile service but isn't more cleanly integrated into TCS.Person. This is a clear area to refactor as apart of a wider Revalidation service rework.