Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Northwestern Trial Information System

branch: master
README
== Welcome to eNOTIS ==

eNOTIS is a research tool provided by NUCATS to aid researchers in managing patients on clinical trials. Developed in response to requests from the NU clinical research community, eNOTIS will be the primary clinical trial management system for all research at Northwestern University, utilizing the latest in web technology and security measures. Subject safety is at the core of the system: eNOTIS is both HIPAA compliant and recognized by the Northwestern IRB as an approved clinical research system. eNOTIS speeds up clinical trial set-up time by providing access to information about clinical studies through eIRB and to patient medical records through the NU Enterprise Data Warehouse (EDW). This approach means less data entry and will reduce or eliminate the need for manual study tracking adoption.

== Installation ==

eNOTIS requires a few commands to get the data to start up:

    rake users:create_admins # creates admin users
    rake redis #imports data from redis store
    
== Dependencies ==

eNOTIS depends on a few important gems:

* bundler, currently the 0.9 branch
* pg, which may require archflags for OSX when you bundle: > env ARCHFLAGS="-arch i386" gem bundle
* and credentials files:
  - /etc/nubc/bcsec-[environment].yml, e.g. /etc/nubc/bcsec-staging.yml (not needed in development)

  - /etc/nubc/edw-[environment].yml, e.g. /etc/nubc/edw-staging.yml, which should contain the following keys:
  
    username:
    password:
    service_timeout:
    url:
    test_mrn:
  
  - /etc/nubc/eirb-[environment].yml, e.g. /etc/nubc/eirb-staging.yml, which should contain the following keys:

    url:
    username: 
    password:

  - /etc/nubc/db/p[environment].yml, e.g. /etc/nubc/pstage.yml (not needed in development or test)

  - /etc/nubc/couch-[environment].yml, e.g. /etc/nubc/couch-development.yml, which should contain the following keys:

    url: "http://localhost"
    port: 5984
    db: "eirb_prod"
  
== Changes ==

v1.14.0

* faq, training, email support when logged in. closes #4291. closes #3906
* fixing weird encodings in uploads. closes #3907
* fixing specs
* reset timeouts on keyup or mouse click. closes #4819
* better errors for excel file format upload. closes #4522
* fixed typo
* modified eccapture configuration file
* fixing pi name in nih report. closes #4815
* ecapture/enotis navigation
* closes #4816
* fixing pi name in nih report. closes #4815
* ecapture/enotis navigation
* added to users\_to\_pers code the logic to add users to T\_SECURITY\_LOGINS
* version bump
* merging ecapture integration
* fixing export wording in studies feature
* remove versioning for subjects in de\_id script. closes #4723
* fixing report spec for capitalization
* show and edit involvement event notes. closes #3749
* wording in export dialog box and capitalization of MRN, NMFF, NMH, RIC. closes #4480. closes #4474
* removing auto session timeout. handled via client side js. closes #4725
* new enotis logo. closes #4527

v1.13.0

* tests for auditing. closes #4724
* adding pi report for clearcats
* capistrano - backup db before migrating. closes #4484
* fixing search. closes #4606
* fixed failing feature, due to upload spec with nested describes with before(:all)
* form mode for hudson cucumber tests
* fake cas url for hudson needs to start with http
* fake cas url for hudson
* increment study number to prevent duplicate key issues
* various fixes to make hudson tests pass. turn of bcaudit logging. accept base\_url or cas\_base\_url.
* hudson cc_pers schema name
* better role lookup
* environment adjustments, remove overlapping static auth
* fixing spec that fails when run with suite
* tuned hub page. closes #4698
* requiring pers for hudson config
* hudson bcsec setup
* redirect to return path if already logged in
* redirect login to default path if already logged in. closes #4626
* fixed @mystudies query
* schema updates
* fixing specs and features
* fixing 'creating admins...' message to run only when admins are being created
* added a few changes to enable cas webservice calls
* cleanup and better output
* typo blank => blank?
* limit lengths of attributes
* adding task to create enotis application user
* enotis-application user for entered_by
* adding bcaudit to redis task
* phone number typo in Pers::Person
* typo in redis user import
* tweaking paths in deploy env
* deploy environment for oracle
* redirect all traffic to maintenance.html with 503 error code when cap web:disable is run. requires sysadmin to make some apache config changes. #4611
* don't use central auth in development for now.

v1.12.0

* made peter an admin, at his request
* less dots in migration
* hudson fix with weird cucumber failing test due to too many studies showing up in the search
* version bump, merged in study_events branch, closes #3066
* fix to use eirb instead of edw for roles
* emergency rake task to just import roles from eirb/edw
* tweaks and a fix to specs and inv_event to get specs to pass
* merge mistake fixed
* specs and features pass, added more testing to upload process. fixed bugs
* reconfigured the migrations to rename the column for the events to avoid a name collision on the transition methods on the involvement_event model, also broke up migration into three parts for clarity and fault tolerance
* working on specs, re-ran db migrations and found a name clash. committing to branch a spike to try out one approach to this problem
* specs passing, features still failing
* specs pass for integration of study events feature
* migrations working
* model and data migration setup
* added data migration and model migration changes
* added event type generated code
* upped the population count to make more fake subjects

v1.11.6

* reverted fix, trying again
* Revert "merged in to emergency rack branch, davids init.Revertakefile fix typo"

v1.11.5

* merged in to emergency rack branch, davids init.Rakefile fix typo
* fix to use eirb instead of edw for roles
* fixes and 'temporarily closed' message for static page

v1.11.4

* emergency rake task to just import roles from eirb/edw
* fixed authorization in tests
* fix typo
* references #4338
* use string interpolation instead of concatenation. closes #4267
* fixed date sorting
* added test to external event processor
* remove ruby-debug from edw rakefile
* removing ruby-debug for now, causing issues on staging
* rake hudson:all clears logs, migrates. not needed in hudson build command
* adding hudson commands in comments of ci-env.sh
* correcting init.rakefile. using built in bundler/capistrano support. closes #3896
* added migration for ric field

v1.11.3

* closes 4460
* latest bundler
* fix permissions on release path as well
* call init.rakefile to make sure bundler is available during deploy.
* bundler 1.0 Gemfile
* bundler 1.0 on ci. closes #3896
* gitignore for setup_load_paths, better notification when switching gemsets

v1.11.2
 
* closes 4463

v1.11.1

* bundler gemfile.lock problem. version differences

1.11.0

* fixed report data problem, refactored model, added tests
* include study in study upload query for admin page. closes #4457.
* refactored inv spec testing to make it more DRY
* updating readme and views to v1.11.0
* separate out selectors for add and edit overlays. closes #4426.
* removed awesome print because no one was using it
* locked Gemfile. Stupid bundler 0.9"
* updated Gemfile to use specific awesome_print gem for dev. Current version breaks our rake db tasks wih a (stack level too deep error)
* forgot to lock the stupid bundle
* commiting proper bundle and updated schema
* Fixed a typo.
* refactoring person info to separate method
* admin role lookup. closes #4352
* trimming old subject controller view
* count non-notis accruals on admin hub page. closes #4351
* underline about on front page to show current link. closes #4343
* allow overlays to scroll with page. closes #4321
* adding extra fields to involvement - address, phone, etc. for empi and registar compatibility. closes #3989. closes #3988.

1.10.1

* hardcoding search back to 30, for now

1.10.0

* typo with search controller. adding order
* make search and ajax search consistent. closes #4301.
* fixing issue with non-date values in date column. closes #4254
* fixing an upload step in admin feature.
* more forgiving uploads. see spec/uploads/forgiving\_terms.csv and spec/models/involvement\_spec.rb for more details. closes #4067
* translate gender, ethnicity, race terms. for #4067
* minor change to deployment script - describe how to push tags on a separate line
* policy link
* static policy page
* deploy change to specify refs, tags, branches.
* spec was occasionally failing due to random clashes of dates. fixed so that won't happen again
* fixed front page training tab for safari. closes #4204
* study uploads on admin page. close #4294
* back icon for my studies. closes #4258
* Bundle locked, right version of bundler this time
* broke the build thanks to bundler version issue
* closes #4260
* changed column header in Import
* sort most recent import first. closes #4280
* flash message for failed imports. closes #4279
* app version update, changelog
* fix issue with destroying involvements. better tests. close #4268
* fix for commented out webservice calls
* moving involvement overlay javascripts to use 'live'. changing date pickers to re-select date when month/year is changed. changing overlay to not close unless 'cancel' or 'x' is selected (to prevent accidental dismissals of modal when datepickers are dismissed). closes #4255. closes #4257.
* link back to my studies on study detail page. closes #4258
* fixing populate description
* update to faq regarding continuing review, historical subjects. Closes #4270

1.9.0

* mandatory date, static pages
* enotis number on front page. closes #4163
* fixing faq on front page. closes #4162
* commented out eirb queries we don't use
* removed sam from monit config script
* marking flash messages as html safe. closes #4120

1.8.1

* app cleanup to remove Sam
 
1.8.0

* mark visualizations as html safe. properly style table to align correctly before datatables script runs.
* protovis visualizations
 (3621)* NIH Inclusion reports now open in a new window. resolves #3621
* new charts from protovis
* Revert "upgraded to latest haml"
* upgraded to latest haml
* removing .html_safe and replacing it with haml's != escaping for strings in views
* Most everything renders now with .html_safe sprinkled all over the place. http://github.com/rails/rails_xss Tomorrow, upgrade haml and see if I can remove the .html_safe from our haml files http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#unescaping_html references #3893
* First Commit on rails 2.3.9 upgrade. ResqueWeb middleware is now disabled on test, cucumber, and hudson. Rails commit http://github.com/rails/rails/commit/85b6d79d8a17fdef667770e31b44ac6647f8b584 caused cucumber specs to blow up due to changes in cookie stores, and removing resque web from the rails process 
 (origin/protovis)* fix column mismatch for datatables, which does not support colspan
* unknown or not reported race checkbox should toggle others. closes #3612
* involvements cancel link should not reload page. closes #3990

1.7.1

* Releasing v1.7.1. One quick UI fix for Laura on the hub page
* I now have 2 datatables working on the hub page. I'm not sure why the existing code didnt work before. references #3992
* The hub page should work again. references #3992

1.7.0

* Update changelog
* removing dateinput.js - not needed since it is part of jquery.tools.min.js. #3986
* Commenting out lines in eirb adapter and ensuring that staging has the same log level as production. closes #3980
* delegate funding source to study table. closes #3984
* javascript syntax cleanup and fixes.
* more cleanup. upgraded dataTables to 1.7.2. fixed invalid json being produced in show.json.erb and index.json.erb. checked javascript with ie8
* more javascript cleanup, better javascript comments, cache public javascripts.
* fix position of dateinput
* cleaning and updating javascripts.
* yyyy-mm-dd for involvement date fields. turning off autocomplete on those fields. closes #3613.
* Merge branch 'master' of git+ssh://code.bioinformatics.northwestern.edu/git/enotis
* added new google tracker code
* filtering out PHI for exception notifications for involvements and subjects. closes #3700
* Removing notes columns until later needed. references #3905
* one more fix on #3926
* DRY code, and pdf printing in landscape mode. closes #3926
* DRY event reporting.
* events are now combined into one column
* we can selectively export columns now
* put intro video into overlay on study page. closes #3911
* simplifying redis installation and removing unnecessary config file
* EMPI worker should send its output to STDOUT, in this case the resque-people log
* resque should handle exceptions
* Integrate EMPI into eNOTIS. closes #3234
* Adding EMPI Updated date to subjects
* Adding MRN Type to the subject partial. Subjects enrolled on an NMH study have a PRIMES MRN, while those on NMFF use an IDX NMFF. CERNER      - NMH EPIC      - NMFF
* updating gemfile.lock after rebase
* Updating resque
* changes to find_or_create subject method to make it less dangerous. Now only finds by mrn number if that is included in the params
* locking to bcsec 1.6.3 for now
* added de_id rake task
* one more note
* adding schema clearing command
* Added capistrano database backup task. references #3618
* updating db backup task . references 3618
* refactoring postgres password usage
* reminder to use quotes on zsh
* Initial commit on creating backup and restore postgres rake task. references #3618
* We wont lose track of our environment when we're not on production. Closes #3615.
* Filter out NOTIS study involvements from the hub page
* updating the confirmation message on eNOTIS subject deletion. references #3616
* updating an upload spreadsheet
* Subject deletion text changed and also confirmation messages can be specified with :confirm_msg in forms. references #3616
* updating readme for v1.6.2

1.6.2

* NOTIS patients/subjects and involvements are now imported into eNOTIS. They're deidentified everywhere but production
* Cleanup Migration written to remove NOTIS subjects that were wrongly imported earlier and their involvements
* Every night NOTIS studies will be removed and reimported from redis and eNOTIS.
* Other Studies flag re-enabled
* Authorized Personnel importing wont generate as many errors. References #3570
* ActiveMQ configuration update

1.6.1

* links and dashes for later pages on datatables. closes #3495
* clicking delete and then cancel results in a page redirect to the involvements page. fix to prevent following link if cancel is pressed. closes #3497
* show other studies view from other studies flag. closes #3496
* updating readme to reflect changes in 1.6.0

1.6.0

* we're only jumping one version
* upgrading to version 1.7 and properly tagging it
* upgrading one more version of cucumber
* Removing more unneeded stuff from the rspec upgrade
* Locking eNOTIS into rspec 1.3 and locking resque-spec into 0.2
* Ajaxified the deletion of subjects from studies. Now, any link that has a class of get, post, put, or delete will be automatically unobtrusively ajaxified. Also, forms can be ajaxified if they have class ajaxForm.
* Removing Involvments from studies in a non-ajax way. References #2749
* added google analytics tracking code
* changing a note in the readme
* active mq changes
* added webservice to return a users study roles given a netid
* Cucumber now passes with resque-spec installed
* involvement unit tests pass
* bringing empi and savon gem back into gemfile, and silencing a deprecation warning
* locking cucumber to 0.8.3 for now
* disabling empi part II
* Learn how to use mocking for a server
* initial work on empi and a fix to subject importing
* cleaning up deployment script and fixing staging resque worker
* More work on NOTIS import process
* Preliminary work on importing NOTIS patients into eNOTIS. references #3067
* ui tweak for read only involvment view
* small UI tweak for read only study messages
* added read only study feature to eNOTIS. closes #3212
* Renamed resque workers to cut down on verbosity and to have their class names better describe their function
* lighter background for videos
* Upgrade to rails 2.3.8. closes #3219
* Importing EDW subjects into redis, and truncating overly long project roles

1.5.0

* Study Tables have been converted from java+ruby to unobtrusive javascript. Closes #3164
* add video to studies without accruals. closes #1352
* removing fake report
* merging demo work. closes #2775
* removing fake psa report
* moving tooltip hovers back inside document.ready #3164
* fixing nih totals. placing nih report under Reports button. references #2775
* nih report. references #2590
* show fake edw report on nugene only, with a datatable, limited number of subjects
* starting fake report
* other studies. references #2775
* starting fake report
* other studies
* other studies and reports for demo
* warren is an admin
* Ethnicity typo. Closes #3152
* updating bundler for hudson
* one small fix for cucumber
* Completing ticket #1538. Searches are now paginated and sorted via ajax
* embedding sudo in the deploy command works for me... it should work for other people too
* use sudo to restart resque workers
* video on static site
* enotis tutorial video
* unknown required date
* renaming completed => completed\_or\_withdrawn for clarity
* set timechart extreme to 1 to force 0 to bottom of chart
* new highcharts
* show last 12 months in time chart. closes #2776
* logos at bottom of front page now link to sites. closes #2979
* adjustments to admin layout
* turn of session reset. fixes login redirect issue. closes #2772.
* changed 'headers' to 'column headings' for clarity. closes #2777
* tutorial video. closes #1231
* Removed system status tracking... closes #2783
* This should fix hudson, i hope
* Locking resque to 1.8.2
* Revert "Updating Gemfile"
* Updating Gemfile
* Various redis, resque and monit updates
* Deployment: I've decreased the number of resque workers from 3 to 2 on production and staging since we don't need to do full imports at the moment
* eIRB import: Update netid populator to check if the user hash actually has data in it
* Full Import now uses the proper redis namespace and server on production
* wrong hostname on production resque
* Revert gems for hudson
* Removing more couchdb code and also refining import process

1.4.0

* Everyone can see resque now under admin/jobs using the username and password enotis_jobs
* one more fix to migrations
* fix to new demo migration
* update to the migration. was not working on staging
* fixing the addresses for resque and redis
* removing some extraneous foreign key checks
* one weird little database change
* One last check before deploying this to staging
* fix for demographics export in pdf and csv
* Specs and features pass on demographics change. Some minor UI work is still needed but fuctionality is there.
* Refactored and Finished Review Board and Data Warehouse import
* removed subject index. references #2667
* fixing pretty_status spec to account for sorting
* separate study status and title. add long and short title to study detail page. sort studies by status. closes #2595. closes #2773.
* search by title and name
* modified the role updating task to work on postgresql 8.3
* specs and features passing on demographics change. also fixed a study import bug regarding two digit years, the study_upload model was
trying to convert the data before the special code for two digit years was run, this caused an error
* Updated eNOTIS import project to use the edw and import authorized personnel successfully
* Updated rake populate script for change from coordinators to roles, and to support new FK constraints on deleting everything
* paper trail uses a different, thread safe method, to store whodunnit. this customization was interfering with the new method. just sto
re user ids. closes #2830
* won't validate presence_of involvement for now, until Rails 2.3.6 patch
* won't validate presence_of involvement for now, until Rails 2.3.6 patch
* validate presence, not numericality, of involvement\_id in involvement\_event
* validate involvmenet events date and involvement_id. closes #2829
* reverting the validation
* adding in more queues for error tracking
* specs passing now. some edw adapter specs need refactoring. they are fragile
* had to change the database.yml to fix a bug in postgres 8.4 which I use on my dev machine
* updated edw webservices to work with multiple reports. Report names are defined in the Edw class
* fix for spec failing - added more involvement events
* getting specs to pass
* updated redis importing to account for authorized personnel not marked as principal_investigator or coinvestigators
* getting specs to pass
* updated redis importing to account for authorized personnel not marked as principal_investigator or coinvestigators
* fake pi name for demo
* updated dates for demo
* more specific on tooltips - keeps add button from accidentally being a tooltop
* start with charts rolled up
* time chart, line and bar. closes #2593
* tooltips for study
* Additional resque queues
* show charts in study detail page only. icon for charts.
* Additional resque queues
* blank pi's for now
* ignoring rackup file
* adding unicorn and fixing gemfile* error pages: spilled milk. aw snap. ruh roh.
* Updated specs and features from changes to datamodel, specs and features passing
* an attempt at better error pages
* changing study detail page header layout. show irb number, full text of status, subjects/goal, and name in one line. details and graph
s button for toggling graphs.
* helpers for prettier study title and status
* user auth doesn't need forget_me
* removed muliti institute import field from translation and eirb redis import. This field is not used consistently in eirb for us to det
ermine if a study is multi-institute or not
* updated branch to handle the funding sources as child model of the study. Added code to the redis import process to get the data into 
the models
* upgrading Gemfile and resque notes
* Fixing study import
* more work on importing
* More work on #2254. removed couch stuff and simplified a bit
* Update config files to account for more environments
* updating documentation and initial work on replacing couchdb with redis
* refactoring populators
* adding the ability to pull in just the most recently modified studies (within 1 day)
* Locking multi-job-forks
* More work on redis importing and migrating from couch to redis
* quick fix
* Finishing up notes for redis
* Additional resque notes
* We're now importing study description and inclusion and exclusion
* import data from redis to studies and users
* renamed activerecord resque task
* more work
* further chopping up of work
* quick commit
* adding in the first steps for referencing the EIRB and chopping it up with resque
* Standalone scripts should have the shebang and be executable
* Initial Resque Setup for development. references #2254

1.3.0

* both enotissupport and enotis emails on front page
* hide dotchart for studies without involvements
* forcing index\_coming\_soon to use application layout
* static assets are symlinked now, no copying needed
* new graphics for measure see improve
* symlink instead of copy static site assets. change layout to match new colors. static version bump
* dot chart for accruals (consented) only
* g.raphael dot chart for accruals by month and by day of week. closes #2594
* include subjects in study retrieval for more efficient db queries
* method to count involvement events by month and by day of week. for dot chart.
* user auth doesn't need forget_me
* Date picker for birth dates should not automatically close when a date is selected. closes #2631
* rake task to add coordinators manually by netid/irb number. references #2298
* coordinators should have studies and users
* display accrual and goal as ratio
* two digit year class should handle blanks
* accept downcase attributes, set them to the proper case. closes #2666
* better instructions for imports. references #1947
* show involvement errors in flash message on create as well
* validate uniqueness of involvement events by event, date, and involvement. closes #2319
* add parenthesis to a randomizer in fake_subject factory

1.2.1

* fixing bad ranges in death dates for fake subjects. closes #2629
* handle csv exceptions better. closes #2320
* removing old admin scenario
* exclude searches in studies activities
* more efficient queries, allow less vertical spacing on tables
* show active users and studies in admin hub
* activity belongs to user
* new spring colors

1.2.0

* gracefully handle two digit years. closes #2616
* date picker for date of birth
* fixed upload of 100
* symlink static web images and stylesheets. symlink uploads and results to shared path. closes #2535
* typo in StudyUpload calling required_columns on self (instance) instead of StudyUpload (class)
* changing sample file to be dynamically generated, and downloaded as an attachment instead of inlined into browser. References 
#2536
* added feature for downloads #2493
* closes #2493
* version number change
* use shared bundler directory. enforce group permissions after deploy. closes #2304
* updated installation instructions, changes since 1.0.0
* change factories to prevent duplicate key contraint errors on the involvement events index. The key is violated when two facto
ry generated involvement events have the same date and event. This happens quite often. Since there are 3 events, and two possib
le days, the probability is 1/6. closes #2325

1.1.0

* adding accrual goal and reorganizing study name, title, and charts. closes #1551.
* button darkens when you hover/open, matching style of datatables. references #1536
* removing space between method and parenthesis
* make event info helper case insensitive. closes #2344
* adding irb consent template database language overlay to static pages
* adding irb consent template database language overlay
* extra language regarding consent forms in faq. references #2301
* extra language regarding consent forms in faq. closes #2301
* adding datepicker to involvement overlay. closes #1932
* cleanup of old graphs js
* cache javascripts in production via rails method. does not minify or compress. ignore javascripts/cache directory
* adding logins, accruals to front page. closes #1560
* truncate tooltip on charts. use excanvas for ie
* study irb number toggle adjustments for ie7. references #1536
* study irb number toggle button more noticable. references #1536
* fixing flash/environment centering. references #2312
* centering flash on IE7. references #2312
* not associated message for non-users, in development. references #2298
* stylesheet tweaks for IE7 - environment badge positioning and login box height. closes #2312
* only search for queries greater than 3 characters. references #1538
* adding accrual to study list tables. references #1551
* cleanup of unused study partial
* mandatory field notes. references #1929
* study info dropdown fix. references #2294
* give a not associated message for users who authenticate but aren't in users table. references #2298
* typo - an extra comma in the overlay calls in jquery.main.js. http://amix.dk/blog/post/19388. closes #2294
* method to determine whether an array of netids is represented in the User model. good for checking on people who can't log in. references #2298
* fixing enotis-support => enotissupport email. closes #2297
* adding dates from eirb. references #1551
* adding study title to study list and detail pages. closes #2288
* manually limiting search to 30 results. references #1538
Something went wrong with that request. Please try again.