web.php 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. /*
  4. |--------------------------------------------------------------------------
  5. | Web Routes
  6. |--------------------------------------------------------------------------
  7. |
  8. | Here is where you can register web routes for your application. These
  9. | routes are loaded by the RouteServiceProvider within a group which
  10. | contains the "web" middleware group. Now create something great!
  11. |
  12. */
  13. /*
  14. * if no pro performer, then redirect to /login
  15. * [Cell Number] [Password] field -> proLogInWithPassword -> /pro/dashboard
  16. * -> they are authenticated in... see the home dashboard... logout button to -> /login
  17. */
  18. Route::get('login', 'LoginController@showLoginForm')->name('login');
  19. Route::post('login', 'LoginController@login');
  20. Route::get('logout', 'LoginController@logout');
  21. Route::get('request_password_reset', 'LoginController@showRequestPasswordReset')->name('request_password_reset');
  22. Route::post('request_password_reset', 'LoginController@processRequestPasswordReset')->name('process_request_password_reset');
  23. Route::get('self_reset_password', 'LoginController@showSelfResetPassword')->name('self_reset_password');
  24. Route::post('self_reset_password', 'LoginController@processSelfResetPassword')->name('process_self_reset_password');
  25. Route::get('/pro_log_in_with_session_key/{sessionKey}/{appAccessUID?}', 'LoginController@loginWithSessionKey')->name('login_with_session_key');
  26. Route::post('logout', 'LoginController@logout')->name('logout');
  27. Route::post('/confirm_sms_auth_token', 'HomeController@postConfirmSmsAuthToken')->name('post-confirm_sms_auth_token');
  28. Route::post('/resend_sms_auth_token', 'HomeController@resendSmsAuthToken')->name('post-resend_sms_auth_token');
  29. Route::post('/set_password', 'HomeController@postSetPassword')->name('post-set_password');
  30. Route::post('/set_security_questions', 'HomeController@postSetSecurityQuestions')->name('post-set_security_questions');
  31. Route::get("/guest/section/{accessToken}", 'GuestController@section')->name('guest_section_access');
  32. Route::middleware('pro.auth')->group(function () {
  33. //complete authentication
  34. Route::get('/confirm_sms_auth_token', 'HomeController@confirmSmsAuthToken')->name('confirm_sms_auth_token');
  35. Route::get('/set_password', 'HomeController@setPassword')->name('set_password');
  36. Route::get('/set_security_questions', 'HomeController@setSecurityQuestions')->name('set_security_questions');
  37. Route::get('/blank', 'HomeController@blank')->name('blank');
  38. Route::get('/', 'HomeController@dashboard')->name('dashboard');
  39. Route::get('/new-patient', 'HomeController@newPatient')->name('new-patient');
  40. Route::get('/patients/{filter?}', 'HomeController@patients')->name('patients');
  41. Route::get('/unmapped-sms/{filter?}', 'HomeController@unmappedSMS')->name('unmapped-sms');
  42. Route::name('practice-management.')->prefix('practice-management')->group(function () {
  43. Route::get('rates', 'PracticeManagementController@rates')->name('rates');
  44. Route::get('dashboard', 'PracticeManagementController@dashboard')->name('dashboard');
  45. Route::get('previous-bills', 'PracticeManagementController@previousBills')->name('previousBills');
  46. Route::get('financial-transactions', 'PracticeManagementController@financialTransactions')->name('financialTransactions');
  47. Route::get('pending-bills-to-sign', 'PracticeManagementController@pendingBillsToSign')->name('pendingBillsToSign');
  48. Route::get('hr', 'PracticeManagementController@hr')->name('hr');
  49. Route::get('direct-deposit-settings', 'PracticeManagementController@directDepositSettings')->name('directDepositSettings');
  50. Route::get('w9', 'PracticeManagementController@w9')->name('w9');
  51. Route::get('contract', 'PracticeManagementController@contract')->name('contract');
  52. Route::get('notes/{filter?}', 'PracticeManagementController@notes')->name('notes');
  53. Route::get('bills/{filter?}', 'PracticeManagementController@bills')->name('bills');
  54. Route::get('my-text-shortcuts', 'PracticeManagementController@myTextShortcuts')->name('myTextShortcuts');
  55. Route::get('pro-availability/{proUid?}', 'PracticeManagementController@proAvailability')->name('proAvailability');
  56. });
  57. Route::name('patients.view.')->prefix('patients/view/{patient}')->group(function () {
  58. Route::get('intake', 'PatientController@intake')->name('intake');
  59. Route::get('', 'PatientController@dashboard')->name('dashboard');
  60. Route::get('care-plan', 'PatientController@carePlan')->name('care-plan');
  61. Route::get('medications', 'PatientController@medications')->name('medications');
  62. Route::get('dx-and-focus-areas', 'PatientController@dxAndFocusAreas')->name('dx-and-focus-areas');
  63. Route::get('care-team', 'PatientController@careTeam')->name('care-team');
  64. Route::get('devices', 'PatientController@devices')->name('devices');
  65. Route::get('measurements', 'PatientController@measurements')->name('measurements');
  66. Route::get('labs-and-studies', 'PatientController@labsAndStudies')->name('labs-and-studies');
  67. Route::get('history', 'PatientController@history')->name('history');
  68. Route::get('memos', 'PatientController@memos')->name('memos');
  69. Route::get('sms', 'PatientController@sms')->name('sms');
  70. Route::get('sms-numbers', 'PatientController@smsNumbers')->name('sms-numbers');
  71. Route::get('documents', 'PatientController@documents')->name('documents');
  72. Route::get('immunizations', 'PatientController@immunizations')->name('immunizations');
  73. Route::get('allergies', 'PatientController@allergies')->name('allergies');
  74. Route::get('action-items', 'PatientController@actionItems')->name('action-items');
  75. Route::get('notes', 'PatientController@notes')->name('notes');
  76. Route::name('notes.view.')->prefix('notes/view/{note}')->group(function () {
  77. Route::get('', 'NoteController@dashboard')->name('dashboard');
  78. });
  79. Route::get('sections', 'PatientController@sections')->name('sections');
  80. Route::get('handouts', 'PatientController@handouts')->name('handouts');
  81. Route::get('flowsheets', 'PatientController@flowSheets')->name('flowsheets');
  82. Route::get('settings', 'PatientController@settings')->name('settings');
  83. Route::get('account', 'PatientController@account')->name('account');
  84. Route::get('care-checklist', 'PatientController@careChecklist')->name('care-checklist');
  85. Route::get('documents', 'PatientController@documents')->name('documents');
  86. Route::get('education', 'PatientController@education')->name('education');
  87. Route::get('messaging', 'PatientController@messaging')->name('messaging');
  88. Route::get('duplicate', 'PatientController@duplicate')->name('duplicate');
  89. Route::get('care-months', 'PatientController@careMonths')->name('care-months');
  90. Route::name('care-months.view.')->prefix('care-months/view/{careMonth}')->group(function () {
  91. Route::get('', 'CareMonthController@dashboard')->name('dashboard');
  92. });
  93. // dedicated-page appointment create/edit
  94. Route::get('manage-appointment/{appointment?}', 'PatientController@manageAppointment')->name('manage-appointment');
  95. // appointment calendar
  96. Route::get('calendar/{currentAppointment?}', 'PatientController@calendar')->name('calendar');
  97. });
  98. // pro dashboard events (ajax)
  99. Route::get('pro-dashboard-events/{from}/{to}', 'HomeController@dashboardAppointments')->name('pro-dashboard-events');
  100. // events for fc
  101. Route::get('/appointment/getAllAppointmentsForPros', 'AppointmentController@events')->name('events');
  102. //events for availability
  103. Route::post('/availability/load/{proUid}', 'PracticeManagementController@loadAvailability')->name('loadAvailability');
  104. Route::post('/pro-availability/filter', 'PracticeManagementController@proAvailabilityFilter')->name('pro-availability-filter');
  105. // load template set
  106. Route::get('/note-template-set/exam/{exam}/{template}', 'HomeController@noteExamTemplateSet');
  107. Route::get('/note-template-set/{section}/{template}', 'HomeController@noteTemplateSet');
  108. // Patient suggest
  109. Route::get('/patients-suggest', 'HomeController@patientsSuggest');
  110. // embeddable sections
  111. Route::get('/embed/{patient}/{section}/{selectable}', 'PatientController@embedSection')->name('embed-section');
  112. // AJAX presence poll
  113. Route::get('/patients/{patient}/presence', 'PatientController@presence');
  114. // 2-pane outer page housing lhs (practice management) and rhs (video call)
  115. Route::get('/mc/{fragment?}', 'HomeController@mc')
  116. ->where('fragment', '.*')
  117. ->name('mc');
  118. // pro meeting
  119. Route::get('/pro/meet/{uid?}', 'PracticeManagementController@meet');
  120. Route::get('/pro/get-opentok-session-key/{uid}', 'PracticeManagementController@getOpentokSessionKey');
  121. Route::get('/patients-in-queue', 'PracticeManagementController@getPatientsInQueue');
  122. Route::get('/current-work', 'PracticeManagementController@currentWork');
  123. //Notes stuff
  124. Route::get('/note/{note_uid}', 'NoteController@renderNote')->name('render-note');
  125. Route::get('/section_create_form/{note_uid}/{section_template_uid}', 'NoteController@sectionCreateForm')->name('section_create_form');
  126. Route::get('/section_update_form/{section_uid}', 'NoteController@sectionUpdateForm')->name('section_update_form');
  127. Route::get("/log_in_as", 'HomeController@logInAs')->name('log-in-as');
  128. Route::post("/process-log_in_as", 'HomeController@processLogInAs')->name('process-log-in-as');
  129. Route::post("/back_to_admin_pro", 'HomeController@backToAdminPro')->name('back-to-admin-pro');
  130. });
  131. Route::post("/process_form_submit", 'NoteController@processFormSubmit')->name('process_form_submit');
  132. Route::get("/get-default-section-data/{patientID}/{sectionTemplateID}", 'NoteController@getDefaultValueForSection')->name('get_default_section_data');