Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
open-source implementation of PHIN requirements
JavaScript CSS Ruby Shell

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app
config
db
doc
features
lib
manual_features
message_recordings
public
script cleaning up background rb to work with our extension environment. Mus…
spec
.gitignore
Capfile First pass at more robust deployment.
Gemfile
Gemfile.local.example
Gemfile.talho
Gemfile.talho.lock
README.md
Rakefile
agpl-3.0.txt
config.ru

README.md

OpenPHIN

Code Climate

OpenPHIN is a portal and framework for public health related projects.

Prerequisites

Install ruby 1.9.3, bundler, Postgresql, and if you want reporting, MongoDB. Works with both Postgresql 8.4 and 9.1.

For development, you need the curl development libraries, the postgres dev libraries, some JS engine (node is easy), and sphinx. For production, you'll also need clamav. This should be sufficient to run the application (for Ubuntu):

sudo apt-get install -qy clamav libclamav6 libclamav-dev libcurl3 libcurl3-gnutls libcurl4-openssl-dev libpq-dev nodejs sphinxsearch

Installation

  1. git clone git://github.com/talho/openphin.git
  2. bundle install
  3. Copy all the config/*.yml.example files as config/*.yml files. Modify your database .yml file appropriately
  4. rake db:create && rake db:migrate
  5. rails s

Testing

Testing takes advantage of Xvfb to run headlessly on your server. This is a good thing because the testing library is rather large and takes some significant time to complete. You may need to install xvfb.

Preparing the test environment

sudo apt-get install xvfb
RAILS_ENV=cucumber rake db:create && rake db:migrate

Running tests

cucumber

Notes

Some things that might help during install/upgrade:

Rails 3 Upgrade

  • You should be able to upgrade directly from the old version of OpenPHIN to the new. The most recent OpenPHIN master uses Ruby 1.9.3
  • Fix dashboards before deploying. run in console:
Portlet.all.each {|p| p.update_attributes config: ActiveSupport::JSON.decode(p.config).to_json }

PHIN Extensions/Plugins

Additional functionality can be added via extension gems. These can now be run entirely as gems without. There is a generator in place, but as of this writing it is outdated.

These extensions are currently available:

  • HAN: Health Alert Network for alerting. Written to support Health and Communication Coordinators. CDC Cascade alerting certified.
  • Rollcall: Attendance and ILI surveillance and analysis.
  • VMS: Volunteer managment system. Capabilities include scenario execution and templating, volunteer check-in/check-out, and volunteer alerting

Please contact TALHO (or one of the contributors) for more information.

Something went wrong with that request. Please try again.