This repository is no longer active and has been moved to: http://github.com/nlpreviz/emr-nlp-server
emr-nlp-server provides the backend service for the emr-vis-web project.
To get started, install the pre-requisites, get the emr-nlp-server application and then launch the service as described below:
-
You must have Java Development Kit (JDK) 1.7 to build or Java Runtime (JRE) 1.7 to run this project. To confirm that you have the right version of JRE installed, run
$ java -version
and verify that the output is similar to:java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
If you don't have the JDK installed or have an older one, you may get the latest version from the Oracle Technology Network.
-
We use the Apache Tomcat server to deploy the app. On a Mac with homebrew you may use
$ brew install tomcat
to install the server on your machine. -
Our project depends on the following external dependencies which can be downloaded using Apache Ant:
- Java Jersey which is dual licensed: COMMON DEVELOPMENT AND DISTRIBUTION LICENSE and GPL 2.
- Weka licensed under GPL 3.
- Libsvm with a license compatible with GPL.
- Stanford CoreNLP licensed under the GNU General Public License (v3 or later; Stanford NLP code is GPL v2+, but the composite with external libraries is v3+).
To download and resolve these dependencies from their respective repositories use:
ant resolve
To build the project, we recommend using the Eclipse IDE for Java EE Developers with the EGit plugin installed (Option B). Otherwise, the project also contains a build.xml to be used with Apache Ant (Option A).
-
Clone the emr-nlp-server repository using git:
git clone https://github.com/trivedigaurav/emr-nlp-server.git cd emr-nlp-server
-
Specify the path to the webapps directory in
CATALINA_HOME
environment variable and useant deploy
to to build and deploy the backend app.For example if your Tomcat's webapps directory accessible as /usr/local/Cellar/tomcat/7.0.54/libexec/webapps/, then you may use:
env CATALINA_HOME=/usr/local/Cellar/tomcat/8.0.9/libexec/ ant deploy
-
Clone the emr-nlp-server repository using EGit: File > Import > Git ...
-
Export the project into a .war file: File > Export > Web > WAR File to the Tomcat's webapps/ directory.
We have included some "dummy" data with our release so that you can run the tool and play with the interface. These are not actual medical records and and your models will not be useful. Contact the devs if you need more information about real datasets.
-
Download and copy the data directory inside $CATALINA_BASE. You should be able to figure this path from the print messages you see after launching the server. Example path: /usr/local/Cellar/tomcat/8.0.9/libexec/data.
-
You need to build libsvm before you may run the server for the first time. To do that run
make
inside data/libsvm directory or follow the instructions in the README file present there. -
Start the Tomcat server (eg. using
$ catalina run
or# service tomcat start
etc.).
Now follow the steps on emr-vis-web to setup the front-end application.
The the rest calls to the server are protected with a basic access http authentication. The default login credentials are "username" and "password". You are encouraged to change them in UserAuthentication.java when running the app on a publicly accessible server.
This project is released under the GPL 3 license. Take a look at the LICENSE file in the source for more information.