Skip to main content

Overview

The advanced search endpoint provides powerful multi-criteria search capabilities across healthcare vocabularies. Use complex queries, filters, and ranking to find the most relevant medical concepts.
Best for: Complex search scenarios requiring multiple filters, specific vocabularies, or advanced ranking criteria.
Query Requirements: Queries must be at least 3 characters long OR include at least one filter (vocabulary_ids, domain_ids, or concept_class_ids). This prevents overly broad searches that could timeout.

Endpoint

POST
string
/v1/search/advanced

Authentication

Authorization
string
required
Bearer token with your API key

Request Body

query
string
required
The search query termExample: "diabetes mellitus type 2"Validation: Query must be at least 3 characters long, OR include at least one filter (vocabulary_ids, domain_ids, or concept_class_ids). Short queries without filters are rejected to prevent performance issues.
vocabulary_ids
array
Array of vocabulary IDs to search withinOptions: SNOMED, ICD10CM, ICD9CM, RxNorm, LOINC, HCPCS, etc.Default: All vocabularies
domain_ids
array
Array of domain IDs to filter byOptions: Condition, Drug, Procedure, Measurement, Observation, etc.
concept_class_ids
array
Array of concept class IDs to filter byExamples: Clinical Finding, Pharmaceutical Substance, Procedure
standard_concepts_only
boolean
default:true
Whether to include only standard concepts
include_invalid
boolean
default:true
Whether to include invalid/deprecated concepts
relationship_filters
array
Array of relationship filter objects
date_range
object
Filter by validity date range
page
integer
default:1
Page number (1-based indexing)
page_size
integer
default:20
Number of results per page (max: 1000)

Response

success
boolean
Whether the request was successful
data
object
meta
object
Response metadata including pagination

Examples

Complex Relationship Filtering

Search Features

  • Multi-field search: Searches concept names, synonyms, and descriptions
  • Phrase matching: Use quotes for exact phrases: "myocardial infarction"
  • Wildcard support: Use * for partial matching: diabet*
  • Boolean operators: Use AND, OR, NOT: diabetes AND type 2

Relevance Scoring

Results are ranked by relevance using:
  1. Exact matches: Exact concept name matches score highest
  2. Phrase matches: Complete phrase matches in names or synonyms
  3. Term frequency: Frequency of query terms in concept text
  4. Vocabulary priority: Standard concepts ranked higher
  5. Clinical relevance: Healthcare-specific ranking adjustments
Use facets to understand result distribution:

Performance Tips

  1. Use specific vocabulary_ids: Limit search to relevant vocabularies only
  2. Filter by domain_ids: Reduce result set with domain filters
  3. Reasonable page sizes: Use page_size of 20-100 for best performance
  4. Cache results: Cache frequently accessed searches
  5. Use standard concepts: Set standard_concepts_only: true for faster queries
  6. Avoid broad queries: Short queries (< 3 characters) without filters are rejected. Use more specific terms or add filters for better results.

Basic Search

Simple concept search with minimal parameters

Search Autocomplete

Real-time search suggestions

Similar Concepts

Find semantically similar concepts

Search Facets

Get available search facets