Skip to main content

Overview

This endpoint provides faceted search capabilities for medical terminology, returning aggregated counts that can be used to filter and refine search results. Facets help users understand the distribution of concepts across different dimensions.

Query Parameters

string
Search query to generate facets for. When provided, facets reflect the distribution of matching concepts.
string
Filter facets to specific vocabularies (comma-separated)
Examples: SNOMED, ICD10CM,LOINC, RxNorm
string
Filter facets to specific domains (comma-separated).
Examples: Condition, Drug,Measurement
integer
default:"20"
Maximum number of buckets returned for each facet category. Minimum: 1; maximum: 100. Counts omitted by this limit are reported in the corresponding facet metadata other_count.
string
Specific vocabulary release version (defaults to latest)
Examples: 2025.1, 2024.2

Response

boolean
Indicates if the request was successful
object
Contains the faceted search results
object
Response metadata

Usage Examples

Get Facets for a Search Query

Filter Facets by Vocabulary

General Facets Without Query

Get overall distribution of concepts:

Facet Types

Vocabularies

Shows distribution across medical vocabularies (SNOMED, ICD10CM, LOINC, RxNorm, etc.). Use to filter searches to specific terminology systems.

Domains

Shows distribution across clinical domains (Condition, Drug, Procedure, Measurement, etc.). Use to focus on specific types of medical concepts.

Concept Classes

Shows distribution across concept classifications (Clinical Finding, Disorder, Ingredient, etc.). Provides more granular filtering than domains.

Years

Shows the distribution by the year in each concept’s valid_start_date.

Reconciliation and failures

Facet buckets are built from one candidate set, so all four categories describe the same total_items. A successful response is therefore complete and reports facet_status.partial: false. If candidate retrieval fails, the endpoint returns an error instead of combining categories from different candidate sets. When bucket_limit omits lower-frequency buckets, they are counted in other_count; they are not silently discarded. Null or empty source values are returned as an explicit Unknown/null bucket and are always retained within the limit.