private function _loadData() { $this->mongo->dashboard_data->drop(); $year = 2013; $current_year = date('Y'); $facilities_arr = LiveData::getFacilities2(); while ($year <= $current_year) { $samples = LiveData::getSamples($year); $dbs_samples = LiveData::getSamples($year, " sampleTypeID=1 "); $dbs_number_of_patients_received = LiveData::getNumberOfPatients($year, " sampleTypeID=1"); $number_of_patients_received = LiveData::getNumberOfPatients($year); $rjctn_rsns = LiveData::getRejects($year); $rjctn_rsns2 = LiveData::getRejects2($year); $t_rslts = LiveData::getResults($year); $v_rslts = LiveData::getResults($year, $this->_validCases()); $sprsd_cond = $this->_validCases() . " AND " . $this->_suppressedCases(); $sprsd = LiveData::getResults($year, $sprsd_cond); $i = 0; foreach ($samples as $s) { $key = $s->mth . $s->age_group . $s->facilityID . $s->sex; $key .= $s->regimen . $s->reg_line . $s->reg_time . $s->trt; $data = []; //filter params $y_m = $year . str_pad($s->mth, 2, 0, STR_PAD_LEFT); $data["year_month"] = (int) $y_m; $data["age_group_id"] = isset($s->age_group) ? (int) $s->age_group : 0; $data["facility_id"] = isset($s->facilityID) ? (int) $s->facilityID : 0; if (isset($s->facilityID)) { $f_obj = isset($facilities_arr[$s->facilityID]) ? $facilities_arr[$s->facilityID] : new \stdClass(); $data['district_id'] = isset($f_obj->districtID) ? (int) $f_obj->districtID : 0; $data['hub_id'] = isset($f_obj->hubID) ? (int) $f_obj->hubID : 0; $data['ip_id'] = isset($f_obj->ipID) ? (int) $f_obj->ipID : 0; } else { $data['district_id'] = 0; $data['hub_id'] = 0; $data['ip_id'] = 0; } $data["gender"] = isset($s->sex) ? $s->sex : 0; $data["treatment_indication_id"] = isset($s->trt) ? (int) $s->trt : 0; //$data["regimen_group_id"] = isset($s->reg_type)?(int)$s->reg_type:0; $data["regimen"] = isset($s->regimen) ? (int) $s->regimen : 0; $data["regimen_line"] = isset($s->reg_line) ? (int) $s->reg_line : 0; $data["regimen_time_id"] = isset($s->reg_time) ? (int) $s->reg_time : 0; //numbers $data["samples_received"] = isset($s->num) ? (int) $s->num : 0; $data["dbs_samples"] = isset($dbs_samples[$key]) ? (int) $dbs_samples[$key] : 0; $data["rejected_samples"] = isset($rjctn_rsns[$key]) ? (int) $rjctn_rsns[$key] : 0; #$data["patients_tested"] = isset($s->numberOfPatientsTested)?(int)$s->numberOfPatientsTested:0; $data["dbs_patients_received"] = isset($dbs_number_of_patients_received[$key]) ? (int) $dbs_number_of_patients_received[$key] : 0; $data["patients_received"] = isset($s->number_patients_received) ? (int) $s->number_patients_received : 0; $data["sample_quality_rejections"] = isset($rjctn_rsns2[$key . 'quality_of_sample']) ? (int) $rjctn_rsns2[$key . 'quality_of_sample'] : 0; $data["incomplete_form_rejections"] = isset($rjctn_rsns2[$key . 'incomplete_form']) ? (int) $rjctn_rsns2[$key . 'incomplete_form'] : 0; $data["eligibility_rejections"] = isset($rjctn_rsns2[$key . 'eligibility']) ? (int) $rjctn_rsns2[$key . 'eligibility'] : 0; $data["total_results"] = isset($t_rslts[$key]) ? (int) $t_rslts[$key] : 0; $data["valid_results"] = isset($v_rslts[$key]) ? (int) $v_rslts[$key] : 0; $data["suppressed"] = isset($sprsd[$key]) ? (int) $sprsd[$key] : 0; $this->mongo->dashboard_data->insert($data); $i++; //echo "$i\n"; } echo " inserted {$i} records for {$year}\n"; $year++; } }