Skip to content

Commit 0da8129

Browse files
CCM-13304: Handle digital letter read event and deletion of item removed
event
1 parent 05a27f6 commit 0da8129

File tree

11 files changed

+27
-61
lines changed

11 files changed

+27
-61
lines changed

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ _No common schemas defined yet._
110110
| ----------- | ------------- | ---------------- | ------------- |
111111
| **Core.request.submitted Data.v1** | [`src/digital-letters/2025-10-draft/data/core.request.submitted-data.v1.schema.yaml`](src/digital-letters/2025-10-draft/data/core.request.submitted-data.v1.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/core.request.submitted-data.v1.schema.json`](schemas/digital-letters/2025-10-draft/data/core.request.submitted-data.v1.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/core.request.submitted-data.v1.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/core.request.submitted-data.v1.schema.md) |
112112
| **Digital Letter Base Data** | [`src/digital-letters/2025-10-draft/data/digital-letter-base-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letter-base-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letter-base-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letter-base-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letter-base-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letter-base-data.schema.md) |
113-
| **Digital Letters Digital Letter Read Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-digital-letter-read-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-digital-letter-read-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-digital-letter-read-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-digital-letter-read-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-digital-letter-read-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-digital-letter-read-data.schema.md) |
113+
| **Digital Letters Digital Letter Read Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-queue-digital-letter-read-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-queue-digital-letter-read-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-queue-digital-letter-read-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-queue-digital-letter-read-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-digital-letter-read-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-digital-letter-read-data.schema.md) |
114114
| **Digital Letters Mesh Inbox Message Acknowledged Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-acknowledged-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-acknowledged-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-acknowledged-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-acknowledged-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-acknowledged-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-acknowledged-data.schema.md) |
115115
| **Digital Letters Mesh Inbox Message Downloaded Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-downloaded-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-downloaded-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-downloaded-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-downloaded-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-downloaded-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-downloaded-data.schema.md) |
116116
| **Digital Letters Mesh Inbox Message Invalid Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-invalid-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-invalid-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-invalid-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-invalid-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-invalid-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-invalid-data.schema.md) |
@@ -129,7 +129,6 @@ _No common schemas defined yet._
129129
| **Digital Letters Print Pdf Analysed Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-print-pdf-analysed-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-print-pdf-analysed-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-print-pdf-analysed-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-print-pdf-analysed-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-print-pdf-analysed-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-print-pdf-analysed-data.schema.md) |
130130
| **Digital Letters Queue Item Dequeued Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-queue-item-dequeued-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-queue-item-dequeued-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-queue-item-dequeued-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-queue-item-dequeued-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-item-dequeued-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-item-dequeued-data.schema.md) |
131131
| **Digital Letters Queue Item Enqueued Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-queue-item-enqueued-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-queue-item-enqueued-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-queue-item-enqueued-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-queue-item-enqueued-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-item-enqueued-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-item-enqueued-data.schema.md) |
132-
| **Digital Letters Queue Item Removed Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-queue-item-removed-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-queue-item-removed-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-queue-item-removed-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-queue-item-removed-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-item-removed-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-item-removed-data.schema.md) |
133132
| **Digital Letters Reporting Generate Report Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-reporting-generate-report-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-reporting-generate-report-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-reporting-generate-report-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-reporting-generate-report-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-reporting-generate-report-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-reporting-generate-report-data.schema.md) |
134133
| **Digital Letters Reporting Report Generated Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-reporting-report-generated-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-reporting-report-generated-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-reporting-report-generated-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-reporting-report-generated-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-reporting-report-generated-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-reporting-report-generated-data.schema.md) |
135134
| **Digital Letters Reporting Report Sent Data** | [`src/digital-letters/2025-10-draft/data/digital-letters-reporting-report-sent-data.schema.yaml`](src/digital-letters/2025-10-draft/data/digital-letters-reporting-report-sent-data.schema.yaml) | [`schemas/digital-letters/2025-10-draft/data/digital-letters-reporting-report-sent-data.schema.json`](schemas/digital-letters/2025-10-draft/data/digital-letters-reporting-report-sent-data.schema.json) | [`../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-reporting-report-sent-data.schema.md`](../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-reporting-report-sent-data.schema.md) |
@@ -203,7 +202,6 @@ _No common schemas defined yet._
203202
| **Uk.nhs.notify.digital.letters.print.printed.v1** | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.print.printed.v1-event.json`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.print.printed.v1-event.json) | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.print.printed.v1-event.md`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.print.printed.v1-event.md) |
204203
| **Uk.nhs.notify.digital.letters.queue.item.dequeued.v1** | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.dequeued.v1-event.json`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.dequeued.v1-event.json) | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.dequeued.v1-event.md`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.dequeued.v1-event.md) |
205204
| **Uk.nhs.notify.digital.letters.queue.item.enqueued.v1** | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.enqueued.v1-event.json`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.enqueued.v1-event.json) | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.enqueued.v1-event.md`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.enqueued.v1-event.md) |
206-
| **Uk.nhs.notify.digital.letters.queue.item.removed.v1** | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.removed.v1-event.json`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.removed.v1-event.json) | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.removed.v1-event.md`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.queue.item.removed.v1-event.md) |
207205
| **Uk.nhs.notify.digital.letters.reporting.generate.report.v1** | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.generate.report.v1-event.json`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.generate.report.v1-event.json) | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.generate.report.v1-event.md`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.generate.report.v1-event.md) |
208206
| **Uk.nhs.notify.digital.letters.reporting.report.generated.v1** | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.report.generated.v1-event.json`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.report.generated.v1-event.json) | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.report.generated.v1-event.md`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.report.generated.v1-event.md) |
209207
| **Uk.nhs.notify.digital.letters.reporting.report.sent.v1** | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.report.sent.v1-event.json`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.report.sent.v1-event.json) | [`../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.report.sent.v1-event.md`](../../output/digital-letters/2025-10-draft/example-events/uk.nhs.notify.digital.letters.reporting.report.sent.v1-event.md) |

docs/collections/_events/queue-item-enqueued.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025
77
schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-queue-item-enqueued-data.schema.json
88
---
99

10-
This event indicates that a TTL record has been queued for a given letter. The TTL record will either be intentionally removed before its expiry if the letter is read digitally (indicated by an ItemRemoved event) or will be dequeued after the fallback wait time (indicated by a ItemDequeued event) to trigger printing.
10+
This event indicates that a TTL record has been queued for a given letter. The TTL record will either be intentionally removed before its expiry if the letter is read digitally (indicated by a DigitalLetterRead event) or will be dequeued after the fallback wait time (indicated by a ItemDequeued event) to trigger printing.

docs/collections/_events/queue-item-removed.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

lambdas/report-generator/src/queries/report.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ WITH vars AS (
77
e.time,
88
CASE
99
WHEN e.type LIKE '%.item.dequeued.%'
10-
OR e.type LIKE '%.item.removed.%' THEN 'Digital'
10+
OR e.type LIKE '%.queue.digital.letter.read.%' THEN 'Digital'
1111
WHEN e.type LIKE '%.print.letter.transitioned.%' THEN 'Print' ELSE NULL
1212
END as communicationtype,
1313
CASE
1414
WHEN e.type LIKE '%.item.dequeued.%' THEN 'Unread'
15-
WHEN e.type LIKE '%.item.removed.%' THEN 'Read'
15+
WHEN e.type LIKE '%.queue.digital.letter.read.%' THEN 'Read'
1616
WHEN e.letterstatus = 'RETURNED' THEN 'Returned'
1717
WHEN e.letterstatus = 'FAILED' THEN 'Failed'
1818
WHEN e.letterstatus = 'DISPATCHED' THEN 'Dispatched'

src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-digital-letter-read-data.schema.yaml renamed to src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-queue-digital-letter-read-data.schema.yaml

File renamed without changes.

src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-queue-item-removed-data.schema.yaml

Lines changed: 0 additions & 16 deletions
This file was deleted.

src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.queue.item.removed.v1.schema.yaml renamed to src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.queue.digital.letter.read.v1.schema.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
$schema: https://json-schema.org/draft/2020-12/schema
2-
title: ItemRemoved
2+
title: DigitalLetterRead
33
type: object
44
allOf:
55
- $ref: ../digital-letters-queue-profile.schema.yaml
66
properties:
77
type:
88
type: string
9-
const: uk.nhs.notify.digital.letters.queue.item.removed.v1
9+
const: uk.nhs.notify.digital.letters.queue.digital.letter.read.v1
1010
description: Concrete versioned event type string for this event (.vN suffix).
1111
source:
1212
type: string
@@ -15,9 +15,9 @@ properties:
1515

1616
dataschema:
1717
type: string
18-
const: ../data/digital-letters-queue-item-removed-data.schema.yaml
18+
const: ../data/digital-letters-queue-digital-letter-read-data.schema.yaml
1919
description: Canonical URI of the event's data schema.
2020
examples:
21-
- digital-letters-queue-item-removed-data.schema.yaml
21+
- digital-letters-queue-digital-letter-read-data.schema.yaml
2222
data:
23-
$ref: ../data/digital-letters-queue-item-removed-data.schema.yaml
23+
$ref: ../data/digital-letters-queue-digital-letter-read-data.schema.yaml

src/cloudevents/readme-index.yaml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ domains:
2424
docs: ../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letter-base-data.schema.md
2525
- type: Digital Letters Digital Letter Read Data
2626
category: data
27-
source: src/digital-letters/2025-10-draft/data/digital-letters-digital-letter-read-data.schema.yaml
28-
published: schemas/digital-letters/2025-10-draft/data/digital-letters-digital-letter-read-data.schema.json
29-
docs: ../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-digital-letter-read-data.schema.md
27+
source: src/digital-letters/2025-10-draft/data/digital-letters-queue-digital-letter-read-data.schema.yaml
28+
published: schemas/digital-letters/2025-10-draft/data/digital-letters-queue-digital-letter-read-data.schema.json
29+
docs: ../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-digital-letter-read-data.schema.md
3030
- type: Digital Letters Mesh Inbox Message Acknowledged Data
3131
category: data
3232
source: src/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-acknowledged-data.schema.yaml
@@ -117,11 +117,6 @@ domains:
117117
source: src/digital-letters/2025-10-draft/data/digital-letters-queue-item-enqueued-data.schema.yaml
118118
published: schemas/digital-letters/2025-10-draft/data/digital-letters-queue-item-enqueued-data.schema.json
119119
docs: ../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-item-enqueued-data.schema.md
120-
- type: Digital Letters Queue Item Removed Data
121-
category: data
122-
source: src/digital-letters/2025-10-draft/data/digital-letters-queue-item-removed-data.schema.yaml
123-
published: schemas/digital-letters/2025-10-draft/data/digital-letters-queue-item-removed-data.schema.json
124-
docs: ../../docs/cloudevents/digital-letters/2025-10-draft/data/digital-letters-queue-item-removed-data.schema.md
125120
- type: Digital Letters Reporting Generate Report Data
126121
category: data
127122
source: src/digital-letters/2025-10-draft/data/digital-letters-reporting-generate-report-data.schema.yaml

0 commit comments

Comments
 (0)