Files
limbach/integration-server.drawio
marcus hinz 93bb19abf0 initial
2026-06-20 14:40:33 +02:00

475 lines
38 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<mxfile host="Electron" pages="4">
<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="107" width="470" x="751" y="457" 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="771" y="489" 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="916" y="489" 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="1096" y="489" 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="603" y="566" 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="720" y="468" />
</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>
<diagram id="event-driven" name="TO-BE (Empfehlung)">
<mxGraphModel dx="1240" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="1000" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="m_title" parent="1" style="text;html=1;align=left;fontStyle=1;fontSize=16;" value="TO-BE (Empfehlung) — Canonical Store als System of Record + Integration über Events" vertex="1">
<mxGeometry height="26" width="900" x="60" y="10" as="geometry" />
</mxCell>
<mxCell id="m_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="m_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="m_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="m_note" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;dashed=1;fontStyle=2;align=left;spacingLeft=8;" value="Unterschied zu Seite 2: kein direkter DB-Zugriff — Integration ausschließlich über Events.&#xa;Unterschied zu Seite 3: Store ist zustandsbasiertes System of Record, kein append-only Event-Log." vertex="1">
<mxGeometry height="60" width="420" x="700" y="80" as="geometry" />
</mxCell>
<mxCell id="m_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="170" x="80" y="90" as="geometry" />
</mxCell>
<mxCell id="m_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="170" x="290" y="90" as="geometry" />
</mxCell>
<mxCell id="m_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="170" x="500" y="90" as="geometry" />
</mxCell>
<mxCell id="m_adlac" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Adapter" vertex="1">
<mxGeometry height="40" width="170" x="80" y="185" as="geometry" />
</mxCell>
<mxCell id="m_admdn" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Adapter" vertex="1">
<mxGeometry height="40" width="170" x="290" y="185" as="geometry" />
</mxCell>
<mxCell id="m_adabm" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Adapter" vertex="1">
<mxGeometry height="40" width="170" x="500" y="185" as="geometry" />
</mxCell>
<mxCell id="m_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="360" width="1080" x="60" y="270" as="geometry" />
</mxCell>
<mxCell id="m_bus" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;fontStyle=1;fontSize=13;" value="Event Bus — publish / subscribe" vertex="1">
<mxGeometry height="50" width="1020" x="90" y="320" as="geometry" />
</mxCell>
<mxCell id="m_route" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Routing Engine" vertex="1">
<mxGeometry height="50" width="170" x="100" y="430" as="geometry" />
</mxCell>
<mxCell id="m_map" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Mapping / Transformation" vertex="1">
<mxGeometry height="50" width="190" x="300" y="430" as="geometry" />
</mxCell>
<mxCell id="m_mon" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="Monitoring&#xa;(Roche Analytics)" vertex="1">
<mxGeometry height="50" width="170" x="520" y="430" as="geometry" />
</mxCell>
<mxCell id="m_store" 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 · System of Record&lt;br&gt;Stammdaten · SinaCRM · Leistungsverzeichnis (OTS/Znooni)" vertex="1">
<mxGeometry height="150" width="320" x="760" y="410" as="geometry" />
</mxCell>
<mxCell id="m_adclab" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;" value="CLAB-Adapter" vertex="1">
<mxGeometry height="50" width="170" x="120" y="700" as="geometry" />
</mxCell>
<mxCell id="m_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="320" x="360" y="700" as="geometry" />
</mxCell>
<mxCell id="m_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="170" x="120" y="800" as="geometry" />
</mxCell>
<mxCell id="m_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="320" x="360" y="800" as="geometry" />
</mxCell>
<mxCell id="m_e_lac" edge="1" parent="1" source="m_lac" style="endArrow=classic;html=1;rounded=0;" target="m_adlac">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_e_mdn" edge="1" parent="1" source="m_mdn" style="endArrow=classic;html=1;rounded=0;" target="m_admdn">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_e_abm" edge="1" parent="1" source="m_abm" style="endArrow=classic;html=1;rounded=0;" target="m_adabm">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_b_lac" edge="1" parent="1" source="m_adlac" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;" target="m_bus" value="publish / subscribe">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_b_mdn" edge="1" parent="1" source="m_admdn" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" target="m_bus">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_b_abm" edge="1" parent="1" source="m_adabm" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" target="m_bus">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_b_route" edge="1" parent="1" source="m_bus" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;" target="m_route" value="consume / publish">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_b_map" edge="1" parent="1" source="m_bus" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" target="m_map">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_b_mon" edge="1" parent="1" source="m_bus" style="endArrow=classic;html=1;rounded=0;fontStyle=2;" target="m_mon" value="subscribe">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_b_store" edge="1" parent="1" source="m_bus" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;" target="m_store" value="Events → State / Read">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_b_clab" edge="1" parent="1" source="m_bus" style="edgeStyle=orthogonalEdgeStyle;endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;exitX=0.05;exitY=1;exitDx=0;exitDy=0;" target="m_adclab" value="publish / subscribe">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_b_dev" edge="1" parent="1" source="m_bus" style="edgeStyle=orthogonalEdgeStyle;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.25;exitY=1;exitDx=0;exitDy=0;" target="m_addev">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_n_clab" edge="1" parent="1" source="m_adclab" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;" target="m_clab" value="LDT / natives Protokoll">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="m_n_dev" edge="1" parent="1" source="m_addev" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontStyle=2;" target="m_dev" value="natives Protokoll">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>