curl -X GET "https://api.omophub.com/v1/concepts/trending?period=week&vocabulary_ids=SNOMED,ICD10CM&page_size=20" \
-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();
interface TrendingResult { total_concepts: number }
const { data } = await client.get<TrendingResult>('/concepts/trending', {
query: { period: 'week', vocabularyIds: ['SNOMED'], pageSize: 50 },
});
console.log(`Found ${data?.total_concepts} trending concepts`);
import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
params = {
'period': 'month',
'vocabulary_ids': 'SNOMED,ICD10CM',
'page_size': 50
}
response = requests.get(
'https://api.omophub.com/v1/concepts/trending',
headers=headers,
params=params
)
data = response.json()
for concept in data['data']['concepts']:
print(f"{concept['concept_name']}: score {concept['trend_score']}")
{
"success": true,
"data": {
"period": "week",
"concepts": [
{
"concept_id": 201826,
"concept_name": "Type 2 diabetes mellitus",
"vocabulary_id": "SNOMED",
"search_count": 1547,
"growth_rate": 23.5,
"trend_score": 7.8
},
{
"concept_id": 320128,
"concept_name": "Essential hypertension",
"vocabulary_id": "SNOMED",
"search_count": 1234,
"growth_rate": 18.2,
"trend_score": 6.9
},
{
"concept_id": 4329847,
"concept_name": "Myocardial infarction",
"vocabulary_id": "SNOMED",
"search_count": 987,
"growth_rate": 15.7,
"trend_score": 5.4
}
],
"total_concepts": 156,
"limit": 20
},
"meta": {
"request_id": "req_trending_abc123",
"timestamp": "2024-01-15T10:30:00Z",
"vocab_release": "2025.2"
}
}
Get Trending Concepts
Retrieve trending OMOP concepts ranked by search frequency and usage patterns to surface popular medical terminology across OMOPHub clients.
curl -X GET "https://api.omophub.com/v1/concepts/trending?period=week&vocabulary_ids=SNOMED,ICD10CM&page_size=20" \
-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();
interface TrendingResult { total_concepts: number }
const { data } = await client.get<TrendingResult>('/concepts/trending', {
query: { period: 'week', vocabularyIds: ['SNOMED'], pageSize: 50 },
});
console.log(`Found ${data?.total_concepts} trending concepts`);
import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
params = {
'period': 'month',
'vocabulary_ids': 'SNOMED,ICD10CM',
'page_size': 50
}
response = requests.get(
'https://api.omophub.com/v1/concepts/trending',
headers=headers,
params=params
)
data = response.json()
for concept in data['data']['concepts']:
print(f"{concept['concept_name']}: score {concept['trend_score']}")
{
"success": true,
"data": {
"period": "week",
"concepts": [
{
"concept_id": 201826,
"concept_name": "Type 2 diabetes mellitus",
"vocabulary_id": "SNOMED",
"search_count": 1547,
"growth_rate": 23.5,
"trend_score": 7.8
},
{
"concept_id": 320128,
"concept_name": "Essential hypertension",
"vocabulary_id": "SNOMED",
"search_count": 1234,
"growth_rate": 18.2,
"trend_score": 6.9
},
{
"concept_id": 4329847,
"concept_name": "Myocardial infarction",
"vocabulary_id": "SNOMED",
"search_count": 987,
"growth_rate": 15.7,
"trend_score": 5.4
}
],
"total_concepts": 156,
"limit": 20
},
"meta": {
"request_id": "req_trending_abc123",
"timestamp": "2024-01-15T10:30:00Z",
"vocab_release": "2025.2"
}
}
Overview
This endpoint provides insights into trending concepts by analyzing search frequency and usage patterns. It identifies concepts that are seeing increased activity over different time periods.Query Parameters
string
default:"week"
Time period for trend analysis
Options:
Options:
day, week, monthstring
Filter trends to specific vocabularies (comma-separated)
Examples:
Examples:
SNOMED, SNOMED,ICD10CM, RXNORM,LOINCinteger
default:"20"
Maximum number of trending concepts to return (1-1000)
string
Specific vocabulary release version (defaults to latest)
Response
boolean
Indicates if the request was successful
object
Show Trending Concepts Data
Show Trending Concepts Data
string
Time period analyzed (
day, week, or month)array
Array of trending concepts
Show Trending Concept
Show Trending Concept
integer
Unique concept identifier
string
Primary concept name
string
Source vocabulary identifier
integer
Number of searches for this concept in the period
number
Percentage growth rate compared to the previous period
number
Calculated trend score (higher = more trending). Weighted combination of search volume (60%) and growth rate (40%).
integer
Total number of trending concepts found
integer
Maximum results returned (from page_size parameter)
object
curl -X GET "https://api.omophub.com/v1/concepts/trending?period=week&vocabulary_ids=SNOMED,ICD10CM&page_size=20" \
-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();
interface TrendingResult { total_concepts: number }
const { data } = await client.get<TrendingResult>('/concepts/trending', {
query: { period: 'week', vocabularyIds: ['SNOMED'], pageSize: 50 },
});
console.log(`Found ${data?.total_concepts} trending concepts`);
import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
params = {
'period': 'month',
'vocabulary_ids': 'SNOMED,ICD10CM',
'page_size': 50
}
response = requests.get(
'https://api.omophub.com/v1/concepts/trending',
headers=headers,
params=params
)
data = response.json()
for concept in data['data']['concepts']:
print(f"{concept['concept_name']}: score {concept['trend_score']}")
{
"success": true,
"data": {
"period": "week",
"concepts": [
{
"concept_id": 201826,
"concept_name": "Type 2 diabetes mellitus",
"vocabulary_id": "SNOMED",
"search_count": 1547,
"growth_rate": 23.5,
"trend_score": 7.8
},
{
"concept_id": 320128,
"concept_name": "Essential hypertension",
"vocabulary_id": "SNOMED",
"search_count": 1234,
"growth_rate": 18.2,
"trend_score": 6.9
},
{
"concept_id": 4329847,
"concept_name": "Myocardial infarction",
"vocabulary_id": "SNOMED",
"search_count": 987,
"growth_rate": 15.7,
"trend_score": 5.4
}
],
"total_concepts": 156,
"limit": 20
},
"meta": {
"request_id": "req_trending_abc123",
"timestamp": "2024-01-15T10:30:00Z",
"vocab_release": "2025.2"
}
}
Usage Examples
Weekly Trending Concepts
Get trending concepts from the past week:curl -X GET "https://api.omophub.com/v1/concepts/trending?period=week&page_size=50" \
-H "Authorization: Bearer YOUR_API_KEY"
Vocabulary-Specific Trends
Focus on trends within specific vocabularies:curl -X GET "https://api.omophub.com/v1/concepts/trending?vocabulary_ids=SNOMED&period=month" \
-H "Authorization: Bearer YOUR_API_KEY"
Daily Trending
Get the most recent daily trends:curl -X GET "https://api.omophub.com/v1/concepts/trending?period=day&page_size=100" \
-H "Authorization: Bearer YOUR_API_KEY"
Trend Score Calculation
Thetrend_score is a composite metric calculated from:
- Search volume (60% weight): Number of searches for the concept in the current period
- Growth rate (40% weight): Percentage change compared to the previous period of equal length
Related Endpoints
- Search Concepts - Search for specific concepts
- Get Concept - Detailed concept information
- Suggest Concepts - Concept suggestions
Was this page helpful?