Skip to content

Commit e17fbf7

Browse files
Merge pull request #22 from NHSDigital/rossbugginsnhs/2025-10-08/002-arch-docs
Rossbugginsnhs/2025 10 08/002 arch docs
2 parents e5f2527 + add974b commit e17fbf7

File tree

2 files changed

+45
-29
lines changed

2 files changed

+45
-29
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
# Notify default owners
44
* @NHSDigital/nhs-notify-digital-letters
5+
/docs/
56

67
/.github/ @NHSDigital/nhs-notify-digital-letters-admins
78
*.code-workspace @NHSDigital/nhs-notify-digital-letters-admins

docs/architecture/c4/index.md

Lines changed: 44 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -12,47 +12,62 @@ author: Ross Buggins
1212

1313
```mermaid
1414
C4Context
15-
title System Context diagram for Internet Banking System
16-
Enterprise_Boundary(b0, "BankBoundary0") {
17-
Person(customerA, "Banking Customer A", "A customer of the bank, with personal bank accounts.")
18-
Person(customerB, "Banking Customer B")
19-
Person_Ext(customerC, "Banking Customer C", "desc")
15+
title System Context diagram for NHS Notify Digital Letters
16+
Person(citizen01, "Citizen")
2017
21-
Person(customerD, "Banking Customer D", "A customer of the bank, <br/> with personal bank accounts.")
18+
Enterprise_Boundary(b1, "NHS in England") {
19+
Enterprise_Boundary(b3, "NHS Trust in England") {
20+
System_Ext(tie01, "TIE")
21+
}
2222
23-
System(SystemAA, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")
23+
Enterprise_Boundary(b0, "NHS England") {
2424
25-
Enterprise_Boundary(b1, "BankBoundary") {
25+
Enterprise_Boundary(nhse01, "Core Services"){
26+
System_Ext(pdm01, "PDM", "PDM - NHS Health Lake")
27+
SystemDb_Ext(ndr01, "NDR", "NDR - NHS Document Store")
28+
}
29+
30+
Enterprise_Boundary(nhse03, "Spine Services"){
31+
System_Ext(pds01, "PDS")
32+
System_Ext(mesh01, "Mesh")
33+
}
2634
27-
SystemDb_Ext(SystemE, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")
35+
Enterprise_Boundary(nhse04, "NHS Login"){
36+
System_Ext(login01, "NHS Login")
37+
}
38+
39+
Enterprise_Boundary(nhse02, "NHS App"){
40+
System_Ext(nhsapp03, "NHS App", "Full App")
41+
System_Ext(nhsapp01, "NHS App Messaging", "Inbox")
42+
System_Ext(nhsapp02, "Digital Post Viewer", "Digital Viewing PDF")
43+
}
2844
29-
System_Boundary(b2, "BankBoundary2") {
30-
System(SystemA, "Banking System A")
31-
System(SystemB, "Banking System B", "A system of the bank, with personal bank accounts. next line.")
32-
}
3345
34-
System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.")
35-
SystemDb(SystemD, "Banking System D Database", "A system of the bank, with personal bank accounts.")
46+
Enterprise_Boundary(notify01, "NHS Notify") {
47+
System(notify02, "NotiFHIR")
48+
System(notify03, "Core")
49+
System(notify04, "Event Bus")
50+
System(notify05, "Reporting")
51+
System(notify06, "Suppliers")
3652
37-
Boundary(b3, "BankBoundary3", "boundary") {
38-
SystemQueue(SystemF, "Banking System F Queue", "A system of the bank.")
39-
SystemQueue_Ext(SystemG, "Banking System G Queue", "A system of the bank, with personal bank accounts.")
40-
}
4153
}
4254
}
55+
}
56+
57+
System_Ext(print01, "Print Suplier")
58+
System_Ext(sms01, "SMS Supplier")
59+
60+
Rel(tie01, mesh01, "Submits File", "MESH")
61+
Rel(mesh01, notify02, "Retrieve File", "MESH")
62+
63+
Rel(print01, citizen01, "Send Letter", "Snail Mail")
64+
Rel(nhsapp01, citizen01, "Send App Message", "NHSApp Message")
65+
Rel(sms01, citizen01, "Send SMS", "SMS")
66+
67+
Rel(nhsapp03, login01, "Login", "auth")
4368
44-
BiRel(customerA, SystemAA, "Uses")
45-
BiRel(SystemAA, SystemE, "Uses")
46-
Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")
47-
Rel(SystemC, customerA, "Sends e-mails to")
4869
49-
UpdateElementStyle(customerA, $fontColor="red", $bgColor="grey", $borderColor="red")
50-
UpdateRelStyle(customerA, SystemAA, $textColor="blue", $lineColor="blue", $offsetX="5")
51-
UpdateRelStyle(SystemAA, SystemE, $textColor="blue", $lineColor="blue", $offsetY="-10")
52-
UpdateRelStyle(SystemAA, SystemC, $textColor="blue", $lineColor="blue", $offsetY="-40", $offsetX="-50")
53-
UpdateRelStyle(SystemC, customerA, $textColor="red", $lineColor="red", $offsetX="-50", $offsetY="20")
5470
55-
UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")
5671
5772
5873

0 commit comments

Comments
 (0)