An Interactive Tool for Natural Language Processing on Clinical Text
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

NLPReViz: emr-vis-web


emr-vis-web provides the frontend view for emr-nlp-server.

Getting Started

To get started, install the pre-requisites and then clone emr-vis-web as described below:


  1. You need git to clone the emr-vis-web repository. You can get it from

  2. You must have node.js and its package manager (npm) installed. You can download them from or get them using your favourite package manager. For example, if you are on a Mac and have homebrew installed, run $ brew install node.

  3. We use the Apache Tomcat server to deploy the app. On a Mac with homebrew you may use $ brew install tomcat to get it.

  4. We have separate repository for our backend service. Visit emr-nlp-server for more.

Clone emr-vis-web

  1. Navigate to the home directory of your tomcat server. You can use $ catalina version and find out what CATALINA_HOME is set to.

  2. cd to the webapps/ directory. If you are using the default tomcat setup, your present working directory would be something like /usr/local/Cellar/tomcat/7.0.54/libexec/webapps/.

  3. Clone the emr-vis-web repository into the webapps direcory using git:

    cd webapps
    git clone
    cd emr-vis-web

Install Dependencies

  1. Make sure you have node.js installed.

  2. We have preconfigured npm to automatically run bower and grunt. So all you need to do is:

    npm install

    This would run the following steps:

  3. (Skip this step to leave default settings as it is.) In case you need to change the backend service's path, edit the config.backend variable in package.json or use the following commands:

    npm config set emr-vis-web:backend <relative/path/to/backend/service>
    npm start

    Valid examples of this path include "http://localhost:9090/backEndService", "/backEndService" etc.

    Editing package.json would be a permanent solution while using the npm config lets you include the config settings for the current terminal session.

Run the Application

If you haven't built the backend project as yet, please do so now. Refer to the readme on emr-nlp-server for more information. Remember to go through step 3 to set the correct path to the backend service if you plan to modify the defaults.

Now browse to the app at http://localhost:8080/emr-vis-web/app/index.html or <your-localhost-root>/emr-vis-web/app.

Defining custom variables:

The tool is currently configured to make predictions for pre-defined colonoscopy quality variables. To define your own variables, you will need to edit app/js/controllers.js as follows:

    $rootScope.config.variables = ["any-adenoma", "biopsy"....]

    $rootScope.config.variableMapping = { "any-adenoma": "newVar-display-name", "biopsy": "newVar2"... }

Remember to follow the instructions in emr-nlp-server as well.


The wordtree is adapted from the library by silverasm, available at Our project depends on the javascript libraries listed in bower.json.


This project is released under the GPL 3 license. Take a look at the LICENSE file in the source for more information.