...
- The UI is similar to revalidation in that it presents a list of Trainees that have a concern logged against them, constrained to only trainees within the Designated Body the Admin has access to (retrieved from the Profile Service)
- Note this is a list of concerns rather than Trainees. It obtains this data from the Concerns service which caches this nightly in the Elastic Search index. (Sunil Rochani (Unlicensed) is the concerns index rebuilt by the Revalidation ETL?)
- The UI allows a very basic Trainee search in order to create a new concern log, using the cached Trainees in the Revalidation service (correct Sunil Rochani (Unlicensed)?)
- The UI provides a form create/edit a concern record. The UI uses endpoints on the Reference service to allow the user to search and select a Site, Trust and Grade for the Trainee.
- Aside from the external calls outlined above, the Concerns service also authenticates with Keycloak to obtain a JWT token and authorises its permission levels with the Profile service
- The Concerns UI uses the Reference service, the Concerns service doesn't make external calls to Reference though.
- Check above for technical accuracy and extend if missing anything please - Sunil Rochani (Unlicensed)
- Check above for functional accuracy - Alistair Pringle (Unlicensed)
Notifications - (UI + Service)
Summary
The Notifications service was created to provide HEE admins with push notifications regarding events relevant to them. Initially it included release notes for each new TIS release, but was designed with user specific notifications in mind (e.g. review Trainee X's Placement now due). With the inclusion of Microsoft Teams to all HEE Users, TIS has an alternate notification platform, now used for community wide publication of TIS Release Notes. On this basis TIS stopped actively using the notification service and alerts were disabled in the Angular 5 Admin UI.
Notifications is made up of an Angular 1.x UI app and a springboot application presenting a RESTful API to support the Notifications UI.
Where
The Notifications Angular 1.x UI App and the Springboot microservice can both be found in the same repository: https://github.com/Health-Education-England/TIS-NOTIFICATIONS
What it does
- An 'new notifications' icon in the Angular 1.x UI App menu bar informs the user of unread notifications, clicking provides a 'slide in' list of unread notifications.
- Clicking a notification or the Notifications tab, the user is presented with a simple 'inbox' of notifications - these can be marked as read and deleted
- Users with TIS Admin permissions can create notifications via a simple form
- The Notifications UI retrieves and stores all its data within the Notifications service
- Aside from the external calls outlined above, the Notifications service also authenticates with Keycloak to obtain a JWT token and authorises its permission levels with the Profile service
Connection Discrepancies - (UI + Service)
...
Anchor | ||||
---|---|---|---|---|
|
Summary
A springboot spring-batch application which runs nightly to extract data from TIS, denormalise to the National Data Warehouse (NDW) schema, and write to an interim database for the NDW to import from.
...
The application is run from a Jenkins cron (00.20 UTC 7 days a week) - here : https://build.tis.nhs.uk/jenkins/view/Prod/job/tis-ndw-etl-cron-prod/
What it does
- The application uses Springbatch application uses spring-batch framework to work through a series of extract and mapping tasks in discrete chunks.
- It works through each table in the destination database (TIS-Interim, an a Microsoft SQL Server DB) in turn and batches the ETL into each table
- When starting on the next table it firsts truncates the table contents in the TIS-Interim
- It extracts data from TIS via direct database calls to the MySQL service databases (as opposed to going through the REST service layer - in order to provide adequate performance)
- It writes data to TIS-Interim using (@luis - SQL batch insert or something like that?)Microsoft SQLServerBulkCopy for MS SQL Server databases and JDBC Batch for other databases
- It accesses TCS, Assessments and Reference services databases to assemble the required data
- The mapping is contained in discrete SQL mapping files in https://github.com/Health-Education-England/TIS-NDW-ETL/tree/master/src/main/resources/queries which the application uses to extract data from TIS and normalise it to the single table in the NDW schema
- Note: The destination schema is held in the repository for each destination table but these need to be dropped and recreated manually if they are changed, its it's not flyway enabled.
- The service through Springbatch through spring-batch has instrumentation on its progress which it writes to the TIS-Interim database - tables Batch Job Execution and Batch Step Execution can be used to review or debug the application progress through tables and batches.
...