patient.blade.php 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665
  1. @extends(request()->input('popupmode') ? 'layouts.empty' : 'layouts.template')
  2. <?php
  3. /** @var \App\Models\Client $patient */
  4. ?>
  5. <?php
  6. $trimLayout = true;
  7. $routeName = request()->route()->getName();
  8. $isVisitNote = ($routeName === 'patients.view.notes.view.dashboard' && @$note && !!$note->visitTemplate);
  9. $isOldClient = (date_diff(date_create(config('app.point_impl_date')), date_create($patient->created_at))->invert === 1);
  10. ?>
  11. <style media="screen">
  12. .pt-name {
  13. font-size: 1.5rem !important;
  14. }
  15. </style>
  16. @section('content')
  17. <div class="container-fluid h-100">
  18. <div class="main-row h-100 {{ !request()->input('popupmode') ? '' : 'px-0' }} {{$isVisitNote ? 'autohide-leftnav' : ''}}">
  19. @if(!request()->input('popupmode'))
  20. <nav id="sidebarMenu" class="d-block bg-light sidebar collapse px-0">
  21. <div class="sidebar-sticky pt-3">
  22. <ul class="nav flex-column mcp-theme-1">
  23. <li class="nav-item">
  24. <a class="nav-link {{ strpos($routeName, 'patients.view.dashboard') === 0 ? 'active' : '' }}"
  25. href="{{ route('patients.view.dashboard', ['patient' => $patient]) }}">Dashboard</a>
  26. </li>
  27. <li class="nav-item">
  28. <a class="nav-link {{ strpos($routeName, 'patients.view.calendar') === 0 ? 'active' : '' }}"
  29. href="{{ route('patients.view.calendar', ['patient' => $patient]) }}">Calendar</a>
  30. </li>
  31. <li class="nav-item">
  32. <a class="nav-link {{ strpos($routeName, 'patients.view.appointments') === 0 ? 'active' : '' }}"
  33. href="{{ route('patients.view.appointments', ['patient' => $patient, 'forPro' => 'all', 'status' => 'all']) }}">Appointments</a>
  34. </li>
  35. <li class="nav-item">
  36. <a class="nav-link {{ strpos($routeName, 'patients.view.notes') === 0 ? 'active' : '' }}"
  37. href="{{ route('patients.view.notes', ['patient' => $patient]) }}">Notes</a>
  38. </li>
  39. <li class="nav-item">
  40. <a class="nav-link {{ strpos($routeName, 'patients.view.handouts') === 0 ? 'active' : '' }}"
  41. href="{{ route('patients.view.handouts', ['patient' => $patient]) }}">Handouts</a>
  42. </li>
  43. <li class="nav-item">
  44. <a class="nav-link {{ $routeName === 'patients.view.sms' ? 'active' : '' }}"
  45. href="{{ route('patients.view.sms', ['patient' => $patient]) }}">SMS</a>
  46. </li>
  47. <li class="nav-item">
  48. <a class="nav-link {{ strpos($routeName, 'patients.view.sms-numbers') === 0 ? 'active' : '' }}"
  49. href="{{ route('patients.view.sms-numbers', ['patient' => $patient]) }}">SMS Numbers</a>
  50. </li>
  51. <li class="nav-item">
  52. <a class="nav-link {{ strpos($routeName, 'patients.view.settings') === 0 ? 'active' : '' }}"
  53. href="{{ route('patients.view.settings', ['patient' => $patient]) }}">Settings</a>
  54. </li>
  55. <li class="nav-item">
  56. <a class="nav-link {{ strpos($routeName, 'patients.view.sms-reminders') === 0 ? 'active' : '' }}"
  57. href="{{ route('patients.view.sms-reminders', ['patient' => $patient]) }}">SMS Reminders</a>
  58. </li>
  59. <li class="nav-item">
  60. <a class="nav-link {{ strpos($routeName, 'patients.view.pros') === 0 ? 'active' : '' }}"
  61. href="{{ route('patients.view.pros', ['patient' => $patient]) }}">Pros</a>
  62. </li>
  63. @if($performer->pro->pro_type == 'ADMIN')
  64. <li class="nav-item">
  65. <a class="nav-link {{ strpos($routeName, 'patients.view.client-pro-access') === 0 ? 'active' : '' }}"
  66. href="{{ route('patients.view.client-pro-access', ['patient' => $patient]) }}">Client Pro Access</a>
  67. </li>
  68. @endif
  69. </ul>
  70. <div class="mt-3 mcp-theme-1">
  71. @yield('left-nav-content')
  72. </div>
  73. </div>
  74. </nav>
  75. @endif
  76. <main role="main" class="w-100 {{$trimLayout || $isVisitNote ? 'p-0' : ''}}">
  77. @if($pro->is_enrolled_as_mcp && !$patient->mcp)
  78. <div class="alert alert-info bg-white mt-3 mcp-theme-1 p-3 hide-inside-ticket-popup m-1">
  79. <div class="font-size-16">
  80. <i class="fa fa-exclamation-triangle text-warning-mellow"></i>
  81. This patient currently does not have an MCP assigned.
  82. </div>
  83. <div class="mt-3 d-flex align-items-center">
  84. <button class="btn btn-info" onclick="$('.in-conv-confirmed').removeClass('d-none').addClass('d-inline-flex')">I am currently seeing or talking to this patient</button>
  85. <div class="in-conv-confirmed d-none align-items-center">
  86. <i class="fa fa-chevron-right mx-3 text-secondary"></i>
  87. <div moe class=" hide-inside-popup">
  88. <a href="" start show class="btn btn-primary font-weight-bold text-white">
  89. Assign myself as the MCP for this patient
  90. </a>
  91. <form url="/api/client/putMcp" class="mcp-theme-1">
  92. <input type="hidden" name="uid" value="{{$patient->uid}}">
  93. <input type="hidden" name="mcpProUid" value="{{$pro->uid}}">
  94. <p>Are you sure?</p>
  95. <div>
  96. <button submit class="btn btn-sm btn-primary mr-2">
  97. Submit
  98. </button>
  99. <button cancel class="btn btn-sm btn-default border">
  100. Cancel
  101. </button>
  102. </div>
  103. </form>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. @endif
  109. @if($patient->has_mcp_done_onboarding_visit !== 'YES' && $patient->is_mcp_onboarding_active === 'NO')
  110. <div class="alert alert-warning mt-3 mcp-theme-1 p-3 hide-inside-ticket-popup">
  111. <div class="font-weight-bold text-dark font-size-16">MCP onboarding is not active for this patient.</div>
  112. <div class="text-secondary p-2 border mt-2 bg-light">
  113. <div class="font-weight-bold">{{$patient->why_is_mcp_onboarding_not_active_category}}</div>
  114. <div>{{$patient->why_is_mcp_onboarding_not_active_memo}}</div>
  115. </div>
  116. </div>
  117. @endif
  118. <div class="card {{$trimLayout || $isVisitNote ? 'card m-0 border-0 rounded-0' : 'my-3'}}" id="patient-header">
  119. <div id="patient-header-content">
  120. <div class="card-header @if($patient->client_engagement_status_category == 'DUMMY') alert-warning @endif py-1 hide-inside-ticket-popup">
  121. <?php
  122. $thumbnail = $patient->profile_picture_base64;
  123. $initials = !$thumbnail ? substr($patient->name_first, 0, 1) . substr($patient->name_last, 0, 1) : '';
  124. $online = $patient->is_online ? 'online' : '';
  125. $patientName = implode(', ', array_filter([$patient->name_last, $patient->name_first]));
  126. $confirmedCell = empty($patient->cell_number) ? '-' : $patient->cell_number;
  127. $confirmedEmail = empty($patient->email_address) ? '-' : $patient->email_address;
  128. $location = implode(', ', array_filter([$patient->home_address_city, $patient->home_address_state]));
  129. $location = empty($location) ? '-' : $location;
  130. $mcpName = $patient->mcp ? implode(', ', array_filter([$patient->mcp->name_last, $patient->mcp->name_first])) : null;
  131. $cmName = $patient->cm ? implode(', ', array_filter([$patient->cm->name_last, $patient->cm->name_first])) : null;
  132. $memberSince = date_diff(date_create($patient->created_at), date_create('now'))->days;
  133. if ($memberSince > 30) $memberSince = date('F, Y', strtotime($patient->created_at));
  134. else if ($memberSince > 1) $memberSince .= ' days ago';
  135. else if ($memberSince === 1) $memberSince = 'yesterday';
  136. else if ($memberSince === 0) $memberSince = 'today';
  137. ?>
  138. <div class=z>
  139. <div class=header>
  140. @if($patient->is_duplicate)
  141. <div class="alert alert-secondary border-dark mcp-theme-1 screen-only">
  142. <span class="text-dark">This chart is a duplicate of&nbsp;</span>
  143. <a class="font-weight-bold"
  144. href="/patients/view/{{ $patient->duplicateOf->uid }}">
  145. {{ $patient->duplicateOf->displayName() }}
  146. </a>
  147. </div>
  148. @endif
  149. <div class="hbox mr-auto">
  150. {{--<div>
  151. <div @if($patient->is_microphone_available)style="color:green" @else style="color:gray" @endif>
  152. <i class="fa fa-microphone"></i>
  153. </div>
  154. <div @if($patient->is_camera_available)style="color:green" @else style="color:gray" @endif>
  155. <i class="fa fa-video"></i>
  156. </div>
  157. </div>--}}
  158. <section>
  159. <div class="hbox">
  160. <h4 class="pt-name">{{$patientName}}</h4>
  161. <div class="screen-only mr-1 patient-presence-indicator thumbnail {{$online}}"
  162. data-patient-uid="{{$patient->uid}}"
  163. style="background-image:<?=$thumbnail?>"><?=$initials?></div>
  164. <div class="d-inline-flex align-items-baseline">
  165. <i class="chart mr-2">#{{$patient->chart_number}}</i>
  166. <span class="on-hover-show d-inline-block on-hover-opaque">
  167. <i class="fa fa-info-circle ml-1 text-primary"></i>
  168. <div class="on-hover-content py-2 pl-3 text-nowrap">
  169. Joined <?=$memberSince?>
  170. @if($pro->pro_type === 'ADMIN')
  171. <div class="mt-1">
  172. Created by <b>{{$patient->creator ? $patient->creator->displayName() : '-'}}</b>
  173. </div>
  174. <div class="mt-1">
  175. Created on <b>{{friendly_date_time($patient->created_at)}}</b>
  176. </div>
  177. @endif
  178. </div>
  179. </span>
  180. </div>
  181. </div>
  182. <div class=separators>
  183. <div>{{friendly_date($patient->dob, false,null, true)}} ({{$patient->age_in_years}}
  184. y.o {{$patient->sex}})
  185. </div>
  186. @if($patient->getPrimaryCoverage() && $patient->getPrimaryCoverageStatus() === 'YES')
  187. <div class="text-nowrap screen-only">
  188. {{$patient->getPrimaryCoverage()->insuranceDisplayName()}}
  189. <span class="on-hover-show d-inline-block on-hover-opaque">
  190. <i class="fa fa-check-circle text-success"></i>
  191. <div class="on-hover-content py-2 pl-3 text-nowrap">
  192. Covered
  193. </div>
  194. </span>
  195. </div>
  196. @endif
  197. <div class="screen-only">
  198. <label>Status:</label>
  199. <b>{{$patient->client_engagement_status_category ? ucwords(strtolower(str_replace('_', ' ', $patient->client_engagement_status_category == 'DUMMY' ? 'Test Chart' : $patient->client_engagement_status_category))) : '-'}}</b>
  200. </div>
  201. </div>
  202. <div class="screen-only">
  203. <div class=separators>
  204. <div>
  205. <label>MCP:</label> {{$mcpName}}
  206. @if($patient->has_mcp_done_onboarding_visit !== 'YES' && $pro->pro_type == 'ADMIN')
  207. <div moe class="ml-2 hide-inside-popup">
  208. <a start show><i class="fa fa-edit"></i></a>
  209. <form url="/api/client/putMcp" class="mcp-theme-1">
  210. <input type="hidden" name="uid" value="{{$patient->uid}}">
  211. <div class="mb-2">
  212. <label class="text-secondary text-sm">MCP Pro</label>
  213. <select name="mcpProUid" provider-search data-pro-uid="{{ @$patient->mcp->uid }}"
  214. class="form-control form-control-sm">
  215. <option value=""> --select--</option>
  216. @foreach($pros as $iPro)
  217. <option
  218. value="{{$iPro->uid}}" {{ $patient->mcp && $iPro->uid === $patient->mcp->uid ? 'selected' : '' }}>{{$iPro->displayName()}}</option>
  219. @endforeach
  220. </select>
  221. </div>
  222. <div>
  223. <button submit class="btn btn-sm btn-primary mr-1">
  224. Submit
  225. </button>
  226. <button cancel class="btn btn-sm btn-default border">
  227. Cancel
  228. </button>
  229. </div>
  230. </form>
  231. </div>
  232. @if($patient->mcp)
  233. <div moe class="ml-2 hide-inside-popup">
  234. <a start show><i class="fa fa-times"></i></a>
  235. <form url="/api/client/removeMcp" class="mcp-theme-1">
  236. <input type="hidden" name="uid" value="{{$patient->uid}}">
  237. <div class="mb-2">
  238. <label class="text-secondary text-sm">Remove MCP Pro</label>
  239. </div>
  240. <div>
  241. <button submit class="btn btn-sm btn-primary mr-1">Submit
  242. </button>
  243. <button cancel class="btn btn-sm btn-default border">
  244. Cancel
  245. </button>
  246. </div>
  247. </form>
  248. </div>
  249. @endif
  250. @endif
  251. </div>
  252. <div>
  253. @if($patient->has_mcp_done_onboarding_visit !== 'YES')
  254. <span class="text-dark d-inline-flex align-items-center">
  255. <span class="mr-2">
  256. <i class="fa fa-exclamation-triangle"></i>
  257. MCP Onboarding Visit Pending
  258. </span>
  259. </span>
  260. <span moe class="hide-inside-popup">
  261. <a start show><i class="fa fa-edit"></i></a>
  262. <form url="/api/client/updateMcpOnboardingVisitInfo" class="mcp-theme-1">
  263. <input type="hidden" name="uid" value="{{$patient->uid}}">
  264. <div class="mb-2">
  265. <select name="hasMcpDoneOnboardingVisit"
  266. class="form-control form-control-sm"
  267. onchange="toggleDisabledAsNeeded(this, 'YES', 'if-visit-done')">
  268. <option value="">-- Select Status --</option>
  269. <option value="YES" {{ $patient->has_mcp_done_onboarding_visit === 'YES' ? 'selected' : '' }}>YES</option>
  270. <option value="NO" {{ $patient->has_mcp_done_onboarding_visit === 'NO' ? 'selected' : '' }}>NO</option>
  271. <option value="UNKNOWN" {{ $patient->has_mcp_done_onboarding_visit === 'UNKNOWN' ? 'selected' : '' }}>UNKNOWN</option>
  272. </select>
  273. </div>
  274. <div class="mb-2">
  275. <input type="date"
  276. class="if-visit-done form-control form-control-sm" disabled
  277. name="mcpOnboardingVisitDate" value="{{ date('Y-m-d') }}"
  278. max="{{ date('Y-m-d') }}">
  279. </div>
  280. <div class="mb-2">
  281. <select name="mcpOnboardingVisitNoteUid" disabled
  282. class="form-control form-control-sm if-visit-done"
  283. onchange="if(this.value === '-- create --') createNewNote('{{$patient->uid}}', '{{$pro->uid}}', '{{date('Y-m-d')}}');">
  284. <option value="">-- Visit Note --</option>
  285. <?php $notes = \App\Models\Note::where('client_id', $patient->id)->get() ?>
  286. @foreach ($notes as $note)
  287. @if(!empty($note->title) && $note->client_id === $patient->id && !$note->is_cancelled)
  288. <option
  289. {{ $patient->mcp_onboarding_visit_note_id === $note->id ? 'selected' : '' }}
  290. value="{{$note->uid}}">{{$note->hcpPro->displayName()}} ({{friendly_date_time($note->effective_dateest, false)}})</option>
  291. @endif
  292. @endforeach
  293. {{--<option value="-- create --">-- Create Note --</option>--}}
  294. </select>
  295. </div>
  296. <div class="mb-2 if-note-outside-system">
  297. <textarea class="form-control form-control-sm"
  298. name="reasonOnboardingVisitNoteOutsideSystem"
  299. placeholder="Visit note outside the system reason"
  300. spellcheck="false" data-gramm="false"></textarea>
  301. </div>
  302. <div>
  303. <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
  304. <button cancel class="btn btn-sm btn-default border">Cancel</button>
  305. </div>
  306. </form>
  307. </span>
  308. @else
  309. <span class="text-dark d-inline-flex align-items-center">
  310. <span class="mr-2 text-secondary">
  311. <i class="fa fa-check text-sm"></i>
  312. MCP Onboarding Visit Completed
  313. </span>
  314. </span>
  315. @endif
  316. </div>
  317. </div>
  318. <div>
  319. <label>CC:</label> {{$patient->defaultNaPro ? $patient->defaultNaPro->displayName() : '-' }}
  320. @if($pro->pro_type == 'ADMIN')
  321. <div moe class="ml-2 hide-inside-popup">
  322. <a start show><i class="fa fa-edit"></i></a>
  323. <form url="/api/client/putDefaultNaPro" class="mcp-theme-1">
  324. <input type="hidden" name="uid" value="{{$patient->uid}}">
  325. <div class="mb-2">
  326. <label class="text-secondary text-sm">Care Coordinator</label>
  327. <select provider-search data-pro-uid="{{ @$patient->defaultNaPro->uid }}"
  328. name="defaultNaProUid"
  329. class="form-control form-control-sm">
  330. <option value=""> --select--</option>
  331. @foreach($pros as $iPro)
  332. <option
  333. value="{{$iPro->uid}}" {{ $patient->pcp && $iPro->uid === $patient->pcp->uid ? 'selected' : '' }}>{{$iPro->displayName()}}</option>
  334. @endforeach
  335. </select>
  336. </div>
  337. <div>
  338. <button submit class="btn btn-sm btn-primary mr-1">Submit
  339. </button>
  340. <button cancel class="btn btn-sm btn-default border">
  341. Cancel
  342. </button>
  343. </div>
  344. </form>
  345. </div>
  346. @if($patient->pcp)
  347. <div moe class="ml-2 hide-inside-popup">
  348. <a start show><i class="fa fa-times"></i></a>
  349. <form url="/api/client/removeDefaultNaPro" class="mcp-theme-1">
  350. <input type="hidden" name="uid" value="{{$patient->uid}}">
  351. <div class="mb-2">
  352. <label class="text-secondary text-sm">Remove Care Coordinator</label>
  353. </div>
  354. <div>
  355. <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
  356. <button cancel class="btn btn-sm btn-default border">Cancel</button>
  357. </div>
  358. </form>
  359. </div>
  360. @endif
  361. @endif
  362. </div>
  363. </div>
  364. </section>
  365. <section class="hide-inside-popup screen-only vbox mt-2 align-self-start ml-3 pl-3 border-left mcp-theme-1">
  366. <div>
  367. <div moe relative>
  368. <a href="#" start show class="d-flex align-items-baseline"><i class="fa fa-plus text-sm mr-1"></i><span>SMS</span></a>
  369. <form url="/api/clientSms/createOutgoing" right class="mcp-theme-1" noreload>
  370. <input type="hidden" name="uid" value="{{ $patient->uid }}">
  371. <div class="mb-2">
  372. <label for="" class="text-sm text-secondary mb-1">Cell
  373. Number</label>
  374. <input type="text" class="form-control form-control-sm"
  375. name="cellNumber" value="{{$patient->cell_number}}">
  376. </div>
  377. <div class="mb-2">
  378. <label for=""
  379. class="text-sm text-secondary mb-1">Message</label>
  380. <textarea type="text" class="form-control form-control-sm"
  381. name="message"></textarea>
  382. </div>
  383. <div class="d-flex align-items-center">
  384. <button class="btn btn-sm btn-primary mr-2" submit>Send</button>
  385. <button class="btn btn-sm btn-default mr-2 border" cancel>
  386. Cancel
  387. </button>
  388. </div>
  389. </form>
  390. </div>
  391. </div>
  392. <div>
  393. <span moe relative class="">
  394. <a href="#" start show class="d-flex align-items-baseline" title="SMS check-in link to the patient"><i class="fa fa-paper-plane text-sm mr-1"></i><span>Send</span></a>
  395. <form url="/api/client/sendCheckInTokenViaSmsOrEmail" right
  396. class="mcp-theme-1">
  397. <input type="hidden" name="uid" value="{{ $patient->uid }}">
  398. <p class="small min-width-200px mb-2">Send Check-In link to patient?</p>
  399. <div class="mb-2">
  400. <label for=""
  401. class="text-sm text-secondary mb-1">Cell Number</label>
  402. <input type="text" class="form-control input-sm" name="cellNumber"
  403. value="{{$patient->cell_number}}">
  404. </div>
  405. <div class="mb-2">
  406. <label for=""
  407. class="text-sm text-secondary mb-1">Email address</label>
  408. <input type="text" class="form-control input-sm" name="emailAddress"
  409. value="{{$patient->email_address}}">
  410. </div>
  411. <div class="d-flex align-items-center">
  412. <button class="btn btn-sm btn-primary mr-2" submit>Send</button>
  413. <button class="btn btn-sm btn-default mr-2 border"
  414. cancel>Cancel</button>
  415. </div>
  416. </form>
  417. </span>
  418. </div>
  419. @if($performer->pro->pro_type == 'ADMIN')
  420. <div>
  421. <a href="#" start show class="d-flex align-items-baseline" onclick="return openInRHS('/pro/check-video/{{ $patient->uid }}')"><i class="fa fa-video text-sm mr-1"></i><span>Check</span></a>
  422. </div>
  423. @endif
  424. <div>
  425. <a href="#" start show class="d-flex align-items-baseline" onclick="return openInRHS('/pro/meet/{{ $patient->uid }}')"><i class="fa fa-video text-sm mr-1"></i><span>Join</span></a>
  426. </div>
  427. </section>
  428. @if(!$patient->getPrimaryCoverage() || $patient->getPrimaryCoverageStatus() !== 'YES')
  429. <section class="hide-inside-popup screen-only vbox align-self-start mt-2 mx-2">
  430. @include('app.patient.coverage-status')
  431. </section>
  432. @endif
  433. <section class="mr-4 align-self-start mt-2 ml-auto">
  434. <div>
  435. <label>Sticky Note:</label> <span class="text-secondary">{{$patient->sticky_note ?? '-' }}</span>
  436. <div moe relative wide class="ml-2 hide-inside-popup">
  437. <a start show><i class="fa fa-edit"></i></a>
  438. <form url="/api/client/updateStickyNote" class="mcp-theme-1" right>
  439. <input type="hidden" name="uid" value="{{$patient->uid}}">
  440. <div class="mb-2">
  441. <label class="text-secondary text-sm">Sticky Note</label>
  442. <textarea name="stickyNote" class="form-control" rows="8" cols="80">{{$patient->sticky_note}}</textarea>
  443. </div>
  444. <div>
  445. <button submit class="btn btn-sm btn-primary mr-1">Submit
  446. </button>
  447. <button cancel class="btn btn-sm btn-default border">
  448. Cancel
  449. </button>
  450. </div>
  451. </form>
  452. </div>
  453. </div>
  454. @if($pro->pro_type === 'ADMIN')
  455. <div>
  456. <label>Intake Data: - </label> <span class="text-secondary"></span>
  457. @include('app.patient.intake-data.patient-intake-data-form')
  458. </div>
  459. @endif
  460. </section>
  461. <ul class="vbox mt-2 align-self-start patient-header-address ">
  462. <li class="d-flex align-items-start">
  463. <span class="aligned-icon">
  464. <i class="fa fa-map-marker-alt" aria-hidden="true"></i>
  465. </span>
  466. <div class="position-relative">
  467. <?php
  468. $addressParts = [];
  469. if (!!$patient->mailing_address_line1) $addressParts[] = $patient->mailing_address_line1;
  470. if (!!$patient->mailing_address_line2) $addressParts[] = $patient->mailing_address_line2;
  471. $addressParts = implode(", ", $addressParts) . "<br/>";
  472. $addressPart2 = [];
  473. if (!!$patient->mailing_address_city) $addressPart2[] = $patient->mailing_address_city;
  474. if (!!$patient->mailing_address_state) $addressPart2[] = $patient->mailing_address_state;
  475. $addressParts .= implode(", ", $addressPart2);
  476. echo $addressParts;
  477. ?>
  478. {{ $patient->mailing_address_zip ? $patient->mailing_address_zip : '' }}
  479. @if($patient->mailing_address_memo)
  480. <span class="position-relative c-pointer text-center stag-tooltip ml-2">
  481. <i class="fa fa-info-circle"></i>
  482. <div
  483. class="position-absolute bg-white border rounded p-2 stag-tooltip-content">
  484. <div class="text-left font-weight-bold pb-1">Special Instructions</div>
  485. <div
  486. class="text-left font-weight-normal">{{$patient->mailing_address_memo}}</div>
  487. </div>
  488. </span>
  489. @endif
  490. </div>
  491. </li>
  492. @if($patient->cell_number)
  493. <li>
  494. <span class="aligned-icon">
  495. <i class="fa fa-phone-alt" aria-hidden="true"></i>
  496. </span>
  497. {{$patient->cell_number}}
  498. <span class="small text-secondary ml-1">
  499. {{ $patient->cell_number_memo ? '(' . $patient->cell_number_memo . ')' : '' }}
  500. </span>
  501. </li>
  502. @endif
  503. @if($patient->phone_home)
  504. <li>
  505. <span class="aligned-icon"><i class="fa fa-home" aria-hidden="true"></i></span>
  506. {{$patient->phone_home}}
  507. </li>
  508. @endif
  509. <li class="d-flex align-items-baseline">
  510. <div class="{{empty($confirmedEmail) || $confirmedEmail === '-' ? 'screen-only' : ''}}">
  511. <span class="aligned-icon">
  512. <i class="fa fa-envelope" aria-hidden="true"></i>
  513. </span>
  514. {{$confirmedEmail}}
  515. </div>
  516. <div class="d-inline-flex screen-only">
  517. <span class="mx-2 text-secondary text-sm">|</span>
  518. <span class="aligned-icon text-primary">
  519. <i class="fa fa-link" aria-hidden="true"></i>
  520. </span>
  521. <?php $numLinkedAccounts = $patient->linkedAccounts ? count($patient->linkedAccounts) : 0; ?>
  522. <a href="{{route('patients.view.accounts', ['patient' => $patient])}}">
  523. Accounts ({{$numLinkedAccounts}})
  524. </a>
  525. </div>
  526. </li>
  527. <li class="d-flex align-items-baseline">
  528. <div class="d-inline-flex screen-only">
  529. @include('app.patient.send_email')
  530. </div>
  531. </li>
  532. </ul>
  533. </div>
  534. </div>
  535. </div> <!-- z -->
  536. </div>
  537. </div>
  538. @if($pro->pro_type === 'ADMIN')
  539. <div class="screen-only card-header py-2 d-flex align-items-center mcp-theme-1 bg-aliceblue hide-inside-popup">
  540. <b class="">Tags ({{count($patient->clientTags)}}):</b>
  541. @foreach($patient->clientTags as $tag)
  542. <div class="d-inline-flex align-items-center ml-2 py-1 px-2 rounded bg-aliceblue text-info">
  543. <span class="text-sm">{{$tag->tag}}</span>
  544. <div moe relative class="ml-2">
  545. <a href="" start show><i class="fa fa-times text-secondary on-hover-opaque"></i></a>
  546. <form url="/api/clientTag/cancel" class="mcp-theme-1 min-width-200px">
  547. <input type="hidden" name="uid" value="{{$tag->uid}}">
  548. <p class="text-nowrap text-dark">Cancel this tag?</p>
  549. <div>
  550. <button submit class="btn btn-sm btn-primary mr-2">Submit</button>
  551. <button cancel class="btn btn-sm btn-default border">Cancel</button>
  552. </div>
  553. </form>
  554. </div>
  555. </div>
  556. @endforeach
  557. <div moe relative class="ml-2">
  558. <a href="" start show class="text-sm">+ Add</a>
  559. <form url="/api/clientTag/create" class="mcp-theme-1">
  560. <input type="hidden" name="clientUid" value="{{$patient->uid}}">
  561. <div class="mb-2">
  562. <label class="text-secondary text-sm">Tag</label>
  563. <input type="text" class="form-control form-control-sm"
  564. name="tag"
  565. placeholder="Tag" required>
  566. </div>
  567. <div>
  568. <button submit class="btn btn-sm btn-primary mr-2">Submit</button>
  569. <button cancel class="btn btn-sm btn-default border">Cancel</button>
  570. </div>
  571. </form>
  572. </div>
  573. </div>
  574. @endif
  575. {{--<div class="text-container border-bottom d-flex align-items-center mcp-theme-1 px-3">
  576. @if($patient->mcp_pro_id !== $pro->id && $patient->active_mcp_request_id)
  577. <div moe relative class="ml-2">
  578. <a href="" start show class="btn btn-sm btn-success text-white font-weight-bold small">Claim as MCP</a>
  579. <form url="/api/mcpRequest/claim" class="mcp-theme-1" right>
  580. <input type="hidden" name="clientUid" value="{{$patient->uid}}">
  581. <p>Claim this patient?</p>
  582. <div>
  583. <button submit class="btn btn-sm btn-primary mr-2">Yes</button>
  584. <button cancel class="btn btn-sm btn-default border">Cancel</button>
  585. </div>
  586. </form>
  587. </div>
  588. @endif
  589. </div>--}}
  590. <div class="card-body {{$routeName === 'patients.view.notes.view.dashboard' ? 'p-0' : ''}}">
  591. {{--<h1 class="h3">@yield('section-title')</h1>--}}
  592. <div class="mcp-theme-1">
  593. @yield('inner-content')
  594. </div>
  595. </div>
  596. </div>
  597. </main>
  598. </div>
  599. </div>
  600. <script>
  601. (function() {
  602. function init() {
  603. $('.note-method-select').change(function() {
  604. let form = $(this).closest('form');
  605. if(this.value === 'IN_CLINIC') {
  606. form.find('.if-in-clinic').show();
  607. }
  608. else {
  609. form.find('.if-in-clinic').hide();
  610. }
  611. });
  612. $('.note-method-select').each(function() {
  613. let form = $(this).closest('form');
  614. if(this.value === 'IN_CLINIC') {
  615. form.find('.if-in-clinic').show();
  616. }
  617. else {
  618. form.find('.if-in-clinic').hide();
  619. }
  620. });
  621. }
  622. addMCInitializer('patient-add-note-popup', init, '#patient-header')
  623. }).call(window);
  624. </script>
  625. <script>
  626. (function() {
  627. function init() {
  628. $('#sidebarMenu')
  629. .off('scroll')
  630. .on('scroll', function() {
  631. localStorage.sidebarMenuScrollTop = $(this).scrollTop();
  632. });
  633. if(localStorage.sidebarMenuScrollTop) {
  634. $('#sidebarMenu').scrollTop(+localStorage.sidebarMenuScrollTop);
  635. }
  636. }
  637. addMCInitializer('sidebarMenu', init, '#sidebarMenu')
  638. }).call(window);
  639. </script>
  640. @endsection