Challenge Overview

Project Overview

As part of the Claims Panel Counsel Management strategic initiative, claims would like to improve the storage and maintenance of claims panel counsel by loading their existing data into a database and creating a new maintenance application to replace the use of a spreadsheet.  They would also like to automate the feedback and rating process to better manage approved counsel.

Challenge Overview

For this challenge, we like you to add the capability of tracking of history changes. We need the following:

1. Track the attorney’s history.
- Log the changes for each attorney, track when these items changed and who changed them.  
- Log all rate and status additions/changes.  The status and rates can be changed at any time.  

2. The following items will be included in the log entry:
- Date/Time stamp.
- UserId (string value from API response).
- Event identifying what was added/changed including the before and after values if it was an update.
- Link to the attorney/counsel’s record.

3. List of events to log:
- Added an attorney.
- Added a rate (include the type of defense, rate type and amount).
- Modified a rate (include the type of defense, rate type and before/after amounts).
- Modified the status (include before and after status).

4. The change log will be displayed in the application for all the users to view, and the data will be accessible for future reports.

5. Create new relational table(s) as necessary.
- Clean up and remove unnecessary fields from the DB structure (ex. on table Counsels, the field date_status_changed will become obsolete).
- Make sure that the previous functionalities (CRUD and Authentications) will still work properly when implementing these changes.
- Provide a grunt or gulp command to apply these changes.

Technical Requirement Lists

If possible, use the latest versions of the following:
- NodeJS. You are require to use this NodeJS style guide.
- MySQL (Keep in mind that the end state will be MS Sequel but we will use MySQL for challenges)

- Sequelize (Make sure you don't use any MySQL specific functionality. Models must be compatible with MSSQL)
- Jade Templates
- Use AngularJS for Front end JavaScript. Use this AngularJS style guide.
- Use http://passportjs.org/ for authentication
- We will be using Bootstrap for the stylesheet and the client want’s to use the Cube Bootstrap Admin Theme + AngularJS theme.
- Use SASS pre-processor for any CSS update.
- Use nodeunit for unit testing.



Final Submission Guidelines

Submission Deliverables

For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.

Below is an overview of the deliverables.  Please check against the challenge scorecard:

- Source code
- Deployment Guide

- Simple unlisted video of your solution in action
- Unit tests and helper scripts to help verify your application successfully meets the requirements.
- Any additional scripts to setup/update database structure, configuration, etc.

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30051536