Report Recorder

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

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

Listens to all events and generates up the report

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-recorder

C4:
Link to this diagram directly: /nhs-notify-digital-letters/diagrams/c4code-mesh-statusreporter-recorder.html
architecture-beta
    group statusRecorder(cloud)[ReportStatusRecorder]
    service report1Event(aws:res-amazon-eventbridge-event)[DigitalLetterRead Event]
    service report2Event(aws:res-amazon-eventbridge-event)[PrintingDispatched Event]
    service report3Event(aws:res-amazon-eventbridge-event)[NHSAppMessageRequested Event]
    service firehose(aws:arch-amazon-data-firehose)[Firehose] in statusRecorder
    service transformLambda(logos:aws-lambda)[Event Transformer] in statusRecorder
    service parquet(logos:aws-s3)[Parquet Append only storage] in statusRecorder
    service stepFunction(aws:arch-aws-step-functions)[Ingestion Step Function] in statusRecorder
    service athena(aws:arch-amazon-athena)[Ingestion query] in statusRecorder
    service glue(aws:arch-aws-glue)[Glue Event Record] in statusRecorder
    junction j1
    junction j2

    j2:B -- T:j1
    report1Event:R -- L:j2
    report2Event:R -- L:j1
    report3Event:R -- B:j1

    j1:R --> L:firehose
    transformLambda:B --> T:firehose
    firehose:R --> L:parquet
    stepFunction:B --> T:athena
    parquet:R --> L:glue
    athena:B --> T:glue

sequence-nhsapp-callback

C4:
Link to this diagram directly: /nhs-notify-digital-letters/diagrams/sequence-nhsapp-callback.html
    sequenceDiagram
    participant nhsapp as NHSApp
    participant apig as API Gateway
    participant sqs as SQS<br/>Callback Queue
    participant lambda as Lambda<br/>NHS App Callback Handler
    participant ddb as DynamoDB<br/>Items With TTL
    participant eb as Event Bridge

    nhsapp ->> apig: POST /callback
    activate apig
    apig ->> sqs: Send message
    apig -->> nhsapp: 200 OK
    deactivate apig
    sqs ->> lambda: Invoke asynchronously
    activate lambda
    lambda ->> ddb: Delete TTL
    lambda ->> eb: DigitalLetterRead event
    deactivate lambda