curl -X GET "https://api.omophub.com/v1/search/facets?query=diabetes&vocabulary_ids=SNOMED,ICD10CM" \
-H "Authorization: Bearer YOUR_API_KEY"
import { OMOPHub } from '@omophub/omophub-node';
// Not yet exposed as a dedicated SDK method - use the typed low-level helper.
const client = new OMOPHub();
const { data } = await client.get<unknown>('/search/facets', {
query: { query: 'diabetes', vocabulary_ids: 'SNOMED,ICD10CM' },
});
import requests
response = requests.get(
"https://api.omophub.com/v1/search/facets",
params={
"query": "diabetes",
"vocabulary_ids": "SNOMED,ICD10CM"
},
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()
{
"success": true,
"data": {
"query": "diabetes",
"facets": {
"vocabularies": [
{ "vocabulary_id": "SNOMED", "count": 245 },
{ "vocabulary_id": "ICD10CM", "count": 67 }
],
"domains": [
{ "domain_id": "Condition", "count": 198 },
{ "domain_id": "Observation", "count": 87 },
{ "domain_id": "Drug", "count": 27 }
],
"concept_classes": [
{ "concept_class_id": "Clinical Finding", "count": 156 },
{ "concept_class_id": "Disorder", "count": 87 },
{ "concept_class_id": "Procedure", "count": 42 }
],
"standard_concepts": [
{ "standard_concept": "S", "count": 245 },
{ "standard_concept": "C", "count": 34 },
{ "standard_concept": "N", "count": 33 }
]
}
},
"meta": {
"request_id": "req_abc123",
"vocab_release": "2025.1"
}
}
Search Facets
Retrieve search facets for filtering medical terminology search results by vocabulary, domain, concept class, and standard concept status.
curl -X GET "https://api.omophub.com/v1/search/facets?query=diabetes&vocabulary_ids=SNOMED,ICD10CM" \
-H "Authorization: Bearer YOUR_API_KEY"
import { OMOPHub } from '@omophub/omophub-node';
// Not yet exposed as a dedicated SDK method - use the typed low-level helper.
const client = new OMOPHub();
const { data } = await client.get<unknown>('/search/facets', {
query: { query: 'diabetes', vocabulary_ids: 'SNOMED,ICD10CM' },
});
import requests
response = requests.get(
"https://api.omophub.com/v1/search/facets",
params={
"query": "diabetes",
"vocabulary_ids": "SNOMED,ICD10CM"
},
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()
{
"success": true,
"data": {
"query": "diabetes",
"facets": {
"vocabularies": [
{ "vocabulary_id": "SNOMED", "count": 245 },
{ "vocabulary_id": "ICD10CM", "count": 67 }
],
"domains": [
{ "domain_id": "Condition", "count": 198 },
{ "domain_id": "Observation", "count": 87 },
{ "domain_id": "Drug", "count": 27 }
],
"concept_classes": [
{ "concept_class_id": "Clinical Finding", "count": 156 },
{ "concept_class_id": "Disorder", "count": 87 },
{ "concept_class_id": "Procedure", "count": 42 }
],
"standard_concepts": [
{ "standard_concept": "S", "count": 245 },
{ "standard_concept": "C", "count": 34 },
{ "standard_concept": "N", "count": 33 }
]
}
},
"meta": {
"request_id": "req_abc123",
"vocab_release": "2025.1"
}
}
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:
Examples:
SNOMED, ICD10CM,LOINC, RXNORMstring
Specific vocabulary release version (defaults to latest)
Examples:
Examples:
2025.1, 2024.2Response
boolean
Indicates if the request was successful
object
Contains the faceted search results
Show data
Show data
string
The search query provided (empty string if none)
object
Object containing facet categories and their values
Show facets
Show facets
array
array
array
object
curl -X GET "https://api.omophub.com/v1/search/facets?query=diabetes&vocabulary_ids=SNOMED,ICD10CM" \
-H "Authorization: Bearer YOUR_API_KEY"
import { OMOPHub } from '@omophub/omophub-node';
// Not yet exposed as a dedicated SDK method - use the typed low-level helper.
const client = new OMOPHub();
const { data } = await client.get<unknown>('/search/facets', {
query: { query: 'diabetes', vocabulary_ids: 'SNOMED,ICD10CM' },
});
import requests
response = requests.get(
"https://api.omophub.com/v1/search/facets",
params={
"query": "diabetes",
"vocabulary_ids": "SNOMED,ICD10CM"
},
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()
{
"success": true,
"data": {
"query": "diabetes",
"facets": {
"vocabularies": [
{ "vocabulary_id": "SNOMED", "count": 245 },
{ "vocabulary_id": "ICD10CM", "count": 67 }
],
"domains": [
{ "domain_id": "Condition", "count": 198 },
{ "domain_id": "Observation", "count": 87 },
{ "domain_id": "Drug", "count": 27 }
],
"concept_classes": [
{ "concept_class_id": "Clinical Finding", "count": 156 },
{ "concept_class_id": "Disorder", "count": 87 },
{ "concept_class_id": "Procedure", "count": 42 }
],
"standard_concepts": [
{ "standard_concept": "S", "count": 245 },
{ "standard_concept": "C", "count": 34 },
{ "standard_concept": "N", "count": 33 }
]
}
},
"meta": {
"request_id": "req_abc123",
"vocab_release": "2025.1"
}
}
Usage Examples
Get Facets for a Search Query
GET /v1/search/facets?query=hypertension
Filter Facets by Vocabulary
GET /v1/search/facets?query=medication&vocabulary_ids=RXNORM,NDC
General Facets Without Query
Get overall distribution of concepts:GET /v1/search/facets
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.Standard Concepts
Shows distribution by OMOP standard concept status:- S (Standard): Preferred concepts for OMOP CDM analytics
- C (Classification): Classification concepts for grouping
- N (Non-standard): Source concepts that map to standard concepts
Related Endpoints
- Basic Search - Apply facet filters to search
- Advanced Search - Complex search with multiple filters
Was this page helpful?