Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status Dependency Status Code Climate

OpenPPRN is a collaboration between multiple Patient-Powered Research Networks to build an open, shared patient-facing web & mobile technology infrastructure.

With this "Open" PPRN, in the push of a button, you'll be able to deploy a Patient-Powered Research Network that is complete with:

  • Patient Registry
  • Research Survey Platform
  • Health Data Aggregation & Visualization
  • Mobile Health Tracking
  • Patient Social Network


Truly Patient-Centered

Patient-centered and patient-facing. As the interface for your patients to interact with your research network, the web & mobile UI is designed with reward systems from behavior research to engage patients to help advance research for their condition. Patient engagement is the first and primary concern.


Open Source. Open Data. The data is owned by the patients, stewarded by the patient advocacy group. Freedom: host your network anywhere, move your network and the data at any time. Add to the network to address new needs in the future. That's what makes this an "open PPRN".


The whole user experience is designed mobile-first. Patient registration, research surveys, and health tracking are designed to be done from the patient's mobile phone.


Plug-ins to third-party data APIs enable patient health data to be aggregated from hundreds of mobile health apps, so patients can use the tools they find most valuable to track their health data. Plug-ins to patient medical record APIs enable the integration of EHR data. Patients see these visualized on the web & mobile interface.

Want to Know More?

For full project details visit


First, make sure you have reviewed and installed any prerequisites.

Next, install gems:

gem install bundler

This README assumes the following installation directory: /var/www/opn

cd /var/www

git clone

cd opn

bundle install

Install default configuration files for database connection, email server connection, server url, and application name.

ruby lib/initial_setup.rb

bundle exec rake db:migrate RAILS_ENV=production

bundle exec rake assets:precompile RAILS_ENV=production

To set up your secret keys, run

figaro install

Add the following lines to the /config/application.yml file it generates and modify them accordingly. Add the appropriate keys you've gotten from the third party developers. For any service you aren't using, you can leave the lines out:

pprn: "ccfa"
pprn_title: "CCFA Partners"
pprn_condition: "Crohn's & Ulcerative Colitis"
pprn_conditions: "Crohn's, Ulcerative Colitis"
pprn_support_email: ""

oodt_enabled: "true"
validic_enabled: "true"




Open PPRN.rb to

  • Configure the basic information about your PPRN
  • Enable or Disable Validic and OODT

Run Rails Server (or use Apache or nginx)

rails s

Open a browser and go to: http://localhost:3000

All done!

Deploying to Heroku

If you are deploying to heroku, to get your application.yml loaded into heroku environment configuration (required to function), do

figaro heroku:set -e production

Seeding your Database

If you are just doing test installs or demonstrations of the website, you may want to start with some seed data. Some combination and/or all of these below should get you started:

rake db:seed
rake surveys
rake legacy_seed

Modification of Content & Layout

The main navigation of the application is structured like so (in controller#action/view_name format):

  • Home#Index
  • Research#Index
  • HealthData#Index
  • Members#Index

If you want to edit any of the major views, you'll find them in the app/views/home, app/views/research, app/views/health_data, & app/views/members directories in .html.haml formats (eg. app/views/home/index.html.haml is the logged-in home page)

Each of those directories contains related partials that are used to help support the views, named with a leading underscore, eg. _tutorial.html.haml, which is the tutorial accessible by tab on most of the major views.

The logged out homepage is Static#Splash (can be found in app/views/static/splash.html.haml). Other static (about/tos/pp) and content pages (lots of text about the network) can be found in this same directory.


A collaborative open source infrastructure for running web-based patient-powered research networks (PPRNs)







No releases published


No packages published