Exemple #1
0
 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++;
     }
 }