I have been in the health information technology field since 1990 when I began creating ComChart EMR. It was a labor of love which ultimately evolved into a small business. From 2004 until 2012, ComChart EMR had amongst the highest KLAS rating of all EMRs in the small ambulatory care group. From 2011 until 2015, ComChart EMR was certified by the ONC for Meaningful Use Stage I. Unfortunately, the technical requirements arising from Meaningful Use mandates and changes in market conditions required that I stop selling ComChart EMR in 2015.
As a result of the 2.5 decades I spent creating ComChart EMR, I have learned a lot about which features are useful in the exam room and how to design an EMR so that it facilitates the user ability to provide medical care to their patient. As Judy Faulkner, Founder and CEO of Epic said, “Good software is art.” To this, I would add that it is only possible to create a well designed EMR if a practicing physician is intimately involved in both design and programming of the EMR.
Now that many of my former ComChart users have had to leave ComChart EMR for one of the large commercial EMRs, I have come to realize that some of these large EMRs lack features which were in ComChart EMR and which the former ComChart physicians wished were in their new EMR. In an attempt to improve the quality of these large, commercial EMRs, I have created the below list of features which, in my opinion, should be in all /most EMRs.This list is not intended to be comprehensive and it is totally subjective. While I expect that some of the items will be in some EMRs, I am certain that they are not in all EMRs.
As this list is a bit long for a typical posting on The Health Care Blog, I will present the half of my list below, which will include suggests regarding the Lab section and the Progress Note section of the EMR. The second posting on The Health Care Blog will discuss other suggested features for EMRs.
A Universal Truth about EMR design
It is essential that when all EMR features are incorporated into the EMR so that 1) they make their presence obvious to the user at the point moment in the clinical encounter and 2) the feature should be presented to the user in a manner which make it intuitively obvious how to utilize the feature or at least how to learn how to use the feature without being referred to a manual or told to attend a “training class” or call “technical support.”
There should be button that causes the EMR to only displays all the abnormal lab test results and then gives the user the ability to sort the resultant list by test name, test date or any other parameter which is available. This can be invaluable when trying to understand the etiology of a patient’s symptoms.
The physician should be able to display any subset of a patient’s lab results, with the option to omit individual results, re-sort the displayed data (by date, value, name) and be able to export the data in cvs or Excel format.
It should be possible for a physician to create a chart of lab tests, on the fly, which include any combination of tests from the patient’s existing labs. It should be possible to incorporate this lab chart into a Progress Note or print out the chart for the patient.
It should be easy for the physician to create an association between incoming test results (or LOINC value) and specific medicines so that when a incoming lab result is filed, the associated medication name appears alongside the file results. For example, every time a cholesterol result is filed, if the patient is on a statin, the name and dose of the statin will appear alongside the test result. In addition, this field should be accessible to the physician so they can add/alter the information as they feel is necessary. Other potentially useful associations are HBA1c and diabetic medicines, potassium and ace inhibitors, Vitamin D and ergocalciferol, etc. With this association incorporated into the lab results, it should be possible, with one click, to create lab charts which include the concurrent medication information, like this…
Within the labs, it should be immediately obvious who ordered a test and to whom a copy of the test was distributed.
Physicians should be able to create a chart of any lab test results, from within the Progress Notes, by simply typing some sort of macro like “\\Lab test name.” This type of feature reduces unnecessary navigating around a patient’s chart and improves a physician’s work flow.
A physician should be able to add selected free text from the Progress Notes to either the Problem List, Medicine list, Allergy list, Family History or Old Problem list by simply highlighting the data and clicking a single button. This will reduce the need for “double entry” of data.
There should be a free text field on the Progress Note layout where a physician can enter information that is not officially part of the patient’s patient chart and will never be exported or printed. This feature would allow a physician to write note to themselves like “Daughter wants issue of her mother’s depression discussed at the mother’s next visit, and daughter does not want to be identified.” Prior to the creation of EMRs, physicians would attach a piece of paper to the outside cover of the patient’s manila folder.
The physician should be able to search all of an individual patient’s free text Progress Notes for a word or phrase. It should also be possible to search a subset (or all) of the entire EMR’s free text Progress Notes for a word or phrase. This can be very useful when doing population searches or when trying to find a particular patient whose name is unknown.
The user should be able to print out any (or all) sections of a patient chart with no more then 2-3 clicks and concurrently print out a pre-addressed envelop. The design of this process should give the user the ability to have complete freedom to decide which sections of the chart will be included in the print-out, down to the level of individual test results and Progress Notes. This can be very usefully when creating referral letters.
The physician should easily be able to create template Progress Notes without the need for an IT person. These can be constructed from a series of “macros.” Examples of Progress Note “macros” should include:
ACTUAL DATA which will appear in the Progress Note MACRO
HISTORY AND PHYSICAL h&p or H&P
Today’s date TodaysDate
Patient name PatientName
Patient’s nick name GetPatientsNickname
Date of Birth GetPatientDOB
Patient age on date of office visit GetPatientAge
Problem list (comma separated list) GetProblemList
Problem list (one Dx per line) GetParagraphProblemList
Problem list (one Dx every 4th line) GetParagraph2ProblemList
Diagnosis list(comma separated list) GetDiagnosisList
Diagnosis list (one Dx per line) GetParagraphDiagnosisList
Diagnosis list (one underlined Dx every 4th line) GetParagraph2DiagnosisList
Diagnosis list with dates (one Dx per line) Get_ParaProblemListWithDates
Medicine list (comma separated list) GetMedicineList
Medicine list (one Rx per line) GetParagraphMedicineList
Old Medicine list GetOldMedicineList
Allergy list (comma separated list) GetAllergyList
Allergy list (one Rx per line) GetParagraphAllergyList
Flowsheet data (most recent) GetFlowsheetData
Flowsheet data (all) GetAllFlowsheetData
Flowsheet data past due GetPastDueFlowsheetItems
Old Problem list (comma separated list) GetOldProblemList
Old Problem list (one Dx per line) GetParagraphOldProblemList
Family diseases (comma separated list) GetFamilyDiseases
Family diseases (one Dx per line) GetParagraphFamilyDiseases
Social history GetSocialHistory
Habits and Risk Factors GetHabits&RiskFactors
Review of Systems GetReviewOfSystems
Most recent vital signs GetMostRecentVitalSigns
Chart of vital signs (chart of all data) GetChartOfVitalSigns
Chart of vital signs from last 3 years GetChartOf3yearsVitalSigns
Saved History GetSavedHistory
Saved Physical exam GetSavedPhysicalExam
Saved ROS GetSavedROS
Saved Procedure GetSavedProcedure
Saved Treatment Plan GetSavedTreatmentPlan
Clinical Summary (Probs, Meds, Allergy, FSH, habits) GetClinicalSummary
Lab results (all) GetAllLabResults
Lab results (all) data results only GetAllLabsDataOnly
Lab results (< 12 month old) Get12mLabResults
Lab results (< 12 month old) data results only Get12mLabsDataOnly
Lab results (< 6 months old) Get6mLabResults
Lab results (< 6 month old) data results only Get6mLabsDataOnly
Lab results (< 3 months old) Get3mLabResults
Lab results (< 3 month old) data results only Get3mLabsDataOnly
Lab results (< 1 months old) Get1mLabResults
Lab results (< 1 month old) data results only Get1mLabsDataOnly
Lab results (≤ 7 days old) ) Get7dLabResults
Lab results (≤ 7 days old) data results only Get7dLabsDataOnly
Lab results (most recent labs) GetMostRecentLabResults
Lab results (most recent labs) data results only GetMostRecentLabsDataOnly
Radiology reports (Entire text of all) GetXrayReports
Most recent radiology report GetMostRecentRadiologyReport
Radiology summaries (Recent, first) GetRadiologySummaries
Radiology summaries(Oldest, first) GetChronologicRadSummaries
Most recent radiology summary GetMostRecentRadSummary
Radiology summaries < 1 month old Get1mXraySummaries
Radiology summaries < 3 months old Get3mXraySummaries
Radiology summaries < 6 months old Get6mXraySummaries
Radiology summaries < 12 months old Get12mXraySummaries
Radiology reports < 1 month old Get1mXrayReports
Radiology reports < 3 months old Get3mXrayReports
Radiology reports < 6 months old Get6mXrayReports
Radiology reports < 12 months old Get12mXrayReports
User’s name MedicalProvider
Name of Primary Care Physician PCPname
Name of Referring Physician Referring MD ReferringMDname
Associated clinicians (Includes PCP & Referring MD) GetAssociatedPhysicians
Chart of patient’s CBCs LabChart:CBC
Chart of patient’s Electrolytes LabChart:Electrolytes
Chart of patient’s Lipid Profiles LabChart:LipidProfile
Chart of patient’s INRs LabChart:INRChart
Chart of patient’s Lipid Profiles LabChart:LipidProfile
Chart of patient’s Liver Function Test LabChart:LiverProfile
Chart of patient’s Thyroid Profiles LabChart:ThyroidProfile
List of diagnostic tests pending GetListOfTestsPending
List of prescriptions written today GetPrescriptionsWrittenToday
Associated billing claims information GetBillingClaimsData
Copayment of Primary Insurance GetPrimaryInsurance
Copayment of Secondary Insurance GetSecondaryInsurance
Copayment of Primary Insurance GetCopayPrimaryInsurance
Copayment of Secondary Insurance GetCopaySecondaryInsurance
Get all CPT names modifiers codes GetAllCPTNamesModifiersCodes
List of all CPT codes GetAllCPTCodes/Names
Most recent CPT code (CPT1 from last visit) GetLastCPTCode/Name
List of Diagnoses with ICD codes (one line) GetDiagnosesWithICDCodes
List of Diagnoses with ICD codes (paragraph) GetParaDiagnosesWithICDCodes
Get patient’s next appointment GetPatientsNextAppointment
The physician should be able to easily create personal “macros” where the physician types an appreciation and the EMR replaces it with the associated text information. For example; the user might create the macro “\paoa” which when entered into the EMR’s Progress Note immediately gets replaced with “Patient aware of above”. Or the physician might create a macro “\gcl” which is immediately replaced by
“PAST MEDICAL HISTORY:
And then, the “standard” macros (like GetParagraphProblemList) get replaced with the actual patient data. All of this will make it easier for the physician to minimize the time they spend “charting” and give them more time to interact with their patents.
The user should have the ability to search the entire database, on any indexed field, such as demographic data, providers, Problem list, Medicine List, Allergy list, old problem list, old medicine list, PCP and associated MDs, insurance, race, language, ethnicity, date of visits, Vital signs, Flow sheet data, radiology data, legal documents (HCP, Advanced directives, HIPAA) smoking status, etc. For example, “Find all male patients, <65 yo, who have DM-2 and albuminuria and hypertension, and have not been seen in the last year, and whose most recent HBA1c>9, and is managed by Dr. XXX, is on lisinopril, and last SBP>160” or find all patients who are on 2 specified medications. Once a search is conducted, the resultant information should be able to be easily exported out of the EMR into an Excel or cvs document, for use as the physician feels is necessary.
Any physician should be able to assembly a list of patients, based on any indexed text field then automatically add a note to the chart of each of those patients (with the option to add a “To do” or a “Reminder.”) For example, if a publication shows that a specific medication has a new side effect when it is used in patients of a certain age or gender or in conjunction with another medication, it is useful to be able to add a note to the relevant patients chart that says something like “At next visit remember to discuss the newly reported side effect of medicine XYZ, see AIM 2016;214:123”)
When test results return, it should be very easy for the physician to send an order to the lab that says “Please add this additional blood test to the current sample in the lab.”
The accuracy of the medicine list is crucial to patient care. The process of altering an existing medicine on the medicine list, adding medications to the medicine list, removing medications from the medicine list should be able to be accomplished with a maximum of 1-2 clicks.
Problem List, Medicine List:
There should be a “comment” field associated with the Problem list and Medicine list so as to allow to the user to enter any ancillary information they feel is necessary.
Problem List, Medicine list, Allergy list
The user should be able to add data to these essential elements of the patient’s chart in every location where the data is displayed and the data should be displayed in every location where a practicing physician might be expected to want to see those data elements, such as in the Progress Notes, Flowsheet, Labs, Orders, etc. It is irrational to make the user navigate to another location in the EHR in order to modify these data elements.
There should be an option to keep a list of all physicians who are involved in the care of the patient and their assigned roles such as cardiologist, surgeon, etc
One should be able to graph any numeric data, print the graph (for the patient) as well as incorporate the graph directly into the patient’s Progress Notes as an essential component of the medical narrative.
The user should have complete freedom to decide which data elements will be included in any printed / faxed document, down to the level of an individual lab test, radiology report and Progress Note.
The physician should have the ability to decide what type of information appears on the patient portal, e.g., Labs, Radiology, Problem list, Medicine List, Allergy List, Progress Notes, Flowsheet, Vaccinations. The physician should have the option to turn off the patient portal for an individual patient, ”hide” an individual Progress Note from being displayed on the patient portal and “hide” a particular lab test from appearing on the Patient Portal. The physician should also have the option to decide when a result will appear on the Patient Portal, for example, immediately after the data is added to the EMR or 3 or 7 days after the data is put into the patient’s chart.
To Do List:
It should be possible for the user to create a “future To Do,” which disappears from the system until a specified date in future when the item reappears on the user’s “To Do list.” It should also be possible for the user to ask the system to display all their “future To Dos” with a single click. This gives the physicians an easy way to track items that will happen in the future and helps them maintain an uncluttered screen.
To Do List:
It should be possible for the user to provide various “priorities” to each of the items on their “To Do” list and allow them to sort their “To Do” list by date, patient name, priority, creator of “To Do”, type of “To Do.”
When ordering tests, it should be easy to tell the lab that a copy of the test results should be sent to another physician (or to the patient) and this process should require no more than one click.
When ordering tests, the user should be immediately presented with the date and results from the last time the test was done. In addition, the (relative) cost of the test should also be presented to the user and an estimate of the patient’s expected incurred cost.
It should be possible to print an envelope addressed to the patient at all locations in the EMR where such a feature might reasonably be needed, such as on the Clinical Summary layout, Orders layout, Lab results, Progress Notes, X-rays, Prescriptions, etc. Similarly, at the location which contains a physician’s or pharmacy’s address, there should be a button that prints a pre-addressed envelope.
One should be able to create letters or emails, based on templates, and these templates should give the user the ability to automatically incorporate various bits of information in the form of “macros,” as discussed above. For example, it should be possible to build a “template letter,”, that can be used to write a letter or email to a patient, which says something like “Your recent tests are normal. Here are the results. Please see me as planned on DDD/MMM/YYYY” and this can be either printed (with an envelope) or emailed with one click.
In all locations where this information might reasonably be needed by the physician, the date of the patient’s next appointment should be displayed, such as on the prescription layout, labs layout, Progress Note layout and where the physician reviews incoming data (test results, email) etc.
The user should have the ability to easily redirect any notifications, like newly received lab results, to another individual in the EHR.
On the fax cover page, the user should be able to include (and easily alter) a default message like “Current guidelines for DM-2 recommend that tight control is not appropriate in the elderly.” This will facilitate the ability of one physician to educate other physician.
EMRs which are used in an emergency room should be able to send a message to the patient’s primary care physician, when the patient arrives in the emergency room. In addition, physicians need to be able to turn on and off these notifications both at the individual patient level and at a global level. In addition, the physician should have the ability to redirect these notifications to a surrogate.
The physician should be able to determine the sort order of the Problem list and Medicine list. For example, they may want to have the list for the medicines sort alphabetically or by time of day they are administered or based on importance or toxicity, or any other way that the user wishes to have the problem list and medicine list sorted. This can easily be accomplished by adding a numeric “sort order” field for each diagnosis and medicine. This sort order will then be retained wherever Problem list or Medicine list is displayed. To facilitate medicine reconciliation, it should require no more than a single click to change the Medicine list sort order to “alphabetical” and to return the Medicine list to the preferred sort order.
It should be possible for the user to create a “future letter” to a patient, which is retained in the EHR until a specified date in the future, when the letter is automatically printed (with an envelope) or emailed to the patient.
It is absolutely imperative that the EMR be designed to minimize the number of clicks and the need to change locations within the EMR. This situation can occur when the physician needs to see a “type” of data that is located at another section of the EMR. One way to bring information to the physician, without requiring them to navigate to another location in the EMR, is to use the “color” of the buttons to convey information to the physician. For example, if the physician is viewing the Progress Notes, the “go to labs button” could be red if there is no lab data on the EMR. If the patient has lab results in the EMR, the “go to labs button” could be green. Thus, by looking at the “go to labs button” the physician would immediately know if there was/was not lab data on file. One can use multiple colors to convey more nuanced information. For example, the “go to the appointments button” could be red if the patient’s next appointment is “today,” while yellow implies the next appointment is within 1 week, blue might imply the next appointment is more than 1 week in the future while grey means that the patient has no scheduled upcoming appointments.
Another way to bring information to the physician, without requiring them to navigate to another screen, is the use of the “hover over” option. If the physician wants to know the date of the patient’s next appointment, they simply hover the mouse over the “go to the appointments button” and pop-up window immediately appears with the date of the upcoming appointment appointment(s). The same feature can be used to display the most recent lab data, chart of vital signs, radiology data, the patient demographic data like phone number, etc. Thus, it is possible to deliver information to the physician, when/where they need it, without requiring them to navigate to a different section of the EMR. This will reduce the amount of data sent over the network, speed up the EMR and improve the EMR’s usability.
Physicians should be able to generate a list of all of a patient’s previously prescribed and discontinued medications and sort the list by generic name, brand name, date entered into the EMR, date prescribed, date discontinued, prescriber and class.
To reduce the possibility that a physician would click on a button that they did not intend to click on, when the mouse hovers over a navigation button, that button should change colors to indicate that is the active choice.
All EMRs should have a location in the EMR where physicians can store copies of patient handouts, medical articles, protocols, PDFs, text information, pictures and other items which they will believe will be helpful to their practice. The physician should be able to organize this information into logical sections, subsections and sub-subsections. They should also be able to search this information, print the date and copy / paste the information into a patient Progress Note, as they see fit.
At the same location on the computer screen, in all locations throughout the EMR, there should be a “suggestion” button. When clicked, a text window opens and the dialog box reads “Enter you suggestion to improve this EMR below. Your suggestion, along with your location in the EMR and other relevant EMR data will be sent to the CIO, MD, who should be a practicing physician that uses the EMR on a regular basis. The CIO, MD should assemble an “EMR re-design” team to sort through these suggestions and prioritize which changes should be made to the EMR by the CTO and his/her team. It is imperative that the power to decide whether and when a new feature should be added to the EMR should reside with the clinicians, not with the technologists.
In my opinion, a suggested new feature should be added to the EMR if it creates no unresolvable security issues and proposed feature meets any of these criteria:
1) will likely be used by many users
2) has the potential to improve the efficiency of the health care provider
3) has the potential to reduce the cost of healthcare
4) has the potential to improve the quality of healthcare
5) has the potential to promote patient engagement
Technical issues, like it is “too technically difficult” or “the IT department has other priorities” or “it cannot be done” are not acceptable reasons to fail to add a new feature to an EMR. As a programmer, I know that there is always a way to circumvent almost all technical issues.
A version of this article was posted on The Health Care Blog in 2016.