{
  "format": "minctrl.process/v1",
  "graph": {
    "edges": [
      {
        "id": "e0___start____intake",
        "source": "__start__",
        "target": "intake"
      },
      {
        "id": "e1_intake__code",
        "source": "intake",
        "target": "code"
      },
      {
        "id": "e2_code__scrub",
        "source": "code",
        "target": "scrub"
      },
      {
        "id": "e3_scrub__ncci",
        "source": "scrub",
        "target": "ncci"
      },
      {
        "id": "e4_scrub__necessity",
        "source": "scrub",
        "target": "necessity"
      },
      {
        "id": "e5_ncci__merge",
        "source": "ncci",
        "target": "merge"
      },
      {
        "id": "e6_necessity__merge",
        "source": "necessity",
        "target": "merge"
      },
      {
        "id": "e7_merge__triage",
        "source": "merge",
        "target": "triage"
      },
      {
        "id": "e8_triage__code",
        "label": "edits fail / needs recode",
        "source": "triage",
        "target": "code"
      },
      {
        "id": "e9_triage__autoclear",
        "label": "clean & above confidence floor",
        "source": "triage",
        "target": "autoclear"
      },
      {
        "id": "e10_triage__signoff",
        "label": "below floor / FCA-high pattern",
        "source": "triage",
        "target": "signoff"
      },
      {
        "id": "e11_autoclear__signoff",
        "source": "autoclear",
        "target": "signoff"
      },
      {
        "id": "e12_signoff__submit",
        "label": "coder approves",
        "source": "signoff",
        "target": "submit"
      },
      {
        "id": "e13_signoff__code",
        "label": "coder rejects — re-code",
        "source": "signoff",
        "target": "code"
      },
      {
        "id": "e14_submit__monitor",
        "source": "submit",
        "target": "monitor"
      },
      {
        "id": "e15_monitor__disposition",
        "source": "monitor",
        "target": "disposition"
      },
      {
        "id": "e16_disposition__code",
        "label": "denied / overpaid — rework",
        "source": "disposition",
        "target": "code"
      }
    ],
    "nodes": [
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "__start__",
        "interrupt_before": false,
        "kind": "terminal",
        "label": "Start",
        "position": {
          "x": 0,
          "y": 0
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "terminal",
        "tools": []
      },
      {
        "agent": "intake",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "intake",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Pull the clinical note from the EHR",
        "position": {
          "x": 0,
          "y": 120
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "ehr-fhir",
          "ocr"
        ]
      },
      {
        "agent": "coder",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "code",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Assign ICD-10 / CPT codes with the supporting note span (rework target for failed scrubs, coder rejects and denials)",
        "position": {
          "x": 0,
          "y": 240
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "code-sets"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "scrub",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Run compliance scrubs in parallel",
        "position": {
          "x": 0,
          "y": 360
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "compliance",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "ncci",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Run NCCI / MUE bundling and unit edits against the code set",
        "position": {
          "x": 0,
          "y": 480
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "ncci-mue"
        ]
      },
      {
        "agent": "compliance",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "necessity",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Check medical-necessity / payer rules and run the upcoding guardrail, scoring FCA risk and coder confidence",
        "position": {
          "x": 0,
          "y": 600
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "payer-rules"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "merge",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Join the scrub results",
        "position": {
          "x": 0,
          "y": 720
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "triage",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Scrub clean, above confidence floor, and no FCA-high pattern?",
        "position": {
          "x": 0,
          "y": 840
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "coder",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "autoclear",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Clean claim: reconcile codes against the payer fee schedule and stage the 837 for release — a reversible, in-policy hold",
        "position": {
          "x": 0,
          "y": 960
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "payer-rules"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": "gate:coding-signoff",
        "gateway": null,
        "human": "CPC / CCS certified coder",
        "id": "signoff",
        "interrupt_before": true,
        "kind": "gate",
        "label": "A certified coder signs off below the confidence floor or on any FCA-high pattern, batch-approves the clean queue, or sends it back to be re-coded",
        "position": {
          "x": 0,
          "y": 1080
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": []
      },
      {
        "agent": "submit",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "submit",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Build and submit the 837 claim",
        "position": {
          "x": 0,
          "y": 1200
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": [
          "clearinghouse"
        ]
      },
      {
        "agent": "monitor",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "monitor",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Track denials and refund overpayments (60-day rule)",
        "position": {
          "x": 0,
          "y": 1320
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "clearinghouse:fetch-835"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "disposition",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Paid clean, or denied / overpaid and needs rework?",
        "position": {
          "x": 0,
          "y": 1440
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "__end__",
        "interrupt_before": false,
        "kind": "terminal",
        "label": "Done",
        "position": {
          "x": 0,
          "y": 1560
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "terminal",
        "tools": []
      }
    ]
  },
  "hash": "d50d0aaf1b8e1afca16c1266d59daa69c7ea5957d435054ca578e5cfb861594e",
  "name": "Medical-coding autopilot",
  "slug": "rcm",
  "source": "example",
  "version": null,
  "violations": []
}
