Semantics and Codes
Data types, structures, and databases, with a look toward their usage in healthcare
Representing Concepts For Computers
What you learned in your language classes is still relevant here!
Humans use language to communicate with one another. We use syntax to help us put ideas together into a structure we can understand. For example, we have sentence structures, nouns, verbs, and participles (hopefully that don't dangle). We use semantics to convey the meaning of the words within our syntax. What is the idea that we are trying to convey? Of course we have dictionaries that help us define terms, and thesaurausus to help us manage through synonyms.
When it comes to structuring information so that computers can understand, we use the same principles. We use syntax to help the computer be prepared for what it is about to receive, and we use semantics to convey the meaning. If we are talking about atrial fibrillation, we would need to know that it concerns the concept of arrhythmia occuring in the atria leading to ineffective atrial contractility, and terms such as AF, A Fib, Atrial Fib or any number of other terms to help represent the same concept. We use numeric coding and ontologies and taxonomies to organize these concepts.
Coding Systems: Ontologies, Taxonomies, and Terminologies.
If we can use numeric coding to represent concepts, how do we organize them? Some of the most important contributions to informatics are in the creation and maintenance of these terminologies. At a simplistic level, we use both taxonomies and ontologies to represent concepts, and the relationships among them.
Here are some starting definitions:
|Taxonomy||A structure, typically using hierarchies, that organizes concepts into classifications||ICD-10; LOINC|
|Ontology||A structure for managing a set of concepts and categories in a subject area or domain that shows their properties and the relations between them.||SNOMED; UMLS|
We define concepts as the idea we are trying to represent. Then we would define synonyms, and a preferred term (or fully specified name in SNOMED parlance). Then we may also define relationships between terms. There may be multiple hierarchies. For example, Klebsiella may be classified as a Gram Negative Bacterium. There may be a separate hierarchy that includes urinary tract infection, uncomplicated, which is a child of infections of the genitourinary tract which is both related to the genitourinary system anatomically and to infections under a disorders hierarchy. Lastly, there may be a relationship between Klebsiella and urinary tract infection that is is_a_cause_of.
We can represent the core concept in various terminologies. A metathesaurus can help translate between multiple terminologies or ontologies.
We can use Natural Language Processing to parse free text and assign a code.
You can try this below. This will parse into UMLS Concept Unique Identifiers. You can use the UMLS metathesaurus to translate into SNOMED or other terminolgies.