Skip to content

Commit 1ce0f68

Browse files
authored
CCM-12274: Updated sequence diagram following recent decisions (#30)
1 parent f77001d commit 1ce0f68

File tree

1 file changed

+17
-21
lines changed

1 file changed

+17
-21
lines changed

docs/diagrams/digital-letters-sequence.md

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,35 +13,32 @@ author: Tom D'Roza
1313

1414
## Questions
1515

16-
- 1. Should we validate the CommunicationRequest schema?
17-
- 2. (&14) This would result in two separate PDS hits
18-
- 3. Should Notify virus check the payload given that files >10MB don't go to PDM/NDR
19-
- 7. When does Notify delete its local copy?
20-
- 11. Duration and interval of polling
21-
- 21. Can NHSApp read callback go to notify-letters when the message request originated from notify-core?
16+
1. When does Notify delete its local copy?
17+
2. Duration and interval of polling
18+
3. Can NHSApp read callback go to notify-letters when the message request originated from notify-core?
19+
20+
## Decisions
21+
22+
1. Out of scope for MVP: Virus checking of PDF received from Trust
23+
2. Don't check `CommunicationRequest` filesize. Attempt to upload all `CommunicationRequest`s to PDM. Those exceeding APIM size limit will fail.
24+
3. No PDS check by Digital Letters component of Date-of-Death, S-flag, RFR codes. Rely on Trusts having performed these checks.
2225

2326
```mermaid
2427
2528
sequenceDiagram
2629
actor trust as Trust
2730
participant notify-letters as Notify: Digital Letters
31+
participant pdm as PDM
32+
participant ndr as NDR
2833
participant notify-core as Notify: Core
2934
participant notify-supplier as Notify: Supplier API
3035
participant pds as PDS
3136
participant nhsapp as NHSApp
32-
participant pdm as PDM
33-
participant ndr as NDR
3437
35-
autonumber
38+
3639
trust -> notify-letters: MESH (CommunicationRequest)
37-
notify-letters -> notify-letters: validate(schema, pdf)?
38-
notify-letters -> notify-letters: virus-check?
39-
opt Optionally check PDS
40-
notify-letters ->> pds: GetPatient (NHSNumber)
41-
pds -->> notify-letters: 200 OK (Patient)
42-
notify-letters -> notify-letters: validate(death,sflag, rfr)
43-
end
4440
notify-letters ->> notify-letters: Store CommunicationRequest (S3)
41+
notify-letters ->> notify-letters: Create SendLetter TTL
4542
notify-letters ->> pdm: POST /CommunicationRequest
4643
activate pdm
4744
pdm -) ndr: SFTP
@@ -51,7 +48,7 @@ sequenceDiagram
5148
notify-letters ->> pdm: GET /CommunicationRequest/<id>
5249
pdm ->> notify-letters: 200 OK (CommunicationRequest)
5350
end
54-
rect rgb(204, 223, 241)
51+
rect rgba(5, 26, 46, 1)
5552
note over notify-letters,nhsapp: Existing Notify behaviour
5653
notify-letters ->> notify-core: post /v1/messages (NHSApp)
5754
activate notify-core
@@ -66,12 +63,11 @@ sequenceDiagram
6663
deactivate notify-core
6764
end
6865
69-
notify-letters ->> notify-letters: Create SendLetter TTL
7066
alt Letter is read in NHS App
7167
nhsapp ->> notify-letters: Callback(status: read)
72-
notify-letters ->> notify-letters: Delete TTL
73-
else Letter is not read after fallback wait time
68+
notify-letters ->> notify-letters: Delete SendLetterTTL
69+
else Read receipt not received within print expiry time
7470
notify-letters ->> notify-letters: SendLetter TTL expires
75-
notify-letters ->> notify-supplier: SendLetter(PDF)
71+
notify-letters ->> notify-supplier: SendLetter Event
7672
end
7773
```

0 commit comments

Comments
 (0)