{
  "format": "minctrl.process/v1",
  "graph": {
    "edges": [
      {
        "id": "e0___start____intake",
        "source": "__start__",
        "target": "intake"
      },
      {
        "id": "e1_intake__validity",
        "source": "intake",
        "target": "validity"
      },
      {
        "id": "e2_validity__followup",
        "label": "invalid / incomplete",
        "source": "validity",
        "target": "followup"
      },
      {
        "id": "e3_validity__assess-split",
        "label": "valid case",
        "source": "validity",
        "target": "assess-split"
      },
      {
        "id": "e4_followup__intake",
        "source": "followup",
        "target": "intake"
      },
      {
        "id": "e5_assess-split__code",
        "source": "assess-split",
        "target": "code"
      },
      {
        "id": "e6_assess-split__causality",
        "source": "assess-split",
        "target": "causality"
      },
      {
        "id": "e7_assess-split__clock",
        "source": "assess-split",
        "target": "clock"
      },
      {
        "id": "e8_code__assess-merge",
        "source": "code",
        "target": "assess-merge"
      },
      {
        "id": "e9_causality__assess-merge",
        "source": "causality",
        "target": "assess-merge"
      },
      {
        "id": "e10_clock__assess-merge",
        "source": "clock",
        "target": "assess-merge"
      },
      {
        "id": "e11_assess-merge__seriousness",
        "source": "assess-merge",
        "target": "seriousness"
      },
      {
        "id": "e12_seriousness__autolog",
        "label": "non-serious",
        "source": "seriousness",
        "target": "autolog"
      },
      {
        "id": "e13_seriousness__qppv-signoff",
        "label": "serious / expedited",
        "source": "seriousness",
        "target": "qppv-signoff"
      },
      {
        "id": "e14_qppv-signoff__causality",
        "label": "rejected — re-assess",
        "source": "qppv-signoff",
        "target": "causality"
      },
      {
        "id": "e15_qppv-signoff__submit",
        "label": "signed",
        "source": "qppv-signoff",
        "target": "submit"
      },
      {
        "id": "e16_autolog__monitor",
        "source": "autolog",
        "target": "monitor"
      },
      {
        "id": "e17_submit__monitor",
        "source": "submit",
        "target": "monitor"
      },
      {
        "id": "e18_monitor____end__",
        "source": "monitor",
        "target": "__end__"
      }
    ],
    "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": "Intake the adverse-event case (ICSR) from the source and capture reporter, product and event fields",
        "position": {
          "x": 0,
          "y": 120
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "icsr-intake",
          "ehr-fhir"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "validity",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Case valid & complete (identifiable patient, reporter, product, event)?",
        "position": {
          "x": 0,
          "y": 240
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "intake",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "followup",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Request follow-up from the source to obtain the missing minimum criteria, then re-intake",
        "position": {
          "x": 0,
          "y": 360
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "icsr-intake",
          "ehr-fhir"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "assess-split",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Run coding, causality and seriousness assessment concurrently on the valid case",
        "position": {
          "x": 0,
          "y": 480
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "coder",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "code",
        "interrupt_before": false,
        "kind": "agent",
        "label": "MedDRA-code the terms and de-duplicate against the safety database",
        "position": {
          "x": 0,
          "y": 600
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "meddra-code"
        ]
      },
      {
        "agent": "compliance",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "causality",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Assess drug-event causality",
        "position": {
          "x": 0,
          "y": 720
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "causality"
        ]
      },
      {
        "agent": "compliance",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "clock",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Triage seriousness / expectedness and start the 15-day expedited-reporting clock",
        "position": {
          "x": 0,
          "y": 840
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "causality"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "assess-merge",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Join the parallel assessment branches into a single case assessment",
        "position": {
          "x": 0,
          "y": 960
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "seriousness",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Serious / expedited-reportable case?",
        "position": {
          "x": 0,
          "y": 1080
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "monitor",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "autolog",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Auto-log the non-serious case to the safety database for periodic (PSUR) aggregation; no expedited report",
        "position": {
          "x": 0,
          "y": 1200
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "icsr-intake"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": "gate:qppv-signoff",
        "gateway": null,
        "human": "QPPV / drug-safety physician",
        "id": "qppv-signoff",
        "interrupt_before": true,
        "kind": "gate",
        "label": "Review the causality, seriousness and E2B report; sign or reject the case assessment",
        "position": {
          "x": 0,
          "y": 1320
        },
        "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": "Submit the safety report (E2B) to FAERS / EudraVigilance",
        "position": {
          "x": 0,
          "y": 1440
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": [
          "safety-report"
        ]
      },
      {
        "agent": "monitor",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "monitor",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Run signal detection and maintain the safety database",
        "position": {
          "x": 0,
          "y": 1560
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "icsr-intake"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "__end__",
        "interrupt_before": false,
        "kind": "terminal",
        "label": "Done",
        "position": {
          "x": 0,
          "y": 1680
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "terminal",
        "tools": []
      }
    ]
  },
  "hash": "5fe5eb84269d5d77edc36c8e89e4df569c5d3528b3d1702740ef801ab88120f8",
  "name": "Pharmacovigilance autopilot",
  "slug": "pharma",
  "source": "example",
  "version": null,
  "violations": []
}
