get('patient_id'); $patient = Patient::where('id', $patient_id)->first(); $drugs = Drug::where('available', 1)->orderby('name','asc')->get(); $dosage_frequencies = DosageFrequency::get(); // prep the dropdowns $hiv_status = array('N/A' => '--select--', 'Positive' => 'Positive', 'Negative' => 'Negative', 'Exposed' => 'Exposed'); $tb_status = array('N/A' => '--select--', 'Negative' => 'Negative', 'Gene-expert positive' => 'Gene-expert positive', 'Extra-pulmonary positive' => 'Extra-pulmonary positive', 'Previous treated' => 'Previous treated', 'Exposed asymptomatic' => 'Exposed asymptomatic'); $alcohol = array('N/A' => '--select--', 'High' => 'High', 'Moderate' => 'Moderate', 'Low' => 'Low', 'Nil' => 'Nil'); $mood = array('N/A' => '--select--', 'Fine' => 'Fine', 'Swings' => 'Swings', 'Anxiety' => 'Anxiety'); $pulse_rhythm = array('N/A' => '--select--', 'Sinus' => 'Sinus', 'AF' => 'AF', 'Heart Block' => 'Heart Block', 'Ectopics' => 'Ectopics'); $sensation = array('N/A' => '--select--', 'Normal' => 'Normal', 'Impaired' => 'Impaired'); $fundoscopy = array('N/A' => '--select--', 'Normal' => 'Normal', 'Diabetic retinopathy' => 'Diabetic retinopathy', 'Hypertensive changes' => 'Hypertensive changes', 'Papilloedema' => 'Papilloedema', 'Other' => 'Other'); $injection_site_inspection = array('N/A' => '--select--', 'Satisfactory' => 'Satisfactory', 'Unsatisfactory' => '“Unsatisfactory'); return view('diabetes::diabetes_clinic.follow_up', compact('patient', 'tb_status', 'hiv_status', 'injection_site_inspection', 'pulse_rhythm', 'alcohol', 'mood', 'sensation', 'fundoscopy', 'drugs', 'dosage_frequencies')); } public function save_follow_up(Request $request){ $follow_up = new DiabetesFollowUp(); $follow_up->patient_id = session()->get('patient_id'); $follow_up->episode_id = session()->get('episode_id'); $follow_up->hypoglycaemic = isset($request->hypoglycaemic) ? 1 : 0; $follow_up->hyperglycaemic_episodes = isset($request->hyperglycaemic_episodes) ? 1 : 0; $follow_up->visual_symptoms = isset($request->visual_symptoms) ? 1 : 0; $follow_up->feet_sensation = isset($request->feet_sensation) ? 1 : 0; $follow_up->impotence = isset($request->impotence) ? 1 : 0; $follow_up->smoker = isset($request->smoker) ? 1 : 0; $follow_up->hiv_status = $request->hiv_status; $follow_up->tb_status = $request->tb_status; $follow_up->alcohol = $request->alcohol; $follow_up->mood = $request->mood; $follow_up->immunisation_date = $request->immunisation_date; $follow_up->comments = $request->comments; $follow_up->height = $request->height; $follow_up->weight = $request->weight; $follow_up->waist = $request->waist; $follow_up->hip = $request->hip; $follow_up->bp_lying = $request->bp_lying; $follow_up->bp_standing = $request->bp_standing; $follow_up->pulse_rate = $request->pulse_rate; $follow_up->pulse_rhythm = $request->pulse_rhythm; $follow_up->sensation = $request->sensation; $follow_up->pedal_pulses = isset($request->pedal_pulses) ? 1 : 0; $follow_up->feet_inspection = isset($request->feet_inspection) ? 1 : 0; $follow_up->visual_acuity = isset($request->visual_acuity) ? 1 : 0; $follow_up->fundoscopy = $request->fundoscopy; $follow_up->injection_site_inspection = $request->injection_site_inspection; $follow_up->examination_comments = $request->examination_comments; $follow_up->bmi = $request->bmi; $follow_up->waist_hip_ratio = $request->waist_hip_ratio; $follow_up->blood_glucose = $request->blood_glucose; $follow_up->creatinine = $request->creatinine; $follow_up->hdl_cholesterol = $request->hdl_cholesterol; $follow_up->ldl_cholesterol = $request->ldl_cholesterol; $follow_up->total_choresterol = $request->total_choresterol; $follow_up->triglyceride = $request->triglyceride; $follow_up->urine_protein = $request->urine_protein; $follow_up->urine_ketones = $request->urine_ketones; $follow_up->hba1c = $request->hba1c; $follow_up->drug_id = implode(",", $request->drug_id); $follow_up->dose = implode(",", $request->dose); $follow_up->frequency_id = implode(",", $request->frequency_id); $follow_up->dispense_number = implode(",", $request->dispense_number); $follow_up->overview_diabetes = isset($request->overview_diabetes) ? 1 : 0; $follow_up->overview_diabetes_date = $request->overview_diabetes_date; $follow_up->management_diabetes = isset($request->management_diabetes) ? 1 : 0; $follow_up->management_diabetes_date = $request->management_diabetes_date; $follow_up->diabetic_clinic_date = $request->diabetic_clinic_date; $follow_up->eye_clinic_referral = isset($request->eye_clinic_referral) ? 1 : 0; $follow_up->psychological_assessment_referral = isset($request->psychological_assessment_referral) ? 1 : 0; $follow_up->chaplain_support_referral = isset($request->chaplain_support_referral) ? 1 : 0; $follow_up->other_clinic_follow_up = $request->other_clinic_follow_up; $follow_up->created_by = Auth::user()->id; if ($follow_up->save()){ flash("Diabetes follow up details saved successfully")->success(); return redirect("/patient_episodes"); } else { flash("Something went wrong. Please try again.")->error(); return back()->withInput(); } } public function follow_up_details($id){ $patient_id = session()->get('patient_id'); $patient = Patient::where('id', $patient_id)->first(); $follow_up = DiabetesFollowUp::find($id); $drugs = Drug::where('available', 1)->pluck('name', 'id'); $dosage_frequencies = DosageFrequency::pluck('name', 'id'); return view('diabetes::diabetes_clinic.follow_up_details', compact('patient', 'drugs', 'dosage_frequencies', 'follow_up')); } public function get_dispensable_drug_units($drug_id){ return get_name($drug_id, 'id', 'pharmacy_stock', 'drugs'); } public function clinic_registration(){ $patient_id = session()->get('patient_id'); $episode_id = session()->get('episode_id'); $patient = Patient::where('id', $patient_id)->first(); $drugs = Drug::where('available', 1)->orderby('name','asc')->get(); $dosage_frequencies = DosageFrequency::get(); // prep the dropdowns $hiv_status = array('N/A' => '--select--', 'Positive' => 'Positive', 'Negative' => 'Negative', 'Exposed' => 'Exposed'); $tb_status = array('N/A' => '--select--', 'Negative' => 'Negative', 'Gene-expert positive' => 'Gene-expert positive', 'Extra-pulmonary positive' => 'Extra-pulmonary positive', 'Previous treated' => 'Previous treated', 'Exposed asymptomatic' => 'Exposed asymptomatic'); $type = array('N/A' => '--select--', 'Type 1' => 'Type 1', 'Type 2' => 'Type 2', 'Type 2 on insuline' => 'Type 2 on insulin'); $alcohol = array('N/A' => '--select--', 'High' => 'High', 'Moderate' => 'Moderate', 'Low' => 'Low', 'Nil' => 'Nil'); // check if the patient has already been registered $clinic_registration = DiabetesRegistration::where('episode_id', $episode_id)->first(); if ($clinic_registration){ // redirect to the view details page $drugs = Drug::where('available', 1)->pluck('name', 'id'); $dosage_frequencies = DosageFrequency::pluck('name', 'id'); // get follow up history if available $follow_up = DiabetesFollowUp::where('episode_id', $episode_id)->get(); return view('diabetes::diabetes_clinic.clinic_registration_details', compact('clinic_registration','patient', 'drugs', 'dosage_frequencies', 'hiv_status', 'tb_status', 'type', 'alcohol', 'follow_up')); } else { return view('diabetes::diabetes_clinic.clinic_registration', compact('patient', 'drugs', 'dosage_frequencies', 'hiv_status', 'tb_status', 'type', 'alcohol')); } } public function save_clinic_registration(Request $request){ $registration = new DiabetesRegistration(); $registration->patient_id = session()->get('patient_id'); $registration->episode_id = session()->get('episode_id'); $registration->family_history = $request->family_history; $registration->family_member_with_diabetes = $request->family_member_with_diabetes; $registration->diagnosis_date = $request->diagnosis_date; $registration->diabetes_type = $request->diabetes_type; $registration->presenting_none = isset($request->presenting_none) ? 1 : 0; $registration->presenting_dka = isset($request->presenting_dka) ? 1 : 0; $registration->presenting_excessive_thirst = isset($request->presenting_excessive_thirst) ? 1 : 0; $registration->presenting_polyuria = isset($request->presenting_polyuria) ? 1 : 0; $registration->presenting_weight_loss = isset($request->presenting_weight_loss) ? 1 : 0; $registration->presenting_visual_problems = isset($request->presenting_visual_problems) ? 1 : 0; $registration->presenting_peripheral_neuropathy = isset($request->presenting_peripheral_neuropathy) ? 1 : 0; $registration->other_symptoms = $request->other_symptoms; $registration->other_diagnosis = $request->other_diagnosis; $registration->hiv_status = $request->hiv_status; $registration->tb_status = $request->tb_status; $registration->height = $request->height; $registration->weight = $request->weight; $registration->bmi = $request->bmi; $registration->waist = $request->waist; $registration->hip_circumference = $request->hip_circumference; $registration->waist_to_hip_ratio = $request->waist_to_hip_ratio; $registration->smoker = isset($request->smoker) ? 1 : 0; $registration->alcohol = $request->alcohol; $registration->immunisation_date = $request->immunisation_date; $registration->drug_id = implode(",", $request->drug_id); $registration->dose = implode(",", $request->dose); $registration->frequency_id = implode(",", $request->frequency_id); $registration->dispense_number = implode(",", $request->dispense_number); $registration->hba1c = $request->hba1c; $registration->bp = $request->bp; $registration->cholesterol = $request->cholesterol; $registration->waist_hip_ratio = $request->waist_hip_ratio; $registration->overview_diabetes = isset($request->overview_diabetes) ? 1 : 0; $registration->overview_diabetes_date = $request->overview_diabetes_date; $registration->management_diabetes = isset($request->management_diabetes) ? 1 : 0; $registration->management_diabetes_date = $request->management_diabetes_date; $registration->diet_review = $request->diet_review; $registration->comment = $request->comment; $registration->created_by = Auth::user()->id; if ($registration->save()){ flash("Diabetes registration details saved successfully")->success(); return redirect("/patient_episodes"); } else { flash("Something went wrong. Please try again.")->error(); return back()->withInput(); } } }