Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

TIS Core Services (TCS)

Summary


What it does

4xP + A

Admin - Reference tables

User management

Document Management

Assessments

Summary


What it does


Generic Upload

Summary

What it does

...

Summary


What it does


Anchor
TIS-NDW ETL
TIS-NDW ETL
TIS-NDW ETL

Summary

A 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 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, 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 Microsoft SQLServerBulkCopy for MS SQL Server databases and JDBC Batch for other databases
  • It accesses TCS, Assessments and Reference 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, it's not flyway enabled.
  • The service 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.

ESR (Service and ETL)

Summary


Where and When


What it does