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.
Overview
A FHIRCodeableConcept 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:
- SNOMED CT - conditions, procedures, observations
- RxNorm - drugs
- LOINC - measurements
- CVX - vaccines
- ICD-10 / ICD-10-CM - classification
- Other vocabularies
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 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).Optional top-level
CodeableConcept.text. Used as the semantic search
fallback when none of the structured codings can be resolved.FHIR resource type carrying the CodeableConcept. Applied to every resolution
for domain alignment and semantic search filtering.
Include Phoebe recommendations on resolved concepts.
Maximum Phoebe recommendations per resolved concept (1–20).
Include a
mapping_quality signal on resolved concepts.coding or text must be provided.
Response Shape
| Field | Type | Description |
|---|---|---|
input | object | Echo of the submitted CodeableConcept |
best_match | object | null | Highest-priority successful resolution, or null if none resolved |
alternatives | array | Other successful resolutions, ordered by vocabulary preference |
unresolved | array | Codings that failed, each with input and error |
Text fallback
When every structuredcoding 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
| HTTP | error.code | Cause |
|---|---|---|
| 400 | validation_error | Neither coding nor text provided, or coding exceeds 20 items |
| 400 | invalid_resource_type | resource_type is not a supported FHIR resource type |
unresolved.