GithubHelp home page GithubHelp logo

codeaudit / emr-nlp-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nlpreviz/emr-nlp-server

0.0 2.0 0.0 28.46 MB

An Interactive Tool for Natural Language Processing on Clinical Text

Home Page: https://NLPReViz.github.io

License: GNU General Public License v3.0

Java 100.00%

emr-nlp-server's Introduction

NLPReViz: emr-nlp-server

emr-nlp-server provides the backend service for the emr-vis-web project.

Getting Started

To get started, install the pre-requisites, get the emr-nlp-server application and then launch the service as described below:

Prerequisites

  1. 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.

  2. 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.

Building the project

  1. Clone the emr-nlp-server repository using git:

    git clone https://github.com/NLPReViz/emr-nlp-server.git
    cd emr-nlp-server
    
  2. 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
    
  3. Specify the path to the webapps directory in CATALINA_HOME environment variable and use ant 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
    

We recommend using the Eclipse IDE for Java EE Developers with the EGit plugin installed for development. The repository contains appropriate project files to be imported into Eclipse.

Running the server

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.

  1. 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.

  2. 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.

  3. 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.

Defining custom variables

The tool is currently configured to make predictions for 14 colonoscopy quality variables. It also does specific format parsing for colonoscopy and pathology reports in the data provided with the release. We have a more generic version of the tool in the alaska branch of this repository. Refer to the top 3 three commits for the changes here. This project will be updated to make this configuration easier in the near future.

Remember to update emr-vis-web as described in its README as well.

Login

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.

License

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

emr-nlp-server's People

Contributors

pnvphuong avatar trivedigaurav avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.