Use of Coded Vocabularies and Nomenclatures in HL7 and DICOM


In this article, we will take a small detour from my HL7 and DICOM programming tutorials in Java and C# and look at some areas of health informatics that are equally important to be aware of for any healthcare integrator like HL7 and DICOM. These standards help primarily to standardize terms and data, enabling consistent communication, data sharing, and analysis across various healthcare environments. Although there are numerous standards and classification systems in use today in the healthcare arena, I will concentrate on four of these standards which I have encountered most frequently during my healthcare integration projects over the years.

1. SNOMED CT (Systematized Nomenclature of Medicine Clinical Terms)

SNOMED CT is one of the most comprehensive, multilingual clinical healthcare terminologies worldwide, meticulously designed to facilitate the accurate representation, sharing, and utilization of health-related information across various healthcare environments and IT systems. Encompassing a robust structure, SNOMED CT provides a standardized language that enables clinicians, researchers, and administrators to communicate clinical data seamlessly and effectively, thereby enhancing data interoperability, clinical decision-making, and healthcare outcomes. It consists of a myriad of precisely defined clinical concepts, organized into hierarchies and interrelated through logically defined relationships, ensuring a coherent and systematic representation of clinical content. Utilized across diverse healthcare domains, including electronic health records, decision support systems, and population health management, SNOMED CT fortifies the precision and reliability of healthcare data, thereby supporting quality patient care, data analytics, research, and policy-making within the globally connected healthcare ecosystem.

Example Usage for SNOMED CT

Let’s say a patient, Matt, visits a healthcare provider due to recurrent episodes of shortness of breath and wheezing. The physician, Dr. Kline, uses the EHR to document Matt's symptoms, medical history, and physical examination findings using SMOMED CT codes. Dr. Kline documents Matt's symptoms using SMOMED CT. For instance, “Wheezing” might be documented using the code 192839005, and “Shortness of breath” with 267036007. Past medical history and family history (e.g., “Family history of asthma” coded as 160259001) are also recorded with respective SMOMED CT codes. If Matt visits another specialist or an emergency room, his data can be accurately shared and interpreted across different healthcare settings due to the use of standardized SMOMED CT codes. The receiving healthcare professional can understand Matt's medical history, diagnosis, and management plan consistently and accurately. Furthermore, with standardized coding, public health officials can extract and analyze data at a population level to assess the prevalence of asthma, its management, and outcomes in specific geographies or demographics.

Being thrifty is not just about saving money, it's about investing in the wisdom that secures our future and preserves the resources that foster sustained well-being for all. ~ Anonymous

2. ICD (International Classification of Diseases)

The International Classification of Diseases (ICD), a nomenclature originating from the World Health Organization (WHO), stands as a pivotal framework for delineating various facets of health, disease, and healthcare utilization via a structured alphanumeric coding system and often used in areas such as administrative, billing, statistical reporting, epidemiology and other public health management purposes. The ICD not only serves as a universal coding system for diseases, symptoms, abnormal findings, and external causes of injuries or diseases but also ensures consistent and interoperable data across various healthcare contexts and geographic locations. Its utility extends far beyond patient diagnosis and management, permeating epidemiological research, health policy formulation, and healthcare payer billing and reimbursement processes. The wide-ranging applications of the ICD—from clinical environments to research, policy-making, and administrative arenas—highlight its indispensable role in creating a structured, intelligible, and standardized language for global health information. Consequently, it enhances our ability to manage, evaluate, and interpret health data and strategies across various healthcare ecosystems.

Example Usage for ICD

Let us look at a quick example of usage of this standard. Dr. Kline sits at his desk, reviewing the recent laboratory results and clinical notes for his patient, Matt, who has been experiencing chronic fatigue and joint pain. Upon examining Matt and considering the lab results, Dr. Kline suspects that Matt is suffering from rheumatoid arthritis.He opens his electronic health record (EHR) system and navigates to Matt’s digital file. To accurately communicate the diagnosis in a way that is comprehensible and standardized for all healthcare professionals and entities involved in Matt's care, he needs to use the appropriate ICD code for rheumatoid arthritis. Dr. Kline searches for the specific ICD code for rheumatoid arthritis, which is "M06.9" (according to the ICD-10, note that codes may vary in future ICD versions). He inputs this code into Matt’s EHR, ensuring that the diagnosis is clearly and accurately recorded for future reference. This not only aids in coherent communication among different healthcare providers who might be involved in Matt's care but also assists in research, healthcare management, and billing processes that depend on consistent diagnostic coding. In subsequent consultations or communications regarding Matt's case, the ICD code M06.9 will be utilized by all healthcare professionals, administrators, and insurance entities to unequivocally understand the diagnosis of rheumatoid arthritis, even across diverse healthcare settings and geographical locations. This ensures that Matt's diagnosis is understood, managed, and billed accurately, irrespective of where or by whom his records are accessed, thereby facilitating consistent and efficient care and management.

3. LOINC (Logical Observation Identifiers Names and Codes)

The Logical Observation Identifiers Names and Codes (LOINC) system is a comprehensive, international standard for identifying health measurements, observations, and documents, providing a critical lingua franca for health data interoperability. It is widely utilized for exchanging laboratory and other clinical observation data. Developed by the Regenstrief Institute, LOINC provides a set of universal codes and structured names to identify laboratory and other clinical observations, ensuring that healthcare organizations can seamlessly exchange and utilize data internally and amongst each other. In essence, LOINC facilitates the effective merging, mapping, and communication of laboratory and clinical data across varied healthcare entities, fostering the consistent classification of test results and clinical notes and thereby enhancing the portability and comparability of healthcare information. LOINC’s application extends to various health data domains including laboratory test results, clinical notes, vital signs, imaging studies, genomic information, and other categories, thereby functioning as a vital tool in the promotion of health data standardization, interoperability, and management across the multifaceted landscape of global healthcare systems and platforms.

Example Usage for LOINC

Imagine the same patient Matt who has been undergoing treatment for chronic kidney disease under the care of his physician, Dr. Kline. Dr. Kline decides it’s vital to regularly monitor Matt's kidney function by ordering a serum creatinine test, which provides crucial information about kidney function.Dr. Kline orders a serum creatinine test and utilizes the LOINC code "2160-0" for the test (please note LOINC codes may vary and should always be verified with the most recent LOINC database). "2160-0" is understood universally as the code for serum creatinine testing, aiding in unequivocal communication about the test being ordered. The laboratory processes Dr. Kline’s order, recognizes the LOINC code "2160-0", and conducts the serum creatinine test. Once completed, the results are communicated electronically back to Dr. Kline using the same LOINC code, ensuring accurate entry into Matt’s Electronic Health Record (EHR). If Matt relocates and starts seeing a new healthcare provider, Dr. Patel, the LOINC code allows the new provider to clearly understand the historical lab results in Matt’s health record, despite potential system differences. Dr. Patel, seeing the LOINC code "2160-0", can instantly recognize the results as pertaining to serum creatinine levels, enabling continuity in monitoring Matt's kidney function without data misinterpretation. Epidemiologists and researchers accessing anonymized health data can accurately identify and analyze serum creatinine test results across populations using LOINC codes, aiding in research and the formulation of health strategies related to kidney health and disease management. For clinical studies or health strategy formulation, LOINC codes ensure that serum creatinine tests are consistently identified and interpreted, fostering accurate and reliable research outcomes and policy development.

In an age of speed, I began to think, nothing could be more invigorating than going slow. In an age of distraction, nothing can feel more luxurious than paying attention. And in an age of constant movement, nothing is more urgent than sitting still. ~ Pico Iyer

4. RxNorm

RxNorm is the most popular standardized nomenclature for medications. It was created and maintained by the United States National Library of Medicine (NLM), stands as a foundational pillar in health informatics and healthcare data management by providing a normalized naming system for both generic and branded drugs. It dispenses standardized names for clinical drugs and synthesizes drug vocabularies prevalent in pharmacy management and drug interaction software, ensuring transparent communication across various systems and platforms, even those deriving from diverse drug vocabularies. The system fortifies consistency and standardization by offering a unified terminology and coding mechanism, facilitating interoperability amongst diverse databases and systems managing drug information, such as Electronic Health Records (EHRs), pharmacy management systems, and Health Information Exchanges (HIEs). This promotes the fluid, precise, and uniform exchange and utilization of drug information throughout various platforms and healthcare settings. RxNorm critically ensures that a medication prescribed in one healthcare setting is seamlessly and unambiguously interpreted in another, emerging as a crucial player in enhancing safe, efficient, and effective medication ordering, dispensing, administration, and monitoring across interconnected healthcare systems. Furthermore, by establishing a unified, consistent, and standardized structure for drug data representation and exchange, it not only enhances patient care safety and quality but also provides a substantial contribution to research, policy formulation, and healthcare management.

Example Usage for RxNorm

Matt, a patient suffering from chronic headaches, visits his healthcare provider, Dr. Kline. After a thorough examination, Dr. Kline decides to prescribe a medication for Matt's headaches - let’s say Ibuprofen, a commonly used pain reliever.Dr. Kline, using his Electronic Health Record (EHR) system, enters a prescription for Ibuprofen. The EHR system utilizes RxNorm to represent Ibuprofen using a standard code, for instance, "5640" (note: always verify codes with the most recent RxNorm release).The prescription, including the RxNorm code "5640", is transmitted electronically to Matt’s pharmacy. The pharmacist, using a different system, receives the prescription and deciphers the RxNorm code, ensuring they understand it refers to Ibuprofen, avoiding any ambiguity or misinterpretation related to the prescribed medication. If Matt visits a specialist, Dr. Lewis, the RxNorm code in Matt’s EHR facilitates clear communication about his current medications, even if Dr. Lewis uses a different EHR system. Dr. Lewis can see that Matt is taking Ibuprofen by referring to the RxNorm code, ensuring continuity of care and aiding in safe prescribing by considering potential drug interactions. In instances where Matt’s health data is shared amongst various healthcare providers within a health information exchange (HIE) network, the RxNorm code ensures that all entities have a clear, standardized understanding of Matt’s medication, regardless of the systems they employ.

5. Combined Usage

Sometimes, these standards are combined to provide even more streamlined functionality. For example, Dr. Kline can document Matt’s symptoms and any observed disorders using appropriate SNOMED CT codes in his EHR. Dr. Kline can then also order a series of tests to assess Matt’s disorder. Each test can be documented using specific LOINC codes, ensuring standardized representation of laboratory test orders and results. This amalgamation of standardized clinical and laboratory data supports accurate data retrieval, analysis, and consequently, the development of evidence-based policies and research, by ensuring that data from different sources is consistent and comparable.


I hope this article provided a summary of cooperating standards that are essential for any healthcare integration project. In addition to SNOMED CT, LOINC, ICD and RxNorm, there are other coding systems such as HCPCS (Healthcare Common Procedure Coding System), NDC (National Drug Code) and CPT (Current Procedural Terminology) that you may see out in the field, but I will let you explore them on your own.

In summary, any software developer engaged in the healthcare domain must have a good understanding of coded vocabularies and systemized nomenclatures such as SNOMED CT, ICD, LOINC or RxNorm for a number of key reasons. Foremost, the precision and reliability of healthcare data are paramount; misinterpretation or miscommunication of data can have dire consequences, impacting patient care and outcomes. Thus, a developer must ensure that healthcare applications and systems are designed to accurately and consistently manage and communicate data utilizing standardized coding systems, thereby ensuring interoperability and data integrity across various healthcare environments. Moreover, a nuanced understanding of these vocabularies ensures that software products can seamlessly interact with other systems, facilitating effective data exchange and minimizing the risk of data silos. Knowledge of coded vocabularies helps in crafting solutions that are compliant with global and local regulations, ensuring that systems adhere to the data standards stipulated by healthcare authorities. Additionally, it enables the developer to create robust and comprehensive solutions that cater to the multifaceted needs of healthcare practitioners, administrators, and policymakers, ensuring that the software not only addresses immediate functional requirements but also facilitates data-driven decision-making, research, and continuous improvement in healthcare delivery and management. Consequently, the incorporation of coded vocabularies and nomenclatures within healthcare IT solutions is intrinsic in fostering a unified, efficient, and quality-centric healthcare ecosystem. In my future HL7 and DICOM programming tutorials, I will try to illustrate each of these standards in more detail using some code-based examples using Java and .NET. See you then!