Skip to content

Instantly share code, notes, and snippets.

@theotheo
Last active March 18, 2026 18:40
Show Gist options
  • Select an option

  • Save theotheo/74b4fb06641bcf46c41551c9389c98d5 to your computer and use it in GitHub Desktop.

Select an option

Save theotheo/74b4fb06641bcf46c41551c9389c98d5 to your computer and use it in GitHub Desktop.
BloodGPT Hourglass Pipeline Diagram
<mxGraphModel dx="1200" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="1200" pageHeight="800" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<!-- Title -->
<mxCell id="title" value="BloodGPT B2B Pipeline" style="text;html=1;fontSize=20;fontStyle=1;fontColor=#37474F;align=center;verticalAlign=bottom;" vertex="1" parent="1">
<mxGeometry x="100" y="0" width="400" height="36" as="geometry"/>
</mxCell>
<!-- Top: Unstructured data + format -->
<mxCell id="top_label" value="Unstructured data" style="text;html=1;fontSize=11;fontColor=#78909C;fontStyle=2;align=center;verticalAlign=bottom;" vertex="1" parent="1">
<mxGeometry x="150" y="36" width="300" height="16" as="geometry"/>
</mxCell>
<mxCell id="top_format" value="PDF, image" style="text;html=1;fontSize=10;fontColor=#9E9E9E;fontStyle=0;align=left;verticalAlign=bottom;" vertex="1" parent="1">
<mxGeometry x="530" y="36" width="100" height="16" as="geometry"/>
</mxCell>
<!-- Phase: RECOGNITION (vertical) -->
<mxCell id="pr" value="RECOGNITION" style="text;html=1;fontSize=12;fontStyle=1;fontColor=#1565C0;align=center;verticalAlign=middle;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="-55" y="151" width="200" height="24" as="geometry"/>
</mxCell>
<!-- Layer 1: Inputs -->
<mxCell id="l1" value="&lt;b&gt;PDF&lt;/b&gt; · &lt;b&gt;IMG&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#BBDEFB;strokeColor=#1565C0;strokeWidth=1.5;fontSize=13;fontColor=#0D47A1;shadow=0;arcSize=10;" vertex="1" parent="1">
<mxGeometry x="80" y="54" width="440" height="42" as="geometry"/>
</mxCell>
<!-- Layer 2: Recognition -->
<mxCell id="l2" value="Lab Results Recognition" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#BBDEFB;strokeColor=#1565C0;strokeWidth=1.5;fontSize=11;fontColor=#0D47A1;shadow=0;arcSize=10;" vertex="1" parent="1">
<mxGeometry x="115" y="100" width="370" height="42" as="geometry"/>
</mxCell>
<!-- Layer 3: Context Recognition -->
<mxCell id="l3" value="Medical Context Recognition" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#BBDEFB;strokeColor=#1565C0;strokeWidth=1.5;fontSize=11;fontColor=#0D47A1;shadow=0;arcSize=10;" vertex="1" parent="1">
<mxGeometry x="150" y="146" width="300" height="42" as="geometry"/>
</mxCell>
<!-- Layer 4: Code Assignment -->
<mxCell id="l4" value="Code Assignment (LOINC)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#BBDEFB;strokeColor=#1565C0;strokeWidth=1.5;fontSize=11;fontColor=#0D47A1;shadow=0;arcSize=10;" vertex="1" parent="1">
<mxGeometry x="185" y="192" width="230" height="42" as="geometry"/>
</mxCell>
<!-- Layer 5: Range Assignment -->
<mxCell id="l5" value="Range Assignment" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#BBDEFB;strokeColor=#1565C0;strokeWidth=1.5;fontSize=11;fontColor=#0D47A1;shadow=0;arcSize=10;" vertex="1" parent="1">
<mxGeometry x="215" y="238" width="170" height="42" as="geometry"/>
</mxCell>
<!-- Arrow down -->
<mxCell id="arr1" value="&#x25BC;" style="text;html=1;fontSize=12;fontColor=#BDBDBD;align=center;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="285" y="282" width="30" height="14" as="geometry"/>
</mxCell>
<!-- Middle: Structured data + format -->
<mxCell id="mid_label" value="Structured data" style="text;html=1;fontSize=11;fontColor=#2E7D32;fontStyle=2;align=center;verticalAlign=bottom;" vertex="1" parent="1">
<mxGeometry x="150" y="296" width="300" height="14" as="geometry"/>
</mxCell>
<mxCell id="mid_format" value="FHIR R4" style="text;html=1;fontSize=10;fontColor=#2E7D32;fontStyle=1;align=left;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="530" y="298" width="100" height="48" as="geometry"/>
</mxCell>
<!-- FHIR Waist -->
<mxCell id="fhir" value="&lt;b&gt;FHIR R4&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#A5D6A7;strokeColor=#2E7D32;strokeWidth=2.5;fontSize=14;fontColor=#1B5E20;shadow=1;arcSize=14;" vertex="1" parent="1">
<mxGeometry x="235" y="312" width="130" height="48" as="geometry"/>
</mxCell>
<!-- Arrow down -->
<mxCell id="arr2" value="&#x25BC;" style="text;html=1;fontSize=12;fontColor=#BDBDBD;align=center;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="285" y="362" width="30" height="14" as="geometry"/>
</mxCell>
<!-- Phase: ENRICHMENT (vertical) -->
<mxCell id="pp" value="ENRICHMENT" style="text;html=1;fontSize=12;fontStyle=1;fontColor=#E65100;align=center;verticalAlign=middle;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="-55" y="448" width="200" height="24" as="geometry"/>
</mxCell>
<!-- Layer 7: Interpretation -->
<mxCell id="l7" value="Interpretation" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=1.5;fontSize=11;fontColor=#BF360C;shadow=0;arcSize=10;" vertex="1" parent="1">
<mxGeometry x="215" y="378" width="170" height="42" as="geometry"/>
</mxCell>
<!-- Layer 8: Enrichments -->
<mxCell id="l8" value="Overview · Panels · Trends" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=1.5;fontSize=11;fontColor=#BF360C;shadow=0;arcSize=10;" vertex="1" parent="1">
<mxGeometry x="150" y="424" width="300" height="42" as="geometry"/>
</mxCell>
<!-- Layer 9: Follow-up -->
<mxCell id="l9" value="Follow-up / Next Steps" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=1.5;fontSize=11;fontColor=#BF360C;shadow=0;arcSize=10;" vertex="1" parent="1">
<mxGeometry x="115" y="470" width="370" height="42" as="geometry"/>
</mxCell>
<!-- Layer 10: Report -->
<mxCell id="l10" value="&lt;b&gt;Report&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=1.5;fontSize=13;fontColor=#BF360C;shadow=0;arcSize=10;" vertex="1" parent="1">
<mxGeometry x="80" y="516" width="440" height="42" as="geometry"/>
</mxCell>
<!-- Bottom: Unstructured data + format -->
<mxCell id="bottom_label" value="Unstructured data" style="text;html=1;fontSize=11;fontColor=#78909C;fontStyle=2;align=center;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="150" y="560" width="300" height="16" as="geometry"/>
</mxCell>
<mxCell id="bottom_format" value="PDF, HTML" style="text;html=1;fontSize=10;fontColor=#9E9E9E;fontStyle=0;align=left;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="530" y="560" width="100" height="16" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment