Skip to main content

List All Domains

Get a list of all available OMOP domains:
# Basic list
result <- client$domains$list()
for (domain in result$data$domains) {
  print(domain$domain_id)
}

# Include concept counts and statistics
result <- client$domains$list(include_stats = TRUE)
for (domain in result$data$domains) {
  cat(sprintf("%s: %d concepts\n", domain$domain_id, domain$concept_count))
}

Get Domain Concepts

Retrieve all concepts within a specific domain:
# Basic usage
result <- client$domains$concepts("Condition", page_size = 100)
for (concept in result$data$concepts) {
  cat(sprintf("%s (%d)\n", concept$concept_name, concept$concept_id))
}

# Filter by vocabulary
result <- client$domains$concepts(
  "Condition",
  vocabulary_ids = c("SNOMED", "ICD10CM"),
  page_size = 50
)

# Standard concepts only
result <- client$domains$concepts(
  "Drug",
  vocabulary_ids = "RxNorm",
  standard_only = TRUE,
  page_size = 100
)

# Include invalid/deprecated concepts
result <- client$domains$concepts(
  "Procedure",
  include_invalid = TRUE,
  page = 1,
  page_size = 50
)

# Pagination
cat(sprintf("Page %d of %d\n",
  result$meta$pagination$page,
  result$meta$pagination$total_pages
))
cat(sprintf("Total: %d concepts\n", result$meta$pagination$total_items))

Parameters

ParameterTypeDefaultDescription
domain_idcharacterrequiredDomain identifier (e.g., “Condition”, “Drug”)
vocabulary_idscharacterNULLFilter to specific vocabularies
standard_onlylogicalFALSEReturn only standard concepts
include_invalidlogicalFALSEInclude deprecated concepts
pageinteger1Page number
page_sizeinteger50Results per page (max 1000)