curl -X GET "https://api.omophub.com/v1/search/similar/44054006?vocabulary_ids=SNOMED,ICD10CM&similarity_threshold=0.8&page_size=10&include_scores=true&include_explanations=true" \
-H "Authorization: Bearer YOUR_API_KEY"
import { OMOPHub } from '@omophub/omophub-node';
const client = new OMOPHub();
const { data } = await client.search.similar({
conceptId: 44054006,
vocabularyIds: ['SNOMED', 'ICD10CM'],
similarityThreshold: 0.8,
pageSize: 10,
includeScores: true,
includeExplanations: true,
});
import requests
url = "https://api.omophub.com/v1/search/similar/44054006"
params = {
"vocabulary_ids": "SNOMED,ICD10CM",
"similarity_threshold": 0.8,
"page_size": 10,
"include_scores": "true",
"include_explanations": "true"
}
response = requests.get(
url,
params=params,
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()
{
"success": true,
"data": {
"source_concept": {
"concept_id": 44054006,
"concept_name": "Type 2 diabetes mellitus",
"concept_code": "44054006",
"vocabulary_id": "SNOMED",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"standard_concept": "S"
},
"similar_concepts": [
{
"concept_id": 201826,
"concept_name": "Type 2 diabetes mellitus without complications",
"concept_code": "E11.9",
"vocabulary_id": "ICD10CM",
"domain_id": "Condition",
"concept_class_id": "4-char nonbill code",
"similarity_score": 0.92,
"explanation": "High similarity - more specific variant of the same condition",
"standard_concept": null,
"synonyms": ["Type II diabetes mellitus uncomplicated"]
},
{
"concept_id": 443729,
"concept_name": "Diabetes mellitus type 2 with hyperglycemia",
"concept_code": "443729",
"vocabulary_id": "SNOMED",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"similarity_score": 0.89,
"explanation": "High similarity - related complication of the same condition",
"standard_concept": "S",
"synonyms": ["Type 2 DM with elevated glucose"]
},
{
"concept_id": 432367,
"concept_name": "Diabetes mellitus type 2 with diabetic nephropathy",
"concept_code": "E11.21",
"vocabulary_id": "ICD10CM",
"domain_id": "Condition",
"concept_class_id": "5-char billing code",
"similarity_score": 0.86,
"explanation": "High similarity - complication of the same condition",
"standard_concept": null,
"synonyms": ["Type 2 DM with kidney disease"]
}
],
"search_metadata": {
"source_concept_id": 44054006,
"algorithm_used": "hybrid",
"similarity_threshold": 0.8,
"total_candidates": 125000,
"results_returned": 3,
"processing_time_ms": 187
}
},
"meta": {
"request_id": "req_sim_xyz789",
"timestamp": "2024-01-15T10:30:00Z",
"vocab_release": "2025.1",
"pagination": {
"page": 1,
"page_size": 20,
"total_items": 3,
"total_pages": 1,
"has_next": false,
"has_previous": false
},
"search": {
"query": "",
"total_results": 3,
"filters_applied": {
"similarity_type": "concept"
}
}
}
}
{
"success": false,
"error": {
"code": "CONCEPT_NOT_FOUND",
"message": "The specified concept ID does not exist",
"details": {
"concept_id": 99999999,
"suggestion": "Verify the concept ID exists in the OMOP vocabularies"
}
}
}
Get Similar Concepts by ID
Find OMOP concepts similar to a specific concept identified by its concept ID using semantic similarity - discover related clinical terminology fast.
curl -X GET "https://api.omophub.com/v1/search/similar/44054006?vocabulary_ids=SNOMED,ICD10CM&similarity_threshold=0.8&page_size=10&include_scores=true&include_explanations=true" \
-H "Authorization: Bearer YOUR_API_KEY"
import { OMOPHub } from '@omophub/omophub-node';
const client = new OMOPHub();
const { data } = await client.search.similar({
conceptId: 44054006,
vocabularyIds: ['SNOMED', 'ICD10CM'],
similarityThreshold: 0.8,
pageSize: 10,
includeScores: true,
includeExplanations: true,
});
import requests
url = "https://api.omophub.com/v1/search/similar/44054006"
params = {
"vocabulary_ids": "SNOMED,ICD10CM",
"similarity_threshold": 0.8,
"page_size": 10,
"include_scores": "true",
"include_explanations": "true"
}
response = requests.get(
url,
params=params,
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()
{
"success": true,
"data": {
"source_concept": {
"concept_id": 44054006,
"concept_name": "Type 2 diabetes mellitus",
"concept_code": "44054006",
"vocabulary_id": "SNOMED",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"standard_concept": "S"
},
"similar_concepts": [
{
"concept_id": 201826,
"concept_name": "Type 2 diabetes mellitus without complications",
"concept_code": "E11.9",
"vocabulary_id": "ICD10CM",
"domain_id": "Condition",
"concept_class_id": "4-char nonbill code",
"similarity_score": 0.92,
"explanation": "High similarity - more specific variant of the same condition",
"standard_concept": null,
"synonyms": ["Type II diabetes mellitus uncomplicated"]
},
{
"concept_id": 443729,
"concept_name": "Diabetes mellitus type 2 with hyperglycemia",
"concept_code": "443729",
"vocabulary_id": "SNOMED",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"similarity_score": 0.89,
"explanation": "High similarity - related complication of the same condition",
"standard_concept": "S",
"synonyms": ["Type 2 DM with elevated glucose"]
},
{
"concept_id": 432367,
"concept_name": "Diabetes mellitus type 2 with diabetic nephropathy",
"concept_code": "E11.21",
"vocabulary_id": "ICD10CM",
"domain_id": "Condition",
"concept_class_id": "5-char billing code",
"similarity_score": 0.86,
"explanation": "High similarity - complication of the same condition",
"standard_concept": null,
"synonyms": ["Type 2 DM with kidney disease"]
}
],
"search_metadata": {
"source_concept_id": 44054006,
"algorithm_used": "hybrid",
"similarity_threshold": 0.8,
"total_candidates": 125000,
"results_returned": 3,
"processing_time_ms": 187
}
},
"meta": {
"request_id": "req_sim_xyz789",
"timestamp": "2024-01-15T10:30:00Z",
"vocab_release": "2025.1",
"pagination": {
"page": 1,
"page_size": 20,
"total_items": 3,
"total_pages": 1,
"has_next": false,
"has_previous": false
},
"search": {
"query": "",
"total_results": 3,
"filters_applied": {
"similarity_type": "concept"
}
}
}
}
{
"success": false,
"error": {
"code": "CONCEPT_NOT_FOUND",
"message": "The specified concept ID does not exist",
"details": {
"concept_id": 99999999,
"suggestion": "Verify the concept ID exists in the OMOP vocabularies"
}
}
}
Overview
This endpoint finds medical concepts that are semantically similar to a specific concept identified by its OMOP concept ID. It uses the same advanced machine learning algorithms as the POST version but optimized for concept-to-concept similarity matching, making it ideal for discovering related concepts when you have a specific starting point.Path Parameters
integer
required
The OMOP concept ID to find similar concepts for
Query Parameters
string
Target vocabularies to search within (comma-separated)
Examples:
Examples:
SNOMED, SNOMED,ICD10CM, RXNORM,NDCstring
Clinical domains to focus the similarity search (comma-separated)
Examples:
Examples:
Condition,Procedure, Drug,Devicestring
Concept classes to include in similarity search (comma-separated)
Examples:
Examples:
Clinical Finding,Procedure, Ingredient,Brand Namenumber
default:"0.7"
Minimum similarity score threshold (0.0 to 1.0)
Higher values = More strict similarity matching
Higher values = More strict similarity matching
integer
default:"20"
Number of similar concepts to return per page
integer
default:"1"
Page number (1-based indexing)
boolean
default:"true"
Include similarity scores in the response
boolean
default:"false"
Include explanations for why concepts are considered similar
string
Filter to standard concepts only
Options:
Options:
S (standard), C (classification), NULL (non-standard)boolean
default:"true"
Include invalid/deprecated concepts in similarity search
string
default:"hybrid"
Similarity algorithm to use
Options:
Options:
semantic (embedding-based), lexical (text-based), hybrid (combined)boolean
default:"true"
Exclude the source concept from results
Response
boolean
Indicates if the request was successful
object
object
Contains the similar concepts search results
Show data
Show data
object
Information about the source concept used for similarity search
Show source_concept
Show source_concept
array
Array of concepts similar to the source concept
Show similar_concepts
Show similar_concepts
integer
OMOP concept ID
string
Primary concept name
string
Vocabulary-specific concept code
string
Source vocabulary identifier
string
Clinical domain classification
string
Concept class identifier
number
Similarity score between 0.0 and 1.0
string
Reason for similarity match (if requested)
string|null
Standard concept designation (‘S’, ‘C’, or null for non-standard)
array
Alternative names for the concept
object
Information about the similarity search
curl -X GET "https://api.omophub.com/v1/search/similar/44054006?vocabulary_ids=SNOMED,ICD10CM&similarity_threshold=0.8&page_size=10&include_scores=true&include_explanations=true" \
-H "Authorization: Bearer YOUR_API_KEY"
import { OMOPHub } from '@omophub/omophub-node';
const client = new OMOPHub();
const { data } = await client.search.similar({
conceptId: 44054006,
vocabularyIds: ['SNOMED', 'ICD10CM'],
similarityThreshold: 0.8,
pageSize: 10,
includeScores: true,
includeExplanations: true,
});
import requests
url = "https://api.omophub.com/v1/search/similar/44054006"
params = {
"vocabulary_ids": "SNOMED,ICD10CM",
"similarity_threshold": 0.8,
"page_size": 10,
"include_scores": "true",
"include_explanations": "true"
}
response = requests.get(
url,
params=params,
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()
{
"success": true,
"data": {
"source_concept": {
"concept_id": 44054006,
"concept_name": "Type 2 diabetes mellitus",
"concept_code": "44054006",
"vocabulary_id": "SNOMED",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"standard_concept": "S"
},
"similar_concepts": [
{
"concept_id": 201826,
"concept_name": "Type 2 diabetes mellitus without complications",
"concept_code": "E11.9",
"vocabulary_id": "ICD10CM",
"domain_id": "Condition",
"concept_class_id": "4-char nonbill code",
"similarity_score": 0.92,
"explanation": "High similarity - more specific variant of the same condition",
"standard_concept": null,
"synonyms": ["Type II diabetes mellitus uncomplicated"]
},
{
"concept_id": 443729,
"concept_name": "Diabetes mellitus type 2 with hyperglycemia",
"concept_code": "443729",
"vocabulary_id": "SNOMED",
"domain_id": "Condition",
"concept_class_id": "Clinical Finding",
"similarity_score": 0.89,
"explanation": "High similarity - related complication of the same condition",
"standard_concept": "S",
"synonyms": ["Type 2 DM with elevated glucose"]
},
{
"concept_id": 432367,
"concept_name": "Diabetes mellitus type 2 with diabetic nephropathy",
"concept_code": "E11.21",
"vocabulary_id": "ICD10CM",
"domain_id": "Condition",
"concept_class_id": "5-char billing code",
"similarity_score": 0.86,
"explanation": "High similarity - complication of the same condition",
"standard_concept": null,
"synonyms": ["Type 2 DM with kidney disease"]
}
],
"search_metadata": {
"source_concept_id": 44054006,
"algorithm_used": "hybrid",
"similarity_threshold": 0.8,
"total_candidates": 125000,
"results_returned": 3,
"processing_time_ms": 187
}
},
"meta": {
"request_id": "req_sim_xyz789",
"timestamp": "2024-01-15T10:30:00Z",
"vocab_release": "2025.1",
"pagination": {
"page": 1,
"page_size": 20,
"total_items": 3,
"total_pages": 1,
"has_next": false,
"has_previous": false
},
"search": {
"query": "",
"total_results": 3,
"filters_applied": {
"similarity_type": "concept"
}
}
}
}
{
"success": false,
"error": {
"code": "CONCEPT_NOT_FOUND",
"message": "The specified concept ID does not exist",
"details": {
"concept_id": 99999999,
"suggestion": "Verify the concept ID exists in the OMOP vocabularies"
}
}
}
Usage Examples
Basic Similarity by ID
Find concepts similar to Type 2 Diabetes (concept ID 44054006):GET /v1/search/similar/44054006?page_size=5&similarity_threshold=0.7
Cross-Vocabulary Similarity
Find similar concepts across multiple vocabularies:GET /v1/search/similar/1308216?vocabulary_ids=SNOMED,ICD10CM,LOINC&domain_ids=Condition,Measurement&include_explanations=true
Drug Similarity Search
Find similar pharmaceutical concepts:GET /v1/search/similar/1503297?vocabulary_ids=RXNORM&domain_ids=Drug&concept_class_ids=Ingredient,Clinical Drug&similarity_threshold=0.8
High-Precision Similarity
Get only highly similar concepts with detailed scoring:GET /v1/search/similar/443390?similarity_threshold=0.9&page_size=10&include_scores=true&algorithm=semantic
Performance Notes
- Concept-to-concept similarity is typically faster than query-based similarity
- Hybrid algorithm provides best balance of accuracy and performance
- Semantic algorithm is most accurate but computationally intensive
- Caching is applied for frequently requested concept similarities
Related Endpoints
- POST Search Similar - Find similar concepts using query text
- Get Concept - Get detailed information about a specific concept
Was this page helpful?