Skip to main content

Overview

A FHIR CodeableConcept often contains multiple Coding entries for the same clinical idea - for example, both a SNOMED code and an ICD-10-CM code for the same condition. This endpoint resolves every coding in parallel and picks the best match according to OHDSI vocabulary preference:
  1. SNOMED CT - conditions, procedures, observations
  2. RxNorm - drugs
  3. LOINC - measurements
  4. CVX - vaccines
  5. ICD-10 / ICD-10-CM - classification
  6. Other vocabularies
The remaining resolutions are returned in alternatives, and any codings that failed to resolve are reported in unresolved. If no coding resolves and a top-level text is provided, the resolver falls back to semantic search on that text.

Request Body

array
Array of FHIR Coding objects, each with required system and code fields, an optional display, and an optional user_selected boolean. Maximum 20 codings per request. When a coding sets user_selected: true it wins best_match over vocabulary preference (FHIR-to-OMOP IG CodeableConcept pattern, mirroring FHIR Coding.userSelected).
string
Optional top-level CodeableConcept.text. Used as the semantic search fallback when none of the structured codings can be resolved.
string
FHIR resource type carrying the CodeableConcept. Applied to every resolution for domain alignment and semantic search filtering.
boolean
default:"false"
Include Phoebe recommendations on resolved concepts.
integer
default:"5"
Maximum Phoebe recommendations per resolved concept (1–20).
boolean
default:"false"
Include a mapping_quality signal on resolved concepts.
At least one of coding or text must be provided.

Response Shape

Text fallback

When every structured coding entry fails to resolve and the request includes a non-empty text, the resolver performs a semantic search against text and returns the top match as best_match. The failed structured codings are still reported in unresolved so you can audit why they didn’t resolve.

Errors

Per-coding errors are reported inline in unresolved.

See also