Skip to content

Commit 4d96f41

Browse files
committed
CCM-13475: Added PrintLetterAnalysed data schema
1 parent f6d46f4 commit 4d96f41

File tree

7 files changed

+78
-24
lines changed

7 files changed

+78
-24
lines changed

docs/collections/_diagrams/c4code-printer-scanner.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,8 @@ architecture-beta
3434
j1:T -- B:j2
3535
j1:B -- T:j3
3636
j2:R --> L:quarantineBucket
37-
quarantineBucket:R --> L:quarantinedLetter
3837
j3:R --> L:safeBucket
38+
quarantineBucket:R --> L:quarantinedLetter
3939
safeBucket:R --> L:safeLetter
4040
41-
4241
```
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: print-letter-analysed
3+
type: uk.nhs.notify.digital.letters.print.letter.analysed.v1
4+
nice_name: PrintLetterAnalysed
5+
service: Print Supplier Services
6+
schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.json
7+
schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.json
8+
---
9+
10+
This event is published when a PDF letter has been analysed in preparation for sending to print. In addition to the standard metadata fields relating to the message request, the event payload also contains a count of the number of pages in the letter and a SHA256 has of the file. This information can be used by the Print Supplier API to verify the integrity of the letter before it is printed.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
$schema: https://json-schema.org/draft/2020-12/schema
2+
title: PrintLetterAnalysed Data
3+
description: Data payload of the PrintLetterAnalysed event
4+
type: object
5+
additionalProperties: false
6+
properties:
7+
messageReference:
8+
$ref: ../defs/requests.schema.yaml#/properties/messageReference
9+
senderId:
10+
$ref: ../defs/requests.schema.yaml#/properties/senderId
11+
messageUri:
12+
$ref: ../defs/requests.schema.yaml#/properties/messageUri
13+
pageCount:
14+
$ref: ../defs/print.schema.yaml#/properties/pageCount
15+
sha256Hash:
16+
$ref: ../defs/print.schema.yaml#/properties/sha256Hash
17+
required:
18+
- messageReference
19+
- senderId
20+
- messageUri
21+
- pageCount
22+
- sha256Hash

src/cloudevents/domains/digital-letters/2025-10-draft/defs/message-status.schema.yaml

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

src/cloudevents/domains/digital-letters/2025-10-draft/defs/print.schema.yaml

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,14 @@ type: object
55
properties:
66
status:
77
type: string
8-
minimum: 1
9-
description: Number of times that PDM has been polled while waiting for document processing to complete
10-
enum: [
11-
"ACCEPTED",
12-
"REJECTED",
13-
"PRINTED",
14-
"DISPATCHED",
15-
"FAILED",
16-
"RETURNED"
17-
]
8+
description: Current status of the letter request
9+
enum:
10+
- "ACCEPTED"
11+
- "REJECTED"
12+
- "PRINTED"
13+
- "DISPATCHED"
14+
- "FAILED"
15+
- "RETURNED"
1816
examples:
1917
- ACCEPTED
2018
- DISPATCHED
@@ -24,3 +22,16 @@ properties:
2422
description: Identifier of the print supplier handling the print job
2523
examples:
2624
- "supplier-12345"
25+
pageCount:
26+
type: integer
27+
description: The number of pages in the analysed letter PDF.
28+
examples:
29+
- 1
30+
- 3
31+
sha256Hash:
32+
type: string
33+
description: The SHA256 hash of the analysed letter PDF.
34+
pattern: '^[A-Fa-f0-9]{64}$'
35+
examples:
36+
- 3a7bd3e2360a3d80c4d4e8b1e3e5e6e7e8e9e0e1e2e3e4e5e6e7e8e9e0e1e2e3
37+
abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
$schema: https://json-schema.org/draft/2020-12/schema
2+
title: PrintLetterAnalysed
3+
type: object
4+
allOf:
5+
- $ref: ../digital-letters-print-profile.schema.yaml
6+
properties:
7+
type:
8+
type: string
9+
const: uk.nhs.notify.digital.letters.print.letter.analysed.v1
10+
description: Concrete versioned event type string for this event (.vN suffix).
11+
source:
12+
type: string
13+
pattern: ^/nhs/england/notify/(production|staging|development|uat)/(primary|secondary|dev-[0-9]+)/data-plane/digitalletters/print
14+
description: Event source for digital letters.
15+
16+
dataschema:
17+
type: string
18+
const: ../data/digital-letters-print-letter-analysed-data.schema.yaml
19+
description: Canonical URI of the event's data schema.
20+
examples:
21+
- digital-letters-print-letter-analysed-data.schema.yaml
22+
data:
23+
$ref: ../data/digital-letters-print-letter-analysed-data.schema.yaml

src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.transitioned.v1.schema.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
$schema: https://json-schema.org/draft/2020-12/schema
22
title: PrintLetterTransitioned
3+
34
type: object
45
allOf:
56
- $ref: ../digital-letters-print-profile.schema.yaml

0 commit comments

Comments
 (0)