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.
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
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.
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
.
###Email Confirmation###
To enable optional email confirmation, open lib/config/config.js
, set confirmAccounts=true
and enter a Mandrill API key.
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
The EHR Designer was built by the Parsons Institute for Information Mapping and funded by the Telemedicine and Advanced Technology Research Center (TATRC).