This feature is coming soon and is not yet available in the current API version.
Overview
This endpoint will provide fuzzy search capabilities that can find relevant medical concepts even when the search query contains typos, spelling variations, or approximate matches. It will use advanced string matching algorithms including edit distance, phonetic matching, and character-based similarity scoring.Query Parameters
The search term or phrase (supports typos and variations)
Target vocabularies for search (comma-separated)
Examples:
Examples:
SNOMED
, ICD10CM,LOINC
, RXNORM,NDC
Filter results to specific domains (comma-separated)
Examples:
Examples:
Condition,Procedure
, Drug,Device
Filter to specific concept classes (comma-separated)
Minimum fuzzy match score (0.0-1.0, higher = more strict)
Maximum allowed edit distance (1-5)
Fuzzy matching algorithm
Options:
Options:
levenshtein
, jaro_winkler
, soundex
, metaphone
, hybrid
Include phonetic similarity matching
Include abbreviation and acronym matching
Whether matching should be case sensitive
Whether word order affects matching score
Minimum word length for fuzzy matching
Give higher scores to exact substring matches
Filter by standard concept status:
S
, N
, C
Include invalid/deprecated concepts
Search within concept synonyms
Search within concept descriptions
Language for linguistic processing (ISO 639-1 code)
Sort order for results
Options:
Options:
relevance
, alphabetical
, concept_id
, vocabulary
Page number for pagination
Number of results per page (max 100)
Specific vocabulary release version (defaults to latest)
Response
Indicates if the request was successful
Usage Examples
Basic Fuzzy Search
Search with a misspelled term:Strict Fuzzy Matching
Use higher threshold for more precise matches:Phonetic-Enhanced Search
Include phonetic matching for pronunciation variations:Multi-Vocabulary Fuzzy Search
Search across multiple vocabularies:Case-Sensitive Fuzzy Search
Enable case sensitivity for specific use cases:Algorithm Comparison
Try different algorithms for optimal results:Fuzzy Matching Algorithms
Levenshtein Distance
- Description: Counts minimum single-character edits (insertions, deletions, substitutions)
- Best For: Simple typos, OCR errors
- Performance: Fast
- Example: “diabetis” → “diabetes” (1 deletion)
Jaro-Winkler Similarity
- Description: Considers character matches and transpositions, with prefix boost
- Best For: Names, transposed characters
- Performance: Moderate
- Example: “pnemonia” → “pneumonia” (transposition + insertion)
Soundex
- Description: Phonetic algorithm based on English pronunciation
- Best For: Pronunciation variations, names
- Performance: Very fast
- Example: “cirosis” → “cirrhosis” (similar sound)
Metaphone
- Description: Advanced phonetic algorithm with better accuracy than Soundex
- Best For: Complex phonetic variations
- Performance: Moderate
- Example: “nefritis” → “nephritis” (phonetic similarity)
Hybrid Algorithm
- Description: Combines multiple algorithms with weighted scoring
- Best For: General-purpose fuzzy search
- Performance: Moderate to slow (most comprehensive)
- Example: Uses all methods and selects best matches
Match Types and Scoring
Edit Distance Scoring
- Distance 1: Single character difference (high confidence)
- Distance 2: Two character differences (medium confidence)
- Distance 3+: Multiple differences (lower confidence)
Similarity Score Interpretation
- 0.9-1.0: Very high similarity (likely correct match)
- 0.8-0.89: High similarity (probable match)
- 0.7-0.79: Moderate similarity (possible match)
- 0.6-0.69: Low similarity (uncertain match)
- Below 0.6: Very low similarity (unlikely match)
Match Position Impact
- Full Match: Entire query matches concept name
- Start Match: Query matches beginning of concept name
- End Match: Query matches end of concept name
- Middle Match: Query matches substring within concept name
Common Medical Misspellings
Cardiovascular Terms
- “miokardial” → “myocardial”
- “arteriosklerosis” → “arteriosclerosis”
- “hipertension” → “hypertension”
Respiratory Terms
- “pnemonia” → “pneumonia”
- “asma” → “asthma”
- “bronkitis” → “bronchitis”
Endocrine Terms
- “diabetis” → “diabetes”
- “hiperglycemia” → “hyperglycemia”
- “tiroid” → “thyroid”
Neurological Terms
- “serebral” → “cerebral”
- “epilepsey” → “epilepsy”
- “demenshia” → “dementia”
Gastrointestinal Terms
- “appendisitis” → “appendicitis”
- “gastroenterits” → “gastroenteritis”
- “kolitis” → “colitis”
Performance Considerations
Query Optimization
- Short Queries: Use edit distance limits (1-2)
- Long Queries: Increase fuzzy threshold (0.8+)
- Multiple Words: Enable word order flexibility
Algorithm Selection
- Speed Priority: Use Levenshtein or Soundex
- Accuracy Priority: Use Hybrid algorithm
- Phonetic Focus: Use Metaphone or Soundex
- Balanced Approach: Use Jaro-Winkler
Resource Management
- Large Vocabularies: Increase fuzzy threshold
- Real-time Applications: Limit edit distance
- Batch Processing: Use lower thresholds for recall
Related Endpoints
- Basic Search - Exact term matching
- Phonetic Search - Sound-based matching
- Semantic Search - Meaning-based search
- Search Autocomplete - Query completion with fuzzy logic