Skip to main content
curl -X GET "https://api.omophub.com/v1/concept-classes?domain_id=Drug&include_concept_counts=true&include_examples=true&include_statistics=true" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
{
  "success": true,
  "data": {
    "concept_classes": [
    {
      "concept_class_id": "Clinical Finding",
      "concept_class_name": "Clinical Finding",
      "concept_class_concept_id": 900000000,
      "domain_id": "Condition",
      "domain_name": "Condition",
      "description": "Clinical findings represent observable and measurable signs, symptoms, and abnormal states discovered during clinical examination or patient assessment",
      "category": "clinical",
      "concept_count": 425891,
      "standard_concept_count": 298456,
      "primary_vocabularies": ["SNOMED"],
      "hierarchical": true,
      "mappable": true,
      "statistics": {
        "total_concepts": 425891,
        "vocabulary_distribution": {
          "SNOMED": 398234,
          "Read": 27657
        },
        "growth_trend": {
          "concepts_added_last_year": 8947,
          "concepts_deprecated_last_year": 1234,
          "average_monthly_growth": 0.18
        },
        "relationship_statistics": {
          "average_relationships_per_concept": 4.7,
          "most_common_relationship_types": ["Is a", "Associated morphology", "Finding site"],
          "hierarchy_depth_average": 5.2
        },
        "usage_frequency": 0.87
      },
      "examples": [
        {
          "concept_id": 201826,
          "concept_name": "Type 2 diabetes mellitus",
          "concept_code": "44054006",
          "vocabulary_id": "SNOMED",
          "standard_concept": "S"
        },
        {
          "concept_id": 320128,
          "concept_name": "Essential hypertension",
          "concept_code": "59621000",
          "vocabulary_id": "SNOMED",
          "standard_concept": "S"
        },
        {
          "concept_id": 4329847,
          "concept_name": "Myocardial infarction",
          "concept_code": "22298006",
          "vocabulary_id": "SNOMED",
          "standard_concept": "S"
        }
      ],
      "valid_start_date": "1970-01-01T00:00:00Z",
      "valid_end_date": "2099-12-31T00:00:00Z"
    },
    {
      "concept_class_id": "Ingredient",
      "concept_class_name": "Ingredient",
      "concept_class_concept_id": 900000001,
      "domain_id": "Drug",
      "domain_name": "Drug",
      "description": "Active pharmaceutical ingredients and components that provide therapeutic effects in medications",
      "category": "clinical",
      "concept_count": 45678,
      "standard_concept_count": 12345,
      "primary_vocabularies": ["RxNorm", "SNOMED"],
      "hierarchical": true,
      "mappable": true,
      "statistics": {
        "total_concepts": 45678,
        "vocabulary_distribution": {
          "RxNorm": 38942,
          "SNOMED": 6736
        },
        "growth_trend": {
          "concepts_added_last_year": 1247,
          "concepts_deprecated_last_year": 234,
          "average_monthly_growth": 0.22
        },
        "relationship_statistics": {
          "average_relationships_per_concept": 8.3,
          "most_common_relationship_types": ["Has active ingredient", "Is a", "RxNorm inverse is a"],
          "hierarchy_depth_average": 3.8
        },
        "usage_frequency": 0.65
      },
      "examples": [
        {
          "concept_id": 1503297,
          "concept_name": "Metformin",
          "concept_code": "6809",
          "vocabulary_id": "RxNorm",
          "standard_concept": "S"
        },
        {
          "concept_id": 1308216,
          "concept_name": "Lisinopril",
          "concept_code": "29046",
          "vocabulary_id": "RxNorm",
          "standard_concept": "S"
        }
      ],
      "valid_start_date": "1970-01-01T00:00:00Z",
      "valid_end_date": "2099-12-31T00:00:00Z"
    },
    {
      "concept_class_id": "Procedure",
      "concept_class_name": "Procedure",
      "concept_class_concept_id": 900000002,
      "domain_id": "Procedure",
      "domain_name": "Procedure",
      "description": "Medical procedures, surgical interventions, therapeutic treatments, and diagnostic procedures performed on patients",
      "category": "clinical",
      "concept_count": 198765,
      "standard_concept_count": 134567,
      "primary_vocabularies": ["SNOMED", "HCPCS"],
      "hierarchical": true,
      "mappable": true,
      "statistics": {
        "total_concepts": 198765,
        "vocabulary_distribution": {
          "SNOMED": 156234,
          "HCPCS": 42531
        },
        "relationship_statistics": {
          "average_relationships_per_concept": 3.9,
          "most_common_relationship_types": ["Is a", "Procedure site", "Using device"],
          "hierarchy_depth_average": 4.1
        },
        "usage_frequency": 0.72
      },
      "examples": [
        {
          "concept_id": 4273391,
          "concept_name": "Coronary artery bypass graft",
          "concept_code": "232717009",
          "vocabulary_id": "SNOMED",
          "standard_concept": "S"
        }
      ],
      "valid_start_date": "1970-01-01T00:00:00Z",
      "valid_end_date": "2099-12-31T00:00:00Z"
    }
    ],
    "concept_class_summary": {
    "total_concept_classes": 156,
    "domain_distribution": {
      "Condition": 45,
      "Drug": 34,
      "Procedure": 28,
      "Measurement": 25,
      "Observation": 15,
      "Device": 9
    },
    "vocabulary_distribution": {
      "SNOMED": 89,
      "RxNorm": 23,
      "HCPCS": 15,
      "LOINC": 18,
      "ICD10CM": 11
    },
    "category_distribution": {
      "clinical": 123,
      "administrative": 18,
      "classification": 12,
      "metadata": 3
    },
      "total_concepts_across_classes": 2847562
    }
  },
  "meta": {
    "pagination": {
      "page": 1,
      "page_size": 100,
      "total_items": 156,
      "total_pages": 2,
      "has_next": true,
      "has_previous": false
    },
    "request_id": "req_concept_classes_456",
    "timestamp": "2024-12-22T10:30:00Z",
    "vocab_release": "2025.2"
  }
}
This endpoint provides information about concept classes, which offer more detailed categorization of medical concepts within their respective domains. Concept classes help distinguish between different types of concepts like “Clinical Finding” vs “Disorder” within the Condition domain, or “Ingredient” vs “Clinical Drug” within the Drug domain.

Query Parameters

domain_id
string
Filter concept classes to a specific domain
Example: Condition, Drug, Procedure
vocabulary_ids
string
Filter concept classes to those used by specific vocabularies
Example: SNOMED,RxNorm,ICD10CM
include_concept_counts
boolean
default:"false"
Include counts of concepts within each concept class
include_examples
boolean
default:"false"
Include example concepts for each concept class
include_statistics
boolean
default:"false"
Include detailed statistics and usage information
active_only
boolean
default:"true"
Only return concept classes with active concepts
standard_only
boolean
default:"false"
Only include concept classes containing standard concepts
sort_by
string
default:"concept_class_name"
Sort concept classes by specified field
Options: concept_class_name, domain_id, concept_count
sort_order
string
default:"asc"
Sort order for results
Options: asc, desc
page_size
integer
default:"100"
Number of concept classes to return per page (max 500)
page
integer
default:"1"
Page number for pagination (1-based)

Response

concept_classes
array
Array of concept class objects with their properties
concept_class_summary
object
Summary information about concept classes
meta
object
Response metadata and pagination information
curl -X GET "https://api.omophub.com/v1/concept-classes?domain_id=Drug&include_concept_counts=true&include_examples=true&include_statistics=true" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
{
  "success": true,
  "data": {
    "concept_classes": [
    {
      "concept_class_id": "Clinical Finding",
      "concept_class_name": "Clinical Finding",
      "concept_class_concept_id": 900000000,
      "domain_id": "Condition",
      "domain_name": "Condition",
      "description": "Clinical findings represent observable and measurable signs, symptoms, and abnormal states discovered during clinical examination or patient assessment",
      "category": "clinical",
      "concept_count": 425891,
      "standard_concept_count": 298456,
      "primary_vocabularies": ["SNOMED"],
      "hierarchical": true,
      "mappable": true,
      "statistics": {
        "total_concepts": 425891,
        "vocabulary_distribution": {
          "SNOMED": 398234,
          "Read": 27657
        },
        "growth_trend": {
          "concepts_added_last_year": 8947,
          "concepts_deprecated_last_year": 1234,
          "average_monthly_growth": 0.18
        },
        "relationship_statistics": {
          "average_relationships_per_concept": 4.7,
          "most_common_relationship_types": ["Is a", "Associated morphology", "Finding site"],
          "hierarchy_depth_average": 5.2
        },
        "usage_frequency": 0.87
      },
      "examples": [
        {
          "concept_id": 201826,
          "concept_name": "Type 2 diabetes mellitus",
          "concept_code": "44054006",
          "vocabulary_id": "SNOMED",
          "standard_concept": "S"
        },
        {
          "concept_id": 320128,
          "concept_name": "Essential hypertension",
          "concept_code": "59621000",
          "vocabulary_id": "SNOMED",
          "standard_concept": "S"
        },
        {
          "concept_id": 4329847,
          "concept_name": "Myocardial infarction",
          "concept_code": "22298006",
          "vocabulary_id": "SNOMED",
          "standard_concept": "S"
        }
      ],
      "valid_start_date": "1970-01-01T00:00:00Z",
      "valid_end_date": "2099-12-31T00:00:00Z"
    },
    {
      "concept_class_id": "Ingredient",
      "concept_class_name": "Ingredient",
      "concept_class_concept_id": 900000001,
      "domain_id": "Drug",
      "domain_name": "Drug",
      "description": "Active pharmaceutical ingredients and components that provide therapeutic effects in medications",
      "category": "clinical",
      "concept_count": 45678,
      "standard_concept_count": 12345,
      "primary_vocabularies": ["RxNorm", "SNOMED"],
      "hierarchical": true,
      "mappable": true,
      "statistics": {
        "total_concepts": 45678,
        "vocabulary_distribution": {
          "RxNorm": 38942,
          "SNOMED": 6736
        },
        "growth_trend": {
          "concepts_added_last_year": 1247,
          "concepts_deprecated_last_year": 234,
          "average_monthly_growth": 0.22
        },
        "relationship_statistics": {
          "average_relationships_per_concept": 8.3,
          "most_common_relationship_types": ["Has active ingredient", "Is a", "RxNorm inverse is a"],
          "hierarchy_depth_average": 3.8
        },
        "usage_frequency": 0.65
      },
      "examples": [
        {
          "concept_id": 1503297,
          "concept_name": "Metformin",
          "concept_code": "6809",
          "vocabulary_id": "RxNorm",
          "standard_concept": "S"
        },
        {
          "concept_id": 1308216,
          "concept_name": "Lisinopril",
          "concept_code": "29046",
          "vocabulary_id": "RxNorm",
          "standard_concept": "S"
        }
      ],
      "valid_start_date": "1970-01-01T00:00:00Z",
      "valid_end_date": "2099-12-31T00:00:00Z"
    },
    {
      "concept_class_id": "Procedure",
      "concept_class_name": "Procedure",
      "concept_class_concept_id": 900000002,
      "domain_id": "Procedure",
      "domain_name": "Procedure",
      "description": "Medical procedures, surgical interventions, therapeutic treatments, and diagnostic procedures performed on patients",
      "category": "clinical",
      "concept_count": 198765,
      "standard_concept_count": 134567,
      "primary_vocabularies": ["SNOMED", "HCPCS"],
      "hierarchical": true,
      "mappable": true,
      "statistics": {
        "total_concepts": 198765,
        "vocabulary_distribution": {
          "SNOMED": 156234,
          "HCPCS": 42531
        },
        "relationship_statistics": {
          "average_relationships_per_concept": 3.9,
          "most_common_relationship_types": ["Is a", "Procedure site", "Using device"],
          "hierarchy_depth_average": 4.1
        },
        "usage_frequency": 0.72
      },
      "examples": [
        {
          "concept_id": 4273391,
          "concept_name": "Coronary artery bypass graft",
          "concept_code": "232717009",
          "vocabulary_id": "SNOMED",
          "standard_concept": "S"
        }
      ],
      "valid_start_date": "1970-01-01T00:00:00Z",
      "valid_end_date": "2099-12-31T00:00:00Z"
    }
    ],
    "concept_class_summary": {
    "total_concept_classes": 156,
    "domain_distribution": {
      "Condition": 45,
      "Drug": 34,
      "Procedure": 28,
      "Measurement": 25,
      "Observation": 15,
      "Device": 9
    },
    "vocabulary_distribution": {
      "SNOMED": 89,
      "RxNorm": 23,
      "HCPCS": 15,
      "LOINC": 18,
      "ICD10CM": 11
    },
    "category_distribution": {
      "clinical": 123,
      "administrative": 18,
      "classification": 12,
      "metadata": 3
    },
      "total_concepts_across_classes": 2847562
    }
  },
  "meta": {
    "pagination": {
      "page": 1,
      "page_size": 100,
      "total_items": 156,
      "total_pages": 2,
      "has_next": true,
      "has_previous": false
    },
    "request_id": "req_concept_classes_456",
    "timestamp": "2024-12-22T10:30:00Z",
    "vocab_release": "2025.2"
  }
}

Usage Examples

All Concept Classes

Get all available concept classes:
const allConceptClasses = await fetch('https://api.omophub.com/v1/concept-classes');

Concept Classes by Domain

Get concept classes within a specific domain:
const drugClasses = await fetch('https://api.omophub.com/v1/concept-classes?domain_id=Drug&include_concept_counts=true');

Concept Classes with Statistics

Get detailed statistics for concept classes:
const detailedClasses = await fetch('https://api.omophub.com/v1/concept-classes?include_statistics=true&include_examples=true');

SNOMED Concept Classes

Get concept classes used by SNOMED:
const snomedClasses = await fetch('https://api.omophub.com/v1/concept-classes?vocabulary_ids=SNOMED&sort_by=concept_count&sort_order=desc');

Hierarchical Concept Classes

Filter to concept classes that have hierarchical structure:
// First, fetch the concept classes data
const response = await fetch('https://api.omophub.com/v1/concept-classes?include_statistics=true', {
  method: 'GET'
});

// Handle the response and check HTTP status
if (!response.ok) {
  throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}

// Extract data from response
const conceptClasses = await response.json();

// Now filter to hierarchical concept classes
const hierarchicalClasses = (conceptClasses?.concept_classes || []).filter(cc => cc.hierarchical);
console.log(`Found ${hierarchicalClasses.length} hierarchical concept classes`);

Notes

  • Concept classes provide finer categorization than domains
  • Many concept classes are vocabulary-specific (e.g., “3-char billing code” for ICD codes)
  • Standard concepts are preferred for clinical applications
  • Hierarchical concept classes typically have “Is a” relationships
  • Some concept classes span multiple vocabularies through mappings
  • Growth trends help identify evolving areas of medical terminology
  • Usage frequency indicates popularity in real-world applications
  • Relationship statistics help understand concept connectivity patterns
I