load->database(); } function name_list(){ //SELECT * FROM patient WHERE id in (SELECT DISTINCT patient_id FROM timesheet_approval) $this->db->select("patient_details.*"); $this->db->from("patient_details"); $this->db->where('patient_details.id IN (SELECT DISTINCT patient_id FROM timesheet_approval)'); $this->db->where('patient_details.active_status',1); //$this->db->join("patient_details", "patient_details.id = patient.id"); //echo $this->db->get_compiled_select(); die; $patients = $this->db->get()->result_array(); //echo '
'.$this->db->last_query();die; foreach($patients as $indx=>$patient) { $patientId = $patient['id']; //echo '
'.$patientId; $this->db->select('COUNT(*) as billedAmmount'); $this->db->where('billed',1); $this->db->where('isApproved',1); $this->db->where('patient_id',$patientId); $billed = $this->db->get('timesheet_approval')->result_array(); //echo '
'.$this->db->last_query(); //echo '
'; print_r($billed); echo '
'; $patients[$indx]['billed_count'] = $billed[0]['billedAmmount']; $this->db->select('COUNT(*) as unbilledAmmount'); $this->db->where('billed',0); $this->db->where('isApproved','1'); $this->db->where('patient_id', $patientId); $unbilled = $this->db->get('timesheet_approval')->result_array(); //echo '
'.$this->db->last_query(); //echo '
'; print_r($unbilled); echo '
'; $patients[$indx]['unBilled_count'] = $unbilled[0]['unbilledAmmount']; } //echo '
'; print_r($patients); echo '
'; exit; return $patients; } function getNameBysearch($search,$orderColumn, $orderType) { if($orderColumn==1) $this->db->order_by('name', $orderType); $this->db->select("patient_details.*"); $this->db->from("patient_details"); $this->db->where('patient_details.id IN (SELECT DISTINCT patient_id FROM timesheet_approval)'); $this->db->where('patient_details.active_status',1); //$this->db->join("patient_details", "patient_details.id = patient.id"); $patients = $this->db->get()->result_array(); foreach($patients as $indx=>$patient) { $patientId = $patient['id']; //echo $patientId;die; $this->db->select('COUNT(*) as billedAmmount'); $this->db->where('billed',1); $this->db->where('isApproved',1); $this->db->where('patient_id',$patientId); $billed = $this->db->get('timesheet_approval')->result_array(); //echo '
'.$this->db->last_query(); //echo '
'; print_r($billed); echo '
'; $patients[$indx]['billed_count'] = $billed[0]['billedAmmount']; $this->db->select('COUNT(*) as unbilledAmmount'); $this->db->where('billed',0); $this->db->where('isApproved',1); $this->db->where('patient_id', $patientId); $unbilled = $this->db->get('timesheet_approval')->result_array(); //echo '
'.$this->db->last_query(); //echo '
'; print_r($unbilled); echo '
'; $patients[$indx]['unBilled_count'] = $unbilled[0]['unbilledAmmount']; } $this->db->limit($limit, $start); //$patients = $this->db->get(); return $patients; } function getNameByLimit($limit, $start, $orderColumn, $orderType) { if($orderColumn==1){ $this->db->order_by('name', $orderType); } $this->db->select("patient_details.*,CONCAT_WS(' ', patient_details.first_name, patient_details.last_name) AS name"); $this->db->from("patient_details"); $this->db->where('patient_details.id IN (SELECT DISTINCT patient_id FROM timesheet_approval)'); $this->db->where('patient_details.active_status',1); $this->db->limit($limit, $start); $patients = $this->db->get()->result_array(); foreach($patients as $indx=>$patient) { $patientId = $patient['id']; $this->db->select('COUNT(*) as billedAmmount'); $this->db->where('billed',1); $this->db->where('isApproved',1); $this->db->where('patient_id',$patientId); $billed = $this->db->get('timesheet_approval')->result_array(); $patients[$indx]['billed_count'] = $billed[0]['billedAmmount']; $this->db->select('COUNT(*) as unbilledAmmount'); $this->db->where('billed',0); $this->db->where('isApproved',1); $this->db->where('patient_id', $patientId); $unbilled = $this->db->get('timesheet_approval')->result_array(); $patients[$indx]['unBilled_count'] = $unbilled[0]['unbilledAmmount']; } //$patients = $this->db->get(); return $patients; } function getNameByLimitBySearch($limit, $start, $search,$orderColumn,$orderType) { if($orderColumn==1){ $this->db->order_by('name', $orderType); } $this->db->select("patient_details.*,CONCAT_WS(' ', patient_details.first_name, patient_details.last_name) AS name"); $this->db->from("patient_details"); $this->db->where('patient_details.id IN (SELECT DISTINCT patient_id FROM timesheet_approval)'); $this->db->where('patient_details.active_status',1); $this->db->like('patient_details.first_name', $search); $this->db->or_like('patient_details.last_name', $search); $this->db->limit($limit, $start); $patients = $this->db->get()->result_array(); //echo '
'; print_r($patients); echo '
'; die; foreach($patients as $indx=>$patient) { $patientId = $patient['id']; $this->db->select('COUNT(*) as billedAmmount'); $this->db->where('billed',1); $this->db->where('isApproved',1); $this->db->where('patient_id',$patientId); $billed = $this->db->get('timesheet_approval')->result_array(); $patients[$indx]['billed_count'] = $billed[0]['billedAmmount']; $this->db->select('COUNT(*) as unbilledAmmount'); $this->db->where('billed',0); $this->db->where('isApproved',1); $this->db->where('patient_id', $patientId); $unbilled = $this->db->get('timesheet_approval')->result_array(); $patients[$indx]['unBilled_count'] = $unbilled[0]['unbilledAmmount']; } return $patients; } function caregiverInfo($id){ //print_r($id);exit; $this->db->select("timesheet_approval.*"); $this->db->select("CONCAT_WS(' ', patient_details.first_name, patient_details.last_name) AS patient_name"); //$this->db->select("assessment.timeIn as timeIn,assessment.timeOut as timeOut"); $this->db->select("caregiver.fname as caregiver_fname,caregiver.lname as caregiver_lname"); $this->db->select("timesheet_approval.isApproved as isApproved"); $this->db->from("timesheet_approval"); $this->db->where('timesheet_approval.patient_id', $id); $this->db->where('timesheet_approval.billed', 0); $this->db->join("patient_details", "timesheet_approval.patient_id = patient_details.id","left"); $this->db->join("caregiver", "timesheet_approval.caregiver_id = caregiver.id","left"); //$this->db->join("assessment", "assessment.patient_id=timesheet_approval.patient_id","left"); //echo $this->db->get_compiled_select(); die; $query = $this->db->get()->result(); // echo $this->db->last_query();die; // echo '
'; print_r($query); echo '
'; die; return $query; } function getPatientInformation($id){ //print_r($id);exit; $this->db->select("timesheet_approval.*"); $this->db->or_where_in('id', $id); $this->db->from("timesheet_approval"); $timesheet = $this->db->get()->result(); //echo '
'; print_r($timesheet); echo '
'; exit; $this->db->select_max('date'); $this->db->from('timesheet_approval'); $this->db->where('patient_id', $timesheet[0]->patient_id); $maxDate = $this->db->get()->row(); //echo '
'; print_r($maxDate); echo '
'; exit; $this->db->select_min('date'); $this->db->from('timesheet_approval'); $this->db->where('patient_id', $timesheet[0]->patient_id); $minDate = $this->db->get()->row(); //echo '
'; print_r($minDate); echo '
'; exit; $this->db->select("patient_details.*"); $this->db->select("master_cg_skills.name as patient_level_service"); $this->db->select("patient_insurance_info.InsEin as ein,patient_insurance_info.InsContractStart as start_date,patient_insurance_info.InsContractEnd as end_date,patient_insurance_info.InsLocation as location"); //$this->db->select("patient_payment_info.payerType as payer_type"); $this->db->where('patient_details.id', $timesheet[0]->patient_id); $this->db->from("patient_details"); $this->db->join("master_cg_skills", "patient_details.level_of_service = master_cg_skills.id"); //$this->db->join("patient_payment_info", "patient_details.id = patient_payment_info.patient_id"); $this->db->join("patient_insurance_info", "patient_details.id = patient_insurance_info.main_id"); $query = $this->db->get()->row(); $patient_payment_info = $this->db->get_where('patient_payment_info',array('patient_id'=>$query->id))->row(); $query->maxDate = $maxDate; $query->minDate = $minDate; $query->payer_type = $patient_payment_info; // echo $this->db->get_compiled_select(); die; //echo $this->db->last_query();die; //echo '
'; print_r($query); echo '
'; exit; return $query; } function getPayerType(){ $query=$this->db->get_where('master_payertype', array('status' => '1')); return $query->result(); } function getPatient($id){ $query=$this->db->get_where('patient_details', array('id' => $id))->row(); $patient_level_service = $this->db->get_where('master_cg_skills',array('id'=>$query->level_of_service))->row(); $query->patient_level_services = $patient_level_service; return $query; } function saveBill($data) { unset($data['submit']); $folder_name='uploads/BillingDocuments/BILL_'.str_pad($data['patient_id'], 6, "0", STR_PAD_LEFT).'/'; $uploadData['folder_name']=$folder_name; $uploadData['NAME']='uploads'; $uploadData['NEW_FILENAME_START']='DOC'; //$uploadData['CONFIG']['allowed_types']='gif|jpg|png|jpeg|pdf'; $uploadData['CONFIG']['allowed_types']=array('gif','jpg','png','jpeg','pdf'); $uploadData['CONFIG']['max_size']='20480000'; $output=fileStore($_FILES,$uploadData); $data['uploads'] = $output['NEW_FILE_NAME']; $data['upload_path'] = $output['PATH']; $this->db->insert('bill', $data); $insert_id = $this->db->insert_id(); $this->db->select("timesheet_approval.*"); $this->db->select("CONCAT_WS(' ', patient_details.first_name, patient_details.last_name) AS patient_name"); $this->db->select("caregiver.fname as caregiver_fname,caregiver.lname as caregiver_lname"); $this->db->select("timesheet_approval.isApproved as isApproved"); $this->db->from("timesheet_approval"); $this->db->where('timesheet_approval.patient_id', $data['patient_id']); $this->db->join("patient_details", "timesheet_approval.patient_id = patient_details.id"); $this->db->join("caregiver", "timesheet_approval.caregiver_id = caregiver.id"); //$this->db->join("assessment", "patient.id = assessment.patient_id"); $query = $this->db->get()->result(); // echo $this->db->last_query();die; // echo '
'; print_r($query); echo '
'; die; foreach ($query as $key => $val) { $inv_id = $insert_id; $inv_id = "INV-HMS/".date("ymd") . sprintf('%03s', $inv_id);//concatenating incremented value $value = $inv_id; $billDetails = array( 'timesheeet_id' => $val->id, 'assessment_id' => $val->assessment_id, 'patient_id' => $val->patient_id, 'caregiver_id' => $val->caregiver_id, 'bill_id' => $insert_id, 'invoice_id' => $value, 'date' => $val->date, 'inTime' => $val->inTime, 'outTime' => $val->outTime, 'totalTime' => $val->totalTime, 'comment' => $val->comment, 'isApproved' => $val->isApproved ); $this->db->select("bill.*"); $this->db->where('id', $insert_id); $this->db->from("bill"); $bill_id['invoice_id'] = $inv_id; $this->db->update('bill', $bill_id); $this->db->insert('bill_details', $billDetails); } foreach ($query as $key => $val) { $this->db->select("timesheet_approval.*"); $this->db->where('id', $val->id); $this->db->from("timesheet_approval"); $timesheetUpdate = array( 'billed' => 1 ); $this->db->update('timesheet_approval', $timesheetUpdate); } //echo $this->db->last_query();die; } }