Run Infermedica symptom checks, diagnosis, triage and condition lookups.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }.
Patient biological sex.
Optional engine flags (e.g. disable_groups, enable_triage_5).
If true, mark the request as test traffic → sends the `Dev-Mode: true` header.
Evidence collected so far (may be empty for the first call).
Optional medical model id → sent as the `Model-Id` request header.
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.
| Argument | Type | Description |
|---|---|---|
| age* | object | Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }. |
| sex* | string | Patient biological sex. |
| extras | object | Optional engine flags (e.g. disable_groups, enable_triage_5). |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| evidence | array | Evidence collected so far (may be empty for the first call). |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sex",
"age"
],
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Patient biological sex."
},
"extras": {
"type": "object",
"description": "Optional engine flags (e.g. disable_groups, enable_triage_5).",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"choice_id"
],
"properties": {
"id": {
"type": "string",
"description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
},
"source": {
"type": "string",
"description": "Optional origin flag: initial | suggest | predefined | red_flags."
},
"choice_id": {
"enum": [
"present",
"absent",
"unknown"
],
"type": "string",
"description": "Observation state: present, absent, or unknown."
}
}
},
"description": "Evidence collected so far (may be empty for the first call)."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}Explain which evidence supports or conflicts with a given target condition, for the collected evidence. Non-mutating computation. Engine API: POST /explain.
| Argument | Type | Description |
|---|---|---|
| age* | object | Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }. |
| sex* | string | Patient biological sex. |
| extras | object | |
| target* | string | Target condition id to explain, e.g. 'c_49' (required). |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| evidence | array | List of observed evidence (symptoms / risk factors / lab tests) and their states. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sex",
"age",
"target"
],
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Patient biological sex."
},
"extras": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"target": {
"type": "string",
"description": "Target condition id to explain, e.g. 'c_49' (required)."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"choice_id"
],
"properties": {
"id": {
"type": "string",
"description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
},
"source": {
"type": "string",
"description": "Optional origin flag: initial | suggest | predefined | red_flags."
},
"choice_id": {
"enum": [
"present",
"absent",
"unknown"
],
"type": "string",
"description": "Observation state: present, absent, or unknown."
}
}
},
"description": "List of observed evidence (symptoms / risk factors / lab tests) and their states."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}Get a single condition by its id. Engine API: GET /conditions/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | Condition id, e.g. 'c_87' (required). |
| age | object | Optional age context. |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Condition id, e.g. 'c_87' (required)."
},
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Optional age context."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}Get metadata about the current Infermedica medical model (version, last update, concept counts). Engine API: GET /info.
| Argument | Type | Description |
|---|---|---|
| age | object | Optional age context. |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Optional age context."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}Get a single lab test by its id. Engine API: GET /lab_tests/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | Lab test id, e.g. 'lt_1' (required). |
| age | object | Optional age context. |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Lab test id, e.g. 'lt_1' (required)."
},
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Optional age context."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}Get a single risk factor by its id. Engine API: GET /risk_factors/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | Risk factor id, e.g. 'p_28' (required). |
| age | object | Optional age context. |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Risk factor id, e.g. 'p_28' (required)."
},
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Optional age context."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}Get a single symptom by its id. Engine API: GET /symptoms/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | Symptom id, e.g. 's_21' (required). |
| age | object | Optional age context. |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Symptom id, e.g. 's_21' (required)."
},
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Optional age context."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}List all conditions (diseases) in the Infermedica medical model. Engine API: GET /conditions.
| Argument | Type | Description |
|---|---|---|
| age | object | Optional age filter. |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Optional age filter."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}List all lab tests (and their results) in the Infermedica medical model. Engine API: GET /lab_tests.
| Argument | Type | Description |
|---|---|---|
| age | object | Optional age filter. |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Optional age filter."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}List all risk factors in the Infermedica medical model. Engine API: GET /risk_factors.
| Argument | Type | Description |
|---|---|---|
| age | object | Optional age filter. |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Optional age filter."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}List all symptoms in the Infermedica medical model (optionally age-filtered). Engine API: GET /symptoms.
| Argument | Type | Description |
|---|---|---|
| age | object | Optional age filter (returns only age-relevant symptoms). |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
| enable_triage_5 | boolean | If true, include symptoms only used by the 5-level triage model. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Optional age filter (returns only age-relevant symptoms)."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
},
"enable_triage_5": {
"type": "boolean",
"description": "If true, include symptoms only used by the 5-level triage model."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| age* | object | Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }. |
| sex* | string | Patient biological sex. |
| text* | string | Free-text describing the patient's complaints (required). |
| context | array | Ordered ids of already-captured present symptoms, used as parsing context. |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
| concept_types | array | Restrict captured mentions to these concept types. |
| include_tokens | boolean | If true, include tokenization details in the output. |
Explain WHY the diagnostic engine wants to ask its next question, given the evidence. Non-mutating computation. Engine API: POST /rationale.
| Argument | Type | Description |
|---|---|---|
| age* | object | Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }. |
| sex* | string | Patient biological sex. |
| extras | object | |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| evidence | array | List of observed evidence (symptoms / risk factors / lab tests) and their states. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sex",
"age"
],
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Patient biological sex."
},
"extras": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"choice_id"
],
"properties": {
"id": {
"type": "string",
"description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
},
"source": {
"type": "string",
"description": "Optional origin flag: initial | suggest | predefined | red_flags."
},
"choice_id": {
"enum": [
"present",
"absent",
"unknown"
],
"type": "string",
"description": "Observation state: present, absent, or unknown."
}
}
},
"description": "List of observed evidence (symptoms / risk factors / lab tests) and their states."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| age* | object | Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }. |
| sex* | string | Patient biological sex. |
| extras | object | Optional flags (e.g. a specialist_mapping remap). |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| evidence | array | List of observed evidence (symptoms / risk factors / lab tests) and their states. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sex",
"age"
],
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Patient biological sex."
},
"extras": {
"type": "object",
"description": "Optional flags (e.g. a specialist_mapping remap).",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"choice_id"
],
"properties": {
"id": {
"type": "string",
"description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
},
"source": {
"type": "string",
"description": "Optional origin flag: initial | suggest | predefined | red_flags."
},
"choice_id": {
"enum": [
"present",
"absent",
"unknown"
],
"type": "string",
"description": "Observation state: present, absent, or unknown."
}
}
},
"description": "List of observed evidence (symptoms / risk factors / lab tests) and their states."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}Search the medical concept database for observations matching a phrase (autocomplete). Engine API: GET /search.
| Argument | Type | Description |
|---|---|---|
| age | object | Optional age filter. |
| sex | string | Optional sex filter. |
| types | array | Restrict results to these concept types. |
| phrase* | string | Text phrase to match against concept names/synonyms (required). |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
| max_results | integer | Maximum number of results to return (default 8). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"phrase"
],
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Optional age filter."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Optional sex filter."
},
"types": {
"type": "array",
"items": {
"enum": [
"symptom",
"risk_factor",
"lab_test"
],
"type": "string"
},
"description": "Restrict results to these concept types."
},
"phrase": {
"type": "string",
"description": "Text phrase to match against concept names/synonyms (required)."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
},
"max_results": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Maximum number of results to return (default 8)."
}
}
}Suggest additional symptoms/observations the patient is likely to have, to speed up the interview. Non-mutating computation. Engine API: POST /suggest.
| Argument | Type | Description |
|---|---|---|
| age* | object | Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }. |
| sex* | string | Patient biological sex. |
| extras | object | |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| evidence | array | List of observed evidence (symptoms / risk factors / lab tests) and their states. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
| max_results | integer | Maximum number of suggestions. |
| suggest_method | string | Which kind of observations to suggest (default 'symptoms'). Sent as the `suggest_method` query param. |
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.
| Argument | Type | Description |
|---|---|---|
| age* | object | Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }. |
| sex* | string | Patient biological sex. |
| extras | object | |
| dev_mode | boolean | If true, mark the request as test traffic → sends the `Dev-Mode: true` header. |
| evidence | array | List of observed evidence (symptoms / risk factors / lab tests) and their states. |
| model_id | string | Optional medical model id → sent as the `Model-Id` request header. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sex",
"age"
],
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Patient biological sex."
},
"extras": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"choice_id"
],
"properties": {
"id": {
"type": "string",
"description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
},
"source": {
"type": "string",
"description": "Optional origin flag: initial | suggest | predefined | red_flags."
},
"choice_id": {
"enum": [
"present",
"absent",
"unknown"
],
"type": "string",
"description": "Observation state: present, absent, or unknown."
}
}
},
"description": "List of observed evidence (symptoms / risk factors / lab tests) and their states."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
}
}
}| correct_spelling | boolean | If true, correct spelling of the input before analysis. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"text",
"age",
"sex"
],
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Patient biological sex."
},
"text": {
"type": "string",
"description": "Free-text describing the patient's complaints (required)."
},
"context": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ordered ids of already-captured present symptoms, used as parsing context."
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
},
"concept_types": {
"type": "array",
"items": {
"enum": [
"symptom",
"risk_factor"
],
"type": "string"
},
"description": "Restrict captured mentions to these concept types."
},
"include_tokens": {
"type": "boolean",
"description": "If true, include tokenization details in the output."
},
"correct_spelling": {
"type": "boolean",
"description": "If true, correct spelling of the input before analysis."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sex",
"age"
],
"properties": {
"age": {
"type": "object",
"required": [
"value"
],
"properties": {
"unit": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Age unit: 'year' (default) or 'month'."
},
"value": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Age value (an integer)."
}
},
"description": "Patient age, e.g. { value: 30 } or { value: 6, unit: 'month' }."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Patient biological sex."
},
"extras": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"dev_mode": {
"type": "boolean",
"description": "If true, mark the request as test traffic → sends the `Dev-Mode: true` header."
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"choice_id"
],
"properties": {
"id": {
"type": "string",
"description": "Observation id, e.g. 's_21' (symptom), 'p_28' (risk factor), 'lt_1' (lab test)."
},
"source": {
"type": "string",
"description": "Optional origin flag: initial | suggest | predefined | red_flags."
},
"choice_id": {
"enum": [
"present",
"absent",
"unknown"
],
"type": "string",
"description": "Observation state: present, absent, or unknown."
}
}
},
"description": "List of observed evidence (symptoms / risk factors / lab tests) and their states."
},
"model_id": {
"type": "string",
"description": "Optional medical model id → sent as the `Model-Id` request header."
},
"max_results": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Maximum number of suggestions."
},
"suggest_method": {
"enum": [
"symptoms",
"risk_factors",
"red_flags"
],
"type": "string",
"description": "Which kind of observations to suggest (default 'symptoms'). Sent as the `suggest_method` query param."
}
}
}