Skip to main content
curl -X GET "https://api.omophub.com/v1/vocabularies/SNOMED/changelog?from_version=2024-01&to_version=2024-03&change_types=added,modified&include_details=true&include_impact_analysis=true" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
{
  "success": true,
  "data": {
    "vocabulary_id": "SNOMED",
    "vocabulary_name": "Systematized Nomenclature of Medicine Clinical Terms",
    "from_version": "2024-01",
    "to_version": "2024.2",
    "summary": {
      "total_changes": 4876,
      "change_type_breakdown": {
        "added": 2847,
        "modified": 1523,
        "deprecated": 89,
        "deleted": 12,
        "reactivated": 156,
        "relationship_changes": 249
      },
      "domains_affected": [
        "Condition",
        "Procedure", 
        "Observation",
        "Measurement",
        "Drug"
      ],
      "impact_level": "Medium"
    },
    "changes": [
      {
        "concept_id": "1240541000000107",
        "concept_code": "1240541000000107",
        "concept_name": "COVID-19 Omicron variant BA.5 infection",
        "change_type": "added",
        "change_date": "2024-03-01T00:00:00Z",
        "version": "2024.2",
        "domain_id": "Condition",
        "concept_class_id": "Clinical Finding",
        "change_description": "New concept added for COVID-19 Omicron BA.5 variant",
        "change_details": {
          "old_values": null,
          "new_values": {
            "concept_name": "COVID-19 Omicron variant BA.5 infection",
            "concept_code": "1240541000000107",
            "valid_start_date": "2024-03-01",
            "standard_concept": "S"
          },
          "fields_changed": ["all"],
          "relationship_changes": [
            {
              "relationship_type": "Is a",
              "target_concept_id": "840539006",
              "target_concept_name": "Disease caused by severe acute respiratory syndrome coronavirus 2"
            }
          ],
          "synonym_changes": [
            {
              "change_type": "added",
              "synonym": "BA.5 COVID infection",
              "language": "en"
            }
          ]
        },
        "impact_analysis": {
          "severity": "Low",
          "affected_mappings": 0,
          "affected_descendants": 0,
          "breaking_change": false,
          "migration_required": false,
          "recommendations": [
            "Consider updating clinical decision support rules",
            "Review variant-specific coding guidelines"
          ]
        },
        "replacement_concept": null
      },
      {
        "concept_id": "84757009",
        "concept_code": "84757009",
        "concept_name": "Epilepsy (disorder)",
        "change_type": "modified",
        "change_date": "2024-03-01T00:00:00Z",
        "version": "2024.2",
        "domain_id": "Condition",
        "concept_class_id": "Clinical Finding",
        "change_description": "Updated relationships and synonyms for epilepsy concept",
        "change_details": {
          "old_values": {
            "synonym_count": 12
          },
          "new_values": {
            "synonym_count": 15
          },
          "fields_changed": ["synonyms"],
          "relationship_changes": [
            {
              "change_type": "added",
              "relationship_type": "Finding site",
              "target_concept_id": "12738006"
              "target_concept_name": "Brain structure"
            }
          ],
          "synonym_changes": [
            {
              "change_type": "added",
              "synonym": "Epileptic disorder",
              "language": "en"
            },
            {
              "change_type": "added",
              "synonym": "Seizure disorder",
              "language": "en"
            }
          ]
        },
        "impact_analysis": {
          "severity": "Low",
          "affected_mappings": 89,
          "affected_descendants": 234,
          "breaking_change": false,
          "migration_required": false,
          "recommendations": [
            "No action required for existing implementations",
            "Enhanced synonyms may improve search capabilities"
          ]
        },
        "replacement_concept": null
      },
      {
        "concept_id": "123456789",
        "concept_code": "123456789",
        "concept_name": "Legacy cardiac procedure (deprecated)",
        "change_type": "deprecated",
        "change_date": "2024-03-01T00:00:00Z",
        "version": "2024.2",
        "domain_id": "Procedure",
        "concept_class_id": "Procedure",
        "change_description": "Deprecated in favor of more specific cardiac intervention concepts",
        "change_details": {
          "old_values": {
            "valid_end_date": "2099-12-31",
            "invalid_reason": null
          },
          "new_values": {
            "valid_end_date": "2024-02-29",
            "invalid_reason": "D"
          },
          "fields_changed": ["valid_end_date", "invalid_reason"],
          "relationship_changes": [],
          "synonym_changes": []
        },
        "impact_analysis": {
          "severity": "Medium",
          "affected_mappings": 23,
          "affected_descendants": 0,
          "breaking_change": true,
          "migration_required": true,
          "recommendations": [
            "Migrate to replacement concept 987654321",
            "Update clinical documentation templates",
            "Review automated coding rules"
          ]
        },
        "replacement_concept": {
          "concept_id": "987654321",
          "concept_name": "Percutaneous cardiac intervention",
          "mapping_type": "Maps to"
        }
      }
    ]
  },
  "meta": {
    "request_id": "req_snomed_changelog_123",
    "timestamp": "2024-03-01T00:00:00Z",
    "filters_applied": {
      "from_version": "2024-01",
      "to_version": "2024.2",
      "change_types": ["added", "modified", "deprecated"],
      "include_details": true,
      "include_impact_analysis": true
    },
    "pagination": {
      "page": 1,
      "page_size": 50,
      "total_items": 4876,
      "total_pages": 98,
      "has_next": true,
      "has_previous": false
    },
    "version_range": "2024-01 to 2024-03"
  }
}

Overview

This endpoint provides a comprehensive changelog for vocabulary releases, tracking all changes to concepts, relationships, and metadata over time. It supports filtering by change types, date ranges, and specific version comparisons.

Path Parameters

vocabularyId
string
required
The unique identifier for the vocabulary (e.g., “SNOMED”, “ICD10CM”, “LOINC”)

Query Parameters

from_version
string
Starting version for changelog comparison
to_version
string
Ending version for changelog comparison (defaults to latest)
change_types
string
Filter by change types (comma-separated)
Options: added, modified, deprecated, deleted, reactivated, concept_moved, relationship_added, relationship_removed
domains
string
Filter changes to specific domains (comma-separated)
Examples: Condition, Procedure, Drug
concept_classes
string
Filter changes to specific concept classes (comma-separated)
from_date
string
Filter changes from this date (ISO 8601 format)
to_date
string
Filter changes to this date (ISO 8601 format)
include_details
boolean
default:"false"
Include detailed change information for each concept
include_impact_analysis
boolean
default:"false"
Include impact analysis for changes
sort_by
string
default:"change_date"
Sort order for changes
Options: change_date, concept_id, change_type, impact_severity
Note: Selecting sort_by=impact_severity is only valid when include_impact_analysis=true. Behavior is undefined otherwise. Set include_impact_analysis=true to enable sorting by impact severity.
sort_order
string
default:"desc"
Sort direction: asc or desc
page
integer
default:"1"
Page number for pagination
page_size
integer
default:"50"
Number of changelog entries per page (max 1000)

Response

success
boolean
Indicates if the request was successful
data
object
meta
object
curl -X GET "https://api.omophub.com/v1/vocabularies/SNOMED/changelog?from_version=2024-01&to_version=2024-03&change_types=added,modified&include_details=true&include_impact_analysis=true" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
{
  "success": true,
  "data": {
    "vocabulary_id": "SNOMED",
    "vocabulary_name": "Systematized Nomenclature of Medicine Clinical Terms",
    "from_version": "2024-01",
    "to_version": "2024.2",
    "summary": {
      "total_changes": 4876,
      "change_type_breakdown": {
        "added": 2847,
        "modified": 1523,
        "deprecated": 89,
        "deleted": 12,
        "reactivated": 156,
        "relationship_changes": 249
      },
      "domains_affected": [
        "Condition",
        "Procedure", 
        "Observation",
        "Measurement",
        "Drug"
      ],
      "impact_level": "Medium"
    },
    "changes": [
      {
        "concept_id": "1240541000000107",
        "concept_code": "1240541000000107",
        "concept_name": "COVID-19 Omicron variant BA.5 infection",
        "change_type": "added",
        "change_date": "2024-03-01T00:00:00Z",
        "version": "2024.2",
        "domain_id": "Condition",
        "concept_class_id": "Clinical Finding",
        "change_description": "New concept added for COVID-19 Omicron BA.5 variant",
        "change_details": {
          "old_values": null,
          "new_values": {
            "concept_name": "COVID-19 Omicron variant BA.5 infection",
            "concept_code": "1240541000000107",
            "valid_start_date": "2024-03-01",
            "standard_concept": "S"
          },
          "fields_changed": ["all"],
          "relationship_changes": [
            {
              "relationship_type": "Is a",
              "target_concept_id": "840539006",
              "target_concept_name": "Disease caused by severe acute respiratory syndrome coronavirus 2"
            }
          ],
          "synonym_changes": [
            {
              "change_type": "added",
              "synonym": "BA.5 COVID infection",
              "language": "en"
            }
          ]
        },
        "impact_analysis": {
          "severity": "Low",
          "affected_mappings": 0,
          "affected_descendants": 0,
          "breaking_change": false,
          "migration_required": false,
          "recommendations": [
            "Consider updating clinical decision support rules",
            "Review variant-specific coding guidelines"
          ]
        },
        "replacement_concept": null
      },
      {
        "concept_id": "84757009",
        "concept_code": "84757009",
        "concept_name": "Epilepsy (disorder)",
        "change_type": "modified",
        "change_date": "2024-03-01T00:00:00Z",
        "version": "2024.2",
        "domain_id": "Condition",
        "concept_class_id": "Clinical Finding",
        "change_description": "Updated relationships and synonyms for epilepsy concept",
        "change_details": {
          "old_values": {
            "synonym_count": 12
          },
          "new_values": {
            "synonym_count": 15
          },
          "fields_changed": ["synonyms"],
          "relationship_changes": [
            {
              "change_type": "added",
              "relationship_type": "Finding site",
              "target_concept_id": "12738006"
              "target_concept_name": "Brain structure"
            }
          ],
          "synonym_changes": [
            {
              "change_type": "added",
              "synonym": "Epileptic disorder",
              "language": "en"
            },
            {
              "change_type": "added",
              "synonym": "Seizure disorder",
              "language": "en"
            }
          ]
        },
        "impact_analysis": {
          "severity": "Low",
          "affected_mappings": 89,
          "affected_descendants": 234,
          "breaking_change": false,
          "migration_required": false,
          "recommendations": [
            "No action required for existing implementations",
            "Enhanced synonyms may improve search capabilities"
          ]
        },
        "replacement_concept": null
      },
      {
        "concept_id": "123456789",
        "concept_code": "123456789",
        "concept_name": "Legacy cardiac procedure (deprecated)",
        "change_type": "deprecated",
        "change_date": "2024-03-01T00:00:00Z",
        "version": "2024.2",
        "domain_id": "Procedure",
        "concept_class_id": "Procedure",
        "change_description": "Deprecated in favor of more specific cardiac intervention concepts",
        "change_details": {
          "old_values": {
            "valid_end_date": "2099-12-31",
            "invalid_reason": null
          },
          "new_values": {
            "valid_end_date": "2024-02-29",
            "invalid_reason": "D"
          },
          "fields_changed": ["valid_end_date", "invalid_reason"],
          "relationship_changes": [],
          "synonym_changes": []
        },
        "impact_analysis": {
          "severity": "Medium",
          "affected_mappings": 23,
          "affected_descendants": 0,
          "breaking_change": true,
          "migration_required": true,
          "recommendations": [
            "Migrate to replacement concept 987654321",
            "Update clinical documentation templates",
            "Review automated coding rules"
          ]
        },
        "replacement_concept": {
          "concept_id": "987654321",
          "concept_name": "Percutaneous cardiac intervention",
          "mapping_type": "Maps to"
        }
      }
    ]
  },
  "meta": {
    "request_id": "req_snomed_changelog_123",
    "timestamp": "2024-03-01T00:00:00Z",
    "filters_applied": {
      "from_version": "2024-01",
      "to_version": "2024.2",
      "change_types": ["added", "modified", "deprecated"],
      "include_details": true,
      "include_impact_analysis": true
    },
    "pagination": {
      "page": 1,
      "page_size": 50,
      "total_items": 4876,
      "total_pages": 98,
      "has_next": true,
      "has_previous": false
    },
    "version_range": "2024-01 to 2024-03"
  }
}

Usage Examples

Recent Changes

Get recent changes for a vocabulary:
curl -X GET "https://api.omophub.com/v1/vocabularies/SNOMED/changelog?page_size=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Version Comparison

Compare specific versions:
curl -X GET "https://api.omophub.com/v1/vocabularies/SNOMED/changelog?from_version=2024-01&to_version=2024-03&include_impact_analysis=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

Breaking Changes Only

Find breaking changes requiring migration:
curl -X GET "https://api.omophub.com/v1/vocabularies/SNOMED/changelog?change_types=deprecated,deleted&include_impact_analysis=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

Domain-Specific Changes

Get changes for specific domains:
curl -X GET "https://api.omophub.com/v1/vocabularies/SNOMED/changelog?domains=Condition,Procedure&from_date=2024-01-01&include_details=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

Date Range Analysis

Analyze changes in a date range:
curl -X GET "https://api.omophub.com/v1/vocabularies/ICD10CM/changelog?from_date=2024-01-01&to_date=2024-03-31&sort_by=impact_severity" \
  -H "Authorization: Bearer YOUR_API_KEY"

Change Types

Concept Changes

  • Added: New concepts introduced
  • Modified: Changes to existing concept properties
  • Deprecated: Concepts marked as no longer recommended
  • Deleted: Concepts permanently removed
  • Reactivated: Previously deprecated concepts restored

Relationship Changes

  • Relationship Added: New concept relationships
  • Relationship Removed: Relationship deletions
  • Concept Moved: Hierarchical position changes

Impact Levels

  • Low: Minor changes with minimal impact
  • Medium: Moderate changes requiring review
  • High: Significant changes requiring attention
  • Critical: Breaking changes requiring immediate action

Migration Guidance

Breaking Change Indicators

  • breaking_change: true in impact analysis
  • migration_required: true recommendation
  • Deprecated concepts with replacement mappings
  • Review recommendations array for each change
  • Check replacement_concept for deprecations
  • Analyze affected_mappings count for integration impact
  • Consider affected_descendants for hierarchical changes
I