/**
  * Show the form for creating a new diagonosticprocedure
  *
  * @return Response
  */
 public function create()
 {
     $appointment = Appointment::find(Input::get('id'));
     $patient_id = $appointment->patient->id;
     $patient_id = Input::get('id');
     return View::make('diagonosticprocedures.create', compact('appointment', 'patient_id'));
 }
 /**
  * Update the specified appointment in storage.
  *
  * @param  int  $appointment_id
  * @return Response
  *
  */
 public function update($appointment_id)
 {
     $appointment = Appointment::find($appointment_id);
     $input = Input::all();
     if (isset($input['category_id'])) {
         $appointment->category_id = $input['category_id'];
     }
     if (isset($input['title'])) {
         $appointment->title = $input['title'];
     }
     if (isset($input['start'])) {
         $appointment->start = Carbon::parse($input['start'])->toDateTimeString();
     }
     if (isset($input['end'])) {
         $appointment->end = Carbon::parse($input['end'])->toDateTimeString();
     }
     $start = Carbon::parse($appointment->start);
     $end = Carbon::parse($appointment->end);
     // Check that start is before end
     if ($start->gt($end)) {
         return Response::json(array('message' => 'Start can not be after end'), 400);
     }
     $appointment->save();
     return Response::json($appointment);
 }
 /**
  * Show the form for creating a new prescription
  *
  * @return Response
  */
 public function create()
 {
     $appointment = Appointment::find(Input::get('id'));
     $patient_id = $appointment->patient->id;
     $doctors = Employee::where('role', 'Doctor')->where('status', 'Active')->get();
     $medicines = Medicine::all()->lists('name', 'id');
     return View::make('prescriptions.create', compact('medicines', 'appointment', 'patient_id', 'doctors'));
 }
 /**
  * Show the form for editing the specified appointment.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $doctors = Employee::where('role', 'Doctor')->where('status', 'active')->get();
     $patients = Patient::all();
     $appointment = Appointment::find($id);
     $timeslot = $appointment->timeslot->first()->where('dutyday_id', $appointment->timeslot->dutyday_id)->lists('slot', 'id');
     return View::make('appointments.edit', compact('timeslot', 'appointment', 'doctors', 'patients'));
 }
 public function postDelete($id)
 {
     $event = Appointment::find($id);
     if ($event) {
         $event->delete();
         return Response::json(array('status' => 'success'));
     }
     return Response::json(array('status' => 'error'));
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $app = $this->appointment->find($id);
     if ($app) {
         $userid = $app->patient_id;
         $pfid = $app->patient_encounter_form_id;
         $pef = $this->patientencounterform->find($pfid);
         DB::statement('SET FOREIGN_KEY_CHECKS = 0');
         if ($pef) {
             $pef->delete();
         }
         $app->delete();
         DB::statement('SET FOREIGN_KEY_CHECKS = 1');
         return $this->getAppointmentsOfAUser($userid);
         /*
         			$userdata['message'] = "Appointment successfully deleted";	
         			$userdata['error'] = false;*/
     } else {
         $userdata['error'] = true;
         $userdata['message'] = "Appointment not found.";
     }
     return $userdata;
     //return Redirect::route('appointments.index');
 }
 /**
  * Show the form for creating a new labtest
  *
  * @return Response
  */
 public function create()
 {
     $appointment = Appointment::find(Input::get('id'));
     return View::make('labtests.create', compact('appointment'));
 }
 function pdf_record()
 {
     $appointment = Appointment::find(Input::get('id'));
     $patient = $appointment->patient;
     //      Personal Information
     $dob = date('j F, Y', strtotime($patient->dob));
     $html = "<html><body>" . " <img src='./images/logo_new1.jpg'/>\n                <center>\n                    <h1><u> {$patient->name} Medical Record </u></h1>\n                </center>\n                <table style='width: 80%; border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Personal Information)</caption>\n                    <tr>\n                        <td height='20'><label>Patient Name:</label></td>\n                        <td><label> {$patient->name} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Patient ID:</label></td>\n                        <td><label> {$patient->patient_id} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Date of Birth:</label></td>\n                        <td><label> {$dob} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Gender:</label></td>\n                        <td><label> {$patient->gender} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Age:</label></td>\n                        <td><label> {$patient->age} Years</label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Email:</label></td>\n                        <td><label> {$patient->email} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>City:</label></td>\n                        <td><label> {$patient->city} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'> <label>Country:</label></td>\n                        <td><label> {$patient->country} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'> <label>Address:</label></td>\n                        <td><label> {$patient->address} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'> <label>Phone:</label></td>\n                        <td><label> {$patient->phone} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'> <label>CNIC:</label></td>\n                        <td><label> {$patient->cnic} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'> <label>Additional Info:</label></td>\n                        <td><label> {$patient->note} </label></td>\n                    </tr>\n                </table>";
     //      Appointment Details
     $doctor = $appointment->employee->name;
     $visit_date = date('j F, Y', strtotime($appointment->date));
     if ($appointment->checkupfee) {
         $checkup_fee = $appointment->checkupfee->checkup_fee;
     } else {
         $checkup_fee = 0;
     }
     $html .= "<br> <br>\n                <table style='border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Appointment Details)</caption>\n                    <tr>\n                        <td height='20'><label>Visit Date:</label></td>\n                        <td><label> {$visit_date} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Visit Time:</label></td>\n                        <td><label> {$appointment->time} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Doctor Name:</label></td>\n                        <td><label> {$doctor} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Checkup Reason:</label></td>\n                        <td><label> {$appointment->checkup_reason} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'> <label>Checkup Fee:</label></td>\n                        <td><label> {$checkup_fee}-/Rs </label></td>\n                    </tr>\n                </table>";
     //      Prescription
     if ($appointment->prescription) {
         $medicines = [];
         foreach (explode(',', $appointment->prescription->medicines) as $id) {
             array_push($medicines, Medicine::find($id));
         }
         $doctor = $appointment->employee->name;
         $code = $appointment->prescription->code;
         $note = $appointment->prescription->note;
         $proc = $appointment->prescription->procedure;
         $html .= "<br> <br> <br> <br> <br>\n                <table style='border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Prescription)</caption>\n                    <tr>\n                        <td height='20'><label>Patient Name:</label></td>\n                        <td><label> {$patient->name} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Patient ID:</label></td>\n                        <td><label> {$patient->patient_id} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Visit Date:</label></td>\n                        <td><label> {$appointment->date} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Visit Time:</label></td>\n                        <td><label> {$appointment->time} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Doctor Name:</label></td>\n                        <td><label> {$doctor} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Prescription Code:</label></td>\n                        <td><label> {$code} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'> <label>Medicines:</label></td>\n                        <td><label>";
         foreach ($medicines as $index => $medicine) {
             $html .= $index + 1 . ' - ' . $medicine->name . "<br />";
         }
         $html .= "</label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Note:</label></td>\n                        <td><label> {$note} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Diagnostic Procedure:</label></td>\n                        <td><label> {$proc} </label></td>\n                    </tr>\n                </table>";
     }
     //      Vitalsigns
     if ($appointment->vitalsign) {
         $note = $appointment->vitalsign->note;
         $vitals = $appointment->vitalsign;
         $html .= "<br> <br>\n                <table style='border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Vital Signs)</caption>\n                    <tr>\n                        <td height='20'><label>Patient Height:</label></td>\n                        <td><label> {$vitals->height} - cm </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Patient Weight:</label></td>\n                        <td><label> {$vitals->weight} - kg </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Blood Pressure (Systolic):</label></td>\n                        <td><label> {$vitals->bp_systolic} - mmHg </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Blood Pressure (Diastolic):</label></td>\n                        <td><label> {$vitals->bp_diastolic} - mmHg </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Blood Group:</label></td>\n                        <td><label> {$vitals->blood_group} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Pulse Rate:</label></td>\n                        <td><label> {$vitals->pulse_rate} - per min </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Respiration Rate:</label></td>\n                        <td><label> {$vitals->respiration_rate} - per min </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'> <label>Temperature:</label></td>\n                        <td><label> {$vitals->temprature} - {$vitals->temprature_unit} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Note:</label></td>\n                        <td><label> {$vitals->note} </label></td>\n                    </tr>\n                </table>";
     }
     //        Diagnostic Procedure
     if ($appointment->diagonosticprocedure) {
         $note = $appointment->diagonosticprocedure->procedure_note;
         $html .= "<br> <br>\n                <table style='border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Diagnostic Procedure)</caption>\n                    <tr>\n                        <td height='20'><label>Procedure Note:</label></td>\n                        <td><label> {$note} </label></td>\n                    </tr>\n                </table>";
     }
     //        Lab Tests
     if ($appointment->labtests) {
         foreach ($appointment->labtests as $labtest) {
             $html .= "<br> <br>\n                <table style='border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Lab Test)</caption>\n                    <tr>\n                        <td height='20'><label>Test Name:</label></td>\n                        <td><label> {$labtest->test_name} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Test Description:</label></td>\n                        <td><label> {$labtest->test_description} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Test Results:</label></td>\n                        <td><label> {$labtest->test_results} </label></td>\n                    </tr>\n                </table>";
         }
     }
     //        Family History
     if ($patient->familyhistories) {
         foreach ($patient->familyhistories as $familyhistory) {
             $html .= "<br> <br>\n                <table style='border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Family History)</caption>\n                    <tr>\n                        <td height='20'><label>Family Member Name:</label></td>\n                        <td><label> {$familyhistory->f_member_name} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Relation wtih Patient:</label></td>\n                        <td><label> {$familyhistory->patient_relation} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Gender:</label></td>\n                        <td><label> {$familyhistory->gender} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Age:</label></td>\n                        <td><label> {$familyhistory->age} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Disease Note:</label></td>\n                        <td><label> {$familyhistory->diesease_note} </label></td>\n                    </tr>\n                </table>";
         }
     }
     //        Surgical History
     if ($patient->surgicalhistories) {
         foreach ($patient->surgicalhistories as $surgicalhistory) {
             $date = date('j F, Y', strtotime($surgicalhistory->surgery_date));
             $html .= "<br> <br>\n                <table style='border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Surgical History)</caption>\n                    <tr>\n                        <td height='20'><label>Surgery Name:</label></td>\n                        <td><label> {$surgicalhistory->surgery_name} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Surgery Date:</label></td>\n                        <td><label> {$date} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Surgery Note:</label></td>\n                        <td><label> {$surgicalhistory->surgery_notes} </label></td>\n                    </tr>\n                </table>";
         }
     }
     //        Previous Diseases
     if ($patient->previousdiseases) {
         foreach ($patient->previousdiseases as $disease) {
             $html .= "<br> <br>\n                <table style='border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Previous Disease)</caption>\n                    <tr>\n                        <td height='20'><label>Disease Name:</label></td>\n                        <td><label> {$disease->disease_name} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Disease Note:</label></td>\n                        <td><label> {$disease->disease_notes} </label></td>\n                    </tr>\n                </table>";
         }
     }
     //        Drug Usage
     if ($patient->drugusages) {
         foreach ($patient->drugusages as $drug) {
             $html .= "<br> <br>\n                <table style='border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Drug Usage)</caption>\n                    <tr>\n                        <td height='20'><label>Drug Name:</label></td>\n                        <td><label> {$drug->drug_name} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Usage Note:</label></td>\n                        <td><label> {$drug->usage_note} </label></td>\n                    </tr>\n                </table>";
         }
     }
     //        Allergy
     if ($patient->allergies) {
         foreach ($patient->allergies as $allergy) {
             $html .= "<br> <br>\n                <table style='border-collapse: collapse; margin-left:auto; margin-right:auto' cellpadding='7' border='1'>\n                    <caption>(Allergy)</caption>\n                    <tr>\n                        <td height='20'><label>Allergy Name:</label></td>\n                        <td><label> {$allergy->allergy_name} </label></td>\n                    </tr>\n                    <tr>\n                        <td height='20'><label>Allergy Note:</label></td>\n                        <td><label> {$allergy->allergy_note} </label></td>\n                    </tr>\n                </table>";
         }
     }
     $html .= "</body></html>";
     return PDF::load($html, 'A4', 'portrait')->show($patient->name . ' Medical Record');
 }
 public function dataCancelAppointment($id)
 {
     $instituteId = Session::get('institute_id');
     if (!isset($instituteId)) {
         return 'not logged';
     }
     if (!isset($id)) {
         return 'invalid';
     }
     $appointment = Appointment::find($id);
     if (is_null($appointment)) {
         return 'invalid';
     } else {
         $appointment->status = 'institute-cancelled';
         $appointment->updated_at = date('Y-m-d H:i:s');
         $appointment->save();
         return 'done';
     }
 }
 public function getCancelAppointment()
 {
     $id = Input::get("cita_id");
     $cita = Appointment::find($id);
     $cita->state = 'not-accepted';
     $cita->save();
     if ($cita) {
         $mgs = new MgsAppointment();
         $mgs->appointment_id = $id;
         $mgs->text = "Su cita no fue aceptada";
         $mgs->save();
     }
     return Redirect::back()->withFlashMessage('Cita Cancelada');
 }
 /**
  * Show the form for creating a new checkupfee
  *
  * @return Response
  */
 public function create()
 {
     $appointment = Appointment::find(Input::get('id'));
     $patient_id = $appointment->patient->id;
     return View::make('checkupfees.create', compact('appointment', 'patient_id'));
 }
 public function getEditAjaxAppointments()
 {
     if (Request::ajax()) {
         //validamos el formulario
         $registerData = array('start' => Input::get('start'), 'end' => Input::get('end'));
         $rules = array('start' => 'required|min:2', 'end' => 'required|min:2');
         $messages = array('required' => 'El campo :attribute es obligatorio.', 'min' => 'El campo :attribute no puede tener menos de :min carácteres.');
         $validation = Validator::make($registerData, $rules, $messages);
         //si la validación falla redirigimos al formulario de registro con los errores
         if ($validation->fails()) {
             //como ha fallado el formulario, devolvemos los datos en formato json
             //esta es la forma de hacerlo en laravel, o una de ellas
             return Response::json(array('success' => false, 'errors' => $validation->getMessageBag()->toArray()));
             //en otro caso ingresamos al usuario en la tabla usuarios
         } else {
             $dt = Carbon::now();
             if (Input::get("start") <= $dt) {
                 return Response::json(array('success' => false));
             }
             $id = Input::get("id");
             $AgendaAppo = Appointment::find($id);
             $AgendaAppo->state = "delayed";
             $AgendaAppo->start_date = Input::get("start");
             $AgendaAppo->end_date = Input::get("end");
             $AgendaAppo->save();
             return Response::json(array('success' => true));
         }
     }
 }
 public function showMyAppointments($id)
 {
     return $id . " . ";
     $citas = Appointment::find($id);
 }
 public function calendar_data()
 {
     $this->autoRender = false;
     $start_date = date('Y-m-d', $this->request->query['start']);
     $end_date = date('Y-m-d', $this->request->query['end']);
     //    debug($start_date);
     //    debug($end_date);
     App::import('Model', 'ScheduleManager.ServiceEntry');
     $serviceEntryModel = new ServiceEntry();
     $serviceEntryData = $serviceEntryModel->find('all', array('conditions' => array('ServiceEntry.booked_for >' => $start_date, 'ServiceEntry.booked_for <=' => $end_date)));
     //    debug($serviceEntryData);
     App::import('Model', 'ScheduleManager.InstallerSchedule');
     $installerScheduleModel = new InstallerSchedule();
     $installerScheduleData = $installerScheduleModel->find('all', array('conditions' => array('InstallerSchedule.start_install >' => $start_date, 'InstallerSchedule.start_install <=' => $end_date)));
     //    debug($installerScheduleData);
     App::import('Model', 'ScheduleManager.Appointment');
     $appointmentModel = new Appointment();
     $start_date = date('Y-m-d H:i:s', $this->request->query['start']);
     $end_date = date('Y-m-d H:i:s', $this->request->query['end']);
     $appointmentData = $appointmentModel->find('all', array('conditions' => array('Appointment.start_date >' => $start_date, 'Appointment.end_date <=' => $end_date)));
     //    debug($appointmentData);
     $calendarData = array();
     $calendarData = $this->Calendar->dataFormat('Service', $serviceEntryData, $calendarData);
     $calendarData = $this->Calendar->dataFormat('Installation', $installerScheduleData, $calendarData);
     $calendarData = $this->Calendar->dataFormat('Appointment', $appointmentData, $calendarData);
     echo json_encode($calendarData);
 }