Dictionary 101
One of the most critical aspects of an electronic medical record system is a well-designed and maintained concept dictionary. What follows is a primer which will hopefully allow you to understand the basic concepts behind what the dictionary is, how it is to be used, and beginning steps in enriching the current dictionary.
Contents |
Beginning Definitions
Concept Dictionary — The truly fundamental building block of the entire OpenMRS. Much like a dictionary defines the function, meaning and relationships of words, the "concept dictionary" defines the names, codes, and other attributes for all medical tests, drugs, and coded results contained in the OpenMRS. It is a complete reference for the "language" in which we represent medical concepts within the computer.
Observation — Anything actively measured in a given person. This has a fairly broad implication. If a patient is weighed, their weight is an observation. If a blood test is drawn, that lab result is an observation. If we ask someone how long they've been smoking, their answer is also an observation. Just about anything "measurable" in a patient is an observation. Demographic information, as a result, is an exception.
Demographic — Any descriptive characteristic of a person. Their name, address, date of birth, age, tribe name.. these are all demographic characteristics.
Primary Term — The most "elemental" preferred label for a medical concept within the dictionary. Each concept has one, and only one primary term. As an example, "HEMATOCRIT" is a primary term which describes a blood test. Many people refer to this test with the short name of "HCT." HCT in this case is not a primary term. Any other name outside of HEMATOCRIT makes it something other than the primary term.
Primary terms are used to describe the "questions" like a hematocrit value, as well as the "answers" (Paul Biondich's blood type is "O POSITIVE"). "O POSITIVE" is just as much of a unique medical concept as "BLOOD TYPE" or "HEMATOCRIT". The bottom line is, if you have a medical concept of any sort, and it's needed within our system, it needs to be defined within the dictionary. See "Concept Creation Hints" below for info on how to determine the best way to name/decide on what is the best label for a primary concept.
Synonym — Any label or name that refers to a primary concept. This would be the "HCT", "HEMATOCT", or "HAEMATOCRIT" for a "HEMATOCRIT." Other good examples of this would be trade names for a chemical compound, names that other practitioners label the same test, etc. For specific rules and naming conventions, refer to "Concept Creation Hints" below.
Concept Set — A primary concept created to bundle or refer to multiple other primary concepts. A good example of this would be a "COMPLETE BLOOD COUNT" which is composed of a "HEMATOCRIT" along with other tests, such as "PLATELETS", etc. Concept sets can also have synonyms! (i.e., "CBC" for a "COMPLETE BLOOD COUNT")
Concept Class — A required attribute of a concept. Simply, this is the classification of the medical concept. Every primary concept is required to have a class. Here is the current list of classes to help clarify:
- Test — lab tests (e.g., CD4) or physical exam maneuver (e.g., Babinski)
- Procedure — spinal tap, lumbar puncture, etc.
- Drug — medications
- Diagnosis — a defined medical conclusion (usually in ICD), e.g., diabetes, AIDS
- Finding — physical or exam findings (short of breath, systolic murmur, LLL infiltrate)
- Anatomy — anatomic concept (e.g., right arm, frontal lobe)
- Question — questionnaire item (e.g., "Are you depressed?", "How many kids?")
- LabSet — collection of labs (e.g., CHEM12, VITALS)
- MedSet — collection of medications (e.g., ANTIRETROVIRALS, PENICILLINS)
- ConvSet — collection for convenience (e.g., STUDY XYZ CONCEPTS, DEPRESSION CONCEPTS)
- Misc — unclassifiable concepts (e.g., POS, NEG, LEFT, RIGHT)
Data Type — A required attribute of a concept. Basically, if data is stored within this concept, this describes what it will look like. For example, a "HEMATOCRIT" will store numeric values (ie, 40). A "BLOOD TYPE" will store coded values (i.e., "O POSITIVE"). Here are the current datatypes:
- Coded — terms with coded answers (CXR, PPD) (i.e., test answered with other concept(s))
- Numeric — tests with numeric results (CD4, CREATININE, SERUM GLUCOSE)
- N/A — not a observation/question/test (drugs, sets, answers, misc terms)
Why I should care about the concept dictionary
At its most basic, the OpenMRS is a large filing cabinet. Within that cabinet, each patient has a file. Within that file are a series of data points and information relating to that patient. Those data points are from any place within the AMRS that the patient receives care. These are the patient observations. Within our system, each patient will have dozens, if not hundreds of these observations recorded as they utilize the health care system. Each one of these observations consists of a question (What's the patient 's hematocrit?) and an answer (38). The computer needs a way of referencing each of these aspects of an observation. This is where a concept dictionary comes in handy. The computer uses it to label our questions (and answers) correctly. Consequently, there's a need for all medical concepts we're interested in storing to be referenced uniquely within the dictionary. In other words, each concept needs a primary term.
Imagine the difficulties you'd have however, if there are redundant primary terms which refer to the same concept? What if the computer had three primary terms for a hematocrit? When the system later attempts to tell practitioners what these results were, there's a mess! What hematocrit does it report? In reality, there's often multiple ways of referring to the same question. But these aren't all primary terms, they are synonyms.
A point worth repeating...the important distinction between CONCEPTS and SYNONYMS:
A fundamental hallmark of the dictionary is that there is one concept entry, and one concept entry ONLY to describe a particular concept. For example, LAMIVUDINE is the proper dictionary term for a HIV drug. 3TC is another way of describing lamivudine. Epivir is a brand name of lamivudine. Based on how we've built the OpenMRS, 3TC and Epivir are synonyms of lamivudine. They are not dictionary terms. All three of these words describe the same concept.
Got a new concept that you need the system to track for clinical or research purposes? Then let's make a new concept...
Creating new concepts for the concept dictionary
So you want to make new concepts? Before you undergo this process, contemplate the following three steps:
- Make sure the concept doesn't already exist in the dictionary. When searching the dictionary, use partial names (e.g., KALE or KALET instead of KALETRA). Looking for partial names will help catch misspelled entries. Think about what you might most generically refer to this concept as.. then also think about what else you might call it. Then search for all of those things within the dictionary. You might be surprised to see it already in the dictionary.
- Make sure that you can describe/understand the concept that you're getting ready to enter! Say for example, that you're asked to create a new term for the retroviral drug eliminatehivudine. Knowing that it's a retroviral drug is insufficient, as you're going to need to detail eliminatehivudine's differences from all other antiretrovirals within the terms description. Check with the person that requested the new concept if you're having problems finding the information on your own. Every new term's description, from here on out, should have a reasonably detailed description. We'll send Burke or Sarah Ellen out to punish you if you fail.
- Does the concept have a standardized representation in either LOINC or ICD10? Look it up and add it to the concept's definition or ask for help if you have no idea what this is.
Do you have all of the information ready? Then it's time to walk through a primary concept definition, and the basic attributes this includes.
Concept Name: Pretty self explanatory. The human readable name of the concept. Here are a few naming conventions to think about before you decide on a name:
- The concept's name should begin by labeling what identifies it: It's a HEPATITIS B IMMUNIZATION, not a IMMUNIZATION, HEPATITIS B.
- Should be capitalized throughout the name. (ie, COMPLETE BLOOD COUNT vs. Complete BlOoD count)
- They should be the complete spelled form of the concept (it's not a HCT, it's a HEMATOCRIT) to ensure proper use. Abbreviations are usually not primary terms, they are synonyms.
- They should whenever necessary refer to the generic form of a product (AMOXICILLIN, not AMOXIL).
- When referring to organisms or virii, the full taxonomic name is used: HUMAN IMMUNODEFICIENCY VIRUS, not HIV.
- They are specific! For example, tests that measure antibodies vs. antigens need two separate terms.
- They are granular! RIGHT UPPER QUADRANT ABDOMINAL PAIN stacks too many observations together. This is tricky in practice to decide upon and open for interpretation/dispute. Best bet: when you're not sure of the appropriate level of granularity, ask one of the geeks.
Description: A comprehensive description of what this term represents. The term's definition. By the time a total stranger finishes reading this, they without question know what this term refers to. This is absolutely required for all terms. No exceptions.
ClassID: see the above definition. Classifies what sort of concept this term represents. Here's a list of the active classes:
- Test — lab tests (e.g., CD4) or physical exam maneuver (e.g., Babinski)
- Procedure — spinal tap, lumbar puncture, etc.
- Drug — medications
- Diagnosis — a defined medical conclusion (usually in ICD), e.g., diabetes, AIDS
- Finding — physical or exam findings (short of breath, systolic murmur, infiltrate)
- Anatomy — anatomic concept (e.g., arm, frontal lobe)
- Question — questionnaire item (e.g., "Are you depressed?", "How many kids?")
- LabSet — collection of labs (e.g., CHEM12, VITALS)
- MedSet — collection of medications (e.g., ANTIRETROVIRALS, PENICILLINS)
- ConvSet — collection for convenience (e.g., STUDY XYZ TERMS, DEPRESSION TERMS)
- Misc — unclassifiable concepts (e.g., POS, NEG, LEFT, RIGHT)
DataType: see the above definition. Classifies what kind of answer an observation receives, if it's a "question." Here are the active data types:
- Coded — terms with coded answers (CXR, PPD) -- i.e., test answered with other term(s)
- Complex — avoid this like the plague. we may eliminate it as an option
- NumVal — tests with numeric results (CD4, CREATININE, SERUM GLUCOSE)
- N/A — not a observation/question/test (drugs, sets, answers, misc terms)
