I need you to complete this assignment
CSCI 3381 Object-Oriented programming with Java Project 1 Object Oriented Design of Adverse Childhood Experiences Patient & Risk Factor data storage Background: “from Wikipedia” The Adverse Childhood Experiences Study (ACE Study) is a research study conducted by the U.S. health maintenance organization Kaiser Permanente and the Centers for Disease Control and Prevention.[1] Participants were recruited to the study between 1995 and 1997 and have been in long-term follow up for health outcomes. The study has demonstrated an association of adverse childhood experiences (ACEs) (aka childhood trauma) with health and social problems across the lifespan. The study has produced many scientific articles and conference and workshop presentations that examine ACEs.[1] Felitti and Robert Anda from the Centers for Disease Control and Prevention (CDC) went on to survey childhood trauma experiences of over 17,000 Kaiser Permanente patient volunteers.[2] The 17,337 participants were volunteers from approximately 26,000 consecutive Kaiser Permanente members. About half were female; 74.8% were white; the average age was 57; 75.2% had attended college; all had jobs and good health care, because they were members of the Kaiser health maintenance organization.[3] Participants were asked about different types of childhood trauma that had been identified in earlier research literature:[4] · Physical abuse · Sexual abuse · Emotional abuse · Physical neglect · Emotional neglect · Exposure to domestic violence · Household substance abuse · Household mental illness · Parental separation or divorce · Incarcerated household member According to the United States' Substance Abuse and Mental Health Services Administration, the ACE study found that: · Adverse childhood experiences are common. For example, 28% of study participants reported physical abuse and 21% reported sexual abuse. Many also reported experiencing a divorce or parental separation, or having a parent with a mental and/or substance use disorder.[7] · Adverse childhood experiences often occur together. Almost 40% of the original sample reported two or more ACEs and 12.5% experienced four or more. Because ACEs occur in clusters, many subsequent studies have examined the cumulative effects of ACEs rather than the individual effects of each.[7] · Adverse childhood experiences have a dose–response relationship with many health problems. As researchers followed participants over time, they discovered that a person's cumulative ACEs score has a strong, graded relationship to numerous health, social, and behavioral problems throughout their lifespan, including substance use disorders. Furthermore, many problems related to ACEs tend to be comorbid, or co-occurring.[7] About two-thirds of individuals reported at least one adverse childhood experience; 87% of individuals who reported one ACE reported at least one additional ACE.[4] The number of ACEs was strongly associated with adulthood high-risk health behaviors such as smoking, alcohol and drug abuse, promiscuity, and severe obesity, and correlated with ill-health including depression, heart disease, cancer, chronic lung disease and shortened lifespan.[4][8][9] Compared to an ACE score of zero, having four adverse childhood experiences was associated with a seven-fold (700%) increase in alcoholism, a doubling of risk of being diagnosed with cancer, and a four-fold increase in emphysema; an ACE score above six was associated with a 30-fold (3000%) increase in attempted suicide. The ACE study's results suggest that maltreatment and household dysfunction in childhood contribute to health problems decades later. These include chronic diseases—such as heart disease, cancer, stroke, and diabetes—that are the most common causes of death and disability in the United States.[10] The study's findings, while relating to a specific population within the United States, might reasonably be assumed to reflect similar trends in other parts of the world, according to the World Health Organization.[10] The study was initially published in the American Journal of Preventive Medicine.[11] Overview: You will create a program that maintains a count of ACEs for individual patients. Your program will also suggest various risk factors for a patient given their current ACE count. Project 1 is the data back-end, not the graphical interface typically seen in a desktop application. This means that your tester class only tests functionality, it is not meant to be a usable program. Specifications: This project will have two data classes and a tester class. Here are the interfaces for your data classes: package project1; import java.util.ArrayList; public interface PatientADT { public void setId (String id); // sets the unique identifier of this patient public String getId (); // gets the unique identifier of this patient public void setName (String name); // sets the name of this patient public String getName (); // gets the name of this patient public void addACE (String ace); //Adds an ACE to this patient, unless it already exists public void removeACE (String ace); //Removes an ACE from this patient public ArrayList
getACEs (); // returns an arraylist of this patient's ACEs public String toString(); //Returns a string representation of this patient } package project1; import java.util.ArrayList; public interface AceDataManagerADT { public void addPatient (PatientADT p); //Adds a new patient to the data set public PatientADT getPatient (String id); //returns the patient with the given identifier, // null if the patient is not in the data set public ArrayList getRiskFactors (ArrayList aces); // returns an arraylist // containing all of the risk factors associated with the input list of ACEs public void writeToFile (); // write to the file set during instantiation public void writeToFile (String fn); // write to the file indicated in parameter public String toString(); //Returns a string representation of the ACE patient and // risk factors data manager } Design: Create a solution for this programming task. You might use the Complex Roster project as inspiration. You will need to have the following parts: · Text file to store data between runs. · Two classes that implement the given interfaces. You may add methods beyond those in the interfaces · A tester class that tests all of the methods of the data classes. The getRiskFactors method is the most interesting one. Your grade for this method will reflect the amount of thought you put into determining risk factors given a list of ACEs. You may refer to the Wikipedia article and/or other articles to decide what to return from this method. Project Objective: in completing this project, you will · Enhance your understanding of Object Oriented design. · Build a Back-End data management set of classes that meets the project requirements. Due Monday September 30th via GitHub (to be explained later). Honor: This is an independent programming project, and it is very important that you understand and abide by the policy concerning programming projects. Remember, your personal honor and integrity is far more important than your grade on the project.