clean / centralize

This commit is contained in:
marcus hinz
2026-06-20 12:15:26 +02:00
parent 0b159bcefc
commit 6b6f49e820
19 changed files with 1469 additions and 27 deletions
+362
View File
@@ -0,0 +1,362 @@
<mxfile host="Electron" pages="3">
<diagram id="as-is" name="AS-IS (heute)">
<mxGraphModel dx="1171" dy="929" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="1000" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="title" parent="1" style="text;html=1;align=left;fontStyle=1;fontSize=16;" value="AS-IS — heutige Landschaft (MVZ Ludwigsburg)" vertex="1">
<mxGeometry height="26" width="700" x="60" y="20" as="geometry" />
</mxCell>
<mxCell id="abm" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;" value="AB+M&#xa;Order Entry&#xa;30% Musterschein / 70% digital" vertex="1">
<mxGeometry height="72" width="190" x="80" y="70" as="geometry" />
</mxCell>
<mxCell id="laccess" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;" value="LabAccess&#xa;(Order Entry I)" vertex="1">
<mxGeometry height="72" width="160" x="300" y="70" as="geometry" />
</mxCell>
<mxCell id="mdn" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;" value="MDN&#xa;(Order Entry II)" vertex="1">
<mxGeometry height="72" width="160" x="500" y="70" as="geometry" />
</mxCell>
<mxCell id="bottleneck" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F8CECC;strokeColor=#B85450;fontStyle=2;" value="Nur 1 LDT an CLAB · AB+M muss zuerst abgeschlossen sein → Engpass" vertex="1">
<mxGeometry height="34" width="580" x="80" y="180" as="geometry" />
</mxCell>
<mxCell id="clab" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#666666;fontStyle=1;fontSize=14;" value="CLAB&#xa;(LIS)" vertex="1">
<mxGeometry height="90" width="240" x="300" y="320" as="geometry" />
</mxCell>
<mxCell id="ipu" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;" value="Sysmex&#xa;Extended IPU" vertex="1">
<mxGeometry height="60" width="150" x="60" y="520" as="geometry" />
</mxCell>
<mxCell id="myla" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;" value="Myla → Maestria" vertex="1">
<mxGeometry height="60" width="150" x="230" y="520" as="geometry" />
</mxCell>
<mxCell id="labops" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;" value="LabOps" vertex="1">
<mxGeometry height="60" width="120" x="400" y="520" as="geometry" />
</mxCell>
<mxCell id="mwrest" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;" value="Desuri (bidir.) · Biomerieux&#xa;Liason · Firetransfer&#xa;(je eigene P2P-Anbindung)" vertex="1">
<mxGeometry height="60" width="240" x="540" y="520" as="geometry" />
</mxCell>
<mxCell id="devs" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;" value="Geräte: Sysmex-Straße · Atras SL (1)/(2) Schüttgutsortierer · Analyzer" vertex="1">
<mxGeometry height="50" width="720" x="60" y="650" as="geometry" />
</mxCell>
<mxCell id="sdgroup" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#B85450;dashed=1;verticalAlign=top;fontStyle=1;fontColor=#B85450;" value="Stammdaten-Inseln — Doppelpflege" vertex="1">
<mxGeometry height="210" width="380" x="820" y="300" as="geometry" />
</mxCell>
<mxCell id="sd1" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F8CECC;strokeColor=#B85450;" value="CLAB-Stammdaten&#xa;(selbst generiert)" vertex="1">
<mxGeometry height="55" width="160" x="840" y="340" as="geometry" />
</mxCell>
<mxCell id="sd2" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F8CECC;strokeColor=#B85450;" value="SinaCRM&#xa;(separate Pflege z. LIS)" vertex="1">
<mxGeometry height="55" width="160" x="1020" y="340" as="geometry" />
</mxCell>
<mxCell id="sd3" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F8CECC;strokeColor=#B85450;" value="MySQL&#xa;(Support-Requests)" vertex="1">
<mxGeometry height="55" width="160" x="840" y="430" as="geometry" />
</mxCell>
<mxCell id="sd4" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F8CECC;strokeColor=#B85450;" value="OTS / Znooni&#xa;(Leistungsverzeichnis)" vertex="1">
<mxGeometry height="55" width="160" x="1020" y="430" as="geometry" />
</mxCell>
<mxCell id="rgroup" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#82B366;dashed=1;verticalAlign=top;fontStyle=1;fontColor=#82B366;" value="Roche / Analytics" vertex="1">
<mxGeometry height="260" width="380" x="820" y="650" as="geometry" />
</mxCell>
<mxCell id="ccm" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;" value="2 × CCM" vertex="1">
<mxGeometry height="50" width="120" x="840" y="690" as="geometry" />
</mxCell>
<mxCell id="navify" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;" value="Roche Navify LabOps&#xa;(auch Archivierung)" vertex="1">
<mxGeometry height="50" width="200" x="980" y="690" as="geometry" />
</mxCell>
<mxCell id="ranalytics" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;" value="Monitoring von Roche · Analytics (CCM-Daten)&#xa;Roche Integrater · Average of normals" vertex="1">
<mxGeometry height="60" width="340" x="840" y="760" as="geometry" />
</mxCell>
<mxCell id="sinabi" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;" value="SinaBI (PowerBI)" vertex="1">
<mxGeometry height="45" width="160" x="840" y="840" as="geometry" />
</mxCell>
<mxCell id="e1" edge="1" parent="1" source="abm" style="endArrow=classic;html=1;fontStyle=2;" target="clab" value="LDT">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e2" edge="1" parent="1" source="laccess" style="endArrow=classic;html=1;" target="clab">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e3" edge="1" parent="1" source="mdn" style="endArrow=classic;html=1;" target="clab">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e4" edge="1" parent="1" source="ipu" style="endArrow=classic;html=1;" target="clab">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e5" edge="1" parent="1" source="myla" style="endArrow=classic;html=1;" target="clab">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e6" edge="1" parent="1" source="labops" style="endArrow=classic;html=1;" target="clab">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e7" edge="1" parent="1" source="mwrest" style="endArrow=classic;startArrow=classic;html=1;" target="clab">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e8" edge="1" parent="1" source="devs" style="endArrow=classic;html=1;dashed=1;" target="ipu">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e9" edge="1" parent="1" source="devs" style="endArrow=classic;html=1;dashed=1;" target="mwrest">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="r1" edge="1" parent="1" source="clab" style="endArrow=classic;startArrow=classic;html=1;dashed=1;strokeColor=#B85450;fontColor=#B85450;fontStyle=2;" target="sd2" value="separate Pflege">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="r2" edge="1" parent="1" source="clab" style="endArrow=classic;startArrow=classic;html=1;dashed=1;strokeColor=#B85450;" target="sd1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="r3" edge="1" parent="1" source="sd2" style="endArrow=classic;startArrow=classic;html=1;dashed=1;strokeColor=#B85450;fontColor=#B85450;fontStyle=2;" target="sd4" value="manuelles Mapping (Links)">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="r4" edge="1" parent="1" source="sd1" style="endArrow=classic;startArrow=classic;html=1;dashed=1;strokeColor=#B85450;fontColor=#B85450;fontStyle=2;" target="sd3" value="Doppelpflege">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="g1" edge="1" parent="1" source="clab" style="endArrow=classic;startArrow=classic;html=1;" target="navify">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="g2" edge="1" parent="1" source="ccm" style="endArrow=classic;html=1;" target="ranalytics">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="to-be" name="TO-BE (Ziel)">
<mxGraphModel dx="1240" dy="1964" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1000" pageHeight="980" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="t_title" parent="1" style="text;html=1;align=left;fontStyle=1;fontSize=16;" value="TO-BE — Integration Server mit Single Point of Truth" vertex="1">
<mxGeometry height="26" width="700" x="60" y="-30" as="geometry" />
</mxCell>
<mxCell id="leg_t" parent="1" style="text;html=1;align=left;fontStyle=1;" value="Legend" vertex="1">
<mxGeometry height="20" width="70" x="60" y="18" as="geometry" />
</mxCell>
<mxCell id="leg_e" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="own" vertex="1">
<mxGeometry height="24" width="80" x="125" y="16" as="geometry" />
</mxCell>
<mxCell id="leg_f" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;" value="third-party" vertex="1">
<mxGeometry height="24" width="90" x="215" y="16" as="geometry" />
</mxCell>
<mxCell id="gC0" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="LabAccess&#xa;(Order Entry I)" vertex="1">
<mxGeometry height="64" width="170" x="120" y="90" as="geometry" />
</mxCell>
<mxCell id="gB0" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="MDN&#xa;(Order Entry II)" vertex="1">
<mxGeometry height="64" width="170" x="400" y="90" as="geometry" />
</mxCell>
<mxCell id="gA0" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="AB+M&#xa;(Order Entry)" vertex="1">
<mxGeometry height="64" width="170" x="700" y="90" as="geometry" />
</mxCell>
<mxCell id="srv" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F8F8F8;strokeColor=#999999;verticalAlign=top;fontStyle=1;fontSize=14;" value="Integration Server" vertex="1">
<mxGeometry height="420" width="850" x="60" y="250" as="geometry" />
</mxCell>
<mxCell id="absC" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Abstraction" vertex="1">
<mxGeometry height="44" width="170" x="120" y="300" as="geometry" />
</mxCell>
<mxCell id="absB" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Abstraction" vertex="1">
<mxGeometry height="44" width="170" x="400" y="300" as="geometry" />
</mxCell>
<mxCell id="absA" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Order Abstraction" vertex="1">
<mxGeometry height="44" width="170" x="700" y="300" as="geometry" />
</mxCell>
<mxCell id="db" parent="1" style="shape=cylinder3;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;boundedLbl=1;backgroundOutline=1;size=14;verticalAlign=middle;" value="&lt;b&gt;Single Point of Truth&lt;/b&gt;&lt;br&gt;canonical store&lt;br&gt;konsolidiert: Stammdaten · SinaCRM · Leistungsverzeichnis (OTS/Znooni)" vertex="1">
<mxGeometry height="115" width="350" x="320" y="390" as="geometry" />
</mxCell>
<mxCell id="zd" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#EAF0FB;strokeColor=#6C8EBF;verticalAlign=top;fontStyle=1;" value="Central Services" vertex="1">
<mxGeometry height="105" width="560" x="210" y="545" as="geometry" />
</mxCell>
<mxCell id="zd1" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Routing Engine" vertex="1">
<mxGeometry height="50" width="160" x="230" y="580" as="geometry" />
</mxCell>
<mxCell id="zd2" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Mapping / Transformation" vertex="1">
<mxGeometry height="50" width="180" x="405" y="580" as="geometry" />
</mxCell>
<mxCell id="zd3" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Monitoring&#xa;(Roche Analytics)" vertex="1">
<mxGeometry height="50" width="150" x="600" y="580" as="geometry" />
</mxCell>
<mxCell id="lis" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="LIS (CLAB)" vertex="1">
<mxGeometry height="60" width="170" x="120" y="730" as="geometry" />
</mxCell>
<mxCell id="ga" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Device Abstraction&#xa;Sysmex IPU · Myla/Maestria · LabOps · Desuri · Liason" vertex="1">
<mxGeometry height="70" width="210" x="680" y="725" as="geometry" />
</mxCell>
<mxCell id="ger" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="Devices&#xa;Sysmex-Straße · Atras SL · Analyzer" vertex="1">
<mxGeometry height="60" width="210" x="680" y="850" as="geometry" />
</mxCell>
<mxCell id="eC" edge="1" parent="1" source="gC0" style="endArrow=classic;html=1;rounded=0;" target="absC">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="eB" edge="1" parent="1" source="gB0" style="endArrow=classic;html=1;rounded=0;" target="absB">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="eA" edge="1" parent="1" source="gA0" style="endArrow=classic;html=1;rounded=0;" target="absA">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nC" edge="1" parent="1" source="absC" style="endArrow=classic;html=1;rounded=0;" target="db">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nB" edge="1" parent="1" source="absB" style="endArrow=classic;html=1;rounded=0;fontStyle=2;" target="db" value="normalize">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nA" edge="1" parent="1" source="absA" style="endArrow=classic;html=1;rounded=0;" target="db">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="uni" edge="1" parent="1" source="db" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;" target="zd" value="canonical">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="bLis" edge="1" parent="1" source="lis" style="edgeStyle=orthogonalEdgeStyle;endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.15;entryY=1;entryDx=0;entryDy=0;" target="db" value="direct DB access">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="bGa" edge="1" parent="1" source="ga" style="edgeStyle=orthogonalEdgeStyle;endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.85;entryY=1;entryDx=0;entryDy=0;" target="db" value="direct DB access">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="bGaGer" edge="1" parent="1" source="ga" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" target="ger">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="bLisGer" edge="1" parent="1" source="lis" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" target="ger">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="event-sourcing" name="TO-BE (Event Sourcing)">
<mxGraphModel dx="1240" dy="984" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1320" pageHeight="900" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="es_title" parent="1" style="text;html=1;align=left;fontStyle=1;fontSize=16;" value="TO-BE (Variante) — Event-Sourcing-Integration" vertex="1">
<mxGeometry height="26" width="700" x="60" y="10" as="geometry" />
</mxCell>
<mxCell id="es_leg" parent="1" style="text;html=1;align=left;fontStyle=1;" value="Legend" vertex="1">
<mxGeometry height="20" width="60" x="60" y="46" as="geometry" />
</mxCell>
<mxCell id="es_leg_own" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="own" vertex="1">
<mxGeometry height="24" width="80" x="120" y="44" as="geometry" />
</mxCell>
<mxCell id="es_leg_tp" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;" value="third-party" vertex="1">
<mxGeometry height="24" width="90" x="210" y="44" as="geometry" />
</mxCell>
<mxCell id="es_leg_ev" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;" value="Event-Store" vertex="1">
<mxGeometry height="24" width="110" x="310" y="44" as="geometry" />
</mxCell>
<mxCell id="es_abm" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="AB+M&#xa;(Order Entry)" vertex="1">
<mxGeometry height="56" width="160" x="70" y="90" as="geometry" />
</mxCell>
<mxCell id="es_lac" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="LabAccess&#xa;(Order Entry I)" vertex="1">
<mxGeometry height="56" width="160" x="260" y="90" as="geometry" />
</mxCell>
<mxCell id="es_mdn" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="MDN&#xa;(Order Entry II)" vertex="1">
<mxGeometry height="56" width="160" x="450" y="90" as="geometry" />
</mxCell>
<mxCell id="es_mds" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="Stammdaten-Quellen&#xa;SinaCRM · OTS/Znooni" vertex="1">
<mxGeometry height="56" width="230" x="650" y="90" as="geometry" />
</mxCell>
<mxCell id="es_adabm" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Adapter&#xa;(Order → Event)" vertex="1">
<mxGeometry height="44" width="160" x="70" y="190" as="geometry" />
</mxCell>
<mxCell id="es_adlac" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Adapter&#xa;(Order → Event)" vertex="1">
<mxGeometry height="44" width="160" x="260" y="190" as="geometry" />
</mxCell>
<mxCell id="es_admdn" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Adapter&#xa;(Order → Event)" vertex="1">
<mxGeometry height="44" width="160" x="450" y="190" as="geometry" />
</mxCell>
<mxCell id="es_admds" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Adapter&#xa;(MasterData → Event)" vertex="1">
<mxGeometry height="44" width="230" x="650" y="190" as="geometry" />
</mxCell>
<mxCell id="es_store" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;fontStyle=1;fontSize=13;" value="Event Store — append-only Event-Log&#xa;kanonische Wahrheit · Projektionen abgeleitet · Replay-fähig" vertex="1">
<mxGeometry height="70" width="940" x="70" y="290" as="geometry" />
</mxCell>
<mxCell id="es_pgrp" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#EAF0FB;strokeColor=#6C8EBF;verticalAlign=top;fontStyle=1;" value="Event-Prozessoren" vertex="1">
<mxGeometry height="170" width="200" x="1050" y="270" as="geometry" />
</mxCell>
<mxCell id="es_pmap" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Mapping / Transformation" vertex="1">
<mxGeometry height="46" width="160" x="1070" y="305" as="geometry" />
</mxCell>
<mxCell id="es_proute" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Routing Engine" vertex="1">
<mxGeometry height="46" width="160" x="1070" y="370" as="geometry" />
</mxCell>
<mxCell id="es_jgrp" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6C8EBF;dashed=1;verticalAlign=top;fontStyle=1;" value="Projektionen / Read-Models" vertex="1">
<mxGeometry height="125" width="470" x="620" y="420" as="geometry" />
</mxCell>
<mxCell id="es_jorder" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#EAF0FB;strokeColor=#6C8EBF;" value="Auftrags-Status" vertex="1">
<mxGeometry height="58" width="130" x="640" y="458" as="geometry" />
</mxCell>
<mxCell id="es_jmd" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#EAF0FB;strokeColor=#6C8EBF;" value="Konsolidierte Stammdaten&#xa;(Single Point of Truth)" vertex="1">
<mxGeometry height="58" width="170" x="785" y="458" as="geometry" />
</mxCell>
<mxCell id="es_jcat" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#EAF0FB;strokeColor=#6C8EBF;" value="Leistungs-&#xa;verzeichnis" vertex="1">
<mxGeometry height="58" width="110" x="965" y="458" as="geometry" />
</mxCell>
<mxCell id="es_mon" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;" value="Monitoring (Roche Analytics)" vertex="1">
<mxGeometry height="50" width="250" x="640" y="575" as="geometry" />
</mxCell>
<mxCell id="es_adclab" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="CLAB-Adapter" vertex="1">
<mxGeometry height="50" width="160" x="90" y="430" as="geometry" />
</mxCell>
<mxCell id="es_addev" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Device-Adapter&#xa;Sysmex IPU · Myla/Maestria · LabOps · Desuri · Liason" vertex="1">
<mxGeometry height="50" width="280" x="290" y="430" as="geometry" />
</mxCell>
<mxCell id="es_clab" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="CLAB (LIS)" vertex="1">
<mxGeometry height="56" width="160" x="90" y="560" as="geometry" />
</mxCell>
<mxCell id="es_dev" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontStyle=1;" value="Devices&#xa;Sysmex-Straße · Atras SL · Analyzer" vertex="1">
<mxGeometry height="56" width="280" x="290" y="560" as="geometry" />
</mxCell>
<mxCell id="es_e_abm" edge="1" parent="1" source="es_abm" style="endArrow=classic;html=1;rounded=0;" target="es_adabm">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_e_lac" edge="1" parent="1" source="es_lac" style="endArrow=classic;html=1;rounded=0;" target="es_adlac">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_e_mdn" edge="1" parent="1" source="es_mdn" style="endArrow=classic;html=1;rounded=0;" target="es_admdn">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_e_mds" edge="1" parent="1" source="es_mds" style="endArrow=classic;html=1;rounded=0;" target="es_admds">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_p_abm" edge="1" parent="1" source="es_adabm" style="endArrow=classic;html=1;rounded=0;fontStyle=2;" target="es_store" value="publish">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_p_lac" edge="1" parent="1" source="es_adlac" style="endArrow=classic;html=1;rounded=0;" target="es_store">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_p_mdn" edge="1" parent="1" source="es_admdn" style="endArrow=classic;html=1;rounded=0;" target="es_store">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_p_mds" edge="1" parent="1" source="es_admds" style="endArrow=classic;html=1;rounded=0;fontStyle=2;" target="es_store" value="publish">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_x_map" edge="1" parent="1" source="es_store" style="endArrow=classic;startArrow=classic;html=1;rounded=0;dashed=1;fontStyle=2;" target="es_pmap" value="consume / publish">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_x_route" edge="1" parent="1" source="es_store" style="endArrow=classic;startArrow=classic;html=1;rounded=0;dashed=1;" target="es_proute">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_s_order" edge="1" parent="1" source="es_store" style="endArrow=classic;html=1;rounded=0;fontStyle=2;" target="es_jorder" value="subscribe">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_s_md" edge="1" parent="1" source="es_store" style="endArrow=classic;html=1;rounded=0;" target="es_jmd">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_s_cat" edge="1" parent="1" source="es_store" style="endArrow=classic;html=1;rounded=0;" target="es_jcat">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_s_mon" edge="1" parent="1" source="es_store" style="edgeStyle=orthogonalEdgeStyle;endArrow=classic;html=1;rounded=0;fontStyle=2;" target="es_mon" value="subscribe">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="600" y="468" />
<mxPoint x="610" y="468" />
<mxPoint x="610" y="600" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="es_x_clab" edge="1" parent="1" source="es_store" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;" target="es_adclab" value="publish / subscribe">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_x_dev" edge="1" parent="1" source="es_store" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" target="es_addev">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_n_clab" edge="1" parent="1" source="es_adclab" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;" target="es_clab" value="LDT / natives Protokoll">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="es_n_dev" edge="1" parent="1" source="es_addev" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;" target="es_dev" value="natives Protokoll">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>