public function add()
 {
     $provinces = Province::getAll();
     $districts = District::getAll();
     $facilities = Facilities::getAll();
     $diseases = Disease::getAllObjects();
     $data['provinces'] = $provinces;
     $data['districts'] = $districts;
     $data['facilities'] = $facilities;
     $data['diseases'] = $diseases;
     $data['scripts'] = array("jquery.ui.core.js", "jquery.ui.datepicker.js", "jquery.ui.widget.js");
     $data['styles'] = array("jquery.ui.all.css");
     $data['title'] = "Line List Data";
     $data['content_view'] = "linelist_data_add_v";
     $data['banner_text'] = "Linelist Data";
     $data['link'] = "submissions_management";
     $data['quick_link'] = "linelisted_data_management";
     $this->base_params($data);
     //$this -> load -> view("template", $data);
 }
 public function edit_duplicate($number_of_diseases, $first_surveillance_id, $malaria_data_id)
 {
     $last_surveillance_id = $first_surveillance_id + $number_of_diseases - 1;
     $provinces = Province::getAll();
     $districts = District::getAll();
     $diseases = Disease::getAllObjects();
     $data['provinces'] = $provinces;
     $data['districts'] = $districts;
     $data['diseases'] = $diseases;
     $data['prediction'] = Surveillance::getPrediction();
     $data['surveillance_data'] = Surveillance::getSurveillanceDataRange($first_surveillance_id, $last_surveillance_id);
     $data['lab_data'] = Lab_Weekly::getLabObjects($malaria_data_id);
     $data['editing'] = true;
     $data['scripts'] = array("special_date_picker.js", "validationEngine-en.js", "validator.js");
     $data["styles"] = array("validator.css");
     $data['title'] = "Duplicate Data Editing";
     $data['content_view'] = "weekly_data_add_v";
     $data['banner_text'] = "Weekly Data Correction";
     $data['link'] = "data_quality_management";
     $this->load->view("template", $data);
 }
 public function getPerDistrict($districtId, $epiweek, $provinceId, $filterdyear)
 {
     $diseases = Disease::getAllObjects();
     $value = "";
     foreach ($diseases as $disease) {
         $sums = Surveillance::getDistrictSums($districtId, $epiweek, $filterdyear, $disease->id);
         $value[$disease->id][0] = $sums->lmcase;
         $value[$disease->id][1] = $sums->lfcase;
         $value[$disease->id][2] = $sums->lmdeath;
         $value[$disease->id][3] = $sums->lfdeath;
         $value[$disease->id][4] = $sums->gmcase;
         $value[$disease->id][5] = $sums->gfcase;
         $value[$disease->id][6] = $sums->gmdeath;
         $value[$disease->id][7] = $sums->gfdeath;
         $cumulative = Surveillance::getDistrictCumulative($districtId, $epiweek, $provinceId, $disease->id, $filterdyear);
         $value[$disease->id][8] = $cumulative->lmcase;
         $value[$disease->id][9] = $cumulative->lfcase;
         $value[$disease->id][10] = $cumulative->lmdeath;
         $value[$disease->id][11] = $cumulative->lfdeath;
         $value[$disease->id][12] = $cumulative->gmcase;
         $value[$disease->id][13] = $cumulative->gfcase;
         $value[$disease->id][14] = $cumulative->gmdeath;
         $value[$disease->id][15] = $cumulative->gfdeath;
     }
     return $value;
 }
 public function save()
 {
     $i = 0;
     $valid = $this->_validate_submission();
     if ($valid == false) {
         $this->add();
     } else {
         $editing = false;
         $diseases = Disease::getAllObjects();
         $weekending = $this->input->post("week_ending");
         $reporting_year = $this->input->post("reporting_year");
         $epiweek = $this->input->post("epiweek");
         $facility = $this->input->post("facility");
         $reportingfacilities = $this->input->post("reporting_facilities");
         $expectedfacilities = $this->input->post("expected_facilities");
         $lmcase = $this->input->post("lmcase");
         $lfcase = $this->input->post("lfcase");
         $lmdeath = $this->input->post("lmdeath");
         $lfdeath = $this->input->post("lfdeath");
         $gmcase = $this->input->post("gmcase");
         $gfcase = $this->input->post("gfcase");
         $gmdeath = $this->input->post("gmdeath");
         $gfdeath = $this->input->post("gfdeath");
         $sickness = $this->input->post("disease");
         $reported_by = $this->input->post("reported_by");
         $designation = $this->input->post("designation");
         $lab_id = $this->input->post("lab_id");
         $surveillance_ids = $this->input->post("surveillance_ids");
         $data_exists = Surveillance::getFacilityData($epiweek, $reporting_year, $facility);
         if ($lab_id > 0) {
             $editing = true;
         }
         if ($data_exists->id && $editing == false) {
             $data = array();
             $data['duplicate_facility'] = Facilities::getFacility($facility);
             $data['duplicate_epiweek'] = $epiweek;
             $data['duplicate_reporting_year'] = $reporting_year;
             $data['existing_data'] = true;
             $this->add($data);
             return;
         }
         $total_diseases = Disease::getTotal();
         $timestamp = date('d/m/Y');
         $i = 0;
         foreach ($diseases as $disease) {
             if ($editing == true) {
                 $surveillance = Surveillance::getSurveillance($surveillance_ids[$i]);
             } else {
                 $surveillance = new Surveillance();
             }
             $surveillance->Week_Ending = $weekending;
             $surveillance->Epiweek = $epiweek;
             $surveillance->Facility = $facility;
             $surveillance->Submitted = $reportingfacilities;
             $surveillance->Expected = $expectedfacilities;
             $surveillance->Lmcase = $lmcase[$i];
             $surveillance->Lfcase = $lfcase[$i];
             $surveillance->Lmdeath = $lmdeath[$i];
             $surveillance->Lfdeath = $lfdeath[$i];
             if (isset($gmcase[$i])) {
                 $surveillance->Gmcase = $gmcase[$i];
                 $surveillance->Gfcase = $gfcase[$i];
                 $surveillance->Gmdeath = $gmdeath[$i];
                 $surveillance->Gfdeath = $gfdeath[$i];
             }
             $surveillance->Disease = $disease;
             $surveillance->Reporting_Year = $reporting_year;
             $surveillance->Created_By = $this->session->userdata('user_id');
             $surveillance->Date_Created = date("Y-m-d");
             $surveillance->Reported_By = $reported_by;
             $surveillance->Designation = $designation;
             $surveillance->Total_Diseases = $total_diseases;
             $surveillance->Date_Reported = $timestamp;
             $surveillance->save();
             $i++;
         }
         //end foreach
         //Lab Data
         if ($editing == true) {
             $labdata = Lab_Weekly::getLabObject($lab_id);
         } else {
             $labdata = new Lab_Weekly();
         }
         $totaltestedlessfive = $this->input->post("total_tested_less_than_five");
         $totaltestedgreaterfive = $this->input->post("total_tested_greater_than_five");
         $totalpositivelessfive = $this->input->post("total_positive_less_than_five");
         $totalpositivegreaterfive = $this->input->post("total_positive_greater_than_five");
         $remarks = $this->input->post("remarks");
         $labdata->Epiweek = $epiweek;
         $labdata->Week_Ending = $weekending;
         $labdata->Facility = $facility;
         $labdata->Malaria_Below_5 = $totaltestedlessfive;
         $labdata->Malaria_Above_5 = $totaltestedgreaterfive;
         $labdata->Positive_Below_5 = $totalpositivelessfive;
         $labdata->Positive_Above_5 = $totalpositivegreaterfive;
         $labdata->Remarks = $remarks;
         $labdata->Reporting_Year = $reporting_year;
         $labdata->Date_Created = date("Y-m-d");
         $labdata->save();
         if ($editing) {
             $data['success_message'] = "You have successfully edited data for " . $labdata->Facility->Name;
             $this->add($data);
         }
         if (!$editing) {
             $data['success_message'] = "You have successfully added weekly data for " . $labdata->Facility->Name;
             $this->add($data);
         }
         //redirect("weekly_facility/add");
     }
 }