> ## 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.

# FHIR CodeSystem read for OMOP vocabularies

> Fetch a specific FHIR CodeSystem resource by ID - either a per-vocabulary stub (SNOMED, LOINC, RxNorm) or the unified OMOP omnibus CodeSystem.

## Overview

Returns a single `CodeSystem` resource by its FHIR `id`. OMOPHub recognizes two ID shapes:

1. **Per-vocabulary stub IDs** - short lowercase slugs (`loinc`, `snomed`, `rxnorm`, `icd-10-cm`, …) that map 1:1 to canonical FHIR system URIs. These return `content: "not-present"` stubs with metadata only.
2. **Unified OMOP release IDs** - the release-specific FHIR id (e.g. `omop-v20250827`) for the omnibus OMOP CodeSystem that covers every supported vocabulary under one URL. These return the full CodeSystem resource with all OMOP property definitions.

## Request

### Per-vocabulary stub

```bash theme={null}
curl "https://fhir.omophub.com/fhir/r4/CodeSystem/loinc" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Unified OMOP release

```bash theme={null}
curl "https://fhir.omophub.com/fhir/r4/CodeSystem/omop-v20250827" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

Use the [metadata endpoint](/api-reference/fhir-terminology/metadata) to discover the current release ID, or call [CodeSystem search](/api-reference/fhir-terminology/codesystem-search) with `url=https://fhir-terminology.ohdsi.org` to fetch the unified resource via the canonical URL.

## Response (per-vocabulary stub)

```json theme={null}
{
  "resourceType": "CodeSystem",
  "id": "loinc",
  "url": "http://loinc.org",
  "name": "LOINC",
  "title": "Logical Observation Identifiers Names and Codes",
  "status": "active",
  "experimental": false,
  "publisher": "Regenstrief Institute",
  "description": "Logical Observation Identifiers Names and Codes - served by OMOPHub. Use $lookup and $validate-code operations to query concepts; the full concept list is not served inline (content: not-present).",
  "content": "not-present"
}
```

<Note>
  Instance reads return a bare `CodeSystem` resource, not a Bundle. Only search-type queries wrap results in a Bundle.
</Note>

## Response (unified OMOP release)

```json theme={null}
{
  "resourceType": "CodeSystem",
  "id": "omop-v20250827",
  "url": "https://fhir-terminology.ohdsi.org",
  "version": "2025.2",
  "name": "OMOPConcepts",
  "title": "OMOP Standardized Vocabularies",
  "status": "active",
  "date": "2025-08-27",
  "publisher": "OHDSI / OMOPHub",
  "description": "OMOP Standardized Vocabularies (release 2025.2). Served by OMOPHub at https://fhir.omophub.com. Content is identical to the OHDSI ATHENA vocabulary release.",
  "content": "not-present",
  "property": [
    {
      "code": "concept-id",
      "description": "The OMOP concept_id value for the concept.",
      "type": "integer"
    },
    {
      "code": "source-concept-code",
      "description": "The OMOP concept_code value as a FHIR Coding (includes system URI + code).",
      "type": "Coding"
    }
  ]
}
```

The full response lists every OMOP property and relationship type the server supports - see [\$lookup properties](/api-reference/fhir-terminology/overview#property-naming) in the overview for the complete set.

## Why two shapes?

OMOPHub serves all 130+ vocabularies from a single unified backend. The per-vocab stubs are thin FHIR-conformant views over that backend, added so clients like HAPI and EHRbase can discover `http://loinc.org` as a first-class CodeSystem instead of having to know the OMOP omnibus URL. Both shapes resolve to the same concept data; pick whichever matches your client's expectations.

| Use the stub when                                                 | Use the unified CodeSystem when                                                  |
| ----------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| A FHIR client is probing support by canonical URI (HAPI, EHRbase) | You need release-specific metadata (version, release date, property definitions) |
| You want concise metadata for UI pickers                          | You're building a client that walks OMOP properties directly                     |
| Round-tripping `url: http://loinc.org` from a search result       | Round-tripping `url: https://fhir-terminology.ohdsi.org`                         |

## Errors

| HTTP | Issue Code  | Cause                                                             |
| ---- | ----------- | ----------------------------------------------------------------- |
| 401  | `login`     | Missing or invalid API key                                        |
| 404  | `not-found` | `id` does not match any known stub or released vocabulary version |

## See Also

* [CodeSystem search](/api-reference/fhir-terminology/codesystem-search) - discovery endpoint that returns these stubs in a Bundle
* [\$lookup](/api-reference/fhir-terminology/lookup) - query concept details using the `url` from the resource
* [FHIR Terminology overview](/api-reference/fhir-terminology/overview) - full list of supported system URIs and stub IDs
