User Report

-PROPRIETARY-

-PROPRIETARY-

Application Development Scenario

Background Velogica is an automated underwriting platform and algorithm that utilizes electronic data (prescription

drug histories, motor vehicle records and responses from the Medical Information Bureau) in

conjunction with application data (questionnaire responses and demographic information) to

underwrite life insurance applications in real time. The underwriting is provided as a web-service to

client companies, who access it using their own front-end applications.

Prescription drug histories include information that indicate when a drug was taken, and for how long.

The assessment of risk is measured in underwriting “debits” – the more debits, the riskier the life.

The normal processing time for this process is 47 seconds.

Scenario Consider the following fictitious example. Underwriting has requested a new scoring rule for a

prescription drug - QUALASSESS. This drug can be prescribed for short periods of time to treat

headaches caused by eye strain. It can also be prescribed over longer periods of time to remove

potentially deadly levels of Qualanide from the body. Qualanide is significantly more dangerous to cat

owners than to non-cat owners.

The underwriting team provides the following requirements:

When the drug QUALASSESS is found in a prescription drug history, the following rules should be

applied:

• If the drug was prescribed for less than 30 days, assess the drug as 0 debits.

• If the drug was prescribed for more than 30 days, but it has been 2 years or more since the

last use, assess the drug as 50 debits.

• If the drug was prescribed for more than 30 days, but it has been less than two years since

the last use, assess the drug as 125 debits for cat-owners, and 250 debits for non-cat owners.

Assume that the application questionnaire asks about cat ownership, and that no other questions can be

asked of the applicant.

-PROPRIETARY-

-PROPRIETARY-

Developer Exercise Provide feedback on the completeness of the requirements.

• Are there any requirements you’d like clarified?

• Do you understand the business intent of the requirements, and do they make sense?

Given the following interfaces, write Java code that implements the logic described in the business

requirements. (Assume all package declarations and imports are correct, and that each is in its own file.)

During this exercise, please follow the instructions below.

• Detail what assumptions you made about the business requirements or interfaces provided.

• Write “production quality” code, or if time constraints prevent this, list what changes would

need to be made in order to consider the code “production quality”.

• Name your implementation of the UnderwritingRule interface “UwRuleImpl”

• Implement your solution in a package named “com.velogica.candidatename” and provide all

necessary files in a single zip file.

/** * Demonstration interface which holds information about the applicant. */ public interface ApplicantInfo { /*** @return the gender of the applicant as "MALE", "FEMALE", "NONBINARY" */ public String getGender(); /*** @return the age of the applicant as of the time of the application */ public int getAge(); /*** Given a string identifier of a family history question or underwriting question, provide a true/false response to that question (as provided by the applicant) * @param questiontag * @return */ public Boolean getMedicalResponse(String questiontag); } /** Demonstration interface describing information for a single prescription. */ public interface Drug { /*** @return the date this drug was initially prescribed */ public Date getDatePrescribed(); /*** @return the number of days supply this prescription was issued for */ public int getDaysSupply(); /*** @return the name of the drug */ public String getDrugName(); } /** Demonstration interface which provides a list of drugs in a drug profile. */ public interface DrugList { /*** Given a drug name, return all drugs in the prescription profile with that name. * @param name * @return an ArrayList of all Drug objects in the prescription profile with a given name. */ public ArrayList<Drug> getDrugsByName(String name); /*** Return a list of all drugs in the prescription profile. * @return an ArrayList of all Drug objects in the prescription profile. */ public ArrayList<Drug> getAllDrugs(); } /*** Demonstration interface responsible for performing underwriting. */ public interface UnderwritingRule { /** * @param drugprofile - a list of prescription drugs discovered for this applicant * @param appinfo - applicant demographic information, and responses regarding their risk profile and medical history * @return debits - the underwriting debits associated with the drug profile and applicant information provided */ public int underwrite(DrugList drugprofile, ApplicantInfo appinfo); }

Submit Your Homework

Let us help you with your homework, we will match you with one of our professional tutors.

My Info

Project Info

Due Date

Describe your Homework Problem

Budget (optional)

By providing your budget we will work on finding the best tutors that can work within it.

Get help from top-rated tutors in any subject.

Efficiently complete your homework and academic assignments by getting help from the experts at homeworkarchive.com