DRE is a patient frontend (UI) and Node.js server for reconciling health data.
The purpose of the Data Reconciliation Engine is to take personal health data in a variety of formats (starting with BlueButton/CCDA) from multiple sources and parse/normalize/de-duplicate/merge it into a single Patient's Master Health Record with patient assistance (although most of hard work will be done automagically).
DRE has 4 primary elements
This parses incoming data into a homogenous, simplified and normalized data model in JSON format.
Parsing library code: amida-tech/blue-button
This takes the standardized data elements and flags probable duplicate values. New patient records are compared against the existing Master Health Record and automatically matched. The result produces a list of all entries in the new record, labelled as duplicates (0 % match), new entries (100% match), or partial matches (to be reconciled by patient in a next step).
Matching library code: amida-tech/blue-button-match
This provides a RESTful API and UI for review and evaluation of duplicate or partially matched entries, by the patient.
This provides a API for interaction with and access to the aggregated health record.
Documentation for record.js API
##Quick up and running guide
###Prerequisites
- Node.js (v0.10+) and NPM
- Grunt.js
- MongoDB
- Redis
- Ruby/Compass/Bower
# you need Node.js and Grunt.js installed
# and MongoDB + Redis runnning
npm install -g bower
gem update --system
gem install compass
npm install -g yo
npm install -g grunt-cli
npm install -g generator-angular
#then
npm install
bower install
To run, use node server
grunt
- To run Server Side tests
grunt test
- To run and watch Client Side tests. Make sure a Selenium server and Node are running with webdriver-manager start
and node server.js
.
grunt travis-protractor
- To run Client Side tests. Make sure a Selenium server and Node are running with webdriver-manager start
and node server.js
.
grunt build
- Executes build and puts it into /dist.
grunt live
- Build and watch files for development (just linting, compiling styles and watching).
# you need MongoDB, Redis, Node, and Selenium running
# option selects which suite of tests to run (populate, scenarios, and/or medications)
# screenshots and report are saved to ./protractor-result/
npm install -g protractor
protractor client/test/conf.js --suite option
Contributors are welcome. See issues https://github.com/amida-tech/DRE/issues
- Dmitry Kachaev
- Matt McCall
- Ekavali Mishra
- Jamie Johnson
- Matt Martz
- Jacob Sachs
- Mike Hiner
- Byung Joo Shin (summer '14 intern, UVA)
- Kevin Young (summer '14 intern, UMD)
- Nadia Wallace (winter '15 intern, MIT)
We gratefully acknowledge PWC's essential support in the development of the FHIR components of DRE, among other important contributions to codebase of this open source project.
- Afsin Ustundag
See release notes [here] (./RELEASENOTES.md)
Licensed under Apache 2.0