From a11383e543978703b0d875908cf24935583d1f09 Mon Sep 17 00:00:00 2001 From: "tom.droza2" Date: Fri, 19 Dec 2025 17:05:00 +0000 Subject: [PATCH 1/6] CCM-13475: Added PrintLetterAnalysed data schema --- .../_diagrams/c4code-printer-scanner.md | 3 +- .../_events/print-letter-analysed.md | 10 ++++++ ...ers-print-letter-analysed-data.schema.yaml | 22 +++++++++++++ .../defs/message-status.schema.yaml | 12 ------- .../2025-10-draft/defs/print.schema.yaml | 31 +++++++++++++------ ...tters.print.letter.analysed.v1.schema.yaml | 23 ++++++++++++++ ...s.print.letter.transitioned.v1.schema.yaml | 1 + 7 files changed, 78 insertions(+), 24 deletions(-) create mode 100644 docs/collections/_events/print-letter-analysed.md create mode 100644 src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml delete mode 100644 src/cloudevents/domains/digital-letters/2025-10-draft/defs/message-status.schema.yaml create mode 100644 src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml diff --git a/docs/collections/_diagrams/c4code-printer-scanner.md b/docs/collections/_diagrams/c4code-printer-scanner.md index 38ed9126..ff57417d 100644 --- a/docs/collections/_diagrams/c4code-printer-scanner.md +++ b/docs/collections/_diagrams/c4code-printer-scanner.md @@ -34,9 +34,8 @@ architecture-beta j1:T -- B:j2 j1:B -- T:j3 j2:R --> L:quarantineBucket - quarantineBucket:R --> L:quarantinedLetter j3:R --> L:safeBucket + quarantineBucket:R --> L:quarantinedLetter safeBucket:R --> L:safeLetter - ``` diff --git a/docs/collections/_events/print-letter-analysed.md b/docs/collections/_events/print-letter-analysed.md new file mode 100644 index 00000000..f3fe021b --- /dev/null +++ b/docs/collections/_events/print-letter-analysed.md @@ -0,0 +1,10 @@ +--- +title: print-letter-analysed +type: uk.nhs.notify.digital.letters.print.letter.analysed.v1 +nice_name: PrintLetterAnalysed +service: Print Supplier Services +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 +schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.json +--- + +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. diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml new file mode 100644 index 00000000..15a0c026 --- /dev/null +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml @@ -0,0 +1,22 @@ +$schema: https://json-schema.org/draft/2020-12/schema +title: PrintLetterAnalysed Data +description: Data payload of the PrintLetterAnalysed event +type: object +additionalProperties: false +properties: + messageReference: + $ref: ../defs/requests.schema.yaml#/properties/messageReference + senderId: + $ref: ../defs/requests.schema.yaml#/properties/senderId + messageUri: + $ref: ../defs/requests.schema.yaml#/properties/messageUri + pageCount: + $ref: ../defs/print.schema.yaml#/properties/pageCount + sha256Hash: + $ref: ../defs/print.schema.yaml#/properties/sha256Hash +required: + - messageReference + - senderId + - messageUri + - pageCount + - sha256Hash diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/defs/message-status.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/defs/message-status.schema.yaml deleted file mode 100644 index ad0de0d6..00000000 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/defs/message-status.schema.yaml +++ /dev/null @@ -1,12 +0,0 @@ -$schema: https://json-schema.org/draft/2020-12/schema -$defs: - messageStatus: - type: string - description: Current status of the message. - enum: - - queued - - processing - - sent - - failed - examples: - - sent diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/defs/print.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/defs/print.schema.yaml index c585187b..9b8d3a5f 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/defs/print.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/defs/print.schema.yaml @@ -5,16 +5,14 @@ type: object properties: status: type: string - minimum: 1 - description: Number of times that PDM has been polled while waiting for document processing to complete - enum: [ - "ACCEPTED", - "REJECTED", - "PRINTED", - "DISPATCHED", - "FAILED", - "RETURNED" - ] + description: Current status of the letter request + enum: + - "ACCEPTED" + - "REJECTED" + - "PRINTED" + - "DISPATCHED" + - "FAILED" + - "RETURNED" examples: - ACCEPTED - DISPATCHED @@ -24,3 +22,16 @@ properties: description: Identifier of the print supplier handling the print job examples: - "supplier-12345" + pageCount: + type: integer + description: The number of pages in the analysed letter PDF. + examples: + - 1 + - 3 + sha256Hash: + type: string + description: The SHA256 hash of the analysed letter PDF. + pattern: '^[A-Fa-f0-9]{64}$' + examples: + - 3a7bd3e2360a3d80c4d4e8b1e3e5e6e7e8e9e0e1e2e3e4e5e6e7e8e9e0e1e2e3 + abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890 diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml new file mode 100644 index 00000000..53609f6f --- /dev/null +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml @@ -0,0 +1,23 @@ +$schema: https://json-schema.org/draft/2020-12/schema +title: PrintLetterAnalysed +type: object +allOf: + - $ref: ../digital-letters-print-profile.schema.yaml +properties: + type: + type: string + const: uk.nhs.notify.digital.letters.print.letter.analysed.v1 + description: Concrete versioned event type string for this event (.vN suffix). + source: + type: string + pattern: ^/nhs/england/notify/(production|staging|development|uat)/(primary|secondary|dev-[0-9]+)/data-plane/digitalletters/print + description: Event source for digital letters. + + dataschema: + type: string + const: ../data/digital-letters-print-letter-analysed-data.schema.yaml + description: Canonical URI of the event's data schema. + examples: + - digital-letters-print-letter-analysed-data.schema.yaml + data: + $ref: ../data/digital-letters-print-letter-analysed-data.schema.yaml diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.transitioned.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.transitioned.v1.schema.yaml index 5063d407..73780c95 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.transitioned.v1.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.transitioned.v1.schema.yaml @@ -1,5 +1,6 @@ $schema: https://json-schema.org/draft/2020-12/schema title: PrintLetterTransitioned + type: object allOf: - $ref: ../digital-letters-print-profile.schema.yaml From cb1bf11ac4c3cbe6c7ac871bb653c7a393d6ace5 Mon Sep 17 00:00:00 2001 From: "tom.droza2" Date: Tue, 6 Jan 2026 14:14:16 +0000 Subject: [PATCH 2/6] CCM-13475: Added event schema for the following events: - PrintLetterAnalysed - PrintLetterSafe - PrintLetterQuarantined --- .../_events/print-letter-analysed.md | 2 +- .../_events/print-letter-quarantined.md | 10 +++++ docs/collections/_events/print-letter-safe.md | 10 +++++ ...ers-print-letter-analysed-data.schema.yaml | 9 +++-- ...-print-letter-quarantined-data.schema.yaml | 16 ++++++++ ...letters-print-letter-safe-data.schema.yaml | 16 ++++++++ .../2025-10-draft/defs/print.schema.yaml | 14 +++++++ ...tters.print.letter.analysed.v1.schema.yaml | 1 - ...rs.print.letter.quarantined.v1.schema.yaml | 22 +++++++++++ ...l.letters.print.letter.safe.v1.schema.yaml | 22 +++++++++++ src/eventcatalog/package-lock.json | 38 ++++++++++++++++--- 11 files changed, 150 insertions(+), 10 deletions(-) create mode 100644 docs/collections/_events/print-letter-quarantined.md create mode 100644 docs/collections/_events/print-letter-safe.md create mode 100644 src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-quarantined-data.schema.yaml create mode 100644 src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-safe-data.schema.yaml create mode 100644 src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.quarantined.v1.schema.yaml create mode 100644 src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.safe.v1.schema.yaml diff --git a/docs/collections/_events/print-letter-analysed.md b/docs/collections/_events/print-letter-analysed.md index f3fe021b..af40bc8c 100644 --- a/docs/collections/_events/print-letter-analysed.md +++ b/docs/collections/_events/print-letter-analysed.md @@ -7,4 +7,4 @@ schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025 schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.json --- -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. +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 hash of the file. This information can be used by the Print Supplier API to verify the integrity of the letter before it is printed. diff --git a/docs/collections/_events/print-letter-quarantined.md b/docs/collections/_events/print-letter-quarantined.md new file mode 100644 index 00000000..b1a59e52 --- /dev/null +++ b/docs/collections/_events/print-letter-quarantined.md @@ -0,0 +1,10 @@ +--- +title: print-letter-quarantined +type: uk.nhs.notify.digital.letters.print.letter.quarantined.v1 +nice_name: PrintLetterQuarantined +service: Print Supplier Services +schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.quarantined.v1.schema.json +schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-letter-quarantined-data.schema.json +--- + +This event is published when a PDF letter has been virus scanned and found to contain potentially harmful content, resulting in it being quarantined. diff --git a/docs/collections/_events/print-letter-safe.md b/docs/collections/_events/print-letter-safe.md new file mode 100644 index 00000000..c2499dcc --- /dev/null +++ b/docs/collections/_events/print-letter-safe.md @@ -0,0 +1,10 @@ +--- +title: print-letter-safe +type: uk.nhs.notify.digital.letters.print.letter.safe.v1 +nice_name: PrintLetterSafe +service: Print Supplier Services +schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.safe.v1.schema.json +schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-letter-safe-data.schema.json +--- + +This event is published when a PDF letter has been virus scanned and found to be free of harmful content, allowing it to be safely sent to print. diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml index 15a0c026..987c535a 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml @@ -8,15 +8,18 @@ properties: $ref: ../defs/requests.schema.yaml#/properties/messageReference senderId: $ref: ../defs/requests.schema.yaml#/properties/senderId - messageUri: - $ref: ../defs/requests.schema.yaml#/properties/messageUri + letterUri: + $ref: ../defs/print.schema.yaml#/properties/letterUri pageCount: $ref: ../defs/print.schema.yaml#/properties/pageCount sha256Hash: $ref: ../defs/print.schema.yaml#/properties/sha256Hash + createdAt: + $ref: ../defs/print.schema.yaml#/properties/createdAt required: - messageReference - senderId - - messageUri + - letterUri - pageCount - sha256Hash + - createdAt diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-quarantined-data.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-quarantined-data.schema.yaml new file mode 100644 index 00000000..6c462804 --- /dev/null +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-quarantined-data.schema.yaml @@ -0,0 +1,16 @@ +$schema: https://json-schema.org/draft/2020-12/schema +title: PrintLetterQuarantined Data +description: Data payload of the PrintLetterQuarantined event +type: object +additionalProperties: false +properties: + messageReference: + $ref: ../defs/requests.schema.yaml#/properties/messageReference + senderId: + $ref: ../defs/requests.schema.yaml#/properties/senderId + letterUri: + $ref: ../defs/print.schema.yaml#/properties/letterUri +required: + - messageReference + - senderId + - letterUri diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-safe-data.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-safe-data.schema.yaml new file mode 100644 index 00000000..ef169390 --- /dev/null +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-safe-data.schema.yaml @@ -0,0 +1,16 @@ +$schema: https://json-schema.org/draft/2020-12/schema +title: PrintLetterSafe Data +description: Data payload of the PrintLetterSafe event +type: object +additionalProperties: false +properties: + messageReference: + $ref: ../defs/requests.schema.yaml#/properties/messageReference + senderId: + $ref: ../defs/requests.schema.yaml#/properties/senderId + letterUri: + $ref: ../defs/print.schema.yaml#/properties/letterUri +required: + - messageReference + - senderId + - letterUri diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/defs/print.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/defs/print.schema.yaml index 9b8d3a5f..a718f0eb 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/defs/print.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/defs/print.schema.yaml @@ -35,3 +35,17 @@ properties: examples: - 3a7bd3e2360a3d80c4d4e8b1e3e5e6e7e8e9e0e1e2e3e4e5e6e7e8e9e0e1e2e3 abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890 + letterUri: + type: string + format: uri + description: Uri to the S3 storage location of the PDF letter relating to this message request + examples: + - "s3://my-bucket/path/to/my-object" + createdAt: + title: "Created At DateTime" + description: "Timestamp when the letter was created (RFC 3339)." + examples: [ + "2025-10-01T10:15:30.000Z" + ] + type: "string" + pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml index 53609f6f..5bf3c316 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml @@ -12,7 +12,6 @@ properties: type: string pattern: ^/nhs/england/notify/(production|staging|development|uat)/(primary|secondary|dev-[0-9]+)/data-plane/digitalletters/print description: Event source for digital letters. - dataschema: type: string const: ../data/digital-letters-print-letter-analysed-data.schema.yaml diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.quarantined.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.quarantined.v1.schema.yaml new file mode 100644 index 00000000..5e5584bc --- /dev/null +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.quarantined.v1.schema.yaml @@ -0,0 +1,22 @@ +$schema: https://json-schema.org/draft/2020-12/schema +title: PrintLetterQuarantined +type: object +allOf: + - $ref: ../digital-letters-print-profile.schema.yaml +properties: + type: + type: string + const: uk.nhs.notify.digital.letters.print.letter.quarantined.v1 + description: Concrete versioned event type string for this event (.vN suffix). + source: + type: string + pattern: ^/nhs/england/notify/(production|staging|development|uat)/(primary|secondary|dev-[0-9]+)/data-plane/digitalletters/print + description: Event source for digital letters. + dataschema: + type: string + const: ../data/digital-letters-print-letter-quarantined-data.schema.yaml + description: Canonical URI of the event's data schema. + examples: + - digital-letters-print-letter-quarantined-data.schema.yaml + data: + $ref: ../data/digital-letters-print-letter-quarantined-data.schema.yaml diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.safe.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.safe.v1.schema.yaml new file mode 100644 index 00000000..d5ee80ac --- /dev/null +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.safe.v1.schema.yaml @@ -0,0 +1,22 @@ +$schema: https://json-schema.org/draft/2020-12/schema +title: PrintLetterSafe +type: object +allOf: + - $ref: ../digital-letters-print-profile.schema.yaml +properties: + type: + type: string + const: uk.nhs.notify.digital.letters.print.letter.safe.v1 + description: Concrete versioned event type string for this event (.vN suffix). + source: + type: string + pattern: ^/nhs/england/notify/(production|staging|development|uat)/(primary|secondary|dev-[0-9]+)/data-plane/digitalletters/print + description: Event source for digital letters. + dataschema: + type: string + const: ../data/digital-letters-print-letter-safe-data.schema.yaml + description: Canonical URI of the event's data schema. + examples: + - digital-letters-print-letter-safe-data.schema.yaml + data: + $ref: ../data/digital-letters-print-letter-safe-data.schema.yaml diff --git a/src/eventcatalog/package-lock.json b/src/eventcatalog/package-lock.json index 0e9d8b2f..3d234dee 100644 --- a/src/eventcatalog/package-lock.json +++ b/src/eventcatalog/package-lock.json @@ -1168,6 +1168,7 @@ "resolved": "https://registry.npmjs.org/@auth/core/-/core-0.37.4.tgz", "integrity": "sha512-HOXJwXWXQRhbBDHlMU0K/6FT1v+wjtzdKhsNg0ZN7/gne6XPsIrjZ4daMcFnbq0Z/vsAbYBinQhhua0d77v7qw==", "license": "ISC", + "peer": true, "dependencies": { "@panva/hkdf": "^1.2.1", "jose": "^5.9.6", @@ -1220,6 +1221,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -1507,8 +1509,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/@cfworker/json-schema/-/json-schema-4.1.1.tgz", "integrity": "sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@changesets/apply-release-plan": { "version": "7.0.14", @@ -2092,6 +2093,7 @@ "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.12.1.tgz", "integrity": "sha512-Fa6xkSiuGKc8XC8Cn96T+TQHYj4ZZ7RdFmXA3i9xe/3hLHfwPZdM+dqfX0Cp0zQklBKhVD8Yzc8LS45rkqcwpQ==", "license": "MIT", + "peer": true, "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.23.0", @@ -2128,6 +2130,7 @@ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.3.tgz", "integrity": "sha512-MerMzJzlXogk2fxWFU1nKp36bY5orBG59HnPiz0G9nLRebWa0zXuv2siH6PLIHBvv5TH8CkQRqjBs0MlxCZu+A==", "license": "MIT", + "peer": true, "dependencies": { "@marijn/find-cluster-break": "^1.0.0" } @@ -2137,6 +2140,7 @@ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.39.8.tgz", "integrity": "sha512-1rASYd9Z/mE3tkbC9wInRlCNyCkSn+nLsiQKZhEDUUJiUfs/5FHDpCUDaQpoTIaNGeDc6/bhaEAyLmeEucEFPw==", "license": "MIT", + "peer": true, "dependencies": { "@codemirror/state": "^6.5.0", "crelt": "^1.0.6", @@ -2228,6 +2232,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -2269,6 +2274,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -4640,6 +4646,7 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=8.0.0" } @@ -8676,6 +8683,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -8736,6 +8744,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -8992,6 +9001,7 @@ "resolved": "https://registry.npmjs.org/astro/-/astro-5.16.6.tgz", "integrity": "sha512-6mF/YrvwwRxLTu+aMEa5pwzKUNl5ZetWbTyZCs9Um0F12HUmxUiF5UHiZPy4rifzU3gtpM3xP2DfdmkNX9eZRg==", "license": "MIT", + "peer": true, "dependencies": { "@astrojs/compiler": "^2.13.0", "@astrojs/internal-helpers": "0.7.5", @@ -10034,6 +10044,7 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", "license": "MIT", + "peer": true, "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", @@ -10253,6 +10264,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -10347,7 +10359,6 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", "license": "MIT", - "peer": true, "engines": { "node": ">=16" }, @@ -10461,6 +10472,7 @@ "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", "license": "Apache-2.0", + "peer": true, "dependencies": { "@chevrotain/cst-dts-gen": "11.0.3", "@chevrotain/gast": "11.0.3", @@ -11144,6 +11156,7 @@ "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz", "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10" } @@ -11565,6 +11578,7 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "license": "ISC", + "peer": true, "engines": { "node": ">=12" } @@ -11771,7 +11785,6 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -12943,6 +12956,7 @@ "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.7.1.tgz", "integrity": "sha512-Pkp8m55GjxBLnhBoT6OXdMvfRr4TjMAKLvFM566zlIryq5plbhaTmLAJWTGR0EkRwLjEte1lCOG9MxF1ipJrOg==", "license": "MIT", + "peer": true, "dependencies": { "tabbable": "^6.4.0" } @@ -13173,6 +13187,7 @@ "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.1.0.tgz", "integrity": "sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=10" } @@ -15099,6 +15114,7 @@ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "license": "MIT", + "peer": true, "bin": { "jiti": "bin/jiti.js" } @@ -15222,6 +15238,7 @@ "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz", "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", "license": "MIT", + "peer": true, "engines": { "node": ">= 10.16.0" } @@ -18463,6 +18480,7 @@ "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.2.tgz", "integrity": "sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==", "license": "MIT", + "peer": true, "dependencies": { "@braintree/sanitize-url": "^7.1.1", "@iconify/utils": "^3.0.1", @@ -20190,7 +20208,6 @@ "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", "license": "MIT", - "peer": true, "bin": { "mustache": "bin/mustache" } @@ -20598,6 +20615,7 @@ "resolved": "https://registry.npmjs.org/openai/-/openai-4.104.0.tgz", "integrity": "sha512-p99EFNsA/yX6UhVO93f5kJsDRLAg+CTA2RBqdHK4RtK8u5IJw32Hyb2dTGKbnnFmnuoBv5r7Z2CURI9sGZpSuA==", "license": "Apache-2.0", + "peer": true, "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", @@ -21300,6 +21318,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -21466,6 +21485,7 @@ "resolved": "https://registry.npmjs.org/preact/-/preact-10.24.3.tgz", "integrity": "sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -21773,6 +21793,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -21785,6 +21806,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -23074,6 +23096,7 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz", "integrity": "sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==", "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -24292,6 +24315,7 @@ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", "license": "MIT", + "peer": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -24741,6 +24765,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -25311,6 +25336,7 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -25653,6 +25679,7 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.26.tgz", "integrity": "sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==", "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.26", "@vue/compiler-sfc": "3.5.26", @@ -26273,6 +26300,7 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } From 1ec0f0abd203ba7633e10da61f4000b1f33905d1 Mon Sep 17 00:00:00 2001 From: "tom.droza2" Date: Tue, 6 Jan 2026 16:46:12 +0000 Subject: [PATCH 3/6] Updated event names following TA review --- .../notifhir/printer/printanalyser/index.md | 4 +- .../c4/notifhir/printer/printscanner/index.md | 6 +- .../c4/notifhir/printer/printsender/index.md | 2 +- .../_diagrams/c4code-eventbus-eventbridge.md | 38 ------------ .../_diagrams/c4code-eventbus-timer.md | 19 ------ .../_diagrams/c4code-mesh-timer.md | 59 ------------------- .../_diagrams/c4code-printer-analyser.md | 8 +-- .../_diagrams/c4code-printer-scanner.md | 34 +++++------ .../_diagrams/c4code-printer-sender.md | 4 +- .../_diagrams/c4code-printer-sendtoqueue.md | 10 ++-- docs/collections/_events/file-quarantined.md | 10 ++++ docs/collections/_events/file-safe.md | 10 ++++ ...int-letter-analysed.md => pdf-analysed.md} | 6 +- .../_events/print-letter-quarantined.md | 10 ---- docs/collections/_events/print-letter-safe.md | 10 ---- ...s-print-file-quarantined-data.schema.yaml} | 4 +- ...-letters-print-file-safe-data.schema.yaml} | 4 +- ...tters-print-pdf-analysed-data.schema.yaml} | 4 +- ...ers.print.file.quarantined.v1.schema.yaml} | 10 ++-- ...al.letters.print.file.safe.v1.schema.yaml} | 10 ++-- ...letters.print.pdf.analysed.v1.schema.yaml} | 10 ++-- 21 files changed, 78 insertions(+), 194 deletions(-) delete mode 100644 docs/collections/_diagrams/c4code-eventbus-eventbridge.md delete mode 100644 docs/collections/_diagrams/c4code-eventbus-timer.md delete mode 100644 docs/collections/_diagrams/c4code-mesh-timer.md create mode 100644 docs/collections/_events/file-quarantined.md create mode 100644 docs/collections/_events/file-safe.md rename docs/collections/_events/{print-letter-analysed.md => pdf-analysed.md} (83%) delete mode 100644 docs/collections/_events/print-letter-quarantined.md delete mode 100644 docs/collections/_events/print-letter-safe.md rename src/cloudevents/domains/digital-letters/2025-10-draft/data/{digital-letters-print-letter-safe-data.schema.yaml => digital-letters-print-file-quarantined-data.schema.yaml} (82%) rename src/cloudevents/domains/digital-letters/2025-10-draft/data/{digital-letters-print-letter-quarantined-data.schema.yaml => digital-letters-print-file-safe-data.schema.yaml} (80%) rename src/cloudevents/domains/digital-letters/2025-10-draft/data/{digital-letters-print-letter-analysed-data.schema.yaml => digital-letters-print-pdf-analysed-data.schema.yaml} (87%) rename src/cloudevents/domains/digital-letters/2025-10-draft/events/{uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml => uk.nhs.notify.digital.letters.print.file.quarantined.v1.schema.yaml} (66%) rename src/cloudevents/domains/digital-letters/2025-10-draft/events/{uk.nhs.notify.digital.letters.print.letter.quarantined.v1.schema.yaml => uk.nhs.notify.digital.letters.print.file.safe.v1.schema.yaml} (64%) rename src/cloudevents/domains/digital-letters/2025-10-draft/events/{uk.nhs.notify.digital.letters.print.letter.safe.v1.schema.yaml => uk.nhs.notify.digital.letters.print.pdf.analysed.v1.schema.yaml} (67%) diff --git a/docs/architecture/c4/notifhir/printer/printanalyser/index.md b/docs/architecture/c4/notifhir/printer/printanalyser/index.md index 9000514d..0e3b893b 100644 --- a/docs/architecture/c4/notifhir/printer/printanalyser/index.md +++ b/docs/architecture/c4/notifhir/printer/printanalyser/index.md @@ -9,7 +9,7 @@ last_modified_date: 2025-12-22 owner: Ross Buggins author: Tom D'Roza diagrams: [c4code-printer-analyser] -events-raised: [print-letter-analysed] -events-consumed: [print-letter-safe] +events-raised: [pdf-analysed] +events-consumed: [file-safe] c4type: code --- diff --git a/docs/architecture/c4/notifhir/printer/printscanner/index.md b/docs/architecture/c4/notifhir/printer/printscanner/index.md index 733cf3da..0f6d9945 100644 --- a/docs/architecture/c4/notifhir/printer/printscanner/index.md +++ b/docs/architecture/c4/notifhir/printer/printscanner/index.md @@ -5,11 +5,11 @@ parent: Print Supplier Services nav_order: 1 has_children: false is_not_draft: false -last_modified_date: 2025-12-22 +last_modified_date: 2026-01-06 owner: Ross Buggins author: Tom D'Roza -diagrams: [c4code-printer-scanner] -events-raised: [print-letter-safe] +diagrams: [c4code-file-scanner] +events-raised: [file-safe, file-quarantined] events-consumed: [queue-item-dequeued] c4type: code --- diff --git a/docs/architecture/c4/notifhir/printer/printsender/index.md b/docs/architecture/c4/notifhir/printer/printsender/index.md index cd388e40..74c4b179 100644 --- a/docs/architecture/c4/notifhir/printer/printsender/index.md +++ b/docs/architecture/c4/notifhir/printer/printsender/index.md @@ -10,6 +10,6 @@ owner: Ross Buggins author: Tom D'Roza diagrams: [c4code-printer-sender] events-raised: [external-supplier-api-letter-prepared] -events-consumed: [print-letter-analysed] +events-consumed: [pdf-analysed] c4type: code --- diff --git a/docs/collections/_diagrams/c4code-eventbus-eventbridge.md b/docs/collections/_diagrams/c4code-eventbus-eventbridge.md deleted file mode 100644 index e67d28f1..00000000 --- a/docs/collections/_diagrams/c4code-eventbus-eventbridge.md +++ /dev/null @@ -1,38 +0,0 @@ ---- - -title: c4code-eventbus-eventbridge -description: Event Bridge ---- - - -```mermaid -architecture-beta - - - service ms1(logos:aws-lambda)[Digital Letter Microservice 1] - service ms2(logos:aws-lambda)[Digital Letter Microservice 2] - service msn(logos:aws-lambda)[Digital Letter Microservice n] - - group eb(cloud)[Digital Letter Event Bridge] - service apigw(logos:aws-api-gateway)[Digital Letter Event Bridge] in eb - service eventBridge(logos:aws-eventbridge)[Digital Letter Event Bridge] in eb - - service event1(aws:res-amazon-eventbridge-event)[Event 1] - service event2(aws:res-amazon-eventbridge-event)[Event 2] - service eventn(aws:res-amazon-eventbridge-event)[Event n] - - junction jn1 - junction jn2 - - ms1:B -- T:jn1 - ms2:R -- L:jn1 - msn:T -- B:jn1 - jn1:R --> L:apigw - - apigw:R --> L:eventBridge - eventBridge:R -- L:jn2 - jn2:T --> B:event1 - jn2:R --> L:event2 - jn2:B --> T:eventn - -``` diff --git a/docs/collections/_diagrams/c4code-eventbus-timer.md b/docs/collections/_diagrams/c4code-eventbus-timer.md deleted file mode 100644 index a3cf229b..00000000 --- a/docs/collections/_diagrams/c4code-eventbus-timer.md +++ /dev/null @@ -1,19 +0,0 @@ ---- - -title: c4code-eventbus-timer -description: Event Bus Timer ---- - - -```mermaid -architecture-beta - service eventBridge(logos:aws-eventbridge)[Digital Letter Event Bridge] - group timer(cloud)[Event Bridge Scheduling] - service eventBridgeSchedule(aws:eventbridge-scheduler)[Timer Triggered] in timer - service timerExpired(aws:res-amazon-eventbridge-event)[TimerExpired] - - - eventBridge:R --> L:eventBridgeSchedule - eventBridgeSchedule:R --> L:timerExpired - -``` diff --git a/docs/collections/_diagrams/c4code-mesh-timer.md b/docs/collections/_diagrams/c4code-mesh-timer.md deleted file mode 100644 index 9f34e483..00000000 --- a/docs/collections/_diagrams/c4code-mesh-timer.md +++ /dev/null @@ -1,59 +0,0 @@ ---- - -title: c4code-mesh-timer - ---- - -```mermaid -architecture-beta - service timerexpired(aws:res-amazon-eventbridge-event)[TimerExpired] - - - group handler(cloud)[External Event Handler] - service sqs(logos:aws-sqs)[Callback Queue] in handler - service saveevent(logos:aws-lambda)[Timer Expired Handler] in handler - - group eventsource(cloud)[Event Sourcing] - service eventlog(logos:aws-dynamodb)[EventLog] in eventsource - service streamhandler(logos:aws-lambda)[Stream Handler] in eventsource - service eventsourcestream(aws:res-amazon-dynamodb-stream)[Changes] in eventsource - service sqsstream(logos:aws-sqs)[Events] in eventsource - service sns(logos:aws-sns)[Event Fan] in eventsource - - group eventraising(cloud)[Event Raising] - service sqschanges(logos:aws-sqs)[Changes Queue] in eventraising - service raise(logos:aws-lambda)[Event Raiser] in eventraising - - junction j1 - junction j2 - - group lasttriggeredprojection(cloud)[Last Triggered Time Projection] - service sqschangeslasttriggered(logos:aws-sqs)[Last Triggered] in lasttriggeredprojection - service lasttriggerlambda(logos:aws-lambda)[Last Triggered] in lasttriggeredprojection - service lasttriggeredprojectionstore(logos:aws-dynamodb)[Last Triggered Store] in lasttriggeredprojection - - - service meshtimerexpired(aws:res-amazon-eventbridge-event)[ScheuleRetrieveMeshFileListTimerExpired] - - timerexpired:R --> L:sqs - - sqs:R --> L:saveevent - - saveevent:R --> L:eventlog - - eventlog:B --> T:eventsourcestream - eventsourcestream:R -->L:streamhandler - streamhandler:R --> L:sqsstream - sqsstream:R --> L:sns - sns:B -- T:j1 - - j1:B -- T:j2 - j2:R --> L:sqschanges - sqschanges:R --> L:raise - raise:R --> L:meshtimerexpired - - - j1:R --> L:sqschangeslasttriggered - sqschangeslasttriggered:R --> L:lasttriggerlambda - lasttriggerlambda:R --> L:lasttriggeredprojectionstore -``` diff --git a/docs/collections/_diagrams/c4code-printer-analyser.md b/docs/collections/_diagrams/c4code-printer-analyser.md index ef468cc0..3980f6cf 100644 --- a/docs/collections/_diagrams/c4code-printer-analyser.md +++ b/docs/collections/_diagrams/c4code-printer-analyser.md @@ -6,17 +6,17 @@ title: c4code-printer-analyser ```mermaid architecture-beta - service letterSafe(aws:res-amazon-eventbridge-event)[PrintLetterSafe Event] + service fileSafe(aws:res-amazon-eventbridge-event)[FileSafe Event] service analyseQueue(logos:aws-sqs)[Analyse Queue] in printAnalyser service analyseLambda(logos:aws-lambda)[PrintAnalyser] in printAnalyser service safeBucket(logos:aws-s3)[SafeLetters] in printAnalyser - service letterAnalysed(aws:res-amazon-eventbridge-event)[PrintLetterAnalysed Event] + service pdfAnalysed(aws:res-amazon-eventbridge-event)[PDFAnalysed Event] group printAnalyser(cloud)[PrintAnalyser] - letterSafe:R --> L:analyseQueue + fileSafe:R --> L:analyseQueue analyseQueue:R --> L:analyseLambda safeBucket:B --> T:analyseLambda - analyseLambda:R --> L:letterAnalysed + analyseLambda:R --> L:pdfAnalysed ``` diff --git a/docs/collections/_diagrams/c4code-printer-scanner.md b/docs/collections/_diagrams/c4code-printer-scanner.md index ff57417d..29a3e765 100644 --- a/docs/collections/_diagrams/c4code-printer-scanner.md +++ b/docs/collections/_diagrams/c4code-printer-scanner.md @@ -1,27 +1,27 @@ --- -title: c4code-printer-scanner +title: c4code-file-scanner --- ```mermaid architecture-beta - group printScanner(cloud)[PrintScanner] + group fileScanner(cloud)[FileScanner] service itemDequeued(aws:res-amazon-eventbridge-event)[ItemDequeued Event] - service scannerQueue(logos:aws-sqs)[Scanner Queue] in printScanner - service scannerLambda(logos:aws-lambda)[PrintScanner] in printScanner - service moveLambda(logos:aws-lambda)[MoveLetters] in printScanner - service docRefBucket(logos:aws-s3)[DocumentReference] in printScanner - service unscannedBucket(logos:aws-s3)[UnscannedLetters] in printScanner - service quarantineBucket(logos:aws-s3)[QuarantinedLetters] in printScanner - service safeBucket(logos:aws-s3)[SafeLetters] in printScanner - service guardDuty(aws:arch-amazon-guardduty)[GuardDuty] in printScanner + service scannerQueue(logos:aws-sqs)[Scanner Queue] in fileScanner + service scannerLambda(logos:aws-lambda)[File Scanner] in fileScanner + service moveLambda(logos:aws-lambda)[Move Scanned Files] in fileScanner + service docRefBucket(logos:aws-s3)[DocumentReference] in fileScanner + service unscannedBucket(logos:aws-s3)[UnscannedFiles] in fileScanner + service quarantineBucket(logos:aws-s3)[QuarantinedFiles] in fileScanner + service safeBucket(logos:aws-s3)[SafeFiles] in fileScanner + service guardDuty(aws:arch-amazon-guardduty)[GuardDuty] in fileScanner service scanComplete(aws:res-amazon-eventbridge-event)[ScanResult Event] - service safeLetter(aws:res-amazon-eventbridge-event)[PrintLetterSafe Event] - service quarantinedLetter(aws:res-amazon-eventbridge-event)[PrintLetterQuarantined Event] - junction j1 in printScanner - junction j2 in printScanner - junction j3 in printScanner + service safeFile(aws:res-amazon-eventbridge-event)[FileSafe Event] + service quarantinedFile(aws:res-amazon-eventbridge-event)[FileQuarantined Event] + junction j1 in fileScanner + junction j2 in fileScanner + junction j3 in fileScanner itemDequeued:R --> L:scannerQueue docRefBucket:B --> T:scannerLambda @@ -35,7 +35,7 @@ architecture-beta j1:B -- T:j3 j2:R --> L:quarantineBucket j3:R --> L:safeBucket - quarantineBucket:R --> L:quarantinedLetter - safeBucket:R --> L:safeLetter + quarantineBucket:R --> L:quarantinedFile + safeBucket:R --> L:safeFile ``` diff --git a/docs/collections/_diagrams/c4code-printer-sender.md b/docs/collections/_diagrams/c4code-printer-sender.md index ac6ecad6..ed2b4d2e 100644 --- a/docs/collections/_diagrams/c4code-printer-sender.md +++ b/docs/collections/_diagrams/c4code-printer-sender.md @@ -7,13 +7,13 @@ title: c4code-printer-sender ```mermaid architecture-beta - service letterAnalysed(aws:res-amazon-eventbridge-event)[PrintLetterAnalysed Event] + service pdfAnalysed(aws:res-amazon-eventbridge-event)[PDFAnalysed Event] service printQueue(logos:aws-sqs)[PrintSender Queue] in printSender service printLambda(logos:aws-lambda)[PrintSender] in printSender service letterPrepared(aws:res-amazon-eventbridge-event)[letterPREPARED Event] group printSender(cloud)[PrintSender] - letterAnalysed:R --> L:printQueue + pdfAnalysed:R --> L:printQueue printQueue:R --> L:printLambda printLambda:R --> L:letterPrepared diff --git a/docs/collections/_diagrams/c4code-printer-sendtoqueue.md b/docs/collections/_diagrams/c4code-printer-sendtoqueue.md index 9592fc4c..d5f3f79e 100644 --- a/docs/collections/_diagrams/c4code-printer-sendtoqueue.md +++ b/docs/collections/_diagrams/c4code-printer-sendtoqueue.md @@ -10,12 +10,12 @@ title: c4code-printer-sendtoqueue service clientConfig(aws:res-aws-systems-manager-parameter-store)[Client Configuration] in queueAdder service createLambda(logos:aws-lambda)[CreateTTL] in queueAdder service queue(logos:aws-sqs)[SQS] in queueAdder - service storedEvent(aws:res-amazon-eventbridge-event)[MESHInboxMessageDownloaded event] - service scheduledEvent(aws:res-amazon-eventbridge-event) [ItemEnqueued event] + service downloadedEvent(aws:res-amazon-eventbridge-event)[MESHInboxMessageDownloaded event] + service enqueuedEvent(aws:res-amazon-eventbridge-event) [ItemEnqueued event] - storedEvent:R --> L:queue + downloadedEvent:R --> L:queue queue:R --> L:createLambda clientConfig:B --> T:createLambda - createLambda:R --> L:db - createLambda:B --> L:scheduledEvent + createLambda:R --> L:enqueuedEvent + createLambda:B --> T:db ``` diff --git a/docs/collections/_events/file-quarantined.md b/docs/collections/_events/file-quarantined.md new file mode 100644 index 00000000..43166dd1 --- /dev/null +++ b/docs/collections/_events/file-quarantined.md @@ -0,0 +1,10 @@ +--- +title: file-quarantined +type: uk.nhs.notify.digital.letters.file.quarantined.v1 +nice_name: FileQuarantined +service: Print Supplier Services +schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.file.quarantined.v1.schema.json +schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-file-quarantined-data.schema.json +--- + +This event is published when a file has been virus scanned and found to contain potentially harmful content, resulting in it being quarantined. diff --git a/docs/collections/_events/file-safe.md b/docs/collections/_events/file-safe.md new file mode 100644 index 00000000..f0d94f11 --- /dev/null +++ b/docs/collections/_events/file-safe.md @@ -0,0 +1,10 @@ +--- +title: file-safe +type: uk.nhs.notify.digital.letters.file.safe.v1 +nice_name: FileSafe +service: Print Supplier Services +schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.file.safe.v1.schema.json +schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-file-safe-data.schema.json +--- + +This event is published when a file has been virus scanned and found to be free of harmful content, allowing it to be safely sent to print. diff --git a/docs/collections/_events/print-letter-analysed.md b/docs/collections/_events/pdf-analysed.md similarity index 83% rename from docs/collections/_events/print-letter-analysed.md rename to docs/collections/_events/pdf-analysed.md index af40bc8c..79cb5918 100644 --- a/docs/collections/_events/print-letter-analysed.md +++ b/docs/collections/_events/pdf-analysed.md @@ -1,10 +1,10 @@ --- -title: print-letter-analysed +title: pdf-analysed type: uk.nhs.notify.digital.letters.print.letter.analysed.v1 nice_name: PrintLetterAnalysed service: Print Supplier Services -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 -schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.json +schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.pdf.analysed.v1.schema.json +schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-pdf-analysed-data.schema.json --- 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 hash of the file. This information can be used by the Print Supplier API to verify the integrity of the letter before it is printed. diff --git a/docs/collections/_events/print-letter-quarantined.md b/docs/collections/_events/print-letter-quarantined.md deleted file mode 100644 index b1a59e52..00000000 --- a/docs/collections/_events/print-letter-quarantined.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: print-letter-quarantined -type: uk.nhs.notify.digital.letters.print.letter.quarantined.v1 -nice_name: PrintLetterQuarantined -service: Print Supplier Services -schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.quarantined.v1.schema.json -schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-letter-quarantined-data.schema.json ---- - -This event is published when a PDF letter has been virus scanned and found to contain potentially harmful content, resulting in it being quarantined. diff --git a/docs/collections/_events/print-letter-safe.md b/docs/collections/_events/print-letter-safe.md deleted file mode 100644 index c2499dcc..00000000 --- a/docs/collections/_events/print-letter-safe.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: print-letter-safe -type: uk.nhs.notify.digital.letters.print.letter.safe.v1 -nice_name: PrintLetterSafe -service: Print Supplier Services -schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.safe.v1.schema.json -schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-letter-safe-data.schema.json ---- - -This event is published when a PDF letter has been virus scanned and found to be free of harmful content, allowing it to be safely sent to print. diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-safe-data.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-file-quarantined-data.schema.yaml similarity index 82% rename from src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-safe-data.schema.yaml rename to src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-file-quarantined-data.schema.yaml index ef169390..ff69f70e 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-safe-data.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-file-quarantined-data.schema.yaml @@ -1,6 +1,6 @@ $schema: https://json-schema.org/draft/2020-12/schema -title: PrintLetterSafe Data -description: Data payload of the PrintLetterSafe event +title: FileQuarantined Data +description: Data payload of the FileQuarantined event type: object additionalProperties: false properties: diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-quarantined-data.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-file-safe-data.schema.yaml similarity index 80% rename from src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-quarantined-data.schema.yaml rename to src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-file-safe-data.schema.yaml index 6c462804..23cc9689 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-quarantined-data.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-file-safe-data.schema.yaml @@ -1,6 +1,6 @@ $schema: https://json-schema.org/draft/2020-12/schema -title: PrintLetterQuarantined Data -description: Data payload of the PrintLetterQuarantined event +title: FileSafe Data +description: Data payload of the FileSafe event type: object additionalProperties: false properties: diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-pdf-analysed-data.schema.yaml similarity index 87% rename from src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml rename to src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-pdf-analysed-data.schema.yaml index 987c535a..f25dc485 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-letter-analysed-data.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-print-pdf-analysed-data.schema.yaml @@ -1,6 +1,6 @@ $schema: https://json-schema.org/draft/2020-12/schema -title: PrintLetterAnalysed Data -description: Data payload of the PrintLetterAnalysed event +title: PDFAnalysed Data +description: Data payload of the PDFAnalysed event type: object additionalProperties: false properties: diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.file.quarantined.v1.schema.yaml similarity index 66% rename from src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml rename to src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.file.quarantined.v1.schema.yaml index 5bf3c316..1d9e8b49 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.analysed.v1.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.file.quarantined.v1.schema.yaml @@ -1,12 +1,12 @@ $schema: https://json-schema.org/draft/2020-12/schema -title: PrintLetterAnalysed +title: FileQuarantined type: object allOf: - $ref: ../digital-letters-print-profile.schema.yaml properties: type: type: string - const: uk.nhs.notify.digital.letters.print.letter.analysed.v1 + const: uk.nhs.notify.digital.letters.print.file.quarantined.v1 description: Concrete versioned event type string for this event (.vN suffix). source: type: string @@ -14,9 +14,9 @@ properties: description: Event source for digital letters. dataschema: type: string - const: ../data/digital-letters-print-letter-analysed-data.schema.yaml + const: ../data/digital-letters-print-file-quarantined-data.schema.yaml description: Canonical URI of the event's data schema. examples: - - digital-letters-print-letter-analysed-data.schema.yaml + - digital-letters-print-file-quarantined-data.schema.yaml data: - $ref: ../data/digital-letters-print-letter-analysed-data.schema.yaml + $ref: ../data/digital-letters-print-file-quarantined-data.schema.yaml diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.quarantined.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.file.safe.v1.schema.yaml similarity index 64% rename from src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.quarantined.v1.schema.yaml rename to src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.file.safe.v1.schema.yaml index 5e5584bc..86811464 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.quarantined.v1.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.file.safe.v1.schema.yaml @@ -1,12 +1,12 @@ $schema: https://json-schema.org/draft/2020-12/schema -title: PrintLetterQuarantined +title: FileSafe type: object allOf: - $ref: ../digital-letters-print-profile.schema.yaml properties: type: type: string - const: uk.nhs.notify.digital.letters.print.letter.quarantined.v1 + const: uk.nhs.notify.digital.letters.print.file.safe.v1 description: Concrete versioned event type string for this event (.vN suffix). source: type: string @@ -14,9 +14,9 @@ properties: description: Event source for digital letters. dataschema: type: string - const: ../data/digital-letters-print-letter-quarantined-data.schema.yaml + const: ../data/digital-letters-print-file-safe-data.schema.yaml description: Canonical URI of the event's data schema. examples: - - digital-letters-print-letter-quarantined-data.schema.yaml + - digital-letters-print-file-safe-data.schema.yaml data: - $ref: ../data/digital-letters-print-letter-quarantined-data.schema.yaml + $ref: ../data/digital-letters-print-file-safe-data.schema.yaml diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.safe.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.pdf.analysed.v1.schema.yaml similarity index 67% rename from src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.safe.v1.schema.yaml rename to src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.pdf.analysed.v1.schema.yaml index d5ee80ac..54f1829f 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.letter.safe.v1.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.pdf.analysed.v1.schema.yaml @@ -1,12 +1,12 @@ $schema: https://json-schema.org/draft/2020-12/schema -title: PrintLetterSafe +title: PDFAnalysed type: object allOf: - $ref: ../digital-letters-print-profile.schema.yaml properties: type: type: string - const: uk.nhs.notify.digital.letters.print.letter.safe.v1 + const: uk.nhs.notify.digital.letters.print.pdf.analysed.v1 description: Concrete versioned event type string for this event (.vN suffix). source: type: string @@ -14,9 +14,9 @@ properties: description: Event source for digital letters. dataschema: type: string - const: ../data/digital-letters-print-letter-safe-data.schema.yaml + const: ../data/digital-letters-print-pdf-analysed-data.schema.yaml description: Canonical URI of the event's data schema. examples: - - digital-letters-print-letter-safe-data.schema.yaml + - digital-letters-pdf-analysed-data.schema.yaml data: - $ref: ../data/digital-letters-print-letter-safe-data.schema.yaml + $ref: ../data/digital-letters-print-pdf-analysed-data.schema.yaml From 9c22e36a5185a5b15c1c52f3088e5634d3d1cb7a Mon Sep 17 00:00:00 2001 From: "tom.droza2" Date: Wed, 7 Jan 2026 10:46:35 +0000 Subject: [PATCH 4/6] Renamed files for consistency --- .../{c4code-printer-scanner.md => c4code-file-scanner.md} | 0 .../{c4code-printer-sendtoqueue.md => c4code-queue-adder.md} | 0 ...{c4code-printer-removefromqueue.md => c4code-queue-manager.md} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename docs/collections/_diagrams/{c4code-printer-scanner.md => c4code-file-scanner.md} (100%) rename docs/collections/_diagrams/{c4code-printer-sendtoqueue.md => c4code-queue-adder.md} (100%) rename docs/collections/_diagrams/{c4code-printer-removefromqueue.md => c4code-queue-manager.md} (100%) diff --git a/docs/collections/_diagrams/c4code-printer-scanner.md b/docs/collections/_diagrams/c4code-file-scanner.md similarity index 100% rename from docs/collections/_diagrams/c4code-printer-scanner.md rename to docs/collections/_diagrams/c4code-file-scanner.md diff --git a/docs/collections/_diagrams/c4code-printer-sendtoqueue.md b/docs/collections/_diagrams/c4code-queue-adder.md similarity index 100% rename from docs/collections/_diagrams/c4code-printer-sendtoqueue.md rename to docs/collections/_diagrams/c4code-queue-adder.md diff --git a/docs/collections/_diagrams/c4code-printer-removefromqueue.md b/docs/collections/_diagrams/c4code-queue-manager.md similarity index 100% rename from docs/collections/_diagrams/c4code-printer-removefromqueue.md rename to docs/collections/_diagrams/c4code-queue-manager.md From 74ef10d61e2d55a045838df2332f0924106c3c3e Mon Sep 17 00:00:00 2001 From: "tom.droza2" Date: Wed, 7 Jan 2026 11:38:58 +0000 Subject: [PATCH 5/6] Fixed file references --- docs/collections/_events/file-quarantined.md | 6 +++--- docs/collections/_events/file-safe.md | 6 +++--- docs/collections/_events/pdf-analysed.md | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/collections/_events/file-quarantined.md b/docs/collections/_events/file-quarantined.md index 43166dd1..b3723f92 100644 --- a/docs/collections/_events/file-quarantined.md +++ b/docs/collections/_events/file-quarantined.md @@ -1,10 +1,10 @@ --- title: file-quarantined -type: uk.nhs.notify.digital.letters.file.quarantined.v1 +type: uk.nhs.notify.digital.letters.print.file.quarantined.v1 nice_name: FileQuarantined service: Print Supplier Services -schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.file.quarantined.v1.schema.json -schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-file-quarantined-data.schema.json +schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.file.quarantined.v1.schema.json +schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-file-quarantined-data.schema.json --- This event is published when a file has been virus scanned and found to contain potentially harmful content, resulting in it being quarantined. diff --git a/docs/collections/_events/file-safe.md b/docs/collections/_events/file-safe.md index f0d94f11..a02c64e3 100644 --- a/docs/collections/_events/file-safe.md +++ b/docs/collections/_events/file-safe.md @@ -1,10 +1,10 @@ --- title: file-safe -type: uk.nhs.notify.digital.letters.file.safe.v1 +type: uk.nhs.notify.digital.letters.print.file.safe.v1 nice_name: FileSafe service: Print Supplier Services -schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.file.safe.v1.schema.json -schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-file-safe-data.schema.json +schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.file.safe.v1.schema.json +schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-file-safe-data.schema.json --- This event is published when a file has been virus scanned and found to be free of harmful content, allowing it to be safely sent to print. diff --git a/docs/collections/_events/pdf-analysed.md b/docs/collections/_events/pdf-analysed.md index 79cb5918..f563d89e 100644 --- a/docs/collections/_events/pdf-analysed.md +++ b/docs/collections/_events/pdf-analysed.md @@ -1,10 +1,10 @@ --- title: pdf-analysed -type: uk.nhs.notify.digital.letters.print.letter.analysed.v1 +type: uk.nhs.notify.digital.letters.print.pdf.analysed.v1 nice_name: PrintLetterAnalysed service: Print Supplier Services -schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.pdf.analysed.v1.schema.json -schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-pdf-analysed-data.schema.json +schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.pdf.analysed.v1.schema.json +schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letters-print-pdf-analysed-data.schema.json --- 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 hash of the file. This information can be used by the Print Supplier API to verify the integrity of the letter before it is printed. From dbd3cd40908f2b5a6870d1d2ce8690989b54e690 Mon Sep 17 00:00:00 2001 From: "tom.droza2" Date: Wed, 7 Jan 2026 14:21:16 +0000 Subject: [PATCH 6/6] Removed old example events --- .../external-supplier-api-letter-printed.md | 10 -------- docs/collections/_events/print-printed.md | 10 -------- .../_events/viewer-digital-letter-read.md | 10 -------- ...gital.letters.print.printed.v1.schema.yaml | 24 ------------------- ....viewer.digital.letter.read.v1.schema.yaml | 23 ------------------ ....supplierapi.letter.printed.v1.schema.yaml | 24 ------------------- 6 files changed, 101 deletions(-) delete mode 100644 docs/collections/_events/external-supplier-api-letter-printed.md delete mode 100644 docs/collections/_events/print-printed.md delete mode 100644 docs/collections/_events/viewer-digital-letter-read.md delete mode 100644 src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.printed.v1.schema.yaml delete mode 100644 src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.viewer.digital.letter.read.v1.schema.yaml delete mode 100644 src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.supplierapi.letter.printed.v1.schema.yaml diff --git a/docs/collections/_events/external-supplier-api-letter-printed.md b/docs/collections/_events/external-supplier-api-letter-printed.md deleted file mode 100644 index 42bb90e2..00000000 --- a/docs/collections/_events/external-supplier-api-letter-printed.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: external-supplier-api-letter-printed -type: uk.nhs.notify.supplierapi.letter.printed.v1 -nice_name: EXTERNAL SupplierAPIPrintStatusUpdated -service: Shared Event Bus -schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.supplierapi.letter.printed.v1.schema.json -schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letter-base-data.schema.json ---- - -This is an event. diff --git a/docs/collections/_events/print-printed.md b/docs/collections/_events/print-printed.md deleted file mode 100644 index e2699896..00000000 --- a/docs/collections/_events/print-printed.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: print-printed -type: uk.nhs.notify.digital.letters.print.printed.v1 -nice_name: LetterPrinted -service: Print Supplier Services -schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.printed.v1.schema.json -schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letter-base-data.schema.json ---- - -This is an event. diff --git a/docs/collections/_events/viewer-digital-letter-read.md b/docs/collections/_events/viewer-digital-letter-read.md deleted file mode 100644 index 64caeaba..00000000 --- a/docs/collections/_events/viewer-digital-letter-read.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: viewer-digital-letter-read -type: uk.nhs.notify.digital.letters.viewer.digital.letter.read.v1 -nice_name: DigitalLetterRead -service: Viewer Services -schema_envelope: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.viewer.digital.letter.read.v1.schema.json -schema_data: https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10-draft/data/digital-letter-base-data.schema.json ---- - -This is an event. diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.printed.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.printed.v1.schema.yaml deleted file mode 100644 index 04e6561e..00000000 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.print.printed.v1.schema.yaml +++ /dev/null @@ -1,24 +0,0 @@ -$schema: https://json-schema.org/draft/2020-12/schema -title: PrintStatusUpdated -type: object -allOf: - - $ref: ../digital-letters-print-profile.schema.yaml -properties: - type: - type: string - const: uk.nhs.notify.digital.letters.print.printed.v1 - description: Concrete versioned event type string for this event (.vN suffix). - source: - type: string - pattern: ^/nhs/england/notify/(production|staging|development|uat)/(primary|secondary|dev-[0-9]+)/data-plane/digitalletters/print - description: Event source for digital letters. - - dataschema: - type: string - const: ../data/digital-letter-base-data.schema.yaml - description: Canonical URI of the event's data schema. - examples: - - digital-letter-base-data.schema.yaml - data: - $ref: ../data/digital-letter-base-data.schema.yaml - description: Example payload wrapper containing notify-payload. diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.viewer.digital.letter.read.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.viewer.digital.letter.read.v1.schema.yaml deleted file mode 100644 index 956bf628..00000000 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.viewer.digital.letter.read.v1.schema.yaml +++ /dev/null @@ -1,23 +0,0 @@ -$schema: https://json-schema.org/draft/2020-12/schema -title: DigitalLetterRead -type: object -allOf: - - $ref: ../digital-letters-viewer-profile.schema.yaml -properties: - type: - type: string - const: uk.nhs.notify.digital.letters.viewer.digital.letter.read.v1 - description: Concrete versioned event type string for this event (.vN suffix). - source: - type: string - pattern: ^/nhs/england/notify/(production|staging|development|uat)/(primary|secondary|dev-[0-9]+)/data-plane/digitalletters/viewer - description: Event source for digital letters. - - dataschema: - type: string - const: ../data/digital-letters-digital-letter-read-data.schema.yaml - description: Canonical URI of the event's data schema. - examples: - - digital-letters-digital-letter-read-data.schema.yaml - data: - $ref: ../data/digital-letters-digital-letter-read-data.schema.yaml diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.supplierapi.letter.printed.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.supplierapi.letter.printed.v1.schema.yaml deleted file mode 100644 index 5fa859ad..00000000 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.supplierapi.letter.printed.v1.schema.yaml +++ /dev/null @@ -1,24 +0,0 @@ -$schema: https://json-schema.org/draft/2020-12/schema -title: TEMP EXTERNAL SupplierAPIPrintStatusUpdated -type: object -allOf: - - $ref: ../supplierapi-profile.schema.yaml -properties: - type: - type: string - const: uk.nhs.notify.supplierapi.letter.printed.v1 - description: Concrete versioned event type string for this example event (.vN suffix). - source: - type: string - pattern: ^/nhs/england/notify/(production|staging|development|uat)/(primary|secondary|dev-[0-9]+)/data-plane/supplierapi - description: Event source for digital letters examples. - - dataschema: - type: string - const: ../data/digital-letter-base-data.schema.yaml - description: Canonical URI of the example event's data schema. - examples: - - digital-letter-base-data.schema.yaml - data: - $ref: ../data/digital-letter-base-data.schema.yaml - description: Example payload wrapper containing notify-payload.