Get Concept Descendants
Retrieve all descendant OMOP concepts for a given concept - hierarchical children and specialized terms for phenotype and cohort definitions.
This endpoint returns all descendant concepts (children, grandchildren, etc.) for a specific concept, allowing exploration of more specific terms and sub-classifications within the medical vocabulary hierarchy.
Path Parameters
The unique identifier of the concept to retrieve descendants for
Example:
Example:
73211009 (Diabetes mellitus)Query Parameters
Filter descendants to specific vocabularies (comma-separated)
Example:
Example:
SNOMED,ICD10CMFilter descendants to specific domains (comma-separated)
Example:
Example:
Condition,DrugMaximum number of hierarchy levels to traverse downward
Range:
Range:
1-20Include
hierarchy_level field for each descendant (distance from source concept)Include
path_length field for each descendantInclude deprecated/invalid concepts in descendants (by default they are excluded)
Maximum size of the descendant set to retrieve before pagination is applied.
Range:
Defaults to the maximum, so paging through the response returns every descendant that matches this request - that is, those within
Range:
1-5000Defaults to the maximum, so paging through the response returns every descendant that matches this request - that is, those within
max_levels and any
domain_ids / vocabulary_ids filters you supplied. (relationship_types is not
applied - see above.) It is not necessarily the concept’s entire descendant
closure: max_levels defaults to 10, so deeper descendants are excluded, and
truncated does not flag that (it reports the row cap only). For a full
closure, pass max_levels=20 as well.Lower max_results only if you deliberately want a partial set - note that
total_items then reflects the truncated set, not the true descendant count. To
read the true, unfiltered count without fetching the set, use
GET /v1/concepts/{concept_id}/level.Page number for pagination (1-based)
Number of descendant concepts to return per page. Values above
200 are
clamped to 200.Specific vocabulary release version to query
Example:
Example:
2025.1Response
The concept ID for which descendants were retrieved
Standard name of the source concept
Vocabulary containing the source concept
Array of descendant concepts in hierarchical order
Summary statistics about the descendant hierarchy
Response metadata and pagination information
Usage Examples
Note: Examples assume a preconfiguredclient from new OMOPHub(). For direct usage:
TypeScript
Basic Descendant Retrieval
Get all descendants for a specific concept:TypeScript
Limited Hierarchy Depth
Retrieve descendants up to a specific number of levels:TypeScript
Domain-Specific Descendants
Filter descendants to specific medical domains:TypeScript
Detailed Descendant Information
Get descendants with hierarchy levels and path information:TypeScript
Related Endpoints
- Get Concept Ancestors - Retrieve parent concepts
- Get Concept Hierarchy - Complete hierarchy view
- Get Concept Relationships - All concept relationships
- Search Concepts - Search within specific hierarchies
Notes
- Descendant traversal follows “Is a” relationships by default, but can include other relationship types
- Large hierarchies may contain thousands of descendants - use pagination and filtering appropriately
- Standard concepts are prioritized unless explicitly disabled
- Some medical concepts may have very deep hierarchies (6+ levels)
- Cross-vocabulary concepts may have descendants from multiple vocabularies
- Deprecated concepts are excluded from descendants unless specifically requested with
include_invalid=true