The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
R client for the OMOPHub API, providing access to OHDSI ATHENA standardized medical vocabularies.
You can install the development version of omophub from GitHub:
# install.packages("pak")
pak::pak("omopHub/omophub-R")Set your API key using one of these methods:
# Option 1: Environment variable (recommended)
Sys.setenv(OMOPHUB_API_KEY = "your_api_key")
# Option 2: Use the helper function
library(omophub)
set_api_key("your_api_key")
# Option 3: Store securely in system keyring
set_api_key("your_api_key", store = "keyring")library(omophub)
# Create a client
client <- OMOPHubClient$new()
# Search for concepts
results <- client$search$basic("diabetes")
results$data
# Get a specific concept
concept <- client$concepts$get(201826)
concept$concept_name
# [1] "Type 2 diabetes mellitus"
# Get concept by vocabulary code
concept <- client$concepts$get_by_code("SNOMED", "44054006")
# Batch lookup multiple concepts
batch <- client$concepts$batch(c(201826, 320128, 4329847))
# Get concept ancestors (hierarchy)
ancestors <- client$hierarchy$ancestors(201826)
# Get concept mappings to another vocabulary
mappings <- client$mappings$get(201826, target_vocabularies = "ICD10CM")The client provides access to these resources:
| Resource | Description |
|---|---|
concepts |
Concept lookup, batch operations, suggestions |
search |
Basic and advanced concept search |
vocabularies |
Vocabulary listing and details |
domains |
Domain listing and concept filtering |
hierarchy |
Ancestor and descendant navigation |
relationships |
Concept relationships |
mappings |
Concept mappings between vocabularies |
For large result sets, use automatic pagination:
# Fetch all results automatically
all_results <- client$search$basic_all("diabetes", page_size = 100)
# Or paginate manually
page1 <- client$search$basic("diabetes", page = 1, page_size = 20)
page2 <- client$search$basic("diabetes", page = 2, page_size = 20)Specify a vocabulary version when creating the client:
client <- OMOPHubClient$new(vocab_version = "2025.2")The package uses structured error classes:
tryCatch(
{
result <- client$concepts$get(999999999)
},
omophub_api_error = function(e) {
message("API error: ", conditionMessage(e))
},
omophub_auth_error = function(e) {
message("Authentication failed")
}
)The package includes comprehensive examples in
inst/examples/:
| Example | Description |
|---|---|
basic_usage.R |
Getting started - client setup, concept lookup, search |
search_concepts.R |
Search capabilities - filters, autocomplete, pagination |
navigate_hierarchy.R |
Hierarchy navigation - ancestors, descendants, relationships |
map_between_vocabularies.R |
Vocabulary mapping - ICD-10, SNOMED, batch mapping |
error_handling.R |
Error handling patterns - tryCatch, retry logic |
Run an example:
# After installing the package
example_path <- system.file("examples", "basic_usage.R", package = "omophub")
source(example_path)MIT License - see LICENSE for details.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.