Opennih Tools#

Configuration File: opennih_tools.json Tool Type: Local Tools Count: 14

This page contains all tools defined in the opennih_tools.json configuration file.

Available Tools#

OpenNIH_activity_code_distribution (Type: OpenNIHTool)#

Break NIH or one Institute/Center portfolio into research, career, training, center, contract, in…

OpenNIH_activity_code_distribution tool specification

Tool Information:

  • Name: OpenNIH_activity_code_distribution

  • Type: OpenNIHTool

  • Description: Break NIH or one Institute/Center portfolio into research, career, training, center, contract, intramural, and other mechanism classes. Returns project-row counts and recorded totals for an optional fiscal-year window.

Parameters:

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

  • ic ([‘string’, ‘null’]) (optional) NIH Institute/Center filter.

Example Usage:

query = {
    "name": "OpenNIH_activity_code_distribution",
    "arguments": {
    }
}
result = tu.run(query)

OpenNIH_fetch (Type: OpenNIHTool)#

Fetch one canonical project record; when metadata.matching_rows is greater than one, its amount i…

OpenNIH_fetch tool specification

Tool Information:

  • Name: OpenNIH_fetch

  • Type: OpenNIHTool

  • Description: Fetch one canonical project record; when metadata.matching_rows is greater than one, its amount is not a component sum or deduplicated award total. Requires a full NIH project number returned by OpenNIH_search. Returns citation-ready id, title, text, public URL, and metadata; check source_status before treating an absent snapshot record as nonexistent, and inspect OpenNIH_search_grants before reporting parent/component dollars.

Parameters:

  • id (string) (required) Full NIH project number returned by OpenNIH_search.

Example Usage:

query = {
    "name": "OpenNIH_fetch",
    "arguments": {
        "id": "example_value"
    }
}
result = tu.run(query)

OpenNIH_funding_growth (Type: OpenNIHTool)#

Calculate annual competitive Research Project Grant (RPG) funding growth and window CAGR for all …

OpenNIH_funding_growth tool specification

Tool Information:

  • Name: OpenNIH_funding_growth

  • Type: OpenNIHTool

  • Description: Calculate annual competitive Research Project Grant (RPG) funding growth and window CAGR for all NIH or one resolved institution. Percent fields are already percentages and null awards are excluded. The response does not mark partial years: call funding_trend for the same window and exclude any partial endpoint before interpreting year-over-year growth or CAGR. Obtain institution entity_id from rank_institutions.

Parameters:

  • entity_id ([‘string’, ‘null’]) (optional) Canonical institution identifier or null for all NIH.

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

Example Usage:

query = {
    "name": "OpenNIH_funding_growth",
    "arguments": {
    }
}
result = tu.run(query)

OpenNIH_funding_trend (Type: OpenNIHTool)#

Return annual NIH funding totals and project-row counts for all NIH or a selected Institute/Cente…

OpenNIH_funding_trend tool specification

Tool Information:

  • Name: OpenNIH_funding_trend

  • Type: OpenNIHTool

  • Description: Return annual NIH funding totals and project-row counts for all NIH or a selected Institute/Center, activity code, or institution. The series covers all mechanisms, uses nominal dollars, and flags partial current years.

Parameters:

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

  • ic ([‘string’, ‘null’]) (optional) NIH Institute/Center filter.

  • activity_code ([‘string’, ‘null’]) (optional) Activity code such as R01.

  • institution ([‘string’, ‘null’]) (optional) Institution name substring.

Example Usage:

query = {
    "name": "OpenNIH_funding_trend",
    "arguments": {
    }
}
result = tu.run(query)

OpenNIH_get_institution_profile (Type: OpenNIHTool)#

Retrieve one resolved institution’s funding history, mechanism mix, and top PIs for an optional f…

OpenNIH_get_institution_profile tool specification

Tool Information:

  • Name: OpenNIH_get_institution_profile

  • Type: OpenNIHTool

  • Description: Retrieve one resolved institution’s funding history, mechanism mix, and top PIs for an optional fiscal-year window. Obtain entity_id from OpenNIH_rank_institutions; grant search results do not provide this identifier.

Parameters:

  • entity_id (string) (required) Canonical institution identifier returned by rank_institutions.

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

Example Usage:

query = {
    "name": "OpenNIH_get_institution_profile",
    "arguments": {
        "entity_id": "example_value"
    }
}
result = tu.run(query)

OpenNIH_get_pi_profile (Type: OpenNIHTool)#

Publications are not returned by the deployed endpoint. Return PI grant rows and shared-award con…

OpenNIH_get_pi_profile tool specification

Tool Information:

  • Name: OpenNIH_get_pi_profile

  • Type: OpenNIHTool

  • Description: Publications are not returned by the deployed endpoint. Return PI grant rows and shared-award contacts. Profile counts and total_funding are row-level, not deduplicated award facts. A fiscal-year window filters grants and profile totals but not collaborators. Obtain the numeric profile_id from OpenNIH_search_grants first; the identifier is not safely guessable. Collaborators indicate association with a shared award, not coauthorship or a direct working relationship. Repeated full project numbers can inflate profile grant counts and total_funding, so reconcile multi-component awards before reporting award-level totals.

Parameters:

  • profile_id (string) (required) NIH RePORTER PI profile identifier from a search result.

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

  • limit (integer) (optional) No description

  • offset (integer) (optional) No description

Example Usage:

query = {
    "name": "OpenNIH_get_pi_profile",
    "arguments": {
        "profile_id": "example_value"
    }
}
result = tu.run(query)

OpenNIH_ic_topic_cross (Type: OpenNIHTool)#

Measure one research topic within one NIH Institute/Center (IC), or within one combined all-IC sc…

OpenNIH_ic_topic_cross tool specification

Tool Information:

  • Name: OpenNIH_ic_topic_cross

  • Type: OpenNIHTool

  • Description: Measure one research topic within one NIH Institute/Center (IC), or within one combined all-IC scope using ic=ALL. Uses official Research, Condition, and Disease Categorization (RCDC) categories when coverage permits and title-text matching otherwise. Important: ic=ALL does not return a per-IC ranking; fully paginate search_grants and group its ic field for that analysis. total_grants is the number of distinct core awards in the competitive Research Project Grant (RPG) research scope, not project-year rows. Forced RCDC over a window ending before FY2008 is a coverage-floor zero, not zero funding; inspect no_match_note and use text or a later window.

Parameters:

  • ic (string) (required) One Institute/Center abbreviation, code, or name; use ALL for one combined all-IC scope. ALL does not produce separate rows for each IC.

  • query (string) (required) Research topic or RCDC category.

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

  • match_strategy (string) (optional) No description

Example Usage:

query = {
    "name": "OpenNIH_ic_topic_cross",
    "arguments": {
        "ic": "example_value",
        "query": "example_value"
    }
}
result = tu.run(query)

OpenNIH_institution_concentration (Type: OpenNIHTool)#

Measure concentration of competitive Research Project Grant (RPG) funding across institutions usi…

OpenNIH_institution_concentration tool specification

Tool Information:

  • Name: OpenNIH_institution_concentration

  • Type: OpenNIHTool

  • Description: Measure concentration of competitive Research Project Grant (RPG) funding across institutions using Gini, HHI, top-five share, and top-five institutions. Null award amounts are excluded; when no institution has recorded dollars, all metrics and total_funding are null and total_institutions is 0, not evidence of zero concentration.

Parameters:

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

Example Usage:

query = {
    "name": "OpenNIH_institution_concentration",
    "arguments": {
    }
}
result = tu.run(query)

OpenNIH_mechanism_mix (Type: OpenNIHTool)#

Analyze the mix of NIH award mechanisms for one resolved institution, or the system-wide RPG rese…

OpenNIH_mechanism_mix tool specification

Tool Information:

  • Name: OpenNIH_mechanism_mix

  • Type: OpenNIHTool

  • Description: Analyze the mix of NIH award mechanisms for one resolved institution, or the system-wide RPG research breakdown when entity_id is omitted. Obtain institution IDs from rank_institutions and do not compare the two different scopes directly.

Parameters:

  • entity_id ([‘string’, ‘null’]) (optional) Canonical institution identifier from rank_institutions.

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

Example Usage:

query = {
    "name": "OpenNIH_mechanism_mix",
    "arguments": {
    }
}
result = tu.run(query)

OpenNIH_rank_institutions (Type: OpenNIHTool)#

Rank institutions within competitive Research Project Grant (RPG) research and return entity IDs …

OpenNIH_rank_institutions tool specification

Tool Information:

  • Name: OpenNIH_rank_institutions

  • Type: OpenNIHTool

  • Description: Rank institutions within competitive Research Project Grant (RPG) research and return entity IDs for drill-down. RPG totals are not comparable to all-mechanism funding-trend totals. Verified deployment caveat: FY1985-1998 funding rankings can contain positive dollars even when search_grants, funding_trend, institution profiles, growth, and concentration report no recorded dollars; do not publish those historical funding rankings without cross-endpoint reconciliation.

Parameters:

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

  • ic ([‘string’, ‘null’]) (optional) No description

  • sort_by (string) (optional) Ranking objective. Use funding_scale for ‘top-funded’; composite is a weighted multi-dimensional score and can order institutions differently. The other values rank by their named dimension.

  • limit (integer) (optional) No description

  • offset (integer) (optional) No description

Example Usage:

query = {
    "name": "OpenNIH_rank_institutions",
    "arguments": {
    }
}
result = tu.run(query)

OpenNIH_search (Type: OpenNIHTool)#

Return citation-shaped canonical project-level NIH grant hits for OpenAI Deep Research compatibil…

OpenNIH_search tool specification

Tool Information:

  • Name: OpenNIH_search

  • Type: OpenNIHTool

  • Description: Return citation-shaped canonical project-level NIH grant hits for OpenAI Deep Research compatibility. In multi-component awards, the returned parent/canonical title can omit the terms that matched a component title; validate topical evidence with OpenNIH_search_grants. Prefer OpenNIH_search_grants for filters, matching project-year rows, funding totals, pagination, and detailed provenance.

Parameters:

  • query (string) (required) Natural-language grant-title query.

Example Usage:

query = {
    "name": "OpenNIH_search",
    "arguments": {
        "query": "example_value"
    }
}
result = tu.run(query)

OpenNIH_search_grants (Type: OpenNIHTool)#

Search NIH project-year rows. WARNING: total_funding is a row sum, and repeated full project numb…

OpenNIH_search_grants tool specification

Tool Information:

  • Name: OpenNIH_search_grants

  • Type: OpenNIHTool

  • Description: Search NIH project-year rows. WARNING: total_funding is a row sum, and repeated full project numbers can double-count parent/component dollars. Covers FY1985-present and filters by topic, project number, PI, institution, Institute/Center, activity code, or fiscal-year window. Returns matching rows, distinct-award counts, recorded funding totals, IDs, and provenance. Results are paged by at most 50 rows with offset capped at 100000, so a slice above 100050 rows cannot be fully retrieved: narrow the year or filters before custom aggregation. total_funding is null, not zero, when no matching row reports an award amount.

Parameters:

  • query ([‘string’, ‘null’]) (optional) Natural-language topic or combined search string.

  • text_search ([‘string’, ‘null’]) (optional) Text to match in grant fields.

  • project_num ([‘string’, ‘null’]) (optional) Full NIH project number.

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

  • activity_code ([‘string’, ‘null’]) (optional) NIH activity code such as R01 or K23.

  • ic ([‘string’, ‘null’]) (optional) NIH Institute/Center abbreviation, code, or name. Prefer an exact abbreviation; a name fragment can select multiple or unexpected historical labels, so inspect returned ic_scope. In the verified deployment, fragment ic_scope.n can differ from the length of matched_ic_names and modernized names can repeat; do not infer a precise IC count from either field.

  • institution ([‘string’, ‘null’]) (optional) Case-insensitive substring over raw organization names. This can match multiple canonical institutions or campuses (for example, Harvard); inspect org_name values and use rank_institutions to resolve one entity_id before institution-level analysis.

  • pi_name ([‘string’, ‘null’]) (optional) No description

  • limit (integer) (optional) No description

  • offset (integer) (optional) Zero-based row offset, capped at 100000. With limit=50 the largest fully retrievable matching slice is 100050 rows.

Example Usage:

query = {
    "name": "OpenNIH_search_grants",
    "arguments": {
    }
}
result = tu.run(query)

OpenNIH_source_status (Type: OpenNIHTool)#

Inspect OpenNIH corpus coverage, snapshot freshness, official sidecar availability, and known lag…

OpenNIH_source_status tool specification

Tool Information:

  • Name: OpenNIH_source_status

  • Type: OpenNIHTool

  • Description: Inspect OpenNIH corpus coverage, snapshot freshness, official sidecar availability, and known lag. Call before concluding that a missing grant does not exist. Returns source counts, fiscal-year coverage, and provenance notes.

Parameters:

No parameters required.

Example Usage:

query = {
    "name": "OpenNIH_source_status",
    "arguments": {
    }
}
result = tu.run(query)

OpenNIH_topic_trend (Type: OpenNIHTool)#

Trace annual NIH project-row counts and recorded award totals for a research topic using title-ke…

OpenNIH_topic_trend tool specification

Tool Information:

  • Name: OpenNIH_topic_trend

  • Type: OpenNIHTool

  • Description: Trace annual NIH project-row counts and recorded award totals for a research topic using title-keyword matching. Multiword queries require all words; use grant search for the underlying projects and avoid treating this as semantic classification. Years with no matches are omitted rather than returned as zero-filled rows, and a completely unmatched window returns data=[].

Parameters:

  • query (string) (required) Topic words to match in grant titles.

  • fiscal_year_start ([‘integer’, ‘null’]) (optional) No description

  • fiscal_year_end ([‘integer’, ‘null’]) (optional) No description

Example Usage:

query = {
    "name": "OpenNIH_topic_trend",
    "arguments": {
        "query": "example_value"
    }
}
result = tu.run(query)