Skip to main content

Resolve a Single FHIR Coding

Translate a FHIR Coding (system URI + code) to an OMOP standard concept and CDM target table:

Resolve a Non-Standard Code (Maps-to Traversal)

ICD-10-CM and other classification codes are automatically mapped to their standard equivalents:

Text-Only Resolution (Semantic Search Fallback)

When no structured code is available, pass the display text for semantic search:

Skip URI Resolution with vocabularyId

If you already know the OMOP vocabulary, bypass the URI lookup:

Include Phoebe Recommendations

Get related concepts for phenotype development alongside the resolution:

Include Mapping Quality Signal

Assess whether a resolution needs manual review:

Batch Resolution

Resolve up to 100 codings in a single call. Failed items are reported inline:
Apply shared options to the entire batch:

CodeableConcept Resolution

Resolve a FHIR CodeableConcept with multiple codings. Up to 20 codings per call. The resolver picks the best match per OHDSI vocabulary preference (SNOMED > RxNorm > LOINC > CVX > ICD-10):
Falls back to the text field via semantic search when no coding resolves:

Coding Object Form

resolve() accepts either flat fields or a nested coding object - mirrors how a FHIR library serializes a Coding:
Flat fields override coding-object fields when both are supplied - useful for patching a single field without rebuilding the object.
The SDK converts camelCase fields to snake_case at the wire boundary (userSelecteduser_selected).

Connection Helpers

For users who want to point an external FHIR client library at OMOPHub’s FHIR Terminology Service directly, the SDK exposes a URL builder:
Use the Concept Resolver (client.fhir.resolve) when you want OMOP-enriched answers - standard concept ID, CDM target table, mapping quality. Use a FHIR-native client library pointed at omophubFhirUrl() when you need raw FHIR Parameters / Bundle responses for FHIR-native tooling.

Error Handling

The resolver returns errors through the standard { data, error } shape:
error.name is the stable error code listed in the table below — switch on this for programmatic handling. error.message is a free-form string from the server intended for logs and humans.
See the FHIR Resolver API Reference for full response schemas and field descriptions.