Natural Language Processing in OpenMRS


My name is Ryan Eshleman and as part of my Master’s degree in Computer Science, I have been working with OpenMRS to build a module to intelligently analyze clinical notes. In addition, we will provide an API to be used to apply Natural Language Processing (NLP) to analyze free text in other settings. We have gotten some exciting results with our system and we would like to consult with you about how you could use this module to improve patient care using OpenMRS.

To summarize our system’s capabilities so far, our system reads clinical notes in text form and then automatically identifies where in the note there is a mention of a treatment, a test, or a problem. It provides a color-coded visualization of this information and then stores it for future analysis and review. (e.g. refer to the following snapshot for an example of recognition of the concept classes.)

Initially, the NLP engine is trained on a collection of generic clinical notes to identify the aforementioned concept classes. The engine can be subsequently tuned to fit the local format of clinical notes.

These current functions will be a building block to build new and useful applications, and we are hoping to get your input on such potential applications. One example of an application that is built on similar clinical note processing ideas is a system called HARVEST. This system looks at a history of patient notes and puts together a longitudinal summary of the patient history with the goal of helping a clinician gain a comprehensive view of a patient more effectively. Below is a screenshot of this system that includes a nice visualization with a timeline, word cloud, and color coded notes:

Right now, our system implements many of the underlying analytical functions used to build HARVEST. Here is a brief tour of our system:

Module main page:

Entering Text:

Analyzed Text:

Retrieve previously analyzed texts:

Because our project will be fully integrated into OpenMRS, it has access to the data and capabilities of the system. We look forward to your invaluable opinions on how to best use this clinical notes processing module to improve your patient care experience! Also, we will welcome further utilization of our module/API once it is completed.

Thank you,

Ryan Eshleman Master’s Candidate, Computer Science San Francisco State University