Infermedica MCP by usefulapi

Run Infermedica symptom checks, diagnosis, triage and condition lookups.

Should I use this

Quality & Safety

A
Description quality
98%
Schema completeness
96%
Naming quality
79%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'infermedica_triage' description lacks action verbin infermedica_triage
  • LOWTool 'infermedica_recommend_specialist' name length outside 3-30 rangein infermedica_recommend_specialist

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~5,465Tokens (tool definitions)
~3.1 KBTypical response size
Significant attention impact (4.27% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "infermedica": {
      "url": "https://infermedica.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://infermedica.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (17)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢infermedica_list_symptoms(age, enable_triage_5, model_id, dev_mode)

List all symptoms in the Infermedica medical model (optionally age-filtered). Engine API: GET /symptoms.

Input Schema

{
  "type": "object",
  "properties": {
    "age": {
      "description": "Optional age filter (returns only age-relevant symptoms).",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "enable_triage_5": {
      "description": "If true, include symptoms only used by the 5-level triage model.",
      "type": "boolean"
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_get_symptom(id, age, model_id, dev_mode)

Get a single symptom by its id. Engine API: GET /symptoms/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Symptom id, e.g. 's_21' (required)."
    },
    "age": {
      "description": "Optional age context.",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_list_conditions(age, model_id, dev_mode)

List all conditions (diseases) in the Infermedica medical model. Engine API: GET /conditions.

Input Schema

{
  "type": "object",
  "properties": {
    "age": {
      "description": "Optional age filter.",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_get_condition(id, age, model_id, dev_mode)

Get a single condition by its id. Engine API: GET /conditions/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Condition id, e.g. 'c_87' (required)."
    },
    "age": {
      "description": "Optional age context.",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_list_risk_factors(age, model_id, dev_mode)

List all risk factors in the Infermedica medical model. Engine API: GET /risk_factors.

Input Schema

{
  "type": "object",
  "properties": {
    "age": {
      "description": "Optional age filter.",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_get_risk_factor(id, age, model_id, dev_mode)

Get a single risk factor by its id. Engine API: GET /risk_factors/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Risk factor id, e.g. 'p_28' (required)."
    },
    "age": {
      "description": "Optional age context.",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_list_lab_tests(age, model_id, dev_mode)

List all lab tests (and their results) in the Infermedica medical model. Engine API: GET /lab_tests.

Input Schema

{
  "type": "object",
  "properties": {
    "age": {
      "description": "Optional age filter.",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_get_lab_test(id, age, model_id, dev_mode)

Get a single lab test by its id. Engine API: GET /lab_tests/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Lab test id, e.g. 'lt_1' (required)."
    },
    "age": {
      "description": "Optional age context.",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_search_concepts(phrase, sex, age, max_results, types, ...)

Search the medical concept database for observations matching a phrase (autocomplete). Engine API: GET /search.

Input Schema

{
  "type": "object",
  "properties": {
    "phrase": {
      "type": "string",
      "description": "Text phrase to match against concept names/synonyms (required)."
    },
    "sex": {
      "description": "Optional sex filter.",
      "type": "string",
      "enum": [
        "male",
        "female"
      ]
    },
    "age": {
      "description": "Optional age filter.",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "max_results": {
      "description": "Maximum number of results to return (default 8).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "types": {
      "description": "Restrict results to these concept types.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "symptom",
          "risk_factor",
          "lab_test"
        ]
      }
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "phrase"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_get_info(age, model_id, dev_mode)

Get metadata about the current Infermedica medical model (version, last update, concept counts). Engine API: GET /info.

Input Schema

{
  "type": "object",
  "properties": {
    "age": {
      "description": "Optional age context.",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_diagnosis(sex, age, evidence, extras, model_id, ...)

Run the diagnostic engine over the collected evidence — returns the next question to ask, ranked candidate conditions with probabilities, and a should_stop flag. Non-mutating computation. Engine API: POST /diagnosis.

Input Schema

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Patient biological sex."
    },
    "age": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ],
      "description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
    },
    "evidence": {
      "description": "Evidence collected so far (may be empty for the first call).",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
          },
          "choice_id": {
            "type": "string",
            "enum": [
              "present",
              "absent",
              "unknown"
            ],
            "description": "Observation state: present, absent, or unknown."
          },
          "source": {
            "description": "Optional origin flag: initial | suggest | predefined | red_flags.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "choice_id"
        ]
      }
    },
    "extras": {
      "description": "Optional engine flags (e.g. disable_groups, enable_triage_5).",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "sex",
    "age"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_triage(sex, age, evidence, extras, model_id, ...)

Recommend a triage level (emergency_ambulance | emergency | consultation_24 | consultation | self_care) plus any serious/emergency observations, given the evidence. Non-mutating computation. Engine API: POST /triage.

Input Schema

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Patient biological sex."
    },
    "age": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ],
      "description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
    },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
          },
          "choice_id": {
            "type": "string",
            "enum": [
              "present",
              "absent",
              "unknown"
            ],
            "description": "Observation state: present, absent, or unknown."
          },
          "source": {
            "description": "Optional origin flag: initial | suggest | predefined | red_flags.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "choice_id"
        ]
      },
      "description": "List of observed evidence (symptoms / risk factors / lab tests) and their states."
    },
    "extras": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "sex",
    "age"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_explain(sex, age, target, evidence, extras, ...)

Explain which evidence supports or conflicts with a given target condition, for the collected evidence. Non-mutating computation. Engine API: POST /explain.

Input Schema

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Patient biological sex."
    },
    "age": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ],
      "description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
    },
    "target": {
      "type": "string",
      "description": "Target condition id to explain, e.g. 'c_49' (required)."
    },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
          },
          "choice_id": {
            "type": "string",
            "enum": [
              "present",
              "absent",
              "unknown"
            ],
            "description": "Observation state: present, absent, or unknown."
          },
          "source": {
            "description": "Optional origin flag: initial | suggest | predefined | red_flags.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "choice_id"
        ]
      },
      "description": "List of observed evidence (symptoms / risk factors / lab tests) and their states."
    },
    "extras": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "sex",
    "age",
    "target"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_suggest(sex, age, evidence, suggest_method, max_results, ...)

Suggest additional symptoms/observations the patient is likely to have, to speed up the interview. Non-mutating computation. Engine API: POST /suggest.

Input Schema

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Patient biological sex."
    },
    "age": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ],
      "description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
    },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
          },
          "choice_id": {
            "type": "string",
            "enum": [
              "present",
              "absent",
              "unknown"
            ],
            "description": "Observation state: present, absent, or unknown."
          },
          "source": {
            "description": "Optional origin flag: initial | suggest | predefined | red_flags.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "choice_id"
        ]
      },
      "description": "List of observed evidence (symptoms / risk factors / lab tests) and their states."
    },
    "suggest_method": {
      "description": "Which kind of observations to suggest (default 'symptoms'). Sent as the `suggest_method` query param.",
      "type": "string",
      "enum": [
        "symptoms",
        "risk_factors",
        "red_flags"
      ]
    },
    "max_results": {
      "description": "Maximum number of suggestions.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "extras": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "sex",
    "age"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_rationale(sex, age, evidence, extras, model_id, ...)

Explain WHY the diagnostic engine wants to ask its next question, given the evidence. Non-mutating computation. Engine API: POST /rationale.

Input Schema

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Patient biological sex."
    },
    "age": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ],
      "description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
    },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
          },
          "choice_id": {
            "type": "string",
            "enum": [
              "present",
              "absent",
              "unknown"
            ],
            "description": "Observation state: present, absent, or unknown."
          },
          "source": {
            "description": "Optional origin flag: initial | suggest | predefined | red_flags.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "choice_id"
        ]
      },
      "description": "List of observed evidence (symptoms / risk factors / lab tests) and their states."
    },
    "extras": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "sex",
    "age"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_parse(text, age, sex, context, include_tokens, ...)

Extract clinical mentions (symptoms / risk factors) and their states from free-text describing complaints, mapping them to Infermedica evidence ids (NLP). Non-mutating computation. Engine API: POST /parse.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Free-text describing the patient's complaints (required)."
    },
    "age": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ],
      "description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
    },
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Patient biological sex."
    },
    "context": {
      "description": "Ordered ids of already-captured present symptoms, used as parsing context.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "include_tokens": {
      "description": "If true, include tokenization details in the output.",
      "type": "boolean"
    },
    "concept_types": {
      "description": "Restrict captured mentions to these concept types.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "symptom",
          "risk_factor"
        ]
      }
    },
    "correct_spelling": {
      "description": "If true, correct spelling of the input before analysis.",
      "type": "boolean"
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "text",
    "age",
    "sex"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢infermedica_recommend_specialist(sex, age, evidence, extras, model_id, ...)

Recommend the most appropriate medical specialist and consultation channel for the collected evidence (accepts the same body as diagnosis/triage). Non-mutating computation. Engine API: POST /recommend_specialist.

Input Schema

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Patient biological sex."
    },
    "age": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Age value (an integer)."
        },
        "unit": {
          "description": "Age unit: 'year' (default) or 'month'.",
          "type": "string",
          "enum": [
            "year",
            "month"
          ]
        }
      },
      "required": [
        "value"
      ],
      "description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
    },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
          },
          "choice_id": {
            "type": "string",
            "enum": [
              "present",
              "absent",
              "unknown"
            ],
            "description": "Observation state: present, absent, or unknown."
          },
          "source": {
            "description": "Optional origin flag: initial | suggest | predefined | red_flags.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "choice_id"
        ]
      },
      "description": "List of observed evidence (symptoms / risk factors / lab tests) and their states."
    },
    "extras": {
      "description": "Optional flags (e.g. a specialist_mapping remap).",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "model_id": {
      "description": "Optional medical model id → sent as the `Model-Id` request header.",
      "type": "string"
    },
    "dev_mode": {
      "description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header.",
      "type": "boolean"
    }
  },
  "required": [
    "sex",
    "age"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded17 tools
verifiedversion not recorded17 tools