<mxfile host="app.diagrams.net" type="device">
  <diagram name="SD stock and flow" id="sdflow">
    <mxGraphModel dx="900" dy="640" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="900" pageHeight="560" math="0" shadow="0">
      <root>
        <mxCell id="0"/>
        <mxCell id="1" parent="0"/>
        <mxCell id="t" value="System-dynamics (services) layer: referral-queue stock and flow" style="text;html=1;fontSize=16;fontStyle=1;align=center;" vertex="1" parent="1"><mxGeometry x="120" y="8" width="660" height="24" as="geometry"/></mxCell>

        <mxCell id="src" value="Distressed patients&lt;br&gt;(Q &amp;lt; distress threshold)" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=11;" vertex="1" parent="1"><mxGeometry x="40" y="106" width="155" height="86" as="geometry"/></mxCell>
        <mxCell id="vin" value="" style="rhombus;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#d79b00;" vertex="1" parent="1"><mxGeometry x="234" y="138" width="22" height="22" as="geometry"/></mxCell>
        <mxCell id="stock" value="&lt;b&gt;Referral queue  Wq&lt;/b&gt;&lt;br&gt;(persons waiting)&lt;br&gt;&lt;i&gt;integrated stock&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=12;verticalAlign=middle;" vertex="1" parent="1"><mxGeometry x="300" y="100" width="190" height="98" as="geometry"/></mxCell>
        <mxCell id="vout" value="" style="rhombus;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#d79b00;" vertex="1" parent="1"><mxGeometry x="540" y="138" width="22" height="22" as="geometry"/></mxCell>
        <mxCell id="snk" value="Served /&lt;br&gt;discharged" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#999999;fontSize=11;" vertex="1" parent="1"><mxGeometry x="610" y="106" width="140" height="86" as="geometry"/></mxCell>

        <mxCell id="ein" value="inflow: referral demand (A-&gt;S, N-&gt;S)" style="endArrow=block;html=1;strokeWidth=3;strokeColor=#d79b00;fontSize=10;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="src" target="stock"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="eout" value="outflow: served = min(Wq, Cpsy)" style="endArrow=block;html=1;strokeWidth=3;strokeColor=#d79b00;fontSize=10;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="stock" target="snk"><mxGeometry relative="1" as="geometry"/></mxCell>

        <mxCell id="cap" value="Service capacity&lt;br&gt;Cpsy ~ 8 / month  [assumption]" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=10;" vertex="1" parent="1"><mxGeometry x="470" y="244" width="180" height="48" as="geometry"/></mxCell>
        <mxCell id="ecap" value="caps outflow" style="endArrow=open;dashed=1;html=1;fontSize=9;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="cap" target="vout"><mxGeometry relative="1" as="geometry"/></mxCell>

        <mxCell id="avail" value="Service availability&lt;br&gt;= served / max(demand, 1)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=10;" vertex="1" parent="1"><mxGeometry x="470" y="322" width="195" height="48" as="geometry"/></mxCell>
        <mxCell id="eserv" value="" style="endArrow=open;dashed=1;html=1;" edge="1" parent="1" source="vout" target="avail"><mxGeometry relative="1" as="geometry"/></mxCell>

        <mxCell id="macro" value="Population macro-stressor&lt;br&gt;m = alpha * max(0, poor-fraction - 0.1)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=10;" vertex="1" parent="1"><mxGeometry x="60" y="322" width="245" height="48" as="geometry"/></mxCell>

        <mxCell id="pat" value="&lt;b&gt;Patient psychological wellbeing (Psi)&lt;/b&gt;&lt;br&gt;stress = m * (1 - availability)   [S-&gt;A]" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=11;" vertex="1" parent="1"><mxGeometry x="290" y="432" width="310" height="60" as="geometry"/></mxCell>

        <mxCell id="em" value="+  low service =&gt; more stress" style="endArrow=open;html=1;dashed=1;fontSize=9;strokeColor=#9673a6;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="macro" target="pat"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="ea" value="-  more availability =&gt; less stress" style="endArrow=open;html=1;dashed=1;fontSize=9;strokeColor=#9673a6;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="avail" target="pat"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="ep" value="+ more distress =&gt; more referrals" style="endArrow=open;html=1;dashed=1;fontSize=9;strokeColor=#9673a6;labelBackgroundColor=#ffffff;exitX=0;exitY=0.5;entryX=0.5;entryY=1;" edge="1" parent="1" source="pat" target="src"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="110" y="462"/></Array></mxGeometry></mxCell>
        <mxCell id="epm" value="poor-fraction" style="endArrow=open;html=1;dashed=1;fontSize=9;strokeColor=#9673a6;labelBackgroundColor=#ffffff;exitX=0.2;exitY=0;entryX=0.7;entryY=1;" edge="1" parent="1" source="pat" target="macro"><mxGeometry relative="1" as="geometry"/></mxCell>

        <mxCell id="B1" value="B&lt;br&gt;backlog" style="text;html=1;fontSize=12;fontStyle=2;fontColor=#7a5300;align=center;" vertex="1" parent="1"><mxGeometry x="390" y="206" width="60" height="34" as="geometry"/></mxCell>
        <mxCell id="R1" value="R&lt;br&gt;overload&lt;br&gt;feedback" style="text;html=1;fontSize=12;fontStyle=2;fontColor=#7a2a2a;align=center;" vertex="1" parent="1"><mxGeometry x="300" y="374" width="90" height="48" as="geometry"/></mxCell>

        <mxCell id="note" value="Near-dormant at baseline (poor-fraction barely exceeds 0.1 and capacity is ample); the R (overload) loop activates only when demand outruns capacity, i.e. under stress scenarios. Capacity and alpha are flagged assumptions." style="text;html=1;fontSize=9.5;align=left;fontColor=#555555;" vertex="1" parent="1"><mxGeometry x="40" y="508" width="820" height="40" as="geometry"/></mxCell>
      </root>
    </mxGraphModel>
  </diagram>
