initial commit

This commit is contained in:
Inshal
2024-10-25 01:02:11 +05:00
commit 6e65bc3a62
1710 changed files with 273609 additions and 0 deletions

216
routes/admin.php Normal file
View File

@@ -0,0 +1,216 @@
<?php
use App\Http\Controllers\admin\HomeController;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
// Route::get('/', function () {
// return view('welcome');
// });
Route::post('calendly/get-auth-url', 'App\Http\Controllers\Admin\Api\CalendlyController@getCalendlyAuthUrl');
Route::get('calendly/redirect-code', 'App\Http\Controllers\Admin\Api\CalendlyController@getRedirectCode')->name("redirectURI");
Route::any('calendly/get-available-times-schedule', 'App\Http\Controllers\Admin\Api\CalendlyController@getAvailableTimes');
Route::any('calendly/get-events', 'App\Http\Controllers\Admin\Api\CalendlyController@getEvent');
Route::any('calendly/set-event', 'App\Http\Controllers\Admin\Api\CalendlyController@setEvent');
Route::any('calendly/reset-event', 'App\Http\Controllers\Admin\Api\CalendlyController@resetEventUri');
Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'as' => 'admin.', 'middleware' => ['admin_auth']], function () {
Route::get('register', 'Auth\RegisterController@showRegisterForm')->name('register');
Route::post('registerPost', 'Auth\RegisterController@register')->name('registerPost');
Route::get('login', 'Auth\LoginController@showLoginForm');
Route::post('login', 'Auth\LoginController@login')->name('login');
Route::get('password/request', 'Auth\ResetPasswordController@resetPassword')->name('password.request');
Route::group(['middleware' => ['admin_authenticated']], function () {
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
Route::get('/', 'HomeController@index')->name('home');
Route::get('/agents', 'AgentController@index')->name('agents');
Route::get('/add/agent', 'AgentController@add')->name('add.agent');
Route::post('/add/agent/post', 'AgentController@save')->name('add.agent.post');
Route::get('/edit/agent/{id}', 'AgentController@edit')->name('edit.agent');
Route::post('/edit/agent/post/{id}', 'AgentController@update')->name('update.agent.post');
Route::get('/delete/agent/{id}', 'AgentController@delete')->name('delete.agent');
Route::get('/doctors', 'DoctorController@index')->name('doctors');
Route::get('/add/doctor', 'DoctorController@add')->name('add.doctor');
Route::post('/add/doctor/post', 'DoctorController@save')->name('add.doctor.post');
Route::get('/edit/doctor/{id}', 'DoctorController@edit')->name('edit.doctor');
Route::post('/edit/doctor/post/{id}', 'DoctorController@update')->name('update.doctor.post');
Route::get('/delete/doctor/{id}', 'DoctorController@delete')->name('delete.doctor');
Route::get('/patients', 'PatientController@index')->name('patients');
Route::get('/delete/patient/{id}', 'PatientController@delete')->name('delete.patient');
//labs routes
Route::get('/labs', 'LabsController@index')->name('labs');
Route::get('/lab/create', 'LabsController@create')->name('lab.create');
Route::post('/lab/save', 'LabsController@save')->name('lab.save');
Route::get('/lab/edit/{id}', 'LabsController@edit')->name('lab.edit');
Route::post('/lab/update/{id}', 'LabsController@update')->name('lab.update');
Route::post('/get-order-data', 'LabsController@getOrderData');
});
});
Route::group(['prefix' => 'api/admin', 'namespace' => 'Admin\Api', 'as' => 'api.admin.', 'middleware' => ['api']], function () {
Route::post('login', 'LoginController@loginApi');
Route::post('plans', [App\Http\Controllers\PatientController::class, 'getPlans']);
Route::group(['middleware' => ['admin_authenticated:sanctum']], function () {
Route::post('patient-list', 'PatientController@patientList');
Route::post('/store-order-data/{labkit}/{patient}', 'HomeController@storeOrderData');
Route::post('/edit-order-data/{cart}', 'HomeController@editOrderData');
Route::post('subscription-list-data', 'SubscriptionController@getSubscriptionList');
Route::post('product/{product}', 'HomeController@product');
Route::post('/admin-profile-update', 'HomeController@updateAdminProfile');
Route::post('/patient/{patient}', 'PatientController@patient');
Route::post('/patient-full-detail/{patient}', 'PatientController@patientFullDetail');
Route::post('/telemed-full-detail/{telemed}', 'TelemedProAgentController@telemedProFullDetail');
//patient crud start here
Route::post('/save-patient', 'PatientController@newPatient');
Route::post('/save-shipping-address/{id}', 'PatientController@patientShippingAddress');
Route::post('/patient-delete/{patient}', 'PatientController@patientDelete');
Route::post('/patient-update/{patient}', 'PatientController@patientUpdate');
Route::post('/telemed-pro-list', 'TelemedProAgentController@telemedList');
Route::post('/telemed-pro/{telemed}', 'TelemedProAgentController@telemed');
Route::post('/telemed-pro-delete/{telemed}', 'TelemedProAgentController@telemedDelete');
Route::post('/telemed-pro-update/{telemed}', 'TelemedProAgentController@telemedUpdate');
Route::post('/labs-list', 'HomeController@labsList');
Route::post('/labs/{lab}', 'HomeController@labs');
Route::post('/labs-delete/{lab}', 'HomeController@labsDelete');
Route::post('/labs-update/{lab}', 'HomeController@labsUpdate');
Route::post('get-appointment-list', 'AppointmentController@getAppointmentList');
Route::post('get-meeting-history/{patient}', 'AppointmentController@getMeetingHistory');
Route::post('get-meeting-history-with-agent/{telemedpro}', 'TelemedProAgentController@getMeetingHistoryTelemedpro');
Route::post('get-med-list', 'MedicineController@getMedList');
Route::post('save-med', 'MedicineController@SaveMed');
Route::post('update-med/{id}', 'MedicineController@EditMed');
Route::post('delete-med/{id}', 'MedicineController@DeleteMed');
Route::post('questions-files', 'MedicineController@getFileList');
Route::post('get-note/{patient}/{appointment}', 'PatientController@getNotePatient');
Route::post('get-appointment/{patient}/{appointment}', 'AppointmentController@getAppointmentByid');
Route::post('get-patient-prescriptions/{patient_id}/{appointment_id}', 'PatientController@getPatientPrescription');
Route::post('get-stats', 'DashboardController@getStats');
Route::post('site-settings', 'SiteSettingsController@getSiteSettings');
Route::post('update-settings/{id}', 'SiteSettingsController@updateSettings');
Route::post('password-update', 'SiteSettingsController@passwordReset');
Route::post('admin-details', 'DashboardController@getAdminDetails');
Route::post('patient-prescription-status-update/{PatientPrescription}', 'MedicineController@updateStatusPatientPrescription');
Route::post('labkit-status-update/{cart}', 'MedicineController@updateStatusLabkit');
Route::post('labkit-list', 'MedicineController@labkitList');
Route::post('patient-labkit-list', 'MedicineController@getPatientLabKitOrders');
Route::post('admin-update-profile', 'DashboardController@updateAdminDetails');
Route::post('labkit-list-create', 'MedicineController@labskitCreate');
Route::post('labkit-update/{labkit}', 'MedicineController@labskitUpdate');
Route::post('labkit-delete/{labkit}', 'MedicineController@labsKitDelete');
Route::post('patient-labkit-list/{patient}', 'MedicineController@getPatientLabKitOrders');
Route::post('get-question-builder/{patient}', 'HomeController@getQuestionBuilderStore');
/////////////////////////////////////
////////////////REPORTING APIS//////
Route::post('provider-report', 'ReportsController@providerReportFilters');
Route::post('provider-report-post', 'ReportsController@providerReportPost');
Route::post('get-total_sales', 'ReportsController@totalSales');
Route::post('order-analytics', 'ReportsController@ordersAnalytics');
Route::post('order-list', 'OrderController@orderList');
Route::post('order-list/{patient}', 'OrderController@orderListbyPatient');
Route::post('item-status/{id}', 'OrderController@updateItemStatus');
Route::post('order-count', 'OrderController@orderCount');
Route::post('order-details/{id}', 'OrderController@orderDetails');
Route::post('get-payment-details/{order_id}', 'OrderController@getPaymentDetail');
Route::post('labkit-order-items-get', 'OrderController@labkitOrderItemGet');
Route::post('analytics-overview', 'ReportsController@overviewReport');
Route::post('analytics-order', 'ReportsController@ordersReport');
Route::post('product-analytics', 'ReportsController@productAnalytics');
Route::post('order-filters', 'ReportsController@ordersFilters');
Route::post('patients/initial', 'ReportsController@initialPatients');
Route::post('patients/search', 'ReportsController@searchPatients');
Route::post('get-plans', 'HomeController@getProducts');
//dashboard
Route::post('/dashboard', 'DashboardController@index');
Route::post('telemedpro/register', 'TelemedProAgentController@register');
Route::post('telemedpro/details/{id}', 'TelemedProAgentController@details');
Route::post('admin-list', 'AdminController@index');
Route::post('admin-save', 'AdminController@saveAdmin');
Route::post('admin-edit/{id}', 'AdminController@editAdmin');
Route::post('admin-update/{id}', 'AdminController@updateAdmin');
Route::post('admin-details/{id}', 'AdminController@detailAdmin');
// permissions crud
Route::post('store-role', 'PermissionsController@storeRole');
Route::post('edit-role/{id}', 'PermissionsController@editRoles');
Route::post('update-role/{id}', 'PermissionsController@updateRoles');
Route::post('delete-role/{id}', 'PermissionsController@deleteRoles');
Route::post('update-permission/{id}', 'PermissionsController@updatePermissions');
Route::post('roles-list', 'PermissionsController@index');
Route::post('get-permissions/{id}', 'PermissionsController@getPermissions');
Route::post('update-pmerissions/{id}', 'PermissionsController@savePermissions');
Route::post('roles', 'AdminController@getRoles');
Route::post('get-prescriptions', 'HomeController@getPrescription');
Route::post('store-patient-prescriptions', 'PatientController@storePatientPrescription');
Route::post('edit-patient-prescriptions/{id}', 'PatientController@updatePatientPrescription');
Route::post('delete-patient-prescriptions/{id}', 'PatientController@deletePatientPrescription');
Route::post('update-status-prescriptions/{patient_prescription_id}', 'PatientController@updateStatusPrescription');
Route::post('get-status-prescriptions/{patient_prescription_id}', 'PatientController@getStatusPrescription');
Route::post('get-patient-prescriptions/{patient_prescription_id}', 'PatientController@getStatusPrescription');
Route::post('update-subscription/{subid}', 'SubscriptionController@updateSubscription');
Route::post('prescription-save', 'PrescriptionController@create');
Route::post('prescription-update/{id}', 'PrescriptionController@update');
Route::post('prescription-edit/{id}', 'PrescriptionController@edit');
Route::post('prescription-delete/{id}', 'PrescriptionController@delete');
Route::post('/available-slots/{date}', 'AppointmentController@availableSlots');
Route::post('/item-by-order/{order_id}', 'AppointmentController@getItemByOrder');
Route::post('create-subscription', 'SubscriptionController@CreateSubscription');
Route::post('get-subscription/{subscription}', 'SubscriptionController@getSubscription');
Route::post('delete-subscription/{subscription}', 'SubscriptionController@deleteSubscription');
Route::post('/agent-last-appointment-detail/{patient}', 'AppointmentController@getAgentLastAppointment');
Route::post('/create-question-builder/{category}', 'HomeController@questionBuilderStore');
Route::post('/medical-history-question-get/{patient}', 'HomeController@getMedicalHistoryQuestion');
Route::post('/medical-history-question-post/{patient}', 'HomeController@postMedicalHistoryQuestion');
Route::post('/process-payment', 'HomeController@processPayment');
Route::post('/book-appointment', 'AppointmentController@bookAppointment');
Route::post('/edit-booking-appointment/{appointment}', 'AppointmentController@editAppointment');
Route::post('/add-note/{cart}', 'OrderController@addNotePatient');
Route::post('/edit-note/{id}', 'OrderController@editNotePatient');
Route::post('/get-note/{id}', 'OrderController@getNotePatient');
Route::post('/delete-note/{id}', 'OrderController@deleteNotePatient');
});
});

137
routes/agent.php Normal file
View File

@@ -0,0 +1,137 @@
<?php
use App\Http\Controllers\Agent\AppointmentController;
use App\Http\Controllers\Agent\Auth\LoginController;
use App\Http\Controllers\Agent\DashboardController;
use App\Http\Controllers\Agent\MeetingController;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
// Route::get('/', function () {
// return view('welcome');
// });
Route::any('agent/login-agent', [LoginController::class, 'loginAgent']);
Route::post('agent/registerPost', 'Agent\DashboardController@register')->name('registerPost');
Route::post('agent/verify-email/{id}', 'Agent\DashboardController@emailVerify')->name('verify-email');
Route::post('agent/save-profile/{id}', 'Agent\DashboardController@saveProfile')->name('save-profile');
Route::post('agent/resend-code/{id}', 'Agent\DashboardController@resendCode')->name('resend-code');
Route::group(['prefix' => 'agent', 'namespace' => 'Agent', 'as' => 'agent.', 'middleware' => ['agent_auth']], function () {
Route::get('register', 'Auth\RegisterController@showRegisterForm')->name('register');
Route::get('login', 'Auth\LoginController@showLoginForm');
Route::post('login/post', 'Auth\LoginController@login');
Route::get('password/request', 'Auth\ResetPasswordController@resetPassword')->name('password.request');
Route::group(['middleware' => ['auth:agent']], function () {
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
Route::get('/', 'HomeController@index')->name('home');
Route::get('/dashboard', 'DashboardController@index');
/* Route::get('/join-meeting/{roomName}', [MeetingController::class, 'joinMeeting']); */
Route::get('/appointments', 'AppointmentController@index')->name('appointments');
Route::post('api/profile', 'AppointmentController@profile')->name('profile');
Route::post('api/profile-image-upload/{patient}', 'AppointmentController@profileImageUpload')->name('profileImageUpload');
Route::get('/delete/appointment/{id}', 'AppointmentController@delete')->name('delete.appointment');
Route::get('/patient-details/{id}', 'AppointmentController@patientDetails')->name('patient-details');
Route::post('api/patient-profile-details/{patient}', 'AppointmentController@patientProfileDetails');
Route::get('/patient-address/{id}', 'AppointmentController@patientAddress')->name('patient-address');
Route::get('/patient-labs/{id}', 'AppointmentController@patientLabs')->name('patient-labs');
Route::post('/patient-address/post/{id}', 'AppointmentController@savePatientAddress')->name('patient.address.post');
Route::post('api/pending-appointment', 'AppointmentController@pendingAppointmentDetail');
Route::get('/patient-tasks/{id}', 'AppointmentController@patientTasks')->name('patient-tasks');
Route::post('/patient-tasks/post/{id}', 'AppointmentController@patientTasksSave')->name('patient-tasks.post');
Route::get('/patient-tasks/delete/{id}', 'AppointmentController@patientTaskDelete')->name('patient-tasks.delete');
Route::post('api/start-call/{patient_id}/{agent_id}/{appointment_id}', [MeetingController::class, 'startCall'])->name("startCall");
Route::post('api/end-call/{patient}/{appointment}', [MeetingController::class, 'endCall'])->name("endCall");
Route::post('api/start-record/{appointment}', [MeetingController::class, 'startRecording'])->name("startRecording");
Route::post('api/end-call/{patient_id}/{appointment_id}', [MeetingController::class, 'endCall']);
Route::post('api/labs/search', [MeetingController::class, 'searchLabsByAddress'])->name("searchLabsByAddress");
Route::post('api/update-patient-info/{patientId}', [MeetingController::class, 'updateInfo']);
Route::post('api/get-patient-info/{patientId}', [MeetingController::class, 'getInfo']);
Route::post('api/get-doctors-list', [MeetingController::class, 'getDoctorList']);
Route::post('api/get-appointment-list', [MeetingController::class, 'getAppointmentList']);
Route::post('api/book-doc-appointment/post/{id}', [AppointmentController::class, 'doctorAppointmentSave'])->name('book-doc-appointment.post');
Route::post('api/get-doctors-appointment-list', [MeetingController::class, 'getDoctorAppointmentList']);
Route::post('api/get-completed-appointment-list', [DashboardController::class, 'getProviderMeetings']);
Route::post('api/available-slots/{date}', [MeetingController::class, 'availableSlots']);
Route::post('api/appointment-detail/{appointment}', [MeetingController::class, 'appointmentDetail']);
Route::post('api/patient-book-lab/post/{appointment}', 'AppointmentController@patientBookLab')->name('patient.book-lab.post');
Route::post('api/patient-book-lab/get/{appointment}', 'AppointmentController@patientBookLabGet')->name('patient.book-lab.get');
Route::post('api/questions-list', 'AppointmentController@questionsList')->name('questionsList');
Route::post('api/questions-answers/{patient_id}/{appointment_id}', 'AppointmentController@questionsAnswers');
Route::post('api/question-answer/{patient}/{appointment}', 'AppointmentController@storeAnswers')->name('storeAnswers');
Route::post('api/get-question-answer/{patient}/{appointment}', 'AppointmentController@getQuestions')->name('getQuestions');
Route::post('api/patient-recording-switch/{agent}/{switch}', 'AppointmentController@switchButton');
Route::post('api/patient-recording-switch-get/{agent}', 'AppointmentController@switchButtonGet');
Route::post('api/patient-ai-transcript-switch/{agent}/{switch}', 'AppointmentController@switchAiButton');
Route::post('api/patient-ai-transcript-switch-get/{agent}', 'AppointmentController@switchAiButtonGet');
Route::post('api/agent-profile', 'AppointmentController@getProfile');
Route::post('api/get-analytics/{filter?}', 'AppointmentController@getAnalytics');
Route::post('api/get-meeting-history/{filter?}', 'AppointmentController@getMeetingHistory');
Route::post('api/get-history', 'AppointmentController@sessionHistory');
Route::post('api/add-note/{patient}/{appointment}', 'AppointmentController@addNotePatient');
Route::post('api/get-note/{patient}/{appointment}', 'AppointmentController@getNotePatient');
Route::post('api/get-appointment/{patient}/{appointment}', 'AppointmentController@getAppointmentByid');
Route::post('api/get-profile-categories', [App\Http\Controllers\PatientController::class, 'getProfileCategories']);
Route::post('api/get-question-builder/{patient}', 'AppointmentController@getQuestionBuilderStore');
Route::post('api/get-prescriptions', 'AppointmentController@getPrescription');
Route::post('api/store-prescriptions', 'AppointmentController@storePrescription');
Route::post('api/update-status-prescriptions/{patient_prescription_id}', 'AppointmentController@updateStatusPrescription');
Route::post('api/get-status-prescriptions/{patient_prescription_id}', 'AppointmentController@getStatusPrescription');
Route::post('api/store-patient-prescriptions', 'AppointmentController@storePatientPrescription');
Route::post('api/get-patient-prescriptions/{patient_id}/{appointment_id}', 'AppointmentController@getPatientPrescription');
Route::post('api/store-order-data', 'AppointmentController@getOrderData');
Route::post('api/store-order-data/{cart}', 'AppointmentController@updateStatusOrderData');
Route::post('api/get-lab-kit/', 'AppointmentController@getLabKit');
Route::post('api/order-lab-kit/{labkit}/{patient}', 'AppointmentController@orderLabKit');
Route::post('api/get-order-lab-kit/{labkit}/{patient}', 'AppointmentController@getorderedLabKit');
Route::post('api/get-order-lab-kit/{patient}', 'AppointmentController@getorderedLabKitBasedOnPatient');
Route::post('api/device-current-status', 'AppointmentController@DeviceCurrentStatus');
Route::post('api/appointment-status/{id}', 'MeetingController@markAppointmentsStatus');
Route::post('api/order-list', 'OrderController@orderList');
Route::post('api/order-details/{id}', 'OrderController@orderDetails');
Route::post('api/patient-history/{id}', 'PatientProfileController@index');
Route::post('api/labkit-order-items', 'PatientProfileController@labkitOrderItemStore');
Route::post('api/labkit-order-items-get', 'PatientProfileController@labkitOrderItemGet');
Route::post('api/patient-appointments', 'AppointmentController@PatientAppointment');
});
});
Route::get('api/questions', 'AppointmentController@questions')->name('questions');
/* Route::post('agent/api/doctor-appointment-booking', [MeetingController::class, 'drAppointmentBooking'])->name("drAppointmentBooking"); */
Route::get('/create-meeting/{meeting_id}', [MeetingController::class, 'show'])->name("createMeeting");
Route::get('/join-meeting/{meeting_id}', [MeetingController::class, 'joinMeeting'])->name("joinMeeting");
Route::post('/get-asseblyai-token', [MeetingController::class, 'getAsseblyAiToekn'])->name("asseblyai-token");

152
routes/api.php Normal file
View File

@@ -0,0 +1,152 @@
<?php
use App\Http\Controllers\Agent\MeetingController;
use App\Http\Controllers\Auth\ForgotPasswordController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "api" middleware group. Make something great!
|
*/
Route::any('/register-patient', [App\Http\Controllers\PatientController::class, 'registerPatient']);
Route::any('/login-patient', [App\Http\Controllers\PatientController::class, 'loginPatient']);
Route::post('/forgot-password', [App\Http\Controllers\Auth\ForgotPasswordController::class, 'forgotPassword']);
Route::post('/password-reset', [App\Http\Controllers\Auth\ForgotPasswordController::class, 'resetPassword']);
Route::post('/get-patient-detail/{patient}', [App\Http\Controllers\PatientController::class, 'getPatient']);
Route::post('/plans', [App\Http\Controllers\PatientController::class, 'getPlans']);
Route::post('/plans/{plan}', [App\Http\Controllers\PatientController::class, 'getPlansById']);
Route::post('/plans-product-update', [App\Http\Controllers\PatientController::class, 'planProductUpdate']);
Route::post('/plans-product-sync', [App\Http\Controllers\PatientController::class, 'planProductUpdateMultiple']);
Route::post('/get-product-categories', [App\Http\Controllers\PatientController::class, 'getProductCategories']);
Route::post('/settings', [App\Http\Controllers\PatientController::class, 'getSetting']);
Route::post('/check-email', [App\Http\Controllers\PatientController::class, 'checkEmail']);
Route::post('/get-lab-kit', [App\Http\Controllers\PatientController::class, 'getLabKit']);
Route::any('calendly/get-available-date-schedule', 'App\Http\Controllers\Admin\Api\CalendlyController@getAvailabeSlotDates');
Route::any('calendly/get-available-times-schedule', 'App\Http\Controllers\Admin\Api\CalendlyController@getAvailableDates');
Route::any('calendly/book-schedular', 'App\Http\Controllers\Admin\Api\CalendlyController@bookSchedule');
Route::group(['middleware' => ['auth:patient']], function () {
Route::post('/store-patient-plan', [App\Http\Controllers\PatientController::class, 'storePatientPlan']);
Route::post('/get-patient-plan', [App\Http\Controllers\PatientController::class, 'getPatientPlan']);
Route::post('/available-slots/{date}', [App\Http\Controllers\PatientController::class, 'availableSlots']);
Route::post('/update-patient-detail', [App\Http\Controllers\PatientController::class, 'updatePatient']);
Route::post('/update-patient/{id}', [App\Http\Controllers\PatientController::class, 'editPatient']);
Route::post('/change-password', [App\Http\Controllers\PatientController::class, 'updatePassword']);
Route::post('/book-appointment', [App\Http\Controllers\PatientController::class, 'bookAppointment']);
Route::post('/appointment-detail/{appointment}', [App\Http\Controllers\PatientController::class, 'appointmentDetail']);
Route::post('/queue/patient/{patientId}', [App\Http\Controllers\PatientController::class, 'addPatientToQueue']);
Route::get('/appointments/{patientId}', [App\Http\Controllers\PatientController::class, 'getAppointmentsByPatientId']);
Route::get('/doctor-appointments/{patientId}', [App\Http\Controllers\PatientController::class, 'getDoctorAppointmentsByPatientId']);
Route::get('/patient-book-lab/get/{appointment}', [App\Http\Controllers\PatientController::class, 'patientBookLabGet']);
/* Route::post('/patient-recording-switch/{patient}/{switch}', [App\Http\Controllers\PatientController::class, 'switchButton']);
Route::post('/patient-recording-switch-get/{patientId}', [App\Http\Controllers\PatientController::class, 'switchButtonGet']); */
Route::post('/medical-history-question-get/{patient}', [App\Http\Controllers\PatientController::class, 'getMedicalHistoryQuestion']);
Route::post('/medical-history-question-post/{patient}', [App\Http\Controllers\PatientController::class, 'postMedicalHistoryQuestion']);
Route::post('/store-order-data/{labkit}', [App\Http\Controllers\PatientController::class, 'storeOrderData']);
Route::post('/subscription-list-data', [App\Http\Controllers\PatientController::class, 'getSubscriptionList']);
Route::post('/get-patient-labkits', [App\Http\Controllers\PatientController::class, 'getPatientLabKits']);
Route::post('/subscription-cancel/{subscription}', [App\Http\Controllers\PatientController::class, 'cancelSubscription']);
#Route::post('/store-order-data/{labkit}', [App\Http\Controllers\PatientController::class, 'storeOrderData']);
Route::post('/get-stored-order-data/{cart}', [App\Http\Controllers\PatientController::class, 'getOrderData']);
Route::post('/appointments-data', [App\Http\Controllers\PatientController::class, 'getPatientAppointmentsWithCartsAndItems']);
Route::post('/update-status-order-data/{cart}', [App\Http\Controllers\PatientController::class, 'updateStatusOrderData']);
Route::post('/process-payment', [App\Http\Controllers\PatientController::class, 'processPayment']);
Route::post('/agent-appointment-detail/{appointment}', [App\Http\Controllers\PatientController::class, 'getAgentAppointment']);
Route::post('/agent-last-appointment-detail/{patient}', [App\Http\Controllers\PatientController::class, 'getAgentLastAppointment']);
Route::post('/save-plan/{patient}', [App\Http\Controllers\PatientController::class, 'savePlan']);
Route::post('/save-patient-plan/{plan}', [App\Http\Controllers\PatientController::class, 'savePatientPlan']);
Route::post('/get-plan-by-id/{plan}', [App\Http\Controllers\PatientController::class, 'getPlanById']);
Route::post('/get-plan-by-patient/{patient}', [App\Http\Controllers\PatientController::class, 'getPlanByPatientId']);
Route::post('/questions-answers/{patient_id}/', [App\Http\Controllers\PatientController::class, 'questionsAnswers']);
Route::post('/patients/upload-profile-picture', [App\Http\Controllers\PatientController::class, 'uploadProfilePicture'])->name('patient.profile-picture.upload');
Route::post('/create-profile-categories', [App\Http\Controllers\PatientController::class, 'createProfileCategories']);
Route::post('/profile-categories/{id}', [App\Http\Controllers\PatientController::class, 'profileCategories']);
Route::post('/get-profile-categories', [App\Http\Controllers\PatientController::class, 'getProfileCategories']);
Route::post('/get-groups-by-category/{category_id}', [App\Http\Controllers\PatientController::class, 'getGroupByCategory']);
Route::post('/get-question-by-group/{group_id}', [App\Http\Controllers\PatientController::class, 'getQuestionByGroup']);
// Get all profile groups
// Route::post('/get-profile-categories', [App\Http\Controllers\PatientController::class, 'getProfileCategories']);
// Create a profile group
/* Route::post('/create-profile-question/{category_id}', [App\Http\Controllers\PatientController::class, 'createProfileGroups']); */
// Get a single profile group
Route::post('/get-profile-question/{category_id}', [App\Http\Controllers\PatientController::class, 'getProfileQuestion']);
Route::post('/get-profile-sub-question/{category_id}/{question_id}', [App\Http\Controllers\PatientController::class, 'getProfileSubQuestion']);
Route::post('/get-profile-sub-sub-question/{category_id}/{question_id}/{sub_question_id}', [App\Http\Controllers\PatientController::class, 'getProfileSubSubQuestion']);
// Get all profile questions
/* Route::get('/get-profile-questions', [App\Http\Controllers\PatientController::class, 'getProfileQuestion']);
// Create a profile question
Route::post('/create-profile-questions', [App\Http\Controllers\PatientController::class, 'createProfileQuestion']);
// Get a single profile question
Route::get('/get-one-profile-questions/{id}', [App\Http\Controllers\PatientController::class, 'getOneProfileQuestion']); */
Route::post('/create-answers-questions', [App\Http\Controllers\PatientController::class, 'createProfileQuestion']);
Route::post('/create-question-builder/{category}', [App\Http\Controllers\PatientController::class, 'questionBuilderStore']);
Route::post('/patients-prescriptions/{appointment}', [App\Http\Controllers\PatientController::class, 'getPatientPrescriptions']);
Route::post('/update-patient-prescription-status/{prescription}', [App\Http\Controllers\PatientController::class, 'updatePrescriptionStatus']);
Route::post('/get-history', [App\Http\Controllers\PatientController::class, 'sessionHistory']);
Route::post('/get-note/{appointment}', [App\Http\Controllers\PatientController::class, 'getNotePatient']);
Route::post('/get-appointment-detail/{appointment}', [App\Http\Controllers\PatientController::class, 'getAppointmentDetail']);
Route::post('get-patient-prescriptions/{appointment_id}', [App\Http\Controllers\PatientController::class, 'getPatientPrescription']);
Route::post('get-question-builder', [App\Http\Controllers\PatientController::class, 'getQuestionBuilderStore']);
Route::post('delete-patient-record', [App\Http\Controllers\PatientController::class, 'deletePatientRecord']);
Route::post('order-list', [App\Http\Controllers\OrderController::class, 'orderList']);
Route::post('order-details/{id}', [App\Http\Controllers\OrderController::class, 'orderDetails']);
Route::post('subscription-list', [App\Http\Controllers\OrderController::class, 'subscriptionList']);
Route::post('subscription-detail/{id}', [App\Http\Controllers\OrderController::class, 'getSubscriptionDetails']);
Route::post('patient-profile', [App\Http\Controllers\ProfileController::class, 'profileDetails']);
Route::post('update-profile', [App\Http\Controllers\ProfileController::class, 'UpdateProfile']);
Route::post('reset-password', [App\Http\Controllers\ProfileController::class, 'resetPassword']);
Route::post('change-profile-image', [App\Http\Controllers\ProfileController::class, 'changeProfileImage']);
Route::post('patient-shipping-activity', [App\Http\Controllers\OrderController::class, 'getPatientShippingActivity']);
Route::post('/get-stored-latest-order-data', [App\Http\Controllers\PatientController::class, 'getLatestOrderData']);
Route::post('/get-notification', [App\Http\Controllers\PatientController::class, 'getNotification']);
Route::post('/get-stats', [App\Http\Controllers\ProfileController::class, 'getStats']);
Route::post('/labkit-order-items-get', [App\Http\Controllers\ProfileController::class, 'labkitOrderItemGet']);
});
Route::any('/lab-address', [App\Http\Controllers\PatientController::class, 'getLabcorpData']);
Route::any('update-patient-appointment-analysis/{appointment}', [App\Http\Controllers\PatientController::class, 'updateMeetingAnalysis']);
Route::any('ai-flag-analysis/{appointment}', [App\Http\Controllers\PatientController::class, 'aiFlagCheck']);
Route::group(['prefix' => 'api/openerm', 'namespace' => 'OpenErm\Api', 'as' => 'api.openerm.'], function () {
Route::post('/get-patients', [App\Http\Controllers\OpenErm\PatientController::class, 'getPatientList']);
Route::post('/get-patient/{puuid}', [App\Http\Controllers\OpenErm\PatientController::class, 'getPatientById']);
Route::post('/register-patient', [App\Http\Controllers\OpenErm\PatientController::class, 'registerPatient']);
});

84
routes/channels.php Normal file
View File

@@ -0,0 +1,84 @@
<?php
use App\Models\Appointment;
use App\Models\Cart;
use App\Models\Patient;
use Carbon\Carbon;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Broadcast;
use Illuminate\Support\Facades\File;
/*
|--------------------------------------------------------------------------
| Broadcast Channels
|--------------------------------------------------------------------------
|
| Here you may register all of the event broadcasting channels that your
| application supports. The given channel authorization callbacks are
| used to check if an authenticated user can listen to the channel.
|
*/
Broadcast::channel('App.Models.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
Broadcast::channel('dhkjkiplqe84sdaqf17nqg', function ($user) {
if ($user instanceof Patient) {
$appointments = Appointment::select("appointments.*")
->where("appointments.patient_id", $user->id)
->orderBy('appointments.created_at', 'desc')
->first();
$cart = Cart::where("appointment_id", $appointments->id)->first();
if (!$cart)
$card_id = null;
else
$card_id = $cart->id;
$filePath = public_path("assets/profiles/{$user->id}.png");
if (File::exists($filePath)) {
$user->url = "/assets/profiles/{$user->id}.png";
} else {
$user->url = null;
}
return [
'id' => $user->id,
'name' => $user->first_name . ' ' . $user->last_name,
'address' => $user->address,
'city' => $user->city,
'state' => $user->state,
'country' => $user->country,
'url' => $user->url,
'zip_code' => $user->zip_code,
'type' => $user instanceof Patient ? "patient" : "agent",
'time' => time(),
'appointment' => $appointments,
'order_id' => $card_id
];
} else {
$appointments = Appointment::select("appointments.*")
//->where("appointments.telemed_pros_id", $user->id)
->orderBy('appointments.created_at', 'desc')
->first();
$cart = Cart::where("appointment_id", $appointments->id)->first();
if (!$cart)
$card_id = null;
else
$card_id = $cart->id;
return [
'id' => $user->id,
'name' => $user->name,
'type' => $user instanceof Patient ? "patient" : "agent",
'time' => time(),
'appointments' => $appointments,
'order_id' => $card_id
];
}
});
/* return Auth::guard('agent')->check(); */
Broadcast::channel('patient-{id}', function ($user, $id) {
return !!$user;
});
Broadcast::channel('patient-end-call-{id}', function ($user, $id) {
return !!$user;
});

19
routes/console.php Normal file
View File

@@ -0,0 +1,19 @@
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
/*
|--------------------------------------------------------------------------
| Console Routes
|--------------------------------------------------------------------------
|
| This file is where you may define all of your Closure based console
| commands. Each Closure is bound to a command instance allowing a
| simple approach to interacting with each command's IO methods.
|
*/
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');

34
routes/doctor.php Normal file
View File

@@ -0,0 +1,34 @@
<?php
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::group(['prefix' => 'doctor', 'namespace' => 'Doctor', 'as' => 'doctor.', 'middleware' => ['doctor_auth']], function () {
Route::get('register', 'Auth\RegisterController@showRegisterForm')->name('register');
Route::post('registerPost', 'Auth\RegisterController@register')->name('registerPost');
Route::get('login', 'Auth\LoginController@showLoginForm');
Route::post('login/post', 'Auth\LoginController@login');
Route::get('password/request', 'Auth\ResetPasswordController@resetPassword')->name('password.request');
Route::group(['middleware' => ['doctor_authenticated']], function () {
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
Route::get('/','HomeController@index')->name('home');
Route::get('/dashboard','DashboardController@index');
});
});

17
routes/patient.php Normal file
View File

@@ -0,0 +1,17 @@
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "api" middleware group. Make something great!
|
*/

21
routes/web.php Normal file
View File

@@ -0,0 +1,21 @@
<?php
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Route;
use App\Models\Setting;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::get('{any?}', function () {
$data = Setting::find(1);
return view('application', ['data' => $data]);
})->where('any', '.*');