Introduction to the Echidna Terminology Server
Echidna is an online dictionary for healthcare software that translates different medical codes and terms into a single, standardized language to make health data universally understandable. It is a powerful FHIR-compliant terminology server with over 120 vocabularies, representing more than 10,000,000 concepts and 50,000,000 relationships between them, drawn from OMOP Standardized Vocabularies maintained by the OHDSI community.
The primary users of Echidna are healthcare technology developers, system integrators, and data scientists working within the healthcare and life sciences fields. These users rely on Echidna's FHIR API to programmatically access, validate, and translate terminologies like SNOMED CT and LOINC, in their software applications, clinical decision support systems, health information exchanges, and research platforms to ensure all patient data is consistently and correctly coded. This correct coding ensures the accuracy and reliability of patient histories, claims processing, and clinical analytics.
Standards like FHIR provide the structure for exchanging healthcare data between digital systems (e.g. between a drug ordering system and an EHR) and between organizations (e.g. between a hospital and an insurance company); it relies on terminologies to provide meaning to the data being exchanged.
Echidna is the official terminology server for both FHIR and OMOP, the fastest and largest free resource on the Internet.
Is Echidna a FHIR server like HAPI?
Echidna is a FHIR terminology server. It means that unlike HAPI and other FHIR servers, Echidna doesn’t exchange or store patient data, only the right codes that name diagnoses, procedures, observations, drugs and other concepts. It is important for systems to use Echidna so that they use the same version of the same terminology and can therefore communicate effectively and accurately.
What are medical terminologies?
Medical terminologies are like dictionaries of medical terms. Each term has one or more description, often synonyms in several languages, but only one unique identifier. This identifier ensures that all systems that use it are referring to the exact same thing. Some terminologies can be very specific, like RxNorm which only provides concepts relating to drugs approved in the USA, or very broad, like SNOMED that aims to provide concepts for all scenarios. Medical terminologies are a cornerstone of healthcare interoperability enabling software systems and devices to effectively communicate with each other using the same “language”. Using terminologies is therefore a critical component of every healthcare systems from devices communicating measurements to AI making recommendations. In other words, Echidna helps digital health developers ensure their applications are using the correct and most up-to-date clinical codes. Terminologies allow healthcare providers deliver safe and effective care to patients and their families, and to make sure they get paid for their services. As the richest FHIR API terminology server, the only official server for both FHIR and OMOP, and as the most scalable terminology server in the world, Echidna is the first choice for healthcare and life-sciences solution developers.
Different terminologies are often used for different purposes. For example, a LOINC code could be used to order a specific test from a pathology lab, and in the resulting lab reports. SNOMED may be used in a decision support system that reads the report and makes a diagnosis. ICD-10 may be used to generate the claim for the insurance provider to pay for the care of the patient with that diagnosis. It is common for system integrators and application developers to need to translate between terminologies. For the decision support system to work with the pathology system, it needs to translate from LOINC to SNOMED, and similarly, for the billing system to work with the diagnostic system, it needs to translate from SNOMED to ICD-10.
Because terminologies are instrumental to healthcare, healthcare developers have to make sure to always be using the latest terminology versions, across their internal and external networks. This puts a significant burden on system developers and maintainers as all terminology updates have to be applied simultaneously, in all systems and at all organizations. Using Echidna solves this problem, simply by being the source of terminology to all systems globally. Instead of having to download and manage a number of vocabularies, users of systems that rely on Echidna don’t have to spend hours upgrading terminologies across multiple systems, and coordinating terminology updates with other organizations. Echidna saves health informaticians time and significant effort so that they can focus on what really matters to their organizations: delivering better healthcare.
What does Echidna do to help?
Echidna handles the heavy lifting, giving developers direct access to the most current terminologies. Echidna provides the following functions to applications:
- Lookup a term: Using Echidna, programs (including AI) can look up the most appropriate concept to describe a procedure that was performed.
- Translate between terminologies: find equivalent codes from other terminologies.
- Find related terms: It is common for groups of terms to be used together. For example, a group of all drugs, a group of all symptoms of diabetes, or all medical devices. Such groups are called Value Sets and Echidna can find all concepts in a Value Set through a process called “Value Set expansion”, or to check whether a concept is a member of a Value Set.
- Explain concepts: For almost every concept, Echidna can provide an ancestor: a broader, hierarchical category. For example, an ancestor of “Type II diabetes mellitus” is “Metabolic disease”.
- Combinations of the above: provide additional functions
In technical terms:
Echidna supports the following API endpoints and operations:
- CodeSystem
CodeSystem/$lookupis used to look up a concept and its propertiesCodeSystem/$validate-codeis used to check if a concept-id (an integer) is a valid OMOP conceptCodeSystem/$subsumes>is used to check if one concept is a child of another
- ConceptMap
ConceptMap/$translateis used to convert an OMOP code (AKA concept-id) to a code from another vocabulary or vice versa
- ValueSet
ValueSet/$expandis used to retrieve an entire ValueSetValueSet/$validate-codeis used to check if a concept-id is in a ValueSet
For more detailed information see the developer documentation.