> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omophub.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> OMOPHub is a REST API for OHDSI ATHENA medical vocabularies - search 11M+ OMOP concepts across SNOMED CT, ICD-10, LOINC, RxNorm, and 100+ terminologies.

OMOPHub is a REST API that gives you programmatic access to the full OHDSI ATHENA vocabulary set - SNOMED CT, ICD-10, LOINC, RxNorm, and 100+ medical terminologies covering 11 million standardized OMOP concepts. No multi-gigabyte downloads, no local PostgreSQL setup, no quarterly vocabulary maintenance. Get an API key and start querying.

## What You Can Do

<CardGroup cols={2}>
  <Card title="Search by meaning, not just keywords" icon="magnifying-glass">
    Full-text search with faceted filtering, fuzzy matching, autocomplete, and semantic similarity powered by OMOPHub's neural embeddings. Find concepts even when the phrasing doesn't match the canonical terminology.
  </Card>

  <Card title="Resolve FHIR codes to OMOP standard concepts" icon="arrows-rotate">
    Send a FHIR system URI + code (or a full `CodeableConcept`) and get back the OMOP standard concept, domain assignment, mapping type, and CDM target table - all in one API call. Handles `Maps to` traversal automatically.
  </Card>

  <Card title="Map between vocabularies" icon="diagram-project">
    Translate codes across SNOMED, ICD-10-CM, LOINC, RxNorm, HCPCS, NDC, and every other OMOP vocabulary. Single-code, batch (up to 100 per request), and `CodeableConcept` variants with OHDSI vocabulary preference ranking.
  </Card>

  <Card title="Traverse concept hierarchies" icon="sitemap">
    Walk ancestor / descendant trees, expand concept sets, and explore non-hierarchical relationships (`Has ingredient`, `RxNorm has dose form`, etc.). Build phenotype definitions that catch all relevant codes, not just the ones you knew to look for.
  </Card>

  <Card title="Serve a standards-compliant FHIR Terminology Service" icon="fire">
    `$lookup`, `$validate-code`, `$translate`, `$expand`, `$subsumes`, `$find-matches`, `$closure`, plus the OMOP-specific `$diff` for vocabulary-release comparison. R4, R4B, R5, and R6 on the same endpoint. Plugs into HAPI FHIR, EHRbase, and any FHIR-aware client.
  </Card>

  <Card title="Power AI agents with medical vocabularies" icon="robot">
    MCP Server exposes 11 tools to Claude, Cursor, VS Code, and any MCP-compatible client. Eliminate hallucinated codes by grounding LLM outputs against the OMOP source of truth - multilingual queries are accepted and translated on the agent side.
  </Card>
</CardGroup>

## Who Uses OMOPHub

* **ETL developers** mapping source data into OMOP CDM tables
* **FHIR integrators** resolving clinical codes to standard OMOP concepts at the point of care
* **Researchers** building phenotype definitions and concept sets
* **Pharma RWE / HEOR teams** validating vocabulary coverage across studies
* **AI / LLM builders** grounding clinical AI pipelines against real terminology
* **openEHR / EHRbase teams** validating archetype terminology bindings against live vocabularies

More than 250 teams across academic medical centers, pharma, and healthcare-technology companies use OMOPHub.

## Choose Your Starting Point

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Get your API key and make your first request in 5 minutes.
  </Card>

  <Card title="FHIR Integration" icon="arrows-rotate" href="/guides/integration/fhir-integration">
    The complete FHIR story - FHIR Resolver for ETL, FHIR R4/R5/R6 Terminology Service for clients, and when to use which.
  </Card>

  <Card title="FHIR Terminology Service" icon="fire" href="/api-reference/fhir-terminology/overview">
    Spec-conformant `$lookup`, `$translate`, `$validate-code`, `$expand`, `$subsumes` and OMOP-specific operations.
  </Card>

  <Card title="AI & MCP Server" icon="robot" href="/ai/onboarding">
    Connect Claude, Cursor, VS Code, or any MCP client to medical vocabularies.
  </Card>

  <Card title="EHRbase / openEHR" icon="database" href="/guides/integration/ehrbase-openehr">
    Validate openEHR template terminology bindings against OMOP vocabularies via FHIR.
  </Card>

  <Card title="HAPI FHIR" icon="server" href="/guides/integration/hapi-fhir">
    Point a HAPI FHIR server at OMOPHub as a remote terminology backend.
  </Card>

  <Card title="Python SDK" icon="python" href="/sdks/python/overview">
    `pip install omophub` - search, map, resolve, and traverse from Python.
  </Card>

  <Card title="R SDK" icon="r-project" href="/sdks/r/overview">
    `install.packages("omophub")` - R6 client for vocabulary access in R workflows.
  </Card>
</CardGroup>

## Quick Example

One API call per common pattern:

<CodeGroup>
  ```bash Search theme={null}
  curl "https://api.omophub.com/v1/search/concepts?query=type+2+diabetes&vocabulary_ids=SNOMED&page_size=3" \
    -H "Authorization: Bearer oh_your_api_key"
  ```

  ```bash FHIR Resolve theme={null}
  curl -X POST "https://api.omophub.com/v1/fhir/resolve" \
    -H "Authorization: Bearer oh_your_api_key" \
    -H "Content-Type: application/json" \
    -d '{
      "system": "http://snomed.info/sct",
      "code": "44054006",
      "resource_type": "Condition"
    }'
  ```

  ```python Python theme={null}
  import omophub

  client = omophub.OMOPHub()

  # Search by meaning (semantic embeddings)
  results = client.search.semantic("heart failure with reduced ejection fraction")

  # Resolve a FHIR code to its OMOP standard concept + CDM target table
  resolved = client.fhir.resolve(
      system="http://snomed.info/sct",
      code="44054006",
      resource_type="Condition",
  )
  print(resolved["resolution"]["standard_concept"]["concept_name"])
  print(resolved["resolution"]["target_table"])  # "condition_occurrence"

  # Walk the concept hierarchy
  descendants = client.hierarchy.descendants(201826, max_levels=2)
  ```

  ```r R theme={null}
  library(omophub)

  client <- OMOPHubClient$new(api_key = "oh_your_api_key")

  # Get a concept
  concept <- client$concepts$get(201826)
  print(concept$concept_name)  # "Type 2 diabetes mellitus"

  # Search concepts
  results <- client$search$basic("type 2 diabetes", vocabulary_ids = "SNOMED")

  # Map between vocabularies
  mappings <- client$mappings$get(201826, target_vocabulary = "ICD10CM")
  ```

  ```bash FHIR R4 theme={null}
  curl "https://fhir.omophub.com/fhir/r4/CodeSystem/\$lookup?system=http://snomed.info/sct&code=44054006" \
    -H "Authorization: Bearer oh_your_api_key"
  ```
</CodeGroup>

The `FHIR Resolve` call is the single-API-call workflow no other terminology server offers: source code in, OMOP standard concept + CDM target table out, with `Maps to` traversal and semantic fallback handled server-side. See the [FHIR Integration guide](/guides/integration/fhir-integration) for the full response shape and batch variants.

## Platform at a Glance

|                        |                                                                                                         |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| **Concepts**           | 11M+ standardized OMOP concepts                                                                         |
| **Vocabularies**       | 100+ including SNOMED CT, ICD-10, LOINC, RxNorm, NDC, HCPCS, ATC                                        |
| **FHIR system URIs**   | 20 canonical vocabulary URIs + OMOP unified omnibus                                                     |
| **FHIR operations**    | `$lookup`, `$validate-code`, `$translate`, `$expand`, `$subsumes`, `$find-matches`, `$closure`, `$diff` |
| **FHIR wire versions** | R4, R4B, R5, R6 on the same endpoint                                                                    |
| **Search**             | Full-text, faceted, fuzzy, autocomplete, semantic                                                       |
| **SDKs**               | Python (PyPI), R (CRAN), MCP Server (npm)                                                               |
| **MCP tools**          | 11 tools for AI agent integration                                                                       |
| **Response time**      | Sub-50ms typical                                                                                        |
| **Vocabulary updates** | Synced with OHDSI ATHENA releases                                                                       |

## Need Help?

<CardGroup cols={2}>
  <Card title="API Reference" icon="book" href="/api-reference/introduction">
    Full endpoint documentation with request / response examples.
  </Card>

  <Card title="Status" icon="signal" href="https://status.omophub.com">
    API uptime and performance.
  </Card>

  <Card title="Dashboard" icon="gauge" href="https://dashboard.omophub.com">
    Manage API keys, usage, billing, and enterprise plans.
  </Card>

  <Card title="GitHub" icon="github" href="https://github.com/omophub">
    Source for the SDKs, MCP Server, and reference implementations.
  </Card>
</CardGroup>
