Data Dictionary

Introduction

At the heart of every OpenMRS implementation is a concept dictionary that defines the medical concepts (questions and answers) used as the building blocks for forms, orders, clinical summaries, reports and almost every aspect of the data.  Most OpenMRS implementations have an open concept dictionary - one that is considered incomplete and evolves over time. Therefore, as clinicians document conditions, the OpenMRS concept dictionary must be expandable to accommodate meaningful clinical data. To get to the OpenMRS concept dictionary, navigate to the Configure Metadata block and click Manage Concept Dictionary.

What follows is an introduction to the Concept Dictionary, OpenMRS's unique foundation, and how it provides flexibility for the implementation.

What is Concept Dictionary?

The concept dictionary represents a fundamental building block of OpenMRS. Similar to a dictionary defining the function, meaning, and relationships of the words, the concept dictionary defines the name, code, and appropriate attributes for any observations or data collected (including medical tests, drugs, results, symptoms and conditions). To even further simplify the concept dictionary, one could compare it to an infinitely large Excel spreadsheet, where patients are represented as rows and concepts are represented by columns.

What is Concept?

The concept is the basic element of flexibility in OpenMRS. Concepts are the individual data points collected from a population of patients. Concepts include both questions and answers. 

For example, blood type data is collected for a patient.  The question is "What is the blood type for the patient?", with a set of discrete answers of "A, B, AB or O".  To implement this in OpenMRS with concepts, the question is a concept ("blood type") and each response ("A", "B", "AB" and "O") is also a concept.  For this one question, a total of 5 concepts are required.

What about a question where the answer is not a discrete answer?  If the question is "What is the name of your first pet?", the answer would be expressed in a text box.  It would not be possible to provide a complete list of every possible name for your pet.  In this example, there would be one concept -- "name of first pet".

The bottom line is, if you need a medical word within your electronic records system, it needs to be defined within the concept dictionary. 

Concept Class

The classification of a concept. This classification details how a concept will be represented (i.e. as a question or an answer). The current list of classes include:

  • Test – lab tests(e.g. CD4 Count) or physical exam maneuver (e.g. Babinski)

  • Procedure – spinal tap, lumbar puncture, etc.

  • Drug – medications, prescriptions and over the counter

  • Diagnosis – defined medical conclusion (usually in ICD), e.g. diabetes, AIDS

  • Finding – physical or exam findings (shortness of breath, systolic murmur, LLL infiltrate)

  • Anatomy – body part, e.g. right arm, frontal love, abdomen.

  • Question - query to which there are either open-ended or coded responses

  • LabSet – a group of several test concepts, e.g. I-Stat Chem8+

  • MedSet – a group of several medications, e.g. cardiac medication

  • ConvSet – a group of concepts, typically questions, assembled for convenience, e.g. vitals signs

  • Misc – unclassifiable concepts, typically general descriptions of location or rankings, e.g. left, severe, positive

  • Symptom – any sign or indication of a possible conclusion, e.g. chills, increased heart rate

  • Symptom/Finding – any sign or indication, not specifically linked to one conclusion

  • Specimen – a sample of any larger part, e.g. tissue, blood sample

  • Misc Order – orders typically not utilized by the organization

  • Program – a specific plan, or set of plans, that a patient may be enrolled in, e.g. first line TB treatment

  • Workflow – a process, as described by the organization

  • State – a general description of a patient or body’s status, e.g. comatose

Concept Datatype

The structured format you desired the data to be represented as. The current types are as follows:

  • Numeric – any data represented numerically, also allows you to classify critical values and units, e.g. age, height, and liters consumed per day.

  • Coded – allows answers to be only those provided, e.g. Blood type can only be “A,” “B,” and “O”

  • Text – Open ended responses

  • N/A – the standard datatype for any non-query-like concepts, e.g. symptoms, diagnoses, findings, anatomy, misc, etc.

  • Document 

  • Date – structured day, month, and year

  • Time – structured time response

  • DateTime – structured response including both the date and the time

  • Boolean – checkbox response, e.g. yes or no queries

  • Rule 

  • Structured 

I get all the definitions, now why does this apply to me?

Imagine attempting to graph the trend of a patient’s weight over time, and having several different concepts which refer to recorded weights - you’re looking at a lifetime of rummaging through non-standardized paperwork and measurements. If one properly uses the concept dictionary, they will be able to analyze any concept, no matter what encounter and form it was recorded in. The Concept Dictionary guarantees that all weights will be recorded as weights, and not under various headings.

As simple as it can be explained, OpenMRS is an infinitely large filing cabinet. Within that cabinet, each patient has a file. Within that file are a series of encounters, each consisting of hundreds of observations. As the patient continues to utilize the healthcare system, they will become associated with a limitless number of observations. Each of these observations consists of a question (what is the patient’s weight) and an answer (140lbs); the Concept Dictionary easily links these two concepts together. Because of this automatic correlation, there is a necessity for all concepts to be properly crafted.

How to create a new Concept?

So, you’re not exhausted from the descriptions, and you want to create a concept? Before you create your concept in OpenMRS, contemplate these three steps:

  1. 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 your organization most generally refers to this concept as – consider all possible synonyms! You may be surprised what concepts already exist.

  2. 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 term's description. Don’t be too sure of yourself - double check with the person requesting the new concept that you have the correct, specific definition.

  3. Make sure that you include and standardized representation of the concept, e.g. LOINC or ICD10. If you have no idea what this is – go to the internet or a coworker and find out!

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.

  • Primary Name

    • The name should begin completely specific. It is "Hepatitis B immunization", not "Immunization, Hepatitis B".

    • Use sentence case (Malignant cancer) or title case (Malignant Cancer)

    • Use only alphanumeric characters! (If this was a concept, there would be no exclamation point.)

    • NO ACRONYMS – Abbreviations and acronyms are only used as synonyms!!

    • When necessary, always refer to the generic form (e.g. Ibuprofen, not Advil ©)

    • When referring to organism or virus, the full taxonomic name is used (e.g. Human immunodeficiency virus, not HIV)

    • Adhere to complete granularity! "Right upper quadrant abdominal pain" refers to too many observations. This can be tricky in practice – if you’re unsure, refer to a geek or someone who can identify mini-clauses within your proposed primary name.

  • Short Name

    • Be smart – only use alphanumeric characters, avoid long phrases, and acronyms that may have several meanings

  • Synonym

    • Again, be smart! Use any other phrases or acronyms that people within your organization may search for when attempting to use this concept. If you’re at a loss, conduct a survey of possible end users.

  • Description

    • Without question, at the end of reading this statement, a lay person should have a decent idea of the concept’s meaning. This is always REQUIRED – no exceptions.

  • Data Class

    • Is the concept a question that requires responses? If so – label it as a question!

    • Is it a list of questions that are related? If so – label it as a CONVSET!

    • Is it a list of lab procedures that are related? If so - label it as LABSET!

    • Is it a list of medications that are related (e.g. Antiretrovirals)? If so – label it as a MEDSET!

    • If you’ve gotten through the above questions, be smart, and choose the best fitting of the remaining classes.

  • Is it a set?

    • If you answered yes to either question 2,3, or 4 above, check this box! Otherwise you won’t be getting much functionality out of the concept.

  • Datatype

  • Is your concept a question that requires responses?

    • If yes, select the type that best represents the form that you wish to view your data as.

      • If yes, and there are only a few possible answers, select CODED, and choose those possible answers.

      • If yes, and the class is numeric, make sure you enter any critical values. Also, select PRECISE if you desire decimal answers.

    • If no, select N/A.

  • Version

This is completely up to you.

  • Use any method you think works for you.

    • Use a method that will be easily recognized and utilized by all other OpenMRS users.

    • Be consistent with your method across all concepts.