Skip to content

Drag and drop interface builder with an emphasis on Electronic Health Record systems

Notifications You must be signed in to change notification settings

cdanewschool/ehr-designer

Repository files navigation

EHR Designer

The EHR Designer is a drag and drop layout builder for prototyping interface layouts for Electronic Health Record systems.

The Node server uses a variety of technologies including Express, Mongoose, Passport (for authentication), PhantomJS (for project screenshotting) and Mongo. Mandrill is also used for sending email over SMTP. The client is built using Angular.

A demo of this application can be viewed at http://ar210.piim.newschool.edu:3010.

Installation

The following steps use the homebrew package manager for OSX. If you are on a PC, replace the brew command with the equivalent for your package manager.

Install mongo, npm and PhantomJS (used by node-webshot for project snapshotting). If you have mongo and npm installed (more comon than phantomjs), go ahead and skip them:

brew install mongo
brew install npm
brew install phantomjs

Install the bower, grunt, mongoose-fixture and webshot node modules globally:

npm install -g bower
npm install -g grunt-cli
npm install -g mongoose-fixture
npm install -g webshot

Clone the repository (if you haven't done so already) and move into it:

git clone https://github.com/piim/ehr-designer.git
cd ehr-designer

Install dev dependencies:

npm install
bower install --allow-root

Build (creates www/index.html from dist/index.tpl.html template):

grunt

Start mongo if it's not running already. Note that you'll have to keep this process open in a terminal window to start and run the server, but if you want to close it after running the data import you can:

mongod

Import data

To import data, run bash bash/import-mongoose-fixture.sh from the project root. Note that this will empty the collections first if they exist.

NOTE: if you have trouble installing or using mongoose-fixture, you can alternately import the data files via bash bash/import-mongoimport.sh, which imports the files in lib/import/mongoimport manually using mongoimport.

Running

Start mongod if it's not running already. Note that you'll have to keep this process open in a terminal window:

mongod

Start the server (on port 3000):

cd [install directory]
node server

Visit localhost:3000. To run on a different port, specify the desired port when starting the server, i.e. PORT=8080 node server.

Configuration

###Email Confirmation### To enable optional email confirmation, open lib/config/config.js, set confirmAccounts=true and enter a Mandrill API key.

Testing

To run the test suite, you must have the Karma test runner installed. To install Karma:

npm install -g karma-cli

With Karma installed:

cd [install directory]
npm test

Credits

The EHR Designer was built by the Parsons Institute for Information Mapping and funded by the Telemedicine and Advanced Technology Research Center (TATRC).

About

Drag and drop interface builder with an emphasis on Electronic Health Record systems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published