MAGENT

Emergency · LIVE

C-DIVA (Bell)

C-DIVA

Sum four caller-assigned Bell 2023 C-DIVA integers (0-2) and return the published total (max 8) and Figure 1 low/medium/high risk band.

LIVE $0.005 USDC GET /api/calc/c_diva

Markdown: /docs/c-diva.md · Canonical: https://magentlab.com/docs/c-diva

Not a medical device. Not a diagnosis, dose, or listing recommendation.

What it computes

Sum four caller-assigned Bell 2023 C-DIVA integers (0-2) and return the published total (max 8) and Figure 1 low/medium/high risk band.

When to use

When an agent has already assigned Bell 2023 Figure 1 domain integers (visual appearance, palpable sites, history of difficult access, clinical factors) and needs the published C-DIVA total and risk band, not an IV insertion or escalation order.

When not to use

  • Not a medical device and not a vascular-access, ultrasound, CVC, IO, or treatment order.
  • Each of the four domains is a caller-assigned integer 0, 1, or 2 from Bell 2023 Figure 1. magent does not examine the patient, inspect veins, or take a history.
  • Returned bands are Bell 2023 Figure 1 risk groups (low 0-3, medium 4-5, high 6-8), not orders to obtain IV access, consult a vascular access specialist, or place a CVC or IO.

Formula

C-DIVA = visual_appearance + palpable_sites + history_of_difficult_access + clinical_factors; each caller-assigned 0-2 (Bell 2023 Figure 1); max 8

Citation

Title
Validation and Reliability of the Comprehensive Difficult IV Access Scoring Tool
Authors
Bell JA, Campos C, Moureau N
Source
Int J Nurs Health Care Res. 2023;6:1414
DOI
10.29011/2688-9501.101414

Worked example

All domains 0

Given: clinical_factors=0history_of_difficult_access=0palpable_sites=0visual_appearance=0

  1. visual_appearance 0 + palpable_sites 0 + history_of_difficult_access 0 + clinical_factors 0
  2. Score = 0 (max 8); c_diva_band low

Two domains at 2 (medium band)

Given: clinical_factors=0history_of_difficult_access=0palpable_sites=2visual_appearance=2

  1. visual_appearance 2 + palpable_sites 2; remaining domains 0
  2. Score = 4 (max 8); c_diva_band medium (Bell 2023 Figure 1 4-5)

All domains 2

Given: clinical_factors=2history_of_difficult_access=2palpable_sites=2visual_appearance=2

  1. visual_appearance 2 + palpable_sites 2 + history_of_difficult_access 2 + clinical_factors 2
  2. Score = 8 (max 8); c_diva_band high (Bell 2023 Figure 1 6-8)

Also searched as

  • C-DIVA
  • Comprehensive Difficult IV Access
  • C-DIVA score
  • difficult IV access
  • difficult intravenous access score
  • Bell C-DIVA
  • DIVA scoring tool
  • C DIVA

Try

Opens the live endpoint. Unpaid browser requests show the paywall; agents should send Accept: application/json.

/api/calc/c_diva?visual_appearance=0&palpable_sites=0&history_of_difficult_access=0&clinical_factors=0

Full URL: https://api.magentlab.com/api/calc/c_diva?visual_appearance=0&palpable_sites=0&history_of_difficult_access=0&clinical_factors=0

Call

Expect HTTP 402 until you retry with PAYMENT-SIGNATURE. Incomplete query params return HTTP 400 before any quote or charge.

curl -i -H "Accept: application/json" "https://api.magentlab.com/api/calc/c_diva?visual_appearance=0&palpable_sites=0&history_of_difficult_access=0&clinical_factors=0"

Parameters

Name Type Required Description
visual_appearance integer required Caller-assigned Bell 2023 Figure 1 visual appearance (integer 0-2): 0 many visible veins; 1 few visible veins; 2 no visible veins. magent does not examine the patient.
palpable_sites integer required Caller-assigned Bell 2023 Figure 1 palpable sites (integer 0-2): 0 many palpable veins; 1 few palpable veins; 2 no palpable veins. magent does not examine the patient.
history_of_difficult_access integer required Caller-assigned Bell 2023 Figure 1 history of difficult access (integer 0-2): 0 no difficulty; 1 reported difficulty or recent missed attempts; 2 history of major difficulty as evidenced by previous central lines or PICCs. magent does not take a history.
clinical_factors integer required Caller-assigned Bell 2023 Figure 1 clinical factors (integer 0-2): 0 not applicable; 1 pediatric patients or urgent conditions (ESI 3-4); 2 comorbidities or emergency conditions (ESI 1-2). magent does not assign ESI or examine the patient.

Bulk (POST)

POST the same path with a JSON items array. The first item is the GET unit; each additional item is $0.002. Invalid items return HTTP 400 before settlement.

POST /api/calc/c_diva Max 25 unit_amount + extra_item_amount * (n - 1) extra $0.002 PREVIEW

  • 1 to 25 items. Each item uses the same keys as the GET query parameters.
  • POST of 1 item costs the same as GET. Lists longer than 25: chunk into multiple POSTs. Extra items still execute; do not pad dummy rows.
  • The first invalid item fails the whole request (index in the 400 JSON). You are not charged.
  • HTTP 200 is {count, path, items}. Each items[i] is the GET 200 body for that row.
  • Catalog misses (empty matches, found=false) stay paid 200s inside that slot.
  • x402 resource URL is this path plus n and body_sha256. Browsers that prefer text/html get the same paywall as GET; Pay retries POST with the same items.

Example request (fixture)

{
  "items": [
    {
      "clinical_factors": "0",
      "history_of_difficult_access": "0",
      "palpable_sites": "0",
      "visual_appearance": "0"
    },
    {
      "clinical_factors": "0",
      "history_of_difficult_access": "0",
      "palpable_sites": "0",
      "visual_appearance": "0"
    }
  ]
}

Open bulk paywall →

Opens a two-item fixture on the API host. Unpaid browsers get the same MetaMask paywall as GET; Pay retries POST with those items.

Example 200 (fixture)

{
  "count": 2,
  "path": "/api/calc/c_diva",
  "items": [
    {
      "components": [
        {
          "value": 0,
          "factor": "visual_appearance",
          "points": 0,
          "present": true
        },
        {
          "value": 0,
          "factor": "palpable_sites",
          "points": 0,
          "present": true
        },
        {
          "value": 0,
          "factor": "history_of_difficult_access",
          "points": 0,
          "present": true
        },
        {
          "value": 0,
          "factor": "clinical_factors",
          "points": 0,
          "present": true
        }
      ],
      "disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
      "citation": {
        "authors": "Bell JA, Campos C, Moureau N",
        "doi": "10.29011/2688-9501.101414",
        "id": "bell-2023",
        "source": "Int J Nurs Health Care Res. 2023;6:1414",
        "title": "Validation and Reliability of the Comprehensive Difficult IV Access Scoring Tool"
      },
      "formula": "c_diva",
      "formula_expression": "C-DIVA = visual_appearance + palpable_sites + history_of_difficult_access + clinical_factors; each caller-assigned 0-2 (Bell 2023 Figure 1); max 8",
      "max_score": 8,
      "score": 0,
      "c_diva_band": "low"
    },
    {
      "components": [
        {
          "value": 0,
          "factor": "visual_appearance",
          "points": 0,
          "present": true
        },
        {
          "value": 0,
          "factor": "palpable_sites",
          "points": 0,
          "present": true
        },
        {
          "value": 0,
          "factor": "history_of_difficult_access",
          "points": 0,
          "present": true
        },
        {
          "value": 0,
          "factor": "clinical_factors",
          "points": 0,
          "present": true
        }
      ],
      "disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
      "citation": {
        "authors": "Bell JA, Campos C, Moureau N",
        "doi": "10.29011/2688-9501.101414",
        "id": "bell-2023",
        "source": "Int J Nurs Health Care Res. 2023;6:1414",
        "title": "Validation and Reliability of the Comprehensive Difficult IV Access Scoring Tool"
      },
      "formula": "c_diva",
      "formula_expression": "C-DIVA = visual_appearance + palpable_sites + history_of_difficult_access + clinical_factors; each caller-assigned 0-2 (Bell 2023 Figure 1); max 8",
      "max_score": 8,
      "score": 0,
      "c_diva_band": "low"
    }
  ]
}

Response

Field Type Description
formula string c_diva
formula_expression string Exact expression used
score integer C-DIVA points 0-8
max_score integer Always 8
c_diva_band string Bell 2023 Figure 1 risk group: low (0-3), medium (4-5), or high (6-8). A score band, not a vascular-access or treatment order.
components array Per-domain caller-assigned points
citation object Bell et al. Int J Nurs Health Care Res 2023 citation
disclaimer string Not-a-device notice

Example JSON

Machine form of the same example. Frozen fixture. Not a live lookup.

{
  "components": [
    {
      "value": 0,
      "factor": "visual_appearance",
      "points": 0,
      "present": true
    },
    {
      "value": 0,
      "factor": "palpable_sites",
      "points": 0,
      "present": true
    },
    {
      "value": 0,
      "factor": "history_of_difficult_access",
      "points": 0,
      "present": true
    },
    {
      "value": 0,
      "factor": "clinical_factors",
      "points": 0,
      "present": true
    }
  ],
  "disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
  "citation": {
    "authors": "Bell JA, Campos C, Moureau N",
    "doi": "10.29011/2688-9501.101414",
    "id": "bell-2023",
    "source": "Int J Nurs Health Care Res. 2023;6:1414",
    "title": "Validation and Reliability of the Comprehensive Difficult IV Access Scoring Tool"
  },
  "formula": "c_diva",
  "formula_expression": "C-DIVA = visual_appearance + palpable_sites + history_of_difficult_access + clinical_factors; each caller-assigned 0-2 (Bell 2023 Figure 1); max 8",
  "max_score": 8,
  "score": 0,
  "c_diva_band": "low"
}

Client errors (HTTP 400)

Invalid params return 400 without charge. Shared HTTP 402 and 503 meanings: Payments.

HTTP Code When
400 invalid_c_diva C-DIVA needs the published vein-visibility, palpability, access-history, and clinical-factor scores. Returned before settlement; you are not charged.
400 invalid_items POST body must be a JSON object with only an items array Returned before settlement; you are not charged.
400 invalid_item_count items must be an array of 1 to 25 objects Returned before settlement; you are not charged.
400 invalid_item each items entry must be a JSON object Returned before settlement; you are not charged.

Related tools

  • HEAVEN — Apply the Davis 2017 HEAVEN criteria from six caller-assigned flags and return high_risk iff any is true, plus the count of criteria met (0-6).
  • Mallampati — Return the Samsoon 1987 modified Mallampati class 1-4 from a caller-assigned integer, with a stable label.

Payment

Unpaid requests return HTTP 402 even if query parameters or POST items are missing or invalid, so CDP and agents can index the path. After a PAYMENT-SIGNATURE, invalid params return HTTP 400 JSON before settlement. magent does not charge. Fix the params, then request a new 402 quote for that complete URL. Catalog misses (empty matches, found=false) are valid paid 200s. Unpaid valid requests return HTTP 402 with a base64 PAYMENT-REQUIRED header. HTTP 503 is not a new quote: retry the same PAYMENT-SIGNATURE. Full handshake and shared payment errors: Payments. Stdio MCP: /docs/mcp.

Guarantees

  • HTTP 402 is unpaid, including a missing query. After PAYMENT-SIGNATURE, invalid parameters return HTTP 400 before settlement. You are not charged. HTTP 402 never includes the tool JSON.
  • exact: settlement finishes before the tool (paymentFlow upfront). batch-settlement: verify/deposit before the tool; chargedCumulativeAmount commits after HTTP 2xx. Uncertain or failed settlement fails closed (HTTP 503). Retry the same PAYMENT-SIGNATURE.
  • HTTP 402 is unpaid only. Do not sign a second authorization because of a 503.
  • Execution is timeout-bounded and concurrency-capped.
  • Calculator inputs are stored encrypted for allowlisted operators (Magent Console). They are not in public logs, SSH lookups, catalog, or rollups. Request logs store path without query.