# PROMISE Score Calculator for Malignant Pleural Effusion

> PROMISE Score Calculator for Malignant Pleural Effusion 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-15).

Computes the Psallidas 2018 PROMISE score and 3-month mortality risk group for malignant pleural effusion based on seven clinical variables

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/promise
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/promise-score-calculator-for-malignant-pleural-effusion-6cda521e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pmeGbo2n6UBud-0OuTjx_

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 promise-score-calculator-for-malignant-pleural-effusion-6cda521e
```

Example prompt: Calculate the PROMISE score for a patient with malignant pleural effusion: no prior chemotherapy, no prior radiotherapy, haemoglobin 10.5 g/dL, WBC 9.0 ×10⁹/L, CRP 45 mg/L, ECOG 1, cancer type is lung. What is their risk group and estimated 3-month mortality?

## When to prefer this

Use this endpoint when you need to compute the validated Psallidas 2018 PROMISE prognostic score specifically for malignant pleural effusion (MPE) patients. It is the correct tool for 3-month mortality risk stratification in MPE using the seven-variable Table 2A model. Do not use this for general cancer prognosis, TIMP-1-based scoring, or non-pleural effusion contexts.

## Known failure modes

- Missing required query parameters (chemotherapy, radiotherapy, haemoglobin_g_dl, wbc, crp_mg_l, ecog, cancer_type) returns a 400 error
- Out-of-range numeric inputs (e.g. WBC outside 0.1–80, CRP outside 0–500) may return validation error
- Invalid enum value for cancer_type (must be mesothelioma, lung, or other) returns error
- ECOG grade 5 (dead) is not scored and should not be submitted
- Payment failure (x402) returns 402 if USDC payment header is missing or invalid

## How this service works

Psallidas 2018 Table 2A clinical PROMISE for malignant pleural effusion: chemo 0/4, radiotherapy 0/2, haemoglobin g/dL 0-4, WBC 10^9/L 0/2/4/7/10, CRP mg/L 0/3/5/8/11, ECOG 0-1=0 or 2-4=7, cancer mesothelioma 0 / other 4 / lung 5. Groups A 0-20 <25%, B 21-27, C 28-35, D >35 >=75% 3-month mortality. Not TIMP1. Not a treatment order.

## Output

Returns the computed PROMISE integer score (0–44 range based on weighted clinical inputs) and the corresponding risk group: Group A (0–20, <25% 3-month mortality), Group B (21–27), Group C (28–35), or Group D (>35, ≥75% 3-month mortality).

## 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": [
      "chemotherapy",
      "radiotherapy",
      "haemoglobin_g_dl",
      "wbc",
      "crp_mg_l",
      "ecog",
      "cancer_type"
     ],
     "properties": {
      "wbc": {
       "type": "number",
       "description": "Serum white cell count as 10^9/L (0.1-80). Psallidas 2018 Table 2A: <4 scores 0; 4 to <6.3 scores 2; 6.3 to <10 scores 4; 10 to <15.8 scores 7; ≥15.8 scores 10. Caller-supplied; magent does not assay WBC."
      },
      "ecog": {
       "type": "integer",
       "description": "Oken 1982 ECOG performance status 0-4 as assigned by the caller. Psallidas 2018 Table 2A: 0-1 scores 0; 2-4 scores 7. Grade 5 (dead) is not scored. magent does not observe the patient or convert Karnofsky."
      },
      "crp_mg_l": {
       "type": "number",
       "description": "Serum CRP in mg/L (0-500), not IU/L. Psallidas 2018 Table 2A: <3 scores 0; 3 to <10 scores 3; 10 to <32 scores 5; 32 to <100 scores 8; ≥100 scores 11. Caller-supplied; magent does not assay CRP or convert IU/L."
      },
      "cancer_type": {
       "enum": [
        "mesothelioma",
        "lung",
        "other"
       ],
       "type": "string",
       "description": "Psallidas 2018 Table 2A cancer type as assigned by the caller. mesothelioma scores 0; other scores 4; lung scores 5. magent does not assign cancer type from histology text."
      },
      "chemotherapy": {
       "type": "boolean",
       "description": "Previous chemotherapy as assigned by the caller (Psallidas 2018 Table 2A). true or false. true scores 4; false scores 0. Not a chemotherapy order. magent does not read a treatment history."
      },
      "radiotherapy": {
       "type": "boolean",
       "description": "Previous radiotherapy as assigned by the caller (Psallidas 2018 Table 2A). true or false. true scores 2; false scores 0. Not a radiotherapy order. magent does not read a treatment history."
      },
      "haemoglobin_g_dl": {
     
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/promise-score-calculator-for-malignant-pleural-effusion-6cda521e/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)
