# CPOT Calculator (Gélinas 2006)

> CPOT Calculator (Gélinas 2006) is a paid API for AI agents from api.magentlab.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Computes the Critical-Care Pain Observation Tool (CPOT) total score (0–8) by summing four caller-assigned behavioral items per the Gélinas 2006 protocol, distinguishing intubated vs. extubated patients.

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/cpot
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/cpot-calculator-g-linas-2006-375e6c24
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_o2BjkJDDoyEz3pkRbx_Xi

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability cpot-calculator-g-linas-2006-375e6c24
```

Example prompt: Calculate a CPOT score for an extubated ICU patient: facial expression is grimacing (2), body movements are restless (2), muscle tension is tense (1), and vocalization is moaning (1).

## When to prefer this

Use this endpoint when you need a fast, arithmetic CPOT score computed strictly per Gélinas 2006 methodology, with correctly branched item selection for intubated vs. extubated patients. Prefer it over manual addition to avoid arithmetic errors in documentation workflows. Do not use it as a pain diagnosis tool, for PAINAD (dementia patients), or when you need intensity cutoff interpretations — it returns only the raw sum.

## Known failure modes

- Missing required query params (facial_expression, body_movements, muscle_tension, intubated) returns an error
- Providing ventilator_compliance when intubated=false or vocalization when intubated=true may be rejected or ignored
- Integer values outside 0–2 for any item likely return a validation error
- Invalid boolean for intubated parameter causes request failure
- Network or payment (x402) errors may prevent response

## How this service works

Gélinas 2006 CPOT from four caller-assigned 0-2 items (facial_expression, body_movements, muscle_tension, plus ventilator_compliance when intubated or vocalization when extubated) using that paper's 0/1/2 descriptors. magent sums only (max 8) and does not observe the patient. No later intensity cutoffs. Not a pain diagnosis or analgesic order. Not PAINAD.

## Output

Returns the CPOT total score as an integer from 0 to 8, computed by summing the four Gélinas 2006 behavioral indicator items: facial expression, body movements, muscle tension, and either ventilator compliance (intubated) or vocalization (extubated). No interpretation, diagnosis, or treatment recommendation is provided.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "required": [
      "facial_expression",
      "body_movements",
      "muscle_tension",
      "intubated"
     ],
     "properties": {
      "intubated": {
       "type": "boolean",
       "description": "true when intubated: provide ventilator_compliance and omit vocalization. false when extubated: provide vocalization and omit ventilator_compliance. magent does not observe the patient."
      },
      "vocalization": {
       "type": "integer",
       "description": "Caller-assigned Gélinas 2006 CPOT vocalization when intubated=false (integer 0-2): 0 talking in normal tone or no sound; 1 sighing, moaning; 2 crying out, sobbing. Omit when intubated=true. magent does not observe the patient."
      },
      "body_movements": {
       "type": "integer",
       "description": "Caller-assigned Gélinas 2006 CPOT body movements (integer 0-2): 0 absence of movements or normal position; 1 protection; 2 restlessness. magent does not observe the patient."
      },
      "muscle_tension": {
       "type": "integer",
       "description": "Caller-assigned Gélinas 2006 CPOT muscle tension on passive flexion/extension of upper limbs (integer 0-2): 0 relaxed; 1 tense/rigid; 2 very tense or rigid. magent does not observe the patient."
      },
      "facial_expression": {
       "type": "integer",
       "description": "Caller-assigned Gélinas 2006 CPOT facial expression (integer 0-2): 0 relaxed, no muscle tension; 1 tense (brow lowering, orbit tightening, levator contraction); 2 grimacing. magent does not observe the patient."
      },
      "ventilator_compliance": {
       "type": "integer",
       "description": "Caller-assigned Gélinas 2006 CPOT ventilator compliance when intubated=true (integer 0-2): 0 tolerating ventilator or movement; 1 coughing but still tolerating; 2 fighting ventilator. Omit when intubated=false. magent does not observe the patient."
      }
     }
    }
   },
   "additionalProperties": false

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/cpot-calculator-g-linas-2006-375e6c24/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.magentlab.com](https://www.zero.xyz/host/api.magentlab.com/llms.txt)
