Report Scheduler

2025-10-28 | ๐Ÿ“‘ 0 words | โฑ 0 mins | ๐Ÿงพ History | โœ Tom D'Roza | ๐Ÿ”‘ Ross Buggins

๐Ÿšง This page has less that 200 words. So it looks like this page is still under construction.

Known Issues / Todo

  • โ›… This page is draft and is subject to rapid change, and may not be fully accurate or complete

Events Consumed

Events Produced

Diagrams

c4code-mesh-statusreporter-scheduler

C4:
Link to this diagram directly: /nhs-notify-digital-letters/diagrams/c4code-mesh-statusreporter-scheduler.html

Decisions

  1. ReportScheulder lambda publishes a GenerateReport event for each trust that has new report data in the previous 24 hours.
  2. A scheduled event triggers ReportScheduler lambda every 24 hours.
  3. ReportScheduler lambda reads Client Configuration from Parameter Store to get list of trusts.
  4. The GenerateReport event metadata contains the trust ID so the ReportGenerator lambda knows which trust to generate a report for.
architecture-beta
    group reportScheduler(cloud)[ReportScheduler]
    service scheduledEvent(aws:res-amazon-eventbridge-event)[Scheduled Event]
    service reportSchedulerLambda(logos:aws-lambda)[Report Scheduler] in reportScheduler
    service report1Event(aws:res-amazon-eventbridge-event)[GenerateReport Trust1]
    service report2Event(aws:res-amazon-eventbridge-event)[GenerateReport Trust2]
    service report3Event(aws:res-amazon-eventbridge-event)[GenerateReport TrustN]
    service clientConfig(aws:res-aws-systems-manager-parameter-store)[Client Configuration] in reportScheduler
    junction j1
    junction j2
    junction j3

    scheduledEvent:R --> L:reportSchedulerLambda
    clientConfig:B --> T:reportSchedulerLambda
    reportSchedulerLambda:R -- L:j1
    j1:T -- B:j2
    j1:B -- T:j3
    j2:R --> L:report1Event
    j1:R --> L:report2Event
    j3:R --> L:report3Event