Skip to main content
curl -X GET "https://api.omophub.com/v1/domains?include_stats=true" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "success": true,
  "data": {
    "domains": [
      {
        "domain_id": "Condition",
        "domain_name": "Condition",
        "domain_concept_id": 19
      },
      {
        "domain_id": "Drug",
        "domain_name": "Drug",
        "domain_concept_id": 13
      },
      {
        "domain_id": "Procedure",
        "domain_name": "Procedure",
        "domain_concept_id": 10
      },
      {
        "domain_id": "Measurement",
        "domain_name": "Measurement",
        "domain_concept_id": 21
      },
      {
        "domain_id": "Observation",
        "domain_name": "Observation",
        "domain_concept_id": 27
      }
    ]
  },
  "meta": {
    "request_id": "req_abc123",
    "vocab_release": "2025.1"
  }
}
This endpoint provides information about all domains available in the OMOP vocabulary system. Domains represent high-level categorizations that group medical concepts by their semantic meaning, such as Condition, Drug, Procedure, and others.

Query Parameters

include_stats
boolean
default:"false"
Include concept counts and vocabulary coverage for each domain
vocab_release
string
Specific vocabulary release version to query
Example: 2025.1

Response

domains
array
Array of domain objects with their properties
meta
object
Response metadata
curl -X GET "https://api.omophub.com/v1/domains?include_stats=true" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "success": true,
  "data": {
    "domains": [
      {
        "domain_id": "Condition",
        "domain_name": "Condition",
        "domain_concept_id": 19
      },
      {
        "domain_id": "Drug",
        "domain_name": "Drug",
        "domain_concept_id": 13
      },
      {
        "domain_id": "Procedure",
        "domain_name": "Procedure",
        "domain_concept_id": 10
      },
      {
        "domain_id": "Measurement",
        "domain_name": "Measurement",
        "domain_concept_id": 21
      },
      {
        "domain_id": "Observation",
        "domain_name": "Observation",
        "domain_concept_id": 27
      }
    ]
  },
  "meta": {
    "request_id": "req_abc123",
    "vocab_release": "2025.1"
  }
}

Usage Examples

Basic Domain List

Get all available domains:
const response = await fetch('/v1/domains', {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});

const { data } = await response.json();
console.log(data.domains);

Domains with Statistics

Get domains with concept counts and vocabulary coverage:
const response = await fetch('/v1/domains?include_stats=true', {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});

const { data } = await response.json();

// Find the domain with the most concepts
const largestDomain = data.domains.reduce((max, domain) =>
  (domain.concept_count > (max.concept_count || 0)) ? domain : max
, {});

console.log(`Largest domain: ${largestDomain.domain_name} with ${largestDomain.concept_count} concepts`);

Filter by Vocabulary Coverage

Find domains that include concepts from a specific vocabulary:
const response = await fetch('/v1/domains?include_stats=true', {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});

const { data } = await response.json();

// Find domains with SNOMED concepts
const snomedDomains = data.domains.filter(domain =>
  domain.vocabulary_coverage?.includes('SNOMED')
);

console.log('Domains with SNOMED concepts:', snomedDomains.map(d => d.domain_name));

Notes

  • Domains provide the highest level of semantic categorization in OMOP
  • The most commonly used clinical domains are Condition, Drug, Procedure, and Measurement
  • Use include_stats=true to get concept counts for capacity planning and analysis
  • The vocabulary_coverage field shows which vocabularies contribute concepts to each domain