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.

Definitions

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.

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.  More detail about all the possible concepts in a later section.

Encounter

A single, specific interaction between the patient and a provider. An encounter can be any interaction and includes doctor visits, laboratory tests, food distribution, home visits, counselor appointments, etc. Encounters are typically represented as a form (consisting of hundreds of observations), but could also be a touch-screen patient registration or a single lab test for CD4.  For example, a patient visits a health center or hospital.  For each electronic form completed for that patient, a new encounter is created.  Each will have a unique encounter_id and encounter_type.  Forms could be completed by different departments (ie.  drug pickup, visit with an HIV clinician, Diabetes visit, food package received), and will have an associated encounter_type (ie. ART Drug Regimen Pickup, Adult intake, food assistance, lab test, etc).  Each encounter has an encounter type, date/time, location and provider.

Observations

Anything actively measured or observed during an encounter. As an example, patients' weights, heights, blood pressures, and BMIs are observations, as well as qualitative facts including the number of years a patient smoked, the activities in which the patient experiences shortness of breath, and finding on an X-ray. Although typically an observable question, demographics are an exception, and are recorded as separate concepts. Each observation has a unique obs_id.  

These are possible scenarios for encounters and observations:

Demographics

Demographics are any descriptive characteristic of a person. This includes: name, address, date of birth, age, and any other social construct involvement.

Fully-Specified Name

A fully-specified name is a term that fully describes the concept in an unambiguous way.  A concept must have at least one fully-specified name (in any locale).

Locale-Preferred Name

This is the preferred name to use within a locale.  By default, this is the fully-specified name; however, full-specified names are sometimes long and more detailed than necessary for day-to-day use.  In those cases, a synonym can be defined to be the locale-preferred name.  There can only be one preferred name within a locale.  The primary term should be the word(s) used most often by those who will have access to the records to prevent duplicate concept creation.

Short Name

A shortened version of the primary name for use in space-constrained contexts (e.g., a column header in a spreadsheet).  OpenMRS does not enforce a length limit on the short name, but a target of eight (8) or fewer characters is suggested (to work as a column header for programs like SPSS or SAS).

Description

A clear and concise description of the concept, as agreed upon by the members of the organization or the most commonly referenced source.

Synonym

Any valid, alternative names for the concept. This includes acronyms, abbreviations, and other names that reference the primary name. You can include your organization's more informal names for concepts here.

Index Term

Index terms are names that should never  be displayed as the name of the concept, but are useful for indexing (helping users find concepts).  Examples would be common misspellings of names (allowing users who enter the misspelling to still find the concept) or a barcode value for a vaccine (allowing users to scan the bottle when creating an observation and find the appropriate concept).

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:

More on concept classes at this wiki page.

Concept Datatype

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

More on concept datatypes at this link.

Version

A method to keep track of the number of updates applied to a specific concept.

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.

Where do I start? What do I do?

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.

This is completely up to you.

A few things to remember!

  1. AVOID ALL DUPLICATES – CONDUCT AMAZINGLY THOROUGH SEARCHES BEFORE CREATING CONCEPT
  2. ONLY USE ALPHANUMERIC CHARACTERS.
    1. You can use non-alphanumeric characters in the description only.
  3. ALWAYS WORK WITH THE END USERS OF OPENMRS TO GUARANTEE DATA IS BEING COLLECTED IN AN APPROPRIATE MANNER FOR YOUR NEEDS

See Also