curl -X GET "https://api.omophub.com/v1/domains/Condition/concepts?vocabulary_ids=SNOMED&standard_only=true&page_size=50" \
-H "Authorization: Bearer YOUR_API_KEY"
import { OMOPHub } from '@omophub/omophub-node';
const client = new OMOPHub();
const { data, meta } = await client.domains.concepts('Condition', {
vocabularyIds: ['SNOMED'],
standardOnly: true,
pageSize: 50,
});
console.log(`Found ${meta?.pagination?.total_items} concepts`);
data?.concepts.forEach(concept => {
console.log(`${concept.concept_name} (${concept.concept_id})`);
});
import requests
response = requests.get(
"https://api.omophub.com/v1/domains/Drug/concepts",
params={
"vocabulary_ids": "RxNorm",
"standard_only": True,
"page_size": 100
},
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()
for concept in data["data"]["concepts"]:
print(f"{concept['concept_name']} ({concept['concept_id']})")
{
"success": true,
"data": {
"concepts": [
{
"concept_id": 201826,
"concept_name": "Type 2 diabetes mellitus",
"concept_code": "44054006",
"vocabulary_id": "SNOMED",
"vocabulary_name": "Systematized Nomenclature of Medicine Clinical Terms",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"standard_concept": "S",
"valid_start_date": "1970-01-01",
"valid_end_date": "2099-12-31",
"invalid_reason": null
},
{
"concept_id": 46635009,
"concept_name": "Type 1 diabetes mellitus",
"concept_code": "46635009",
"vocabulary_id": "SNOMED",
"vocabulary_name": "Systematized Nomenclature of Medicine Clinical Terms",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"standard_concept": "S",
"valid_start_date": "1970-01-01",
"valid_end_date": "2099-12-31",
"invalid_reason": null
}
]
},
"meta": {
"request_id": "req_abc123",
"vocab_release": "2025.1",
"timestamp": "2025-01-05T10:00:00Z",
"pagination": {
"page": 1,
"page_size": 50,
"total_items": 847,
"total_pages": 17,
"has_next": true,
"has_previous": false
}
}
}
Get Domain Concepts
Retrieve all OMOP concepts within a specific domain - Condition, Drug, Measurement, Procedure - with pagination for building domain-scoped concept sets.
curl -X GET "https://api.omophub.com/v1/domains/Condition/concepts?vocabulary_ids=SNOMED&standard_only=true&page_size=50" \
-H "Authorization: Bearer YOUR_API_KEY"
import { OMOPHub } from '@omophub/omophub-node';
const client = new OMOPHub();
const { data, meta } = await client.domains.concepts('Condition', {
vocabularyIds: ['SNOMED'],
standardOnly: true,
pageSize: 50,
});
console.log(`Found ${meta?.pagination?.total_items} concepts`);
data?.concepts.forEach(concept => {
console.log(`${concept.concept_name} (${concept.concept_id})`);
});
import requests
response = requests.get(
"https://api.omophub.com/v1/domains/Drug/concepts",
params={
"vocabulary_ids": "RxNorm",
"standard_only": True,
"page_size": 100
},
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()
for concept in data["data"]["concepts"]:
print(f"{concept['concept_name']} ({concept['concept_id']})")
{
"success": true,
"data": {
"concepts": [
{
"concept_id": 201826,
"concept_name": "Type 2 diabetes mellitus",
"concept_code": "44054006",
"vocabulary_id": "SNOMED",
"vocabulary_name": "Systematized Nomenclature of Medicine Clinical Terms",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"standard_concept": "S",
"valid_start_date": "1970-01-01",
"valid_end_date": "2099-12-31",
"invalid_reason": null
},
{
"concept_id": 46635009,
"concept_name": "Type 1 diabetes mellitus",
"concept_code": "46635009",
"vocabulary_id": "SNOMED",
"vocabulary_name": "Systematized Nomenclature of Medicine Clinical Terms",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"standard_concept": "S",
"valid_start_date": "1970-01-01",
"valid_end_date": "2099-12-31",
"invalid_reason": null
}
]
},
"meta": {
"request_id": "req_abc123",
"vocab_release": "2025.1",
"timestamp": "2025-01-05T10:00:00Z",
"pagination": {
"page": 1,
"page_size": 50,
"total_items": 847,
"total_pages": 17,
"has_next": true,
"has_previous": false
}
}
}
This endpoint provides access to all medical concepts within a particular domain, such as all conditions, drugs, or procedures.
Path Parameters
string
required
The domain identifier to retrieve concepts from.
Example:
Example:
Condition, Drug, ProcedureQuery Parameters
string
Filter concepts to specific vocabularies within the domain (comma-separated).
Example:
Example:
SNOMED,ICD10CMboolean
default:"false"
Return only standard concepts (standard_concept = ‘S’).
boolean
default:"true"
Include invalid/deprecated concepts in results.
integer
default:"1"
Page number for pagination (1-based).
integer
default:"20"
Number of concepts to return per page (max 1000).
string
Specific vocabulary release version to query
Example:
Example:
2025.1Response
boolean
Indicates if the request was successful.
object
Response data container.
Show Data Object
Show Data Object
array
Array of concept objects within the domain.
Show Concept Object
Show Concept Object
integer
Unique concept identifier.
string
Standard name of the concept.
string
Original code from the vocabulary.
string
Vocabulary containing this concept.
string
Human-readable vocabulary name.
string
Domain identifier.
string
Concept class identifier.
string|null
Standard concept designation (‘S’, ‘C’, or null).
string
Date when concept became valid (ISO format).
string
Date when concept becomes invalid (ISO format).
string|null
Reason for concept invalidation if applicable.
object
Response metadata and pagination information.
Show Metadata Object
Show Metadata Object
string
Unique identifier for this request.
string
Vocabulary release version used.
string
Response timestamp (ISO format).
curl -X GET "https://api.omophub.com/v1/domains/Condition/concepts?vocabulary_ids=SNOMED&standard_only=true&page_size=50" \
-H "Authorization: Bearer YOUR_API_KEY"
import { OMOPHub } from '@omophub/omophub-node';
const client = new OMOPHub();
const { data, meta } = await client.domains.concepts('Condition', {
vocabularyIds: ['SNOMED'],
standardOnly: true,
pageSize: 50,
});
console.log(`Found ${meta?.pagination?.total_items} concepts`);
data?.concepts.forEach(concept => {
console.log(`${concept.concept_name} (${concept.concept_id})`);
});
import requests
response = requests.get(
"https://api.omophub.com/v1/domains/Drug/concepts",
params={
"vocabulary_ids": "RxNorm",
"standard_only": True,
"page_size": 100
},
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()
for concept in data["data"]["concepts"]:
print(f"{concept['concept_name']} ({concept['concept_id']})")
{
"success": true,
"data": {
"concepts": [
{
"concept_id": 201826,
"concept_name": "Type 2 diabetes mellitus",
"concept_code": "44054006",
"vocabulary_id": "SNOMED",
"vocabulary_name": "Systematized Nomenclature of Medicine Clinical Terms",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"standard_concept": "S",
"valid_start_date": "1970-01-01",
"valid_end_date": "2099-12-31",
"invalid_reason": null
},
{
"concept_id": 46635009,
"concept_name": "Type 1 diabetes mellitus",
"concept_code": "46635009",
"vocabulary_id": "SNOMED",
"vocabulary_name": "Systematized Nomenclature of Medicine Clinical Terms",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"standard_concept": "S",
"valid_start_date": "1970-01-01",
"valid_end_date": "2099-12-31",
"invalid_reason": null
}
]
},
"meta": {
"request_id": "req_abc123",
"vocab_release": "2025.1",
"timestamp": "2025-01-05T10:00:00Z",
"pagination": {
"page": 1,
"page_size": 50,
"total_items": 847,
"total_pages": 17,
"has_next": true,
"has_previous": false
}
}
}
Usage Examples
All Concepts in a Domain
Get all concepts within the Condition domain:GET /v1/domains/Condition/concepts?page_size=100
Standard Concepts Only
Get only standard concepts from a specific vocabulary:GET /v1/domains/Drug/concepts?standard_only=true&vocabulary_ids=RxNorm
Filter by Multiple Vocabularies
Get concepts from multiple vocabularies:GET /v1/domains/Procedure/concepts?vocabulary_ids=SNOMED,HCPCS
Include Invalid Concepts
Include deprecated concepts in results:GET /v1/domains/Condition/concepts?include_invalid=true
Related Endpoints
- Get Domains - Available domain list
- Get Concept Details - Individual concept information
- Search Concepts - Cross-domain concept search
Notes
- Domain queries can return large result sets - use pagination appropriately
- Standard concepts (S) are preferred for most clinical applications
- Default page size is 20, maximum is 1000
- Results are not sorted by default
Was this page helpful?