Challenge Overview
1. Project Overview
The Healthcare Fraud Prevention Partnership (HFPP) is building a network to exchange data between health insurers to detect and prevent fraud. An essential requirement is that data must be stored individually on each partner's premises, not centralized in a warehouse. The data exchange network must be decentralized and secure, and it must encourage reciprocity in sharing data.
The process of collecting and analyzing data is encapsulated in a concept called the study. Each study is a plan to answer certain questions about healthcare reimbursement claims that have been submitted to health insurers who are partners in the HFPP.
The front end of the HFPP system has a study management interface that is currently under development. In the initial version of the HFPP system, studies are designed by an external committee and delivered to a trusted third party (TTP) for execution. The TTP user enters a study in the form of business rules that express the following constraints:
- which partners are being asked to contribute data to the study
- what data is requested from each partner's database
Upon receiving the data requests, partners who agree to contribute to the study retrieve the requested claims and transform them into a standard XML format using a conversion module that is currently under development. The data exchange network will take the output of the conversion module and transmit it to the TTP for aggregation and analysis.
This module implements the full stack of the Network Hub, including the data models, persistence, business services, AMQP message listeners and a daemon.
This assembly implements the Message Listeners, Network Hub Daemon and exceptions related to business services.
2. Competition Task Overview
This assembly is responsible for the following:
- All interfaces and classes shown on "Network Hub Message Listeners Class Diagram"
- NetworkHubDaemon class shown on "Network Hub Daemon Class Diagram"
- The following exceptions shown on "Exception Class Diagram"
- NetworkHubDaemonException
- RecoverableMessageHandlingException
Implementation details are provided at TCUML method documentations.
3. Technology overview
- Java SE 6
- JPA 2.0
- JMS 1.1
- AMQP 1.0
- Apache Log4j 1.2.17
- Apache Commons Daemon 1.0.15
- MySQL Community Server 5.6
- Qpid Java Broker 0.22
- EhCache 2.7.2
- Qpid JMS 0.22
- Hibernate 4.2.3
- Spring Framework 3.2.3
- Jasypt 1.9.0
- Apache Velocity Engine 1.7
- Bitronix JTA Transaction Manager 2.1.3
Final Submission Guidelines
Submission Deliverables
A complete list of deliverables can be found in the TopCoder Assembly competition Tutorial at:
http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials
Note: Please read the whole Application Design Specification first. All the details not mentioned in this specification are provided in that document.
- Source code and configuration files.
- Deployment guide to configure and verify the application.