load->model('appointment_model'); $this->load->model('doctor/doctor_model'); $this->load->model('patient/patient_model'); $this->load->model('sms/sms_model'); $this->load->module('sms'); if (!$this->ion_auth->in_group(array('admin', 'Nurse', 'Doctor', 'Patient', 'Receptionist'))) { redirect('home/permission'); } } public function index() { if ($this->ion_auth->in_group(array('Patient'))) { redirect('home/permission'); } $data['patients'] = $this->patient_model->getPatient(); $data['doctors'] = $this->doctor_model->getDoctor(); $data['settings'] = $this->settings_model->getSettings(); $this->load->view('home/dashboard', $data); // just the header file $this->load->view('appointment', $data); $this->load->view('home/footer'); // just the header file } public function request() { $data['patients'] = $this->patient_model->getPatient(); $data['doctors'] = $this->doctor_model->getDoctor(); $data['settings'] = $this->settings_model->getSettings(); $this->load->view('home/dashboard', $data); // just the header file $this->load->view('appointment_request', $data); $this->load->view('home/footer'); // just the header file } public function todays() { if ($this->ion_auth->in_group(array('Patient'))) { redirect('home/permission'); } $data['patients'] = $this->patient_model->getPatient(); $data['doctors'] = $this->doctor_model->getDoctor(); $data['settings'] = $this->settings_model->getSettings(); $this->load->view('home/dashboard', $data); // just the header file $this->load->view('todays', $data); $this->load->view('home/footer'); // just the header file } public function upcoming() { if ($this->ion_auth->in_group(array('Patient'))) { redirect('home/permission'); } $data['patients'] = $this->patient_model->getPatient(); $data['doctors'] = $this->doctor_model->getDoctor(); $data['settings'] = $this->settings_model->getSettings(); $this->load->view('home/dashboard', $data); // just the header file $this->load->view('upcoming', $data); $this->load->view('home/footer'); // just the header file } function calendar() { if ($this->ion_auth->in_group(array('Patient'))) { redirect('home/permission'); } if ($this->ion_auth->in_group(array('Doctor'))) { $doctor_ion_id = $this->ion_auth->get_user_id(); $doctor = $this->db->get_where('doctor', array('ion_user_id' => $doctor_ion_id))->row()->id; $data['appointments'] = $this->appointment_model->getAppointmentByDoctor($doctor); } else { $data['appointments'] = $this->appointment_model->getAppointment(); } $data['patients'] = $this->patient_model->getPatient(); $data['doctors'] = $this->doctor_model->getDoctor(); $data['settings'] = $this->settings_model->getSettings(); $this->load->view('home/dashboard', $data); // just the header file $this->load->view('calendar', $data); $this->load->view('home/footer'); // just the header file } public function addNewView() { if ($this->ion_auth->in_group(array('Patient'))) { redirect('home/permission'); } $data['patients'] = $this->patient_model->getPatient(); $data['doctors'] = $this->doctor_model->getDoctor(); $data['settings'] = $this->settings_model->getSettings(); $this->load->view('home/dashboard', $data); // just the header file $this->load->view('add_new', $data); $this->load->view('home/footer'); // just the header file } public function addNew() { $id = $this->input->post('id'); $patient = $this->input->post('patient'); $doctor = $this->input->post('doctor'); $date = $this->input->post('date'); if (!empty($date)) { $date = strtotime($date); } $time_slot = $this->input->post('time_slot'); $time_slot_explode = explode('To', $time_slot); $s_time = trim($time_slot_explode[0]); $e_time = trim($time_slot_explode[1]); $remarks = $this->input->post('remarks'); $sms = $this->input->post('sms'); $status = $this->input->post('status'); $redirect = $this->input->post('redirect'); $request = $this->input->post('request'); if (empty($request)) { $request = ''; } $user = $this->ion_auth->get_user_id(); if ($this->ion_auth->in_group(array('Patient'))) { $user = ''; } if ((empty($id))) { $add_date = date('m/d/y'); $registration_time = time(); $patient_add_date = $add_date; $patient_registration_time = $registration_time; } else { $add_date = $this->appointment_model->getAppointmentById($id)->add_date; $registration_time = $this->appointment_model->getAppointmentById($id)->registration_time; } $s_time_key = $this->getArrayKey($s_time); $p_name = $this->input->post('p_name'); $p_email = $this->input->post('p_email'); if (empty($p_email)) { $p_email = $p_name . '-' . rand(1, 1000) . '-' . $p_name . '-' . rand(1, 1000) . '@example.com'; } if (!empty($p_name)) { $password = $p_name . '-' . rand(1, 100000000); } $p_phone = $this->input->post('p_phone'); $p_age = $this->input->post('p_age'); $p_gender = $this->input->post('p_gender'); $patient_id = rand(10000, 1000000); $this->load->library('form_validation'); $this->form_validation->set_error_delimiters('
', '
'); if ($patient == 'add_new') { $this->form_validation->set_rules('p_name', 'Patient Name', 'trim|required|min_length[1]|max_length[100]|xss_clean'); $this->form_validation->set_rules('p_phone', 'Patient Phone', 'trim|required|min_length[1]|max_length[100]|xss_clean'); } // Validating Name Field $this->form_validation->set_rules('patient', 'Patient', 'trim|required|min_length[1]|max_length[100]|xss_clean'); // Validating Password Field $this->form_validation->set_rules('doctor', 'Doctor', 'trim|required|min_length[1]|max_length[100]|xss_clean'); // Validating Email Field $this->form_validation->set_rules('date', 'Date', 'trim|required|min_length[1]|max_length[100]|xss_clean'); // Validating Email Field $this->form_validation->set_rules('s_time', 'Start Time', 'trim|min_length[1]|max_length[100]|xss_clean'); // Validating Email Field $this->form_validation->set_rules('e_time', 'End Time', 'trim|min_length[1]|max_length[100]|xss_clean'); // Validating Address Field $this->form_validation->set_rules('remarks', 'Remarks', 'trim|min_length[1]|max_length[1000]|xss_clean'); if ($this->form_validation->run() == FALSE) { if (!empty($id)) { redirect("appointment/editAppointment?id=$id"); } else { $data['patients'] = $this->patient_model->getPatient(); $data['doctors'] = $this->doctor_model->getDoctor(); $data['settings'] = $this->settings_model->getSettings(); $this->load->view('home/dashboard', $data); // just the header file $this->load->view('add_new', $data); $this->load->view('home/footer'); // just the header file } } else { if ($patient == 'add_new') { $data_p = array( 'patient_id' => $patient_id, 'name' => $p_name, 'email' => $p_email, 'phone' => $p_phone, 'sex' => $p_gender, 'age' => $p_age, 'add_date' => $patient_add_date, 'registration_time' => $patient_registration_time, 'how_added' => 'from_appointment' ); $username = $this->input->post('p_name'); // Adding New Patient if ($this->ion_auth->email_check($p_email)) { $this->session->set_flashdata('feedback', 'Email Address of Patient Is Already Registered'); } else { $dfg = 5; $this->ion_auth->register($username, $password, $p_email, $dfg); $ion_user_id = $this->db->get_where('users', array('email' => $p_email))->row()->id; $this->patient_model->insertPatient($data_p); $patient_user_id = $this->db->get_where('patient', array('email' => $p_email))->row()->id; $id_info = array('ion_user_id' => $ion_user_id); $this->patient_model->updatePatient($patient_user_id, $id_info); } $patient = $patient_user_id; // } } //$error = array('error' => $this->upload->display_errors()); $patientname = $this->patient_model->getPatientById($patient)->name; $doctorname = $this->doctor_model->getDoctorById($doctor)->name; $data = array(); $data = array( 'patient' => $patient, 'patientname' => $patientname, 'doctor' => $doctor, 'doctorname' => $doctorname, 'date' => $date, 's_time' => $s_time, 'e_time' => $e_time, 'time_slot' => $time_slot, 'remarks' => $remarks, 'add_date' => $add_date, 'registration_time' => $registration_time, 'status' => $status, 's_time_key' => $s_time_key, 'user' => $user, 'request' => $request ); $username = $this->input->post('name'); if (empty($id)) { // Adding New department $this->appointment_model->insertAppointment($data); /* if (!empty($sms)) { $this->sms->sendSmsDuringAppointment($patient, $doctor, $date, $s_time, $e_time); } */ $patient_doctor = $this->patient_model->getPatientById($patient)->doctor; $patient_doctors = explode(',', $patient_doctor); if (!in_array($doctor, $patient_doctors)) { $patient_doctors[] = $doctor; $doctorss = implode(',', $patient_doctors); $data_d = array(); $data_d = array('doctor' => $doctorss); $this->patient_model->updatePatient($patient, $data_d); } $this->sendSmsDuringAppointment($id, $data, $patient, $doctor, $status); $this->session->set_flashdata('feedback', 'Added'); } else { // Updating department $previous_status = $this->appointment_model->getAppointmentById($id)->status; if ($previous_status != "Confirmed") { if ($status == "Confirmed") { $this->sendSmsDuringAppointment($id, $data, $patient, $doctor, $status); } } $this->appointment_model->updateAppointment($id, $data); $this->session->set_flashdata('feedback', 'Updated'); } // Loading View if (!empty($redirect)) { redirect($redirect); } else { redirect('appointment'); } } } function sendSmsDuringAppointment($id, $data, $patient, $doctor, $status) { //sms $set['settings'] = $this->settings_model->getSettings(); $patientdetails = $this->patient_model->getPatientById($patient); $doctordetails = $this->doctor_model->getDoctorById($doctor); if (empty($id)) { if ($status != 'Confirmed') { $autosms = $this->sms_model->getAutoSmsByType('appoinment_creation'); $autoemail = $this->email_model->getAutoEmailByType('appoinment_creation'); } else { $autosms = $this->sms_model->getAutoSmsByType('appoinment_confirmation'); $autoemail = $this->email_model->getAutoEmailByType('appoinment_confirmation'); } } else { $autosms = $this->sms_model->getAutoSmsByType('appoinment_confirmation'); $autoemail = $this->email_model->getAutoEmailByType('appoinment_confirmation'); } $message = $autosms->message; $to = $patientdetails->phone; $name1 = explode(' ', $patientdetails->name); if (!isset($name1[1])) { $name1[1] = null; } $data1 = array( 'firstname' => $name1[0], 'lastname' => $name1[1], 'name' => $patientdetails->name, 'doctorname' => $doctordetails->name, 'appoinmentdate' => date('d-m-Y', $data['date']), 'time_slot' => $data['time_slot'], 'hospital_name' => $set['settings']->system_vendor ); if ($autosms->status == 'Active') { $messageprint = $this->parser->parse_string($message, $data1); $data2[] = array($to => $messageprint); $this->sms->sendSms($to, $message, $data2); } //end //email // $autoemail = $this->email_model->getAutoEmailByType('payment'); if ($autoemail->status == 'Active') { $emailSettings = $this->email_model->getEmailSettings(); $message1 = $autoemail->message; $messageprint1 = $this->parser->parse_string($message1, $data1); $this->email->from($emailSettings->admin_email); $this->email->to($patientdetails->email); $this->email->subject('Appointment'); $this->email->message($messageprint1); $this->email->send(); } //end } function getArrayKey($s_time) { $all_slot = array( 0 => '12:00 AM', 1 => '12:05 AM', 2 => '12:10 AM', 3 => '12:15 AM', 4 => '12:20 AM', 5 => '12:25 AM', 6 => '12:30 AM', 7 => '12:35 AM', 8 => '12:40 PM', 9 => '12:45 AM', 10 => '12:50 AM', 11 => '12:55 AM', 12 => '01:00 AM', 13 => '01:05 AM', 14 => '01:10 AM', 15 => '01:15 AM', 16 => '01:20 AM', 17 => '01:25 AM', 18 => '01:30 AM', 19 => '01:35 AM', 20 => '01:40 AM', 21 => '01:45 AM', 22 => '01:50 AM', 23 => '01:55 AM', 24 => '02:00 AM', 25 => '02:05 AM', 26 => '02:10 AM', 27 => '02:15 AM', 28 => '02:20 AM', 29 => '02:25 AM', 30 => '02:30 AM', 31 => '02:35 AM', 32 => '02:40 AM', 33 => '02:45 AM', 34 => '02:50 AM', 35 => '02:55 AM', 36 => '03:00 AM', 37 => '03:05 AM', 38 => '03:10 AM', 39 => '03:15 AM', 40 => '03:20 AM', 41 => '03:25 AM', 42 => '03:30 AM', 43 => '03:35 AM', 44 => '03:40 AM', 45 => '03:45 AM', 46 => '03:50 AM', 47 => '03:55 AM', 48 => '04:00 AM', 49 => '04:05 AM', 50 => '04:10 AM', 51 => '04:15 AM', 52 => '04:20 AM', 53 => '04:25 AM', 54 => '04:30 AM', 55 => '04:35 AM', 56 => '04:40 AM', 57 => '04:45 AM', 58 => '04:50 AM', 59 => '04:55 AM', 60 => '05:00 AM', 61 => '05:05 AM', 62 => '05:10 AM', 63 => '05:15 AM', 64 => '05:20 AM', 65 => '05:25 AM', 66 => '05:30 AM', 67 => '05:35 AM', 68 => '05:40 AM', 69 => '05:45 AM', 70 => '05:50 AM', 71 => '05:55 AM', 72 => '06:00 AM', 73 => '06:05 AM', 74 => '06:10 AM', 75 => '06:15 AM', 76 => '06:20 AM', 77 => '06:25 AM', 78 => '06:30 AM', 79 => '06:35 AM', 80 => '06:40 AM', 81 => '06:45 AM', 82 => '06:50 AM', 83 => '06:55 AM', 84 => '07:00 AM', 85 => '07:05 AM', 86 => '07:10 AM', 87 => '07:15 AM', 88 => '07:20 AM', 89 => '07:25 AM', 90 => '07:30 AM', 91 => '07:35 AM', 92 => '07:40 AM', 93 => '07:45 AM', 94 => '07:50 AM', 95 => '07:55 AM', 96 => '08:00 AM', 97 => '08:05 AM', 98 => '08:10 AM', 99 => '08:15 AM', 100 => '08:20 AM', 101 => '08:25 AM', 102 => '08:30 AM', 103 => '08:35 AM', 104 => '08:40 AM', 105 => '08:45 AM', 106 => '08:50 AM', 107 => '08:55 AM', 108 => '09:00 AM', 109 => '09:05 AM', 110 => '09:10 AM', 111 => '09:15 AM', 112 => '09:20 AM', 113 => '09:25 AM', 114 => '09:30 AM', 115 => '09:35 AM', 116 => '09:40 AM', 117 => '09:45 AM', 118 => '09:50 AM', 119 => '09:55 AM', 120 => '10:00 AM', 121 => '10:05 AM', 122 => '10:10 AM', 123 => '10:15 AM', 124 => '10:20 AM', 125 => '10:25 AM', 126 => '10:30 AM', 127 => '10:35 AM', 128 => '10:40 AM', 129 => '10:45 AM', 130 => '10:50 AM', 131 => '10:55 AM', 132 => '11:00 AM', 133 => '11:05 AM', 134 => '11:10 AM', 135 => '11:15 AM', 136 => '11:20 AM', 137 => '11:25 AM', 138 => '11:30 AM', 139 => '11:35 AM', 140 => '11:40 AM', 141 => '11:45 AM', 142 => '11:50 AM', 143 => '11:55 AM', 144 => '12:00 PM', 145 => '12:05 PM', 146 => '12:10 PM', 147 => '12:15 PM', 148 => '12:20 PM', 149 => '12:25 PM', 150 => '12:30 PM', 151 => '12:35 PM', 152 => '12:40 PM', 153 => '12:45 PM', 154 => '12:50 PM', 155 => '12:55 PM', 156 => '01:00 PM', 157 => '01:05 PM', 158 => '01:10 PM', 159 => '01:15 PM', 160 => '01:20 PM', 161 => '01:25 PM', 162 => '01:30 PM', 163 => '01:35 PM', 164 => '01:40 PM', 165 => '01:45 PM', 166 => '01:50 PM', 167 => '01:55 PM', 168 => '02:00 PM', 169 => '02:05 PM', 170 => '02:10 PM', 171 => '02:15 PM', 172 => '02:20 PM', 173 => '02:25 PM', 174 => '02:30 PM', 175 => '02:35 PM', 176 => '02:40 PM', 177 => '02:45 PM', 178 => '02:50 PM', 179 => '02:55 PM', 180 => '03:00 PM', 181 => '03:05 PM', 182 => '03:10 PM', 183 => '03:15 PM', 184 => '03:20 PM', 185 => '03:25 PM', 186 => '03:30 PM', 187 => '03:35 PM', 188 => '03:40 PM', 189 => '03:45 PM', 190 => '03:50 PM', 191 => '03:55 PM', 192 => '04:00 PM', 193 => '04:05 PM', 194 => '04:10 PM', 195 => '04:15 PM', 196 => '04:20 PM', 197 => '04:25 PM', 198 => '04:30 PM', 199 => '04:35 PM', 200 => '04:40 PM', 201 => '04:45 PM', 202 => '04:50 PM', 203 => '04:55 PM', 204 => '05:00 PM', 205 => '05:05 PM', 206 => '05:10 PM', 207 => '05:15 PM', 208 => '05:20 PM', 209 => '05:25 PM', 210 => '05:30 PM', 211 => '05:35 PM', 212 => '05:40 PM', 213 => '05:45 PM', 214 => '05:50 PM', 215 => '05:55 PM', 216 => '06:00 PM', 217 => '06:05 PM', 218 => '06:10 PM', 219 => '06:15 PM', 220 => '06:20 PM', 221 => '06:25 PM', 222 => '06:30 PM', 223 => '06:35 PM', 224 => '06:40 PM', 225 => '06:45 PM', 226 => '06:50 PM', 227 => '06:55 PM', 228 => '07:00 PM', 229 => '07:05 PM', 230 => '07:10 PM', 231 => '07:15 PM', 232 => '07:20 PM', 233 => '07:25 PM', 234 => '07:30 PM', 235 => '07:35 PM', 236 => '07:40 PM', 237 => '07:45 PM', 238 => '07:50 PM', 239 => '07:55 PM', 240 => '08:00 PM', 241 => '08:05 PM', 242 => '08:10 PM', 243 => '08:15 PM', 244 => '08:20 PM', 245 => '08:25 PM', 246 => '08:30 PM', 247 => '08:35 PM', 248 => '08:40 PM', 249 => '08:45 PM', 250 => '08:50 PM', 251 => '08:55 PM', 252 => '09:00 PM', 253 => '09:05 PM', 254 => '09:10 PM', 255 => '09:15 PM', 256 => '09:20 PM', 257 => '09:25 PM', 258 => '09:30 PM', 259 => '09:35 PM', 260 => '09:40 PM', 261 => '09:45 PM', 262 => '09:50 PM', 263 => '09:55 PM', 264 => '10:00 PM', 265 => '10:05 PM', 266 => '10:10 PM', 267 => '10:15 PM', 268 => '10:20 PM', 269 => '10:25 PM', 270 => '10:30 PM', 271 => '10:35 PM', 272 => '10:40 PM', 273 => '10:45 PM', 274 => '10:50 PM', 275 => '10:55 PM', 276 => '11:00 PM', 277 => '11:05 PM', 278 => '11:10 PM', 279 => '11:15 PM', 280 => '11:20 PM', 281 => '11:25 PM', 282 => '11:30 PM', 283 => '11:35 PM', 284 => '11:40 PM', 285 => '11:45 PM', 286 => '11:50 PM', 287 => '11:55 PM', ); $key = array_search($s_time, $all_slot); return $key; } function getAppointmentByJasonByDoctor() { $id = $this->input->get('id'); $query = $this->appointment_model->getAppointmentByDoctor($id); $jsonevents = array(); foreach ($query as $entry) { $doctor = $this->doctor_model->getDoctorById($entry->doctor); if (!empty($doctor)) { $doctor = $doctor->name; } else { $doctor = ''; } $time_slot = $entry->time_slot; $time_slot_new = explode(' To ', $time_slot); $start_time = explode(' ', $time_slot_new[0]); $end_time = explode(' ', $time_slot_new[1]); if ($start_time[1] == 'AM') { $start_time_second = explode(':', $start_time[0]); $day_start_time_second = $start_time_second[0] * 60 * 60 + $start_time_second[1] * 60; } else { $start_time_second = explode(':', $start_time[0]); $day_start_time_second = 12 * 60 * 60 + $start_time_second[0] * 60 * 60 + $start_time_second[1] * 60; } if ($end_time[1] == 'AM') { $end_time_second = explode(':', $end_time[0]); $day_end_time_second = $end_time_second[0] * 60 * 60 + $end_time_second[1] * 60; } else { $end_time_second = explode(':', $end_time[0]); $day_end_time_second = 12 * 60 * 60 + $end_time_second[0] * 60 * 60 + $end_time_second[1] * 60; } $patient_details = $this->patient_model->getPatientById($entry->patient); if (!empty($patient_details)) { $patient_mobile = $patient_details->phone; $patient_name = $patient_details->name; } else { $patient_mobile = ''; $patient_name = ''; } $info = '
' . lang('status') . ': ' . $entry->status . '
' . lang('patient') . ': ' . $patient_name . '
' . lang('phone') . ': ' . $patient_mobile . '
Doctor: ' . $doctor . '
' . lang('remarks') . ': ' . $entry->remarks; if ($entry->status == 'Pending Confirmation') { // $color = '#098098'; $color = 'yellowgreen'; } if ($entry->status == 'Confirmed') { $color = '#009988'; } if ($entry->status == 'Treated') { $color = '#112233'; } if ($entry->status == 'Cancelled') { $color = 'red'; } $jsonevents[] = array( 'id' => $entry->id, 'title' => $info, 'start' => date('Y-m-d H:i:s', $entry->date + $day_start_time_second), 'end' => date('Y-m-d H:i:s', $entry->date + $day_end_time_second), 'color' => $color, ); } echo json_encode($jsonevents); // echo json_encode($data); } function getAppointmentByJason() { if ($this->ion_auth->in_group(array('Doctor'))) { $doctor_ion_id = $this->ion_auth->get_user_id(); $doctor = $this->db->get_where('doctor', array('ion_user_id' => $doctor_ion_id))->row()->id; $query = $this->appointment_model->getAppointmentByDoctor($doctor); } elseif ($this->ion_auth->in_group(array('Patient'))) { $patient_ion_id = $this->ion_auth->get_user_id(); $patient = $this->db->get_where('patient', array('ion_user_id' => $patient_ion_id))->row()->id; $query = $this->appointment_model->getAppointmentByPatient($patient); } else { $query = $this->appointment_model->getAppointmentForCalendar(); } $jsonevents = array(); foreach ($query as $entry) { $doctor = $this->doctor_model->getDoctorById($entry->doctor); if (!empty($doctor)) { $doctor = $doctor->name; } else { $doctor = ''; } $time_slot = $entry->time_slot; $time_slot_new = explode(' To ', $time_slot); $start_time = explode(' ', $time_slot_new[0]); $end_time = explode(' ', $time_slot_new[1]); if ($start_time[1] == 'AM') { $start_time_second = explode(':', $start_time[0]); $day_start_time_second = $start_time_second[0] * 60 * 60 + $start_time_second[1] * 60; } else { $start_time_second = explode(':', $start_time[0]); $day_start_time_second = 12 * 60 * 60 + $start_time_second[0] * 60 * 60 + $start_time_second[1] * 60; } if ($end_time[1] == 'AM') { $end_time_second = explode(':', $end_time[0]); $day_end_time_second = $end_time_second[0] * 60 * 60 + $end_time_second[1] * 60; } else { $end_time_second = explode(':', $end_time[0]); $day_end_time_second = 12 * 60 * 60 + $end_time_second[0] * 60 * 60 + $end_time_second[1] * 60; } $patient_details = $this->patient_model->getPatientById($entry->patient); if (!empty($patient_details)) { $patient_mobile = $patient_details->phone; $patient_name = $patient_details->name; } else { $patient_mobile = ''; $patient_name = ''; } $info = '
' . lang('status') . ': ' . $entry->status . '
' . lang('patient') . ': ' . $patient_name . '
' . lang('phone') . ': ' . $patient_mobile . '
Doctor: ' . $doctor . '
' . lang('remarks') . ': ' . $entry->remarks; if ($entry->status == 'Pending Confirmation') { // $color = '#098098'; $color = 'yellowgreen'; } if ($entry->status == 'Confirmed') { $color = '#009988'; } if ($entry->status == 'Treated') { $color = '#112233'; } if ($entry->status == 'Cancelled') { $color = 'red'; } $jsonevents[] = array( 'id' => $entry->id, 'title' => $info, 'description' => 'Click to see the patient history', 'start' => date('Y-m-d H:i:s', $entry->date + $day_start_time_second), 'end' => date('Y-m-d H:i:s', $entry->date + $day_end_time_second), 'color' => $color, ); } echo json_encode($jsonevents); // echo json_encode($data); } function getAppointmentByDoctorId() { $id = $this->input->get('id'); $data['doctor_id'] = $id; $data['appointments'] = $this->appointment_model->getAppointment(); $data['patients'] = $this->patient_model->getPatient(); $data['mmrdoctor'] = $this->doctor_model->getDoctorById($id); $data['doctors'] = $this->doctor_model->getDoctor(); $data['settings'] = $this->settings_model->getSettings(); $this->load->view('home/dashboard', $data); // just the header file $this->load->view('appointment_by_doctor', $data); $this->load->view('home/footer'); // just the header file } function editAppointment() { $data = array(); $id = $this->input->get('id'); $data['settings'] = $this->settings_model->getSettings(); $data['appointment'] = $this->appointment_model->getAppointmentById($id); $data['patients'] = $this->patient_model->getPatientById($data['appointment']->patient); $data['doctors'] = $this->doctor_model->getDoctorById($data['appointment']->doctor); $this->load->view('home/dashboard', $data); // just the header file $this->load->view('add_new', $data); $this->load->view('home/footer'); // just the footer file } function editAppointmentByJason() { $id = $this->input->get('id'); $data['appointment'] = $this->appointment_model->getAppointmentById($id); $data['patient'] = $this->patient_model->getPatientById($data['appointment']->patient); $data['doctor'] = $this->doctor_model->getDoctorById($data['appointment']->doctor); echo json_encode($data); } function treatmentReport() { $data['settings'] = $this->settings_model->getSettings(); $data['doctors'] = $this->doctor_model->getDoctor(); $date_from = strtotime($this->input->post('date_from')); $date_to = strtotime($this->input->post('date_to')); if (!empty($date_to)) { $date_to = $date_to + 24 * 60 * 60; } if (empty($date_from) || empty($date_to)) { $data['appointments'] = $this->appointment_model->getAppointment(); } else { $data['appointments'] = $this->appointment_model->getAppointmentByDate($date_from, $date_to); $data['from'] = $this->input->post('date_from'); $data['to'] = $this->input->post('date_to'); } $this->load->view('home/dashboard', $data); // just the header file $this->load->view('treatment_history', $data); $this->load->view('home/footer'); // just the footer file } function myAppointments() { $data['appointments'] = $this->appointment_model->getAppointment(); $data['settings'] = $this->settings_model->getSettings(); $user_id = $this->ion_auth->user()->row()->id; $data['user_id'] = $this->db->get_where('patient', array('ion_user_id' => $user_id))->row()->id; $this->load->view('home/dashboard', $data); // just the header file $this->load->view('myappointments', $data); $this->load->view('home/footer'); // just the header file } function delete() { $data = array(); $id = $this->input->get('id'); $doctor_id = $this->input->get('doctor_id'); $this->appointment_model->delete($id); $this->session->set_flashdata('feedback', 'Deleted'); if (!empty($doctor_id)) { redirect('appointment/getAppointmentByDoctorId?id=' . $doctor_id); } else { redirect('appointment'); } } function getAppointment() { $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentBysearch($search); } else { $data['appointments'] = $this->appointment_model->getAppointment(); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentByLimitBySearch($limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getAppointmentByLimit($limit, $start); } } // $data['appointments'] = $this->appointment_model->getAppointment(); foreach ($data['appointments'] as $appointment) { if ($this->ion_auth->in_group(array('admin', 'Accountant', 'Receptionist'))) { // $options1 = ' Edit'; $options1 = ' ' . lang('edit') . ''; } $options2 = ' ' . lang('info') . ''; $options3 = ' ' . lang('history') . ''; $options4 = ' ' . lang('payment') . ''; if ($this->ion_auth->in_group(array('admin', 'Accountant', 'Receptionist'))) { $options5 = ' ' . lang('delete') . ''; } $info[] = array( $appointment->id, $appointment->name, $appointment->phone, $this->settings_model->getSettings()->currency . $this->appointment_model->getDueBalanceByAppointmentId($appointment->id), $options1 . ' ' . $options2 . ' ' . $options3 . ' ' . $options4 . ' ' . $options5, // $options2 ); } if (!empty($data['appointments'])) { $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $this->db->get('appointment')->num_rows(), "recordsFiltered" => $this->db->get('appointment')->num_rows(), "data" => $info ); } else { $output = array( // "draw" => 1, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => [] ); } echo json_encode($output); } function getAppoinmentList() { $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($this->ion_auth->in_group(array('Doctor'))) { $doctor_ion_id = $this->ion_auth->get_user_id(); $doctor = $this->db->get_where('doctor', array('ion_user_id' => $doctor_ion_id))->row()->id; if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentListBySearchByDoctor($doctor, $search); } else { $data['appointments'] = $this->appointment_model->getAppointmentListByDoctor($doctor); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentListByLimitBySearchByDoctor($doctor, $limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getAppointmentListByLimitByDoctor($doctor, $limit, $start); } } } else { if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentBysearch($search); } else { $data['appointments'] = $this->appointment_model->getAppointment(); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentByLimitBySearch($limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getAppointmentByLimit($limit, $start); } } } // $data['patients'] = $this->patient_model->getVisitor(); $i = 0; foreach ($data['appointments'] as $appointment) { $i = $i + 1; $option1 = ''; $option2 = ' '; $patientdetails = $this->patient_model->getPatientById($appointment->patient); if (!empty($patientdetails)) { $patientname = ' ' . $patientdetails->name . ''; } else { $patientname = ' ' . $appointment->patientname . ''; } $doctordetails = $this->doctor_model->getDoctorById($appointment->doctor); if (!empty($doctordetails)) { $doctorname = $doctordetails->name; } else { $doctorname = $appointment->doctorname; } $info[] = array( $appointment->id, $patientname, $doctorname, date('d-m-Y', $appointment->date) . '
' . $appointment->s_time . '-' . $appointment->e_time, $appointment->remarks, $appointment->status, $option1 . ' ' . $option2 ); } if (!empty($data['appointments'])) { $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $this->db->get('appointment')->num_rows(), "recordsFiltered" => $this->db->get('appointment')->num_rows(), "data" => $info ); } else { $output = array( // "draw" => 1, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => [] ); } echo json_encode($output); } function getRequestedAppoinmentList() { $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($this->ion_auth->in_group(array('Doctor'))) { $doctor_ion_id = $this->ion_auth->get_user_id(); $doctor = $this->db->get_where('doctor', array('ion_user_id' => $doctor_ion_id))->row()->id; if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getRequestAppointmentBysearchByDoctor($doctor, $search); } else { $data['appointments'] = $this->appointment_model->getRequestAppointmentByDoctor($doctor); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getRequestAppointmentByLimitBySearchByDoctor($doctor, $limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getRequestAppointmentByLimitByDoctor($doctor, $limit, $start); } } } else { if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getRequestAppointmentBysearch($search); } else { $data['appointments'] = $this->appointment_model->getRequestAppointment(); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getRequestAppointmentByLimitBySearch($limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getRequestAppointmentByLimit($limit, $start); } } } // $data['patients'] = $this->patient_model->getVisitor(); $i = 0; foreach ($data['appointments'] as $appointment) { // $i = $i + 1; $option1 = ''; $option2 = ' '; $patientdetails = $this->patient_model->getPatientById($appointment->patient); if (!empty($patientdetails)) { $patientname = ' ' . $patientdetails->name . ''; } else { $patientname = ' ' . $appointment->patientname . ''; } $doctordetails = $this->doctor_model->getDoctorById($appointment->doctor); if (!empty($doctordetails)) { $doctorname = $doctordetails->name; } else { $doctorname = $appointment->doctorname; } $info[] = array( $appointment->id, $patientname, $doctorname, date('d-m-Y', $appointment->date) . '
' . $appointment->s_time . '-' . $appointment->e_time, $appointment->remarks, $appointment->status, $option1 . ' ' . $option2 ); $i = $i + 1; } if (!empty($data['appointments'])) { $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $i, "recordsFiltered" => $i, "data" => $info ); } else { $output = array( // "draw" => 1, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => [] ); } echo json_encode($output); } function getPendingAppoinmentList() { $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($this->ion_auth->in_group(array('Doctor'))) { $doctor_ion_id = $this->ion_auth->get_user_id(); $doctor = $this->db->get_where('doctor', array('ion_user_id' => $doctor_ion_id))->row()->id; if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getPendingAppointmentBysearchByDoctor($doctor, $search); } else { $data['appointments'] = $this->appointment_model->getPendingAppointmentByDoctor($doctor); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getPendingAppointmentByLimitBySearchByDoctor($doctor, $limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getPendingAppointmentByLimitByDoctor($doctor, $limit, $start); } } } else { if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getPendingAppointmentBysearch($search); } else { $data['appointments'] = $this->appointment_model->getPendingAppointment(); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getPendingAppointmentByLimitBySearch($limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getPendingAppointmentByLimit($limit, $start); } } } // $data['patients'] = $this->patient_model->getVisitor(); $i = 0; foreach ($data['appointments'] as $appointment) { // $i = $i + 1; $option1 = ''; $option2 = ' '; $patientdetails = $this->patient_model->getPatientById($appointment->patient); if (!empty($patientdetails)) { $patientname = ' ' . $patientdetails->name . ''; } else { $patientname = ' ' . $appointment->patientname . ''; } $doctordetails = $this->doctor_model->getDoctorById($appointment->doctor); if (!empty($doctordetails)) { $doctorname = $doctordetails->name; } else { $doctorname = $appointment->doctorname; } $info[] = array( $appointment->id, $patientname, $doctorname, date('d-m-Y', $appointment->date) . '
' . $appointment->s_time . '-' . $appointment->e_time, $appointment->remarks, $appointment->status, $option1 . ' ' . $option2 ); $i = $i + 1; } if (!empty($data['appointments'])) { $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $i, "recordsFiltered" => $i, "data" => $info ); } else { $output = array( // "draw" => 1, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => [] ); } echo json_encode($output); } function getConfirmedAppoinmentList() { $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($this->ion_auth->in_group(array('Doctor'))) { $doctor_ion_id = $this->ion_auth->get_user_id(); $doctor = $this->db->get_where('doctor', array('ion_user_id' => $doctor_ion_id))->row()->id; if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getConfirmedAppointmentBysearchByDoctor($doctor, $search); } else { $data['appointments'] = $this->appointment_model->getConfirmedAppointmentByDoctor($doctor); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getConfirmedAppointmentByLimitBySearchByDoctor($doctor, $limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getConfirmedAppointmentByLimitByDoctor($doctor, $limit, $start); } } } else { if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getConfirmedAppointmentBysearch($search); } else { $data['appointments'] = $this->appointment_model->getConfirmedAppointment(); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getConfirmedAppointmentByLimitBySearch($limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getConfirmedAppointmentByLimit($limit, $start); } } } // $data['patients'] = $this->patient_model->getVisitor(); $i = 0; foreach ($data['appointments'] as $appointment) { // $i = $i + 1; $option1 = ''; $option2 = ' '; $patientdetails = $this->patient_model->getPatientById($appointment->patient); if (!empty($patientdetails)) { $patientname = ' ' . $patientdetails->name . ''; } else { $patientname = ' ' . $appointment->patientname . ''; } $doctordetails = $this->doctor_model->getDoctorById($appointment->doctor); if (!empty($doctordetails)) { $doctorname = $doctordetails->name; } else { $doctorname = $appointment->doctorname; } $info[] = array( $appointment->id, $patientname, $doctorname, date('d-m-Y', $appointment->date) . '
' . $appointment->s_time . '-' . $appointment->e_time, $appointment->remarks, $appointment->status, $option1 . ' ' . $option2 ); $i = $i + 1; } if (!empty($data['appointments'])) { $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $i, "recordsFiltered" => $i, "data" => $info ); } else { $output = array( // "draw" => 1, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => [] ); } echo json_encode($output); } function getTreatedAppoinmentList() { $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($this->ion_auth->in_group(array('Doctor'))) { $doctor_ion_id = $this->ion_auth->get_user_id(); $doctor = $this->db->get_where('doctor', array('ion_user_id' => $doctor_ion_id))->row()->id; if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getTreatedAppointmentBysearchByDoctor($doctor, $search); } else { $data['appointments'] = $this->appointment_model->getPendingAppointmentByDoctor($doctor); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getTreatedAppointmentByLimitBySearchByDoctor($doctor, $limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getTreatedAppointmentByLimitByDoctor($doctor, $limit, $start); } } } else { if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getTreatedAppointmentBysearch($search); } else { $data['appointments'] = $this->appointment_model->getTreatedAppointment(); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getTreatedAppointmentByLimitBySearch($limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getTreatedAppointmentByLimit($limit, $start); } } } // $data['patients'] = $this->patient_model->getVisitor(); $i = 0; foreach ($data['appointments'] as $appointment) { // $i = $i + 1; $option1 = ''; $option2 = ' '; $patientdetails = $this->patient_model->getPatientById($appointment->patient); if (!empty($patientdetails)) { $patientname = ' ' . $patientdetails->name . ''; } else { $patientname = ' ' . $appointment->patientname . ''; } $doctordetails = $this->doctor_model->getDoctorById($appointment->doctor); if (!empty($doctordetails)) { $doctorname = $doctordetails->name; } else { $doctorname = $appointment->doctorname; } $info[] = array( $appointment->id, $patientname, $doctorname, date('d-m-Y', $appointment->date) . '
' . $appointment->s_time . '-' . $appointment->e_time, $appointment->remarks, $appointment->status, $option1 . ' ' . $option2 ); $i = $i + 1; } if (!empty($data['appointments'])) { $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $i, "recordsFiltered" => $i, "data" => $info ); } else { $output = array( // "draw" => 1, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => [] ); } echo json_encode($output); } function getCancelledAppoinmentList() { $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($this->ion_auth->in_group(array('Doctor'))) { $doctor_ion_id = $this->ion_auth->get_user_id(); $doctor = $this->db->get_where('doctor', array('ion_user_id' => $doctor_ion_id))->row()->id; if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getCancelledAppointmentBysearchByDoctor($doctor, $search); } else { $data['appointments'] = $this->appointment_model->getCancelledAppointmentByDoctor($doctor); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getCancelledAppointmentByLimitBySearchByDoctor($doctor, $limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getCancelledAppointmentByLimitByDoctor($doctor, $limit, $start); } } } else { if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getCancelledAppointmentBysearch($search); } else { $data['appointments'] = $this->appointment_model->getCancelledAppointment(); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getCancelledAppointmentByLimitBySearch($limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getCancelledAppointmentByLimit($limit, $start); } } } // $data['patients'] = $this->patient_model->getVisitor(); $i = 0; foreach ($data['appointments'] as $appointment) { // $i = $i + 1; $option1 = ''; $option2 = ' '; $patientdetails = $this->patient_model->getPatientById($appointment->patient); if (!empty($patientdetails)) { $patientname = ' ' . $patientdetails->name . ''; } else { $patientname = ' ' . $appointment->patientname . ''; } $doctordetails = $this->doctor_model->getDoctorById($appointment->doctor); if (!empty($doctordetails)) { $doctorname = $doctordetails->name; } else { $doctorname = $appointment->doctorname; } $info[] = array( $appointment->id, $patientname, $doctorname, date('d-m-Y', $appointment->date) . '
' . $appointment->s_time . '-' . $appointment->e_time, $appointment->remarks, $appointment->status, $option1 . ' ' . $option2 ); $i = $i + 1; } if (!empty($data['appointments'])) { $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $i, "recordsFiltered" => $i, "data" => $info ); } else { $output = array( // "draw" => 1, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => [] ); } echo json_encode($output); } function getTodaysAppoinmentList() { $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($this->ion_auth->in_group(array('Doctor'))) { $doctor_ion_id = $this->ion_auth->get_user_id(); $doctor = $this->db->get_where('doctor', array('ion_user_id' => $doctor_ion_id))->row()->id; if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentListBySearchByDoctor($doctor, $search); } else { $data['appointments'] = $this->appointment_model->getAppointmentListByDoctor($doctor); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentListByLimitBySearchByDoctor($doctor, $limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getAppointmentListByLimitByDoctor($doctor, $limit, $start); } } } else { if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentBysearch($search); } else { $data['appointments'] = $this->appointment_model->getAppointment(); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentByLimitBySearch($limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getAppointmentByLimit($limit, $start); } } } // $data['patients'] = $this->patient_model->getVisitor(); $i = 0; foreach ($data['appointments'] as $appointment) { //$i = $i + 1; $option1 = ''; $option2 = ' '; $patientdetails = $this->patient_model->getPatientById($appointment->patient); if (!empty($patientdetails)) { $patientname = ' ' . $patientdetails->name . ''; } else { $patientname = ' ' . $appointment->patientname . ''; } $doctordetails = $this->doctor_model->getDoctorById($appointment->doctor); if (!empty($doctordetails)) { $doctorname = $doctordetails->name; } else { $doctorname = $appointment->doctorname; } if ($appointment->date == strtotime(date('Y-m-d'))) { $info[] = array( $appointment->id, $patientname, $doctorname, date('d-m-Y', $appointment->date) . '
' . $appointment->s_time . '-' . $appointment->e_time, $appointment->remarks, $appointment->status, $option1 . ' ' . $option2 ); $i = $i + 1; } else { $info1[] = array($appointment->id, $appointment->patientname, $appointment->doctorname, date('d-m-Y', $appointment->date) . '
' . $appointment->s_time . '-' . $appointment->e_time, $appointment->remarks, $appointment->status, $option1 . ' ' . $option2 ); } } if ($i !== 0) { $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $i, "recordsFiltered" => $i, "data" => $info ); } else { $output = array( // "draw" => 1, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => [] ); } echo json_encode($output); } function getUpcomingAppoinmentList() { $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($this->ion_auth->in_group(array('Doctor'))) { $doctor_ion_id = $this->ion_auth->get_user_id(); $doctor = $this->db->get_where('doctor', array('ion_user_id' => $doctor_ion_id))->row()->id; if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentListBySearchByDoctor($doctor, $search); } else { $data['appointments'] = $this->appointment_model->getAppointmentListByDoctor($doctor); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentListByLimitBySearchByDoctor($doctor, $limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getAppointmentListByLimitByDoctor($doctor, $limit, $start); } } } else { if ($limit == -1) { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentBysearch($search); } else { $data['appointments'] = $this->appointment_model->getAppointment(); } } else { if (!empty($search)) { $data['appointments'] = $this->appointment_model->getAppointmentByLimitBySearch($limit, $start, $search); } else { $data['appointments'] = $this->appointment_model->getAppointmentByLimit($limit, $start); } } } // $data['patients'] = $this->patient_model->getVisitor(); $i = 0; foreach ($data['appointments'] as $appointment) { //$i = $i + 1; $option1 = ''; $option2 = ' '; if ($appointment->date > strtotime(date('Y-m-d'))) { $patientdetails = $this->patient_model->getPatientById($appointment->patient); if (!empty($patientdetails)) { $patientname = ' ' . $patientdetails->name . ''; } else { $patientname = ' ' . $appointment->patientname . ''; } $doctordetails = $this->doctor_model->getDoctorById($appointment->doctor); if (!empty($doctordetails)) { $doctorname = $doctordetails->name; } else { $doctorname = $appointment->doctorname; } $info[] = array( $appointment->id, $patientname, $doctorname, date('d-m-Y', $appointment->date) . '
' . $appointment->s_time . '-' . $appointment->e_time, $appointment->remarks, $appointment->status, $option1 . ' ' . $option2 ); $i = $i + 1; } else { $info1[] = array($appointment->id, $appointment->patientname, $appointment->doctorname, date('d-m-Y', $appointment->date) . '
' . $appointment->s_time . '-' . $appointment->e_time, $appointment->remarks, $appointment->status, $option1 . ' ' . $option2 ); } } if ($i !== 0) { $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $i, "recordsFiltered" => $i, "data" => $info ); } else { $output = array( // "draw" => 1, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => [] ); } echo json_encode($output); } } /* End of file appointment.php */ /* Location: ./application/modules/appointment/controllers/appointment.php */