load->model('finance/finance_model'); $this->load->model('appointment/appointment_model'); $this->load->model('notice/notice_model'); $this->load->model('home_model'); $this->load->model('caregivers/Caregiver_model'); //$this->load->helper(menu); } public function index() { $data=array(); $data=menu_array(); // pre($data); // die; // echo '
'; print_r($this->ion_auth); echo '
';die; // die; // $user_id=$this->session->userdata('user_id'); // $data=$this->home_model->get_menu($user_id); if ($this->ion_auth->in_group(array('Caregiver'))) { redirect('/CaregiversDashboard'); } else if ($this->ion_auth->in_group(array('Physician'))) { redirect('/physicianDashboard'); } else if($this->ion_auth->in_group(array('Patient'))) { redirect('/patientDashboard'); // die("1"); } $this->load->view('dashboard',$data); // just the header file $this->load->view('home', $data); $this->load->view('footer', $data); } public function permission() { $this->load->view('permission'); } public function getCaregiverInfo(){ $_GET['caregiver_id']; $caregiver=$this->home_model->getCargiverInfo($_GET['caregiver_id']); $data['modalCaregiver']=$this->home_model->getCargiverInfo($_GET['caregiver_id']); //echo '
';print_r($caregiver);echo '
'; die; $this->load->view('home/common_modal_caregiver',$data); } public function getSchedule(){ // _die($_GET); $sed=$this->home_model->getSchedule($_GET['patientId'],$_GET['caregiverId'],$_GET['start'],$_GET['end']); // $sed=$this->home_model->getSchedule($_GET['patientId'],394,$_GET['start'],$_GET['end']); //$this->load->view('home/common_calendar',$data); //print_r($scheduleData); // pre($sed);die; echo json_encode($sed,true); } public function getIcdList() { $icdCode = $this->input->get('code'); $data=get_ICD_Info($icdCode); //echo '
';print_r($url_arr); echo '
';die();
        for($i=0; $i'.$title.'';
            }
        echo $options;
    }

    #admin dashboard 
        public function hmsDashboardDynamicInfo(){
            try{
                $user_id=$this->session->userdata('user_id');
                $request=(object)($this->input->get('params'));
                $info_type=isset($request->info_type)?trim($request->info_type):'';

                if($info_type=='open_cases'){
                    $this->load->model('patient/Patient_model');
                    $openCases=$this->Patient_model->model_get_open_cases([]);
                    $quickData=(object)[
                        'new'=>isset($openCases->data->total_count)?intval($openCases->data->total_count):0,
                        'old'=>0,
                        'rate'=>0,
                        'growth'=>'none',
                    ];
                    $openCases->data=$quickData;
                    $response=$openCases;
                }else if($info_type=='available_caregivers'){
                    $this->load->model('caregivers/Caregiver_model');
                    $availableCaregivers=$this->Caregiver_model->model_get_available_caregivers([]);
                    $quickData=(object)[
                        'new'=>isset($availableCaregivers->data->total_count)?intval($availableCaregivers->data->total_count):0,
                        'old'=>0,
                        'rate'=>0,
                        'growth'=>'none',
                    ];
                    $availableCaregivers->data=$quickData;
                    $response=$availableCaregivers;
                }else if($info_type=='total_patients'){
                    $this->load->model('patient/Patient_model');
                    $filter=isset($request->filter)?trim($request->filter):'year';
                    $periods=isset($request->periods)?$request->periods:[];
                    foreach($periods as $period){
                        list($start_date,$end_date)=explode(" ~ ", $period);
                        $patients=$this->Patient_model->model_get_patients([
                            'filter'=>$filter,
                            'start_date'=>$start_date,
                            'end_date'=>$end_date
                        ]);
                        $patients_count[]=isset($patients->data->total_count)?intval($patients->data->total_count):0;
                    }
                    $quickData=calc_rate_prcntg(end($patients_count),prev($patients_count));
                    $response=[
                        'status'=>200,
                        'msg'=>'fetched successfully',
                        'data'=>$quickData
                    ];
                }else if($info_type=='scheduled_visits'){
                    $this->load->model('patient/Patient_model');
                    $filter=isset($request->filter)?trim($request->filter):'year';
                    $periods=isset($request->periods)?$request->periods:[];
                    foreach($periods as $period){
                        list($start_date,$end_date)=explode(" ~ ", $period);
                        $schedules=$this->Patient_model->model_get_schedules([
                            'filter'=>$filter,
                            'start_date'=>$start_date,
                            'end_date'=>$end_date
                        ]);
                        $schedules_count[]=isset($schedules->data->total_count)?intval($schedules->data->total_count):0;
                    }
                    $quickData=calc_rate_prcntg(end($schedules_count),prev($schedules_count));
                    $response=[
                        'status'=>200,
                        'msg'=>'fetched successfully',
                        'data'=>$quickData
                    ];
                }else if($info_type=='revenues'){
                    $this->load->model('bills/Bills_model');
                    $filter=isset($request->filter)?trim($request->filter):'week';
                    $periods=isset($request->periods)?$request->periods:[];
                    $revenuesData=$this->Bills_model->model_calc_revenue($periods);
                    $quickData=calc_rate_prcntg(end($revenuesData['weekly_revenues']),prev($revenuesData['weekly_revenues']));
                    $quickData->total_revenues=$revenuesData['total_revenues'];
                    $quickData->weekly_revenues=$revenuesData['weekly_revenues'];
                    $quickData->weekly_services=$revenuesData['weekly_services'];
                    $response=[
                        'status'=>200,
                        'msg'=>'fetched successfully',
                        'data'=>$quickData
                    ];
                }else if($info_type=='vendors_overview'){
                    $response=[
                        'status'=>200,
                        'msg'=>'fetched successfully',
                        'data'=>$request
                    ];
                }else if($info_type=='daily_scheduled'){
                    $startDate=isset($request->start_date)?trim($request->start_date):'0000-00-00';
                    $endDate=isset($request->end_date)?trim($request->end_date):'0000-00-00';
                    $resData=$this->home_model->getDailyBasisSchedule([
                        'limit'=>100,
                        'start_date'=>$startDate,
                        'end_date'=>$endDate
                    ]);
                    $response=[
                        'status'=>200,
                        'msg'=>'fetched successfully',
                        'data'=>$resData->data->schedules
                    ];
                }else if($info_type=='financial_overview'){
                    $response=[
                        'status'=>200,
                        'msg'=>'fetched successfully',
                        'data'=>$request
                    ];
                }else if($info_type=='monthly_activity'){
                    $this->load->model('patient/Patient_model');
                    $filter=isset($request->filter)?trim($request->filter):'month';
                    $periods=isset($request->periods)?$request->periods:[];
                    $period=isset($periods[0])?trim($periods[0]):'';
                    if($period!=''){
                        list($start_date,$end_date)=explode(" ~ ", $period);
                        $patientsNew=$this->Patient_model->model_get_patients([
                            'filter'=>$filter,
                            'start_date'=>$start_date,
                            'end_date'=>$end_date
                        ]);
                        $patients_count['month']=isset($patientsNew->data->total_count)?intval($patientsNew->data->total_count):0;
                    }
                    $patients=$this->Patient_model->model_get_patients([]);
                    $patients_count['all']=isset($patients->data->total_count)?intval($patients->data->total_count):0;

                    $totalCompleteVisit=$this->home_model->getTotalSchedule('month');
                    $totalScheduleRequest=$this->home_model->getTotalScheduleRequest();
                    $response=[
                        'status'=>200,
                        'msg'=>'fetched successfully',
                        'data'=>[
                            'total_patients'=>isset($patients_count['all'])?intval($patients_count['all']):0,
                            'new_patients'=>isset($patients_count['month'])?intval($patients_count['month']):0,
                            'total_caregivers'=>$this->home_model->getAllCaregiversData('all'),
                            'new_caregivers'=>$this->home_model->getAllCaregiversData('month'),
                            'missed_visits'=>($totalScheduleRequest - $totalCompleteVisit),
                            'total_completed_visits'=>$totalCompleteVisit
                        ]
                    ];
                }else if($info_type=='total_patients_click'){
                    $this->load->model('patient/Patient_model');
                    $filter=isset($request->filter)?trim($request->filter):'year';
                    $periods=isset($request->periods)?$request->periods:[];
                    foreach($periods as $period){
                        list($start_date,$end_date)=explode(" ~ ", $period);
                        $patients=$this->Patient_model->model_get_patients([
                            'filter'=>$filter,
                            'start_date'=>$start_date,
                            'end_date'=>$end_date
                        ]);
                        $patients_count[]=isset($patients->data->total_count)?intval($patients->data->total_count):0;
                    }
                    $response=[
                        'status'=>200,
                        'msg'=>'fetched successfully',
                        'data'=>$patients_count
                    ];
                }else if($info_type=='scheduled_visits_click'){
                    $this->load->model('patient/Patient_model');
                    $filter=isset($request->filter)?trim($request->filter):'year';
                    $periods=isset($request->periods)?$request->periods:[];
                    foreach($periods as $period){
                        list($start_date,$end_date)=explode(" ~ ", $period);
                        $schedules=$this->Patient_model->model_get_schedules([
                            'filter'=>$filter,
                            'start_date'=>$start_date,
                            'end_date'=>$end_date
                        ]);
                        $schedules_count[]=isset($schedules->data->total_count)?intval($schedules->data->total_count):0;
                    }
                    $response=[
                        'status'=>200,
                        'msg'=>'fetched successfully',
                        'data'=>$schedules_count
                    ];
                }else if($info_type=='revenues_click'){
                    $this->load->model('bills/Bills_model');
                    $periods=isset($request->periods)?$request->periods:[];
                    $chartData=$this->Bills_model->model_calc_revenue($periods);
                    $response=[
                        'status'=>200,
                        'msg'=>'fetched successfully',
                        'data'=>$chartData
                    ];
                }else{
                    $response=json_encode([
                        'status'=>400,
                        'msg'=>'invalid info type'
                    ]);
                }
                echo json_encode($response);
            }catch(Exception $e){
                $getMsg="Home - hmsDashboardDynamicInfo: ".$e->getMessage();
                echo $getMsg;
            }
        }
        public function hmsVendorsOverviewList(){
            try{
                $request=(object)($this->input->post());
                $data_list=[
                    'start'=>$request->start,
                    'limit'=>$request->length,
                    'search'=>(isset($request->search['value'])&&!empty($request->search['value']))?($request->search['value']):"",
                    'order_column'=>$request->order[0]['column'],
                    'order_type'=>$request->order[0]['dir'],
                    'filter'=>$request->params['filter']
                ];
                $data_list['require']="data";
                $patientsData=$this->home_model->hms_get_adb_vendors_overview($data_list);
                $data_list['require']="count";
                $patientsCount=$this->home_model->hms_get_adb_vendors_overview($data_list);

                $info=[];
                $i=1;
                foreach($patientsData as $data){
                    $address = '';
                    if ($data['address'] != '' || $data['address'] != null) {
                        $address_obj=json_decode($data['address']);
                        if ($address_obj->City != '') {
                            $address=$address_obj->City;
                        }
                    }
                    $vendor_view = '' . $data['vedor_name'] . '';
                    $patient_view = '' . $data['first_name']." ".$data['last_name'] . '';
                    
                    $info[] = [
                        $i,
                        $vendor_view,
                        $patient_view,
                        $data['service_type'],
                        $address,
                        $data['live_status']
                    ];
                    $i++;
                }

                $response=json_encode([
                    "draw"=>intval($request->draw),
                    "recordsTotal"=>$patientsCount,
                    "recordsFiltered"=>$patientsCount,
                    "data"=>$info
                ]);
                echo $response;
            }catch(Exception $e){
                $getMsg="Home - hmsVendorsOverviewList: ".$e->getMessage();
                echo $getMsg;
            }
        }
        public function hmsFinancialOverviewList(){
            try{
                $request=(object)($this->input->post());
                $data_list=[
                    'start'=>$request->start,
                    'limit'=>$request->length,
                    'search'=>(isset($request->search['value'])&&!empty($request->search['value']))?($request->search['value']):"",
                    'order_column'=>$request->order[0]['column'],
                    'order_type'=>$request->order[0]['dir'],
                    'filter'=>$request->params['filter']
                ];
                $data_list['require']="data";
                $financialData=$this->home_model->hms_get_adb_financial_overview($data_list);
                $data_list['require']="count";
                $financialCount=$this->home_model->hms_get_adb_financial_overview($data_list);

                $info=[];
                $i=1;
                foreach($financialData as $data){
                    $vendor_view='' . $data['vedor_name'] . '';
                    $patient_view='' . $data['patient_name']. '';
                    $info[]=[
                        $i,
                        $data['live_status'],
                        $vendor_view,
                        $patient_view,
                        $data['service_type'],
                        $data['main_city']
                    ];
                    $i++;
                }

                $response=json_encode([
                    "draw"=>intval($request->draw),
                    "recordsTotal"=>$financialCount,
                    "recordsFiltered"=>$financialCount,
                    "data"=>$info
                ]);
                echo $response;
            }catch(Exception $e){
                $getMsg="Home - hmsFinancialOverviewList: ".$e->getMessage();
                echo $getMsg;
            }
        }
    #admin dashboard 

}

/* End of file home.php */
/* Location: ./application/controllers/home.php */