middleware('auth'); $this->user_id = Auth::guard('agent')->user()->id; $this->url = $url; } public function index($id) { $patient = Patient::where('id', $id)->first(); if ($patient->profile_picture) $patient->profile_picture = $this->url->to("storage/profile_pictures/", $patient->profile_picture); else $patient->profile_picture = asset('img/avatars/1.png');; $notes = PatientNote::select( 'patient_notes.note', 'telemed_pros.name as provider_name', 'patient_notes.appointment_id', 'patient_notes.created_at as note_date' ) ->leftJoin('telemed_pros', 'telemed_pros.id', 'patient_notes.telemed_pros_id') ->where('patient_id', $id)->get(); $prescriptions = PatientPrescription::select( 'appointments.appointment_date', 'appointments.appointment_time', 'appointments.timezone', 'appointments.start_time', 'patient_prescription.direction_quantity', 'patient_prescription.refill_quantity', 'patient_prescription.dosage', 'patient_prescription.status', 'patient_prescription.direction_one', 'patient_prescription.direction_two', 'patient_prescription.dont_substitute', 'patient_prescription.comments', 'patient_prescription.brand', 'patient_prescription.from', 'patient_prescription.quantity', 'patient_prescription.created_at as prescription_date', 'telemed_pros.name', 'telemed_pros.email as provider_email', 'telemed_pros.gender as provider_gender', 'telemed_pros.specialty as provider_specialty', 'telemed_pros.years_of_experience', 'prescriptions.name as prescription_name', 'carts.id as order_id', // 'prescriptions.price as prescription_price', // 'prescriptions.shipping_cost as prescription_shipping_cost', 'patient_prescription.prescription_id' ) ->leftJoin('appointments', 'appointments.id', 'patient_prescription.appointment_id') ->leftJoin('carts', 'carts.appointment_id', '=', 'appointments.id') ->leftJoin('telemed_pros', 'appointments.telemed_pros_id', 'telemed_pros.id') ->leftJoin('prescriptions', 'prescriptions.id', 'patient_prescription.prescription_id') ->where('patient_prescription.patient_id', $id)->get(); return response()->json( [ 'notes_history' => $notes, 'prescriptions' => $prescriptions, 'patient_details' => $patient ], 200 ); } public function labkitOrderItemStore(Request $request) { // Validate the request data $validator = Validator::make($request->all(), [ 'cart_id' => 'required|exists:carts,id', 'item_id' => 'required|exists:items,id', 'lab_kit_id' => 'required|exists:lab_kit,id', /* 'result' => 'nullable|string', */ ]); if ($validator->fails()) { return response()->json([ 'errors' => $validator->errors(), ], 422); } // Create a new LabkitOrderItem $labkitOrderItem = LabkitOrderItem::create([ 'cart_id' => $request['cart_id'], 'item_id' => $request['item_id'], 'lab_kit_id' => $request['lab_kit_id'], /* 'result' => $request['result'], */ 'status' => "Ordered", ]); return response()->json([ 'message' => 'Order detail stored successfully', 'data' => $labkitOrderItem, ], 201); } public function labkitOrderItemGet(Request $request) { $labkitOrderItems = LabkitOrderItem::where('labkit_order_items.cart_id', $request->input('cart_id')) ->leftJoin( 'lab_kit', 'labkit_order_items.lab_kit_id', '=', 'lab_kit.id' ) ->leftJoin( 'items', 'items.id', 'labkit_order_items.item_id' ) ->leftJoin( 'plans_v1', 'plans_v1.id', 'items.plans_id' ) ->select( 'labkit_order_items.id', 'labkit_order_items.status', 'labkit_order_items.result', 'lab_kit.name as lab_kit_name', 'plans_v1.title as item_name' ) ->get(); foreach ($labkitOrderItems as $labKit) { if ($labKit->result != "") $labKit->result = $this->url->to('storage/lab_results/' . $labKit->result); } return response()->json([ 'data' => $labkitOrderItems, ]); } public function getLabKit(Cart $cart, Request $request) { $kit = LabKit::all(); return response()->json(['kit' => $kit], 200); } }