Lesson 22 of 51 · Why Terminologies
Codes versus Free Text — Semantic Interoperability Revisited
Moving data is not the same as sharing meaning
An earlier course drew a line between technical interoperability — two systems successfully exchanging a message — and semantic interoperability — the two systems agreeing on what the message means. HL7 v2 and FHIR are largely about the first problem: getting a well-formed message from one system to another. This course is about the second, and the gap between them is wider than it first appears.
Consider a single clinical fact: the patient has type 2 diabetes. A message can
carry that perfectly at the technical level and still fail to communicate it,
because one system wrote "Type II DM", another "NIDDM", another "diabetes,
adult onset", and a fourth simply "DM2". Every one is human-readable; none is
machine-comparable. A receiver cannot reliably count how many diabetic patients it
has, trigger a care reminder, or match the condition to a guideline, because the
string carries the meaning and strings do not compare.
What a terminology provides
A clinical terminology solves this by assigning a stable, unique code to each concept, independent of the words used to describe it. Instead of a free-text diagnosis, the system stores a code that always means exactly one thing. The same condition then has one representation every system can test against:
Free text: "Type II DM", "NIDDM", "adult-onset diabetes" (not comparable)
SNOMED CT: 73211009 (one concept)
ICD-10-CM: E11.9 (one billing code)
Here 73211009 is the SNOMED CT concept Diabetes mellitus (disorder)
1, and E11.9 is the ICD-10-CM
code Type 2 diabetes mellitus without complications
2. Both name a
diabetes concept, but they exist for different purposes — a point the next lessons
develop. What matters now is the principle: a code is a promise that two systems
referring to it mean the same thing 3.
Why one terminology is not enough
It would be tidy if a single code system covered everything, but healthcare asks different questions that different terminologies answer best. Diagnoses, lab observations, procedures, and medications each have a system optimized for them — SNOMED CT for clinical findings, LOINC for observations, ICD for classification and billing, RxNorm for drugs. Real interoperability therefore means not just using codes but knowing which code system answers which question, and how they relate when more than one could apply 3.
The three things a code needs to travel
For a coded value to be unambiguous on the wire, three pieces must travel together, not just the code:
- The code itself (e.g.,
73211009). - The code system it was drawn from (SNOMED CT, LOINC, ICD-10-CM, …) — the same digits can exist in more than one system and mean different things.
- A display term — human-readable text so a person can read the message without a terminology server, while machines rely on the code.
This triplet — code, system, and display — is exactly what HL7’s coded data types
are built to carry, and it is where this course lands: the final module connects
these terminologies back to the CWE data type and the value sets that bind a
field to a defined set of codes. First, though, the major systems themselves.
References
- SNOMED CT (SNOMED Clinical Terms). SNOMED International. verified Cited at: 73211009 — Diabetes mellitus (disorder).
- ICD-10-CM (International Classification of Diseases, 10th Rev., Clinical Modification). U.S. Centers for Disease Control and Prevention, National Center for Health Statistics. verified Cited at: E11.9 — Type 2 diabetes mellitus without complications.
- Tim Benson, Grahame Grieve. Principles of Health Interoperability: FHIR, HL7 and SNOMED CT. 4th ed. Springer. 2021. verified