# DAS28-ESR Calculator (Prevoo 1995)

> DAS28-ESR Calculator (Prevoo 1995) 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 DAS28-ESR score for rheumatoid arthritis disease activity using the Prevoo 1995 formula from tender joint count, swollen joint count, ESR, and general health VAS.

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/das28_esr
- 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/das28-esr-calculator-prevoo-1995-9383a97b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Dsi1P9LjAnLuROx5KQtD7

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 das28-esr-calculator-prevoo-1995-9383a97b
```

Example prompt: Calculate the DAS28-ESR score for a patient with 8 tender joints, 4 swollen joints out of 28, an ESR of 45 mm/h, and a general health VAS of 60 out of 100.

## When to prefer this

Use this endpoint when you need the ESR-based DAS28 score specifically (Prevoo 1995 formula). Choose this over DAS28-CRP when the available inflammatory marker is erythrocyte sedimentation rate rather than C-reactive protein. Do not use if you need SDAI, CDAI, or DAS28-CRP; those use different formulas and inputs. This is purely a computation endpoint — the caller must supply pre-assessed clinical values (joint counts, ESR, patient global health VAS).

## Known failure modes

- esr_mm_h ≤ 0 will cause an error since the formula requires a natural log of a strictly positive value
- tjc28 or sjc28 outside 0-28 integer range may be rejected or produce out-of-range scores
- gh outside 0-100 range may produce invalid scores
- Missing any of the four required query parameters returns an error
- Confusing gh units (0-10 cm CDAI/SDAI scale vs required 0-100 mm VAS) will silently produce incorrect scores

## How this service works

Prevoo 1995 DAS28-ESR: 0.56*sqrt(tjc28) + 0.28*sqrt(sjc28) + 0.70*ln(esr_mm_h) + 0.014*gh (0-100 mm VAS, not 0-10 CDAI/SDAI). Caller-assigned 28-joint counts 0-28; ESR strictly >0 (typical 1-150). magent does not count joints or assay ESR. Score only; Prevoo 1995 does not publish later EULAR 2.6/3.2/5.1 cutoffs. Not SDAI, not CDAI, not DAS28-CRP. Not a rheumatoid arthritis diagnosis.

## Output

Returns the numeric DAS28-ESR score computed as 0.56×√(tjc28) + 0.28×√(sjc28) + 0.70×ln(esr_mm_h) + 0.014×gh. This is a continuous numeric value reflecting rheumatoid arthritis disease activity per the Prevoo 1995 formula. Note: EULAR remission/low/moderate/high activity cutoffs (2.6/3.2/5.1) are not part of the Prevoo 1995 publication and are not returned by this endpoint.

## 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": [
      "tjc28",
      "sjc28",
      "esr_mm_h",
      "gh"
     ],
     "properties": {
      "gh": {
       "type": "number",
       "description": "Caller-assigned patient general health on a 0-100 mm VAS (Prevoo 1995). Number 0-100. Not 0-10 CDAI/SDAI centimetres. magent does not examine the patient."
      },
      "sjc28": {
       "type": "integer",
       "description": "Caller-assigned swollen joint count on the 28-joint set (Prevoo 1995). Integer 0-28. magent does not count joints."
      },
      "tjc28": {
       "type": "integer",
       "description": "Caller-assigned tender joint count on the 28-joint set (Prevoo 1995). Integer 0-28. magent does not count joints."
      },
      "esr_mm_h": {
       "type": "number",
       "description": "Caller-assigned erythrocyte sedimentation rate in mm/h. Strictly >0 (typical 1-150 magent clamp). Natural log in the formula. magent does not assay ESR."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/das28-esr-calculator-prevoo-1995-9383a97b/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)
