Forge Tools drug_indications

drug_indications read

scidex.forge.drug_indications

Look up an FDA drug label by name (generic or brand). Returns indications, mechanism of action, contraindications, targets (MOA pharm class + substance), manufacturer, route, and label-effective year. Sourced from openFDA — fully public, no auth required.

HTTP: POST /api/scidex/forge/drug_indications

Invoke

Calls scidex.tool.invoke on the substrate with this tool name. Edit the JSON below — it must match the input schema. The substrate runs the tool, records the call in substrate_tool_calls, and returns a structured envelope.

Sign in to invoke this tool. Schema and curl snippet are visible to anyone.

Schemas

Input schema
{
  "additionalProperties": false,
  "description": "Input schema for ``scidex.forge.drug_indications``.",
  "properties": {
    "drug_name": {
      "description": "Drug name — generic (``semaglutide``) or brand (``Ozempic``). Case-insensitive; matched against openFDA's generic, brand, and substance fields.",
      "maxLength": 200,
      "minLength": 1,
      "title": "Drug Name",
      "type": "string"
    },
    "limit": {
      "default": 5,
      "description": "Maximum number of labels to return. One drug typically has 1–5 labels (different routes / dosage forms).",
      "maximum": 20,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "drug_name"
  ],
  "title": "DrugIndicationsIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "DrugIndication": {
      "description": "One drug-label record, flattened for the verb surface.\n\nDistinct from the skill-internal :class:`DrugLabel` so the verb's\npublic schema is stable even if we extend the skill later (e.g.\nadd boxed-warning extraction or adverse-event linkage).",
      "properties": {
        "drug_name": {
          "title": "Drug Name",
          "type": "string"
        },
        "brand_names": {
          "items": {
            "type": "string"
          },
          "title": "Brand Names",
          "type": "array"
        },
        "generic_names": {
          "items": {
            "type": "string"
          },
          "title": "Generic Names",
          "type": "array"
        },
        "substance_names": {
          "items": {
            "type": "string"
          },
          "title": "Substance Names",
          "type": "array"
        },
        "manufacturer": {
          "default": "",
          "title": "Manufacturer",
          "type": "string"
        },
        "indications": {
          "description": "Indications and usage, bullet-split when structured.",
          "items": {
            "type": "string"
          },
          "title": "Indications",
          "type": "array"
        },
        "mechanism_of_action": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-text MOA, section-number prefix stripped.",
          "title": "Mechanism Of Action"
        },
        "contraindications": {
          "items": {
            "type": "string"
          },
          "title": "Contraindications",
          "type": "array"
        },
        "targets": {
          "description": "Best public-API proxy for protein/gene targets — union of ``openfda.pharm_class_moa`` and ``openfda.substance_name``.",
          "items": {
            "type": "string"
          },
          "title": "Targets",
          "type": "array"
        },
        "route": {
          "items": {
            "type": "string"
          },
          "title": "Route",
          "type": "array"
        },
        "product_type": {
          "default": "",
          "title": "Product Type",
          "type": "string"
        },
        "fda_approval_year": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Year parsed from ``effective_time``. This is the label's last-updated date, not the original NDA approval.",
          "title": "Fda Approval Year"
        }
      },
      "required": [
        "drug_name"
      ],
      "title": "DrugIndication",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.drug_indications``.",
  "properties": {
    "query": {
      "description": "Original drug_name as provided.",
      "title": "Query",
      "type": "string"
    },
    "matched_name": {
      "default": "",
      "description": "Canonical generic (or brand fallback) name of the first matched label. Empty when no results.",
      "title": "Matched Name",
      "type": "string"
    },
    "indications_data": {
      "items": {
        "$ref": "#/$defs/DrugIndication"
      },
      "title": "Indications Data",
      "type": "array"
    },
    "count": {
      "default": 0,
      "description": "Total label matches reported by openFDA. May exceed ``returned`` since one call returns at most ``limit`` labels.",
      "title": "Count",
      "type": "integer"
    },
    "returned": {
      "description": "Length of ``indications_data``.",
      "title": "Returned",
      "type": "integer"
    },
    "took_ms": {
      "description": "Wall-clock time for the upstream call.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "query",
    "returned",
    "took_ms"
  ],
  "title": "DrugIndicationsResponse",
  "type": "object"
}

curl snippet

Replace $SCIDEX_JWT with a valid bearer token. Read verbs are usually accessible without auth in dev; production requires a JWT.

curl -sS -X POST '/api/scidex/forge/drug_indications' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "drug_name": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.