Skip to main content
curl -X POST "https://api.omophub.com/v1/concepts/recommended" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "concept_ids": [201826, 4329847],
    "standard_only": true,
    "page": 1,
    "page_size": 20
  }'
{
  "success": true,
  "data": {
    "201826": [
      {
        "concept_id": 4193704,
        "concept_name": "Hyperglycemia",
        "vocabulary_id": "SNOMED",
        "concept_code": "80394007",
        "domain_id": "Condition",
        "concept_class_id": "Clinical Finding",
        "standard_concept": "S",
        "invalid_reason": null,
        "valid_start_date": "1970-01-01",
        "valid_end_date": "2099-12-31",
        "relationship_id": "Has finding"
      },
      {
        "concept_id": 4058243,
        "concept_name": "Diabetic retinopathy",
        "vocabulary_id": "SNOMED",
        "concept_code": "4855003",
        "domain_id": "Condition",
        "concept_class_id": "Clinical Finding",
        "standard_concept": "S",
        "invalid_reason": null,
        "valid_start_date": "1970-01-01",
        "valid_end_date": "2099-12-31",
        "relationship_id": "Associated finding"
      },
      {
        "concept_id": 3004410,
        "concept_name": "Hemoglobin A1c measurement",
        "vocabulary_id": "LOINC",
        "concept_code": "4548-4",
        "domain_id": "Measurement",
        "concept_class_id": "Lab Test",
        "standard_concept": "S",
        "invalid_reason": null,
        "valid_start_date": "1970-01-01",
        "valid_end_date": "2099-12-31",
        "relationship_id": "Has finding"
      }
    ],
    "4329847": [
      {
        "concept_id": 437894,
        "concept_name": "Coronary arteriosclerosis",
        "vocabulary_id": "SNOMED",
        "concept_code": "53741008",
        "domain_id": "Condition",
        "concept_class_id": "Clinical Finding",
        "standard_concept": "S",
        "invalid_reason": null,
        "valid_start_date": "1970-01-01",
        "valid_end_date": "2099-12-31",
        "relationship_id": "Associated finding"
      },
      {
        "concept_id": 4213540,
        "concept_name": "Troponin measurement",
        "vocabulary_id": "LOINC",
        "concept_code": "6598-7",
        "domain_id": "Measurement",
        "concept_class_id": "Lab Test",
        "standard_concept": "S",
        "invalid_reason": null,
        "valid_start_date": "1970-01-01",
        "valid_end_date": "2099-12-31",
        "relationship_id": "Has finding"
      }
    ]
  },
  "meta": {
    "request_id": "rec_1234567890_abc",
    "vocab_release": "2025.2",
    "pagination": {
      "page": 1,
      "page_size": 100,
      "total_items": 296,
      "total_pages": 3,
      "has_next": true,
      "has_previous": false
    }
  }
}

Overview

The Recommended Concepts endpoint implements the OHDSI Phoebe algorithm to provide curated concept recommendations. This feature helps researchers discover related concepts during cohort building and phenotype development. Key Features:
  • Curated recommendations from OHDSI community data
  • Relationship-based concept discovery
  • Support for multiple source concepts
  • Filtering by vocabulary, domain, and relationship type
Use Cases:
  • Cohort building assistance
  • Phenotype expansion
  • Related concept discovery
  • Clinical terminology exploration

Request Body

concept_ids
array
required
Array of source concept IDs to get recommendations for (min: 1, max: 100)
relationship_types
array
Filter recommendations by relationship types (max: 20). Examples: “Has finding”, “Associated finding”, “Has clinical course”
vocabulary_ids
array
Filter recommended concepts to specific vocabularies (max: 50). Examples: [“SNOMED”, “ICD10CM”, “LOINC”]
domain_ids
array
Filter recommended concepts to specific domains (max: 50). Examples: [“Condition”, “Procedure”, “Drug”]
standard_only
boolean
default:"true"
Only return standard concepts (S flag in OMOP CDM)
include_invalid
boolean
default:"false"
Include invalid/deprecated concepts in results
page
number
default:"1"
Page number for pagination (min: 1)
page_size
number
default:"100"
Number of recommendations to return per page (min: 1, max: 1000)
curl -X POST "https://api.omophub.com/v1/concepts/recommended" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "concept_ids": [201826, 4329847],
    "standard_only": true,
    "page": 1,
    "page_size": 20
  }'
{
  "success": true,
  "data": {
    "201826": [
      {
        "concept_id": 4193704,
        "concept_name": "Hyperglycemia",
        "vocabulary_id": "SNOMED",
        "concept_code": "80394007",
        "domain_id": "Condition",
        "concept_class_id": "Clinical Finding",
        "standard_concept": "S",
        "invalid_reason": null,
        "valid_start_date": "1970-01-01",
        "valid_end_date": "2099-12-31",
        "relationship_id": "Has finding"
      },
      {
        "concept_id": 4058243,
        "concept_name": "Diabetic retinopathy",
        "vocabulary_id": "SNOMED",
        "concept_code": "4855003",
        "domain_id": "Condition",
        "concept_class_id": "Clinical Finding",
        "standard_concept": "S",
        "invalid_reason": null,
        "valid_start_date": "1970-01-01",
        "valid_end_date": "2099-12-31",
        "relationship_id": "Associated finding"
      },
      {
        "concept_id": 3004410,
        "concept_name": "Hemoglobin A1c measurement",
        "vocabulary_id": "LOINC",
        "concept_code": "4548-4",
        "domain_id": "Measurement",
        "concept_class_id": "Lab Test",
        "standard_concept": "S",
        "invalid_reason": null,
        "valid_start_date": "1970-01-01",
        "valid_end_date": "2099-12-31",
        "relationship_id": "Has finding"
      }
    ],
    "4329847": [
      {
        "concept_id": 437894,
        "concept_name": "Coronary arteriosclerosis",
        "vocabulary_id": "SNOMED",
        "concept_code": "53741008",
        "domain_id": "Condition",
        "concept_class_id": "Clinical Finding",
        "standard_concept": "S",
        "invalid_reason": null,
        "valid_start_date": "1970-01-01",
        "valid_end_date": "2099-12-31",
        "relationship_id": "Associated finding"
      },
      {
        "concept_id": 4213540,
        "concept_name": "Troponin measurement",
        "vocabulary_id": "LOINC",
        "concept_code": "6598-7",
        "domain_id": "Measurement",
        "concept_class_id": "Lab Test",
        "standard_concept": "S",
        "invalid_reason": null,
        "valid_start_date": "1970-01-01",
        "valid_end_date": "2099-12-31",
        "relationship_id": "Has finding"
      }
    ]
  },
  "meta": {
    "request_id": "rec_1234567890_abc",
    "vocab_release": "2025.2",
    "pagination": {
      "page": 1,
      "page_size": 100,
      "total_items": 296,
      "total_pages": 3,
      "has_next": true,
      "has_previous": false
    }
  }
}

Implementation Notes

Data Source

  • Data is curated by the OHDSI community using the Phoebe algorithm
  • Version-independent: recommendations persist across vocabulary releases

Response Structure

  • Results are grouped by source concept ID
  • Each source concept ID maps to an array of recommended concepts
  • Recommendations include full concept details and relationship information

Filtering

  • Apply multiple filters simultaneously (vocabulary, domain, relationship type)
  • standard_only=true (default) filters to standard concepts only
  • include_invalid=false (default) excludes deprecated concepts