Semantic normalization: making sense out of health data

In my last post I looked under the hood at data interoperability, examining the need for the normalization of both "syntactic" and "semantic"aspects of healthcare data. In this post I will present a high-level architecture for data normalization to share some understanding of how health information exchange is implemented in practice. But first I'd like to step out of the weeds of the last post and revisit the "so what" of data interoperability with some concrete examples for healthcare.

Example 1

After a consultation with a patient, aspecialist orders a series of lab tests.Only a weekearlier, the patient went for series of tests related to her condition after a visit with another specialist. A lab results check is run which determines that some of the tests ordered are duplicates and thus may be unnecessary.

Example 2

A patient arrives in an emergency roomcomplaining of chest pains, and is prescribed a blood thinner. A drug interactions check performed by the hospital pharmacy reveals that the prescribed drug has a negative interaction with the patients anti-anxiety mediation.An alternative drug is prescribed which has no such interactions with the patient's existing meds.

The speed and quality of decisions like these can improve efficiency, reduce waste and mitigate risk for decision makers in healthcare.In the first example above, the patient and the physician were both saved the time and expense of duplicate lab testing, which today is a frequent yet unnecessary expense during the delivery of healthcare. These decisions can even mean the difference between life or death, as in the case of the drug interaction example called out above.In both of these examples, datanormalization has enabled better decision making.

Let's examine the system to system interaction in example 1 that facilitated the lab test check in the example above. A clinical system where the specialist practices solicits information about thepatient's list of current medications from an information system at the practice of patient's primary care physician. Assume that these two systems are configured to share health information using an integration solution like Intel SOA Expressway for Healthcare.The query of the patient's health record at the PCP reveals that just 5 days ago a series of tests were ordered for the patient. These tests are designated with codes specific to the health information system at that practice e.g. numeric codes like 0078-192834, or for some systems abbreviated procedures codes like “cmp bld test”, “bld panel”, “bld compl”.For the Practice Management Information System at the PCP, the meaning of terms are very clear e.g.0078-192834 = "pulmonary function study ", etc. However, to the clinical system at the specialist's practice, these codes are meaningless.Both systems have their own vocabulary for health care - lists of chief complaints, diagnoses, procedures and lab tests. The syntax and semantics of these phrases is usually derived from the clinical systems from where the data originates.For a healthcare computer system to “understand” a clinical statement, the meaning of the statement’s content must be unambiguous. This need for clarity clearly exists for the name of the laboratory test in our example. Similar concerns apply for medications, diagnoses and procedures.

The solution is to normalize the clinical descriptions for lab test by applying standard healthcare terminologies such as SNOMED CT, LOINC, CPT-4, ICD- 9, RxNORM, etc .These representations are based on key international and national standards that have been recognized as the correct elements of meaning for clinical information. By translating local terms to industry standard forms, data can be safely and consistently exchanged - each system can “understand” the data that it has received. This data can then be consistently aggregated, displayed, and analyzed. In the interaction above, the normalization can be implemented as a service responsible for the mapping of terminology between local form of the clinical system and the standard form.

This and related services are commonly known as a Common Terminology Services, or CTS (also referred to as Common Medical Vocabulary Translation, and other variations).The Intel SOA Expressway for Healthcare "soft appliance" simplifies the integration of such a service in a health information exchange by exposing a set of CTS interfaces to facilitate terminology translation and mapping, and includes pre-built adaptors for validated application vendors in this space.

In my next couple posts I will look deeper at the technology enablers for an architecture providing medical terminology translation, and address a broader set of applications for terminology exchange in healthcare, focusing on the area of quality metrics reporting, analytics, bio-surveillance and research.

Intel® SOA Expressway for Healthcare is a specific implementation of a new product category called a SOA "soft appliance", which delivers a breakthrough in simplicity, cost and scalability for enabling high-quality health information exchange.

For more complete information about compiler optimizations, see our Optimization Notice.


Joshua Painter (Intel)'s picture

Hi Steve, we have an growing network of certified partners [1] for our product SOA Expressway for Healthcare, and regularly evaluate new ecosystem partners. We currently offer out of the box integration with Apelon for terminology normalization. If you'd like to chat more about this, please contact me on my Intel email address: joshua-dot-painter-at-intel-dot-com.

anonymous's picture

You might want to look at Health Language and their Language Engine. They already have a solution that is used in multiple countries, and which supports dozens of terminologies. It includes the ability to map between disparate "local" terminologies (e.g. your local lab example) and industry standards (e.g. LOINC in your example. It also has a library of several hundred APIs supporting integration in other applications, or interfacing.

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.