@@ -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