1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
blocks use line.radius=10, line.type=none, text.color=white;
blocks use imargin=20;
defcolor b1 ="#0062B4", b2="#0082F0", b3="#93CEFF";
use margin=5;
box SU: Medical Light Function (MU) [color=b1, width=next];
below +20 boxcol SCF: [color=lgray+50, width=800, content.x=left] {
blocks use color=b3;
around MH+SRH box a2: \md(10)Study scope [label.align=right];
join a2 [line.type=dashed, fill.color=gray+60];
box MH: Bingo Handler\n+Resource Polinator\n(or Medical Unit Coordinator) [size=180,80];
below +50 box SUS: MU Selection;
below +50 box SRH: Medical Request\nHandling function [width=MH, height=80] {
box:PEF (areas) [color=b2, imargin=4];
}
rightof +80 box Auth: Policy\nfunctions [ymiddle=SRH@bottom];
below SRH+40 box Exposure: Exposure [color=b3, xpos=SRH];
}
below +50 box Client: Medical Client (external) [color=b2, xpos=SCF];
box SPF: Medical\nProcessing\nFunction [color=b2, top=SCF] {
box:PEF (privacy) [color=b3, imargin=4];
}
box AI: AI/ML functions [color=b3, ymiddle=SCF@mtop-10, xmiddle=SU@right];
arrows use text.size.normal=10, text.bgcolor=none;
arrows use routing.arrow_distance=30, routing=manhattan;
SCF.MH->SU [label.pos=right, label.align=80]
: Injection configuration
and medical measurement request;
SCF.SRH->SCF.SUS [label.pos=left]: Medical\nMeasurement\nRequest;
SUS->SCF.MH [label.pos=left]: Medical\nMeasurement\nRequest;
Exposure<-SCF.SRH [label.pos=right]: Medical\nResult;
Exposure->SCF.SRH [label.pos=left]: Medical\nRequest;
Client<-Exposure [label.pos=right]: Medical\nResult;
Exposure<-Client [label.pos=left, routing=vertical]: Medical\nRequest;
SCF.SRH<->SCF.Auth: Policy fetch\n(areas) [routing=horizontal];
Exposure<->SCF.Auth: Authorization check [routing=manhattan];
SCF.Auth<->SPF@s: Policy fetch (privacy);
SPF<-SCF.SRH: Configuration of SPF;
SPF->SCF.SRH:Processed/predicted medical results;
SU->SPF: Raw data;
|