Annotate patient records for collaboration with colleagues or patient transfer
Ruby HTML CoffeeScript CSS Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
bin
config
db
lib
log
public
vendor/assets
.gitignore
GT_FHIR_API_Reference.md
Gemfile
Gemfile.lock
README.md
Rakefile
config.ru

README.md

Handoff

Code Climate

Handoff is a platform for next generation care coordination. Using Handoff, providers can collaboratively annotate electronic medical records to ensure efficient and continuous care. Handoff is meant to free care providers from the phone calls, texts, and other forms of informal communication that are currently used to facilitate care coordination.

This is application a prototype and not meant for production use.

Configuration

Handoff pulls patient records from your existing system via FHIR API. Configure the API endpoint and tweak its interaction in app/models/api.rb. This is required for demoing, because the default endpoint is firewall-protected.

Development

Initial Setup

  1. Install rvm, following the instructions on the front page of http://rvm.io. If gpg is not a command on your system, ignore that step.

  2. Open a new terminal, so the rvm script loads.

  3. Install ruby:

    rvm install ruby
    
  4. Clone the git repository, if you haven't already:

    git clone https://github.com/nilbus/handoff
    

    Note that this https URL requires you to enter your github credentials each time you authenticate. If you want to use passwordless SSH key based authentication isntead, follow GitHub's instructions here: https://help.github.com/articles/generating-ssh-keys/

  5. cd into the handoff git repository

    cd handoff
    
  6. Install ruby gems

    bundle install
    
  7. Drop old instances of the database

    bin/rake db:drop
    
  8. Initialize the database

    bin/rake db:setup
    
  9. Seed the database

    bin/rake db:seed
    

Running the application

  1. cd into the project directory

  2. Start the rails server

    bin/rails server
    
  3. Visit http://localhost:3000

Deploying as a WAR file

  1. (once) Install JRuby ~> 1.7.19 and bundler

    First install a Java JDK. Then:

    rvm install jruby-1.7.19
    rvm use jruby-1.7.19
    gem install bundler
    
  2. Generate the war file handoff.war:

    rvm use jruby-1.7.19
    bin/build-war
    

    or

    rvm use jruby-1.7.19                        # use JRuby and its gems for packaging
    bundle install --deployment                 # prepare gems for deployment
    RAILS_ENV=production rake assets:precompile # compile assets (js, css)
    bundle exec warble                          # generate the war file
    bundle install --no-deployment              # allow gems to be modified
    rvm use default                             # use standard Ruby for development
    
  3. Deploy to a Tomcat app server:

    • cd into the tomcat directory (download and extract Tomcat 8 from http://tomcat.apache.org)

    • (once) Make the catalina startup script executable

      chmod +x bin/catalina.sh
      
    • Remove any old version of the app

      rm -rf webapps/handoff
      
    • Start the Tomcat app server

      bin/catalina.sh start
      
    • Copy or symlink the handoff.war file into the tomcat/webapps/ directory

    • Visit http://localhost:8080/handoff/