Component reference: Real-Time Reporting (RTR)

RTR provides an event-driven reporting pipeline for near-real-time reporting. RTR eventually replaces the classic MasterETL batch process. During migration, both run in parallel until full feature equivalence is met.

The following components are added to your NBS 7 deployment when you deploy RTR.

For information on benefits and impact on operating costs, see Operational considerations.

On this page

  1. Debezium
  2. Kafka and Kafka Connect
  3. RTR domain services

Debezium

An open-source Change Data Capture (CDC) platform.

Attribute Description
What it does in NBS 7 Monitors the NBS database for changes in real time and streams those changes to Kafka as they occur. Debezium is the entry point for the RTR pipeline. Without it, downstream RTR components have no data to process.
Dependencies Requires the NBS database (NBS_ODSE) as its source. Streams data to the Kafka cluster.

Kafka and Kafka Connect

Apache Kafka is an open-source event-streaming platform. Kafka Connect is the framework that moves data between Kafka and other systems.

Attribute Description
What it does in NBS 7 Acts as the message bus for the RTR pipeline. Kafka receives change events from Debezium and delivers them to the RTR domain services. Kafka Connect writes the processed output to RDB_Modern staging tables for post-processing and reporting.
Dependencies Receives events from Debezium. Delivers messages to RTR domain services. Kafka Connect writes processed data to RDB_Modern. Requires sufficient cluster resources; Kafka is one of the more operationally demanding components in the RTR stack.

RTR domain services

In NBS 7.12, five entity-specific Spring Boot services (investigation-service, person-service, observation-service, organization-service, and ldfdata-service) that each transform streaming data from Kafka into reportable public health records. Starting in NBS 7.13, these are consolidated into a single reporting pipeline service.

Attribute Description
What it does in NBS 7 Consumes Kafka messages for each entity type (investigations, patients, organizations, observations, and LDF data), runs stored procedures to retrieve and format the data, and produces processed records for downstream storage in RDB_Modern. A post-processing service then populates analytical datamarts and fact tables from the staging data.
Dependencies Requires Kafka (message source) and NBS_ODSE (operational data store). Populates RDB_Modern staging tables, which are then consumed by the post-processing service.

Starting with NBS version 7.13, the five entity-specific RTR services (investigation-service, person-service, observation-service, organization-service, ldfdata-service) are being consolidated into a single reporting-pipeline-service. Check with your CDC NBS point of contact for the current deployment state.