openfda_approval_getter
Retrieve FDA drug approval details, including product lists, submission history, marketing status, therapeutic equivalence codes, and pharmacologic class info, using an application number.
Instructions
Get detailed FDA drug approval information for a specific application.
Returns comprehensive approval details including:
- Full product list with dosage forms and strengths
- Complete submission history
- Marketing status timeline
- Therapeutic equivalence codes
- Pharmacologic class information
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | Optional OpenFDA API key (overrides OPENFDA_API_KEY env var) | |
| application_number | Yes | NDA or BLA application number |
Implementation Reference
- src/biomcp/individual_tools.py:1606-1631 (handler)MCP tool handler decorated with @mcp_app.tool() that registers and executes the openfda_approval_getter by delegating to the OpenFDA helper function. Includes input schema via Annotated Fields.@track_performance("biomcp.openfda_approval_getter") async def openfda_approval_getter( application_number: Annotated[ str, Field(description="NDA or BLA application number"), ], api_key: Annotated[ str | None, Field( description="Optional OpenFDA API key (overrides OPENFDA_API_KEY env var)" ), ] = None, ) -> str: """Get detailed FDA drug approval information for a specific application. Returns comprehensive approval details including: - Full product list with dosage forms and strengths - Complete submission history - Marketing status timeline - Therapeutic equivalence codes - Pharmacologic class information """ from biomcp.openfda import get_drug_approval return await get_drug_approval(application_number, api_key=api_key)
- Core helper function that queries the OpenFDA Drugs@FDA API, retrieves approval data for the given application number, and formats it comprehensively using helper formatters.async def get_drug_approval( application_number: str, api_key: str | None = None, ) -> str: """ Get detailed drug approval information for a specific application. Args: application_number: NDA or BLA application number api_key: Optional OpenFDA API key (overrides OPENFDA_API_KEY env var) Returns: Formatted string with detailed approval information """ # Search for the specific application search_params = { "search": f'application_number:"{application_number}"', "limit": 1, } response, error = await make_openfda_request( OPENFDA_DRUGSFDA_URL, search_params, "openfda_approvals", api_key ) if error: return f"⚠️ Error retrieving drug approval: {error}" if not response or not response.get("results"): return f"No approval record found for application {application_number}" record = response["results"][0] # Format detailed approval information output = [f"## Drug Approval Details: {application_number}\n"] # Basic information output.extend(_format_approval_header(record)) # Products if products := record.get("products"): output.extend(_format_products(products)) # Submissions history if submissions := record.get("submissions"): output.extend(_format_submissions(submissions)) # OpenFDA metadata if openfda := record.get("openfda"): output.extend(_format_openfda_metadata(openfda)) output.append(f"\n{OPENFDA_DISCLAIMER}") return "\n".join(output)