patient.blade.php 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. @extends('layouts.template')
  2. @section('content')
  3. <div class="container-fluid">
  4. <div class="row">
  5. <nav id="sidebarMenu" class="col-md-3 col-lg-2 d-md-block bg-light sidebar collapse">
  6. <div class="sidebar-sticky pt-3">
  7. <ul class="nav flex-column">
  8. <li class="nav-item"><a class="nav-link"
  9. href="{{ route('patients.view.dashboard', ['patient' => $patient]) }}">Dashboard</a>
  10. </li>
  11. <li class="nav-item"><a class="nav-link"
  12. href="{{ route('patients.view.care-plan', ['patient' => $patient]) }}">Care
  13. Plan</a></li>
  14. <li class="nav-item"><a class="nav-link"
  15. href="{{ route('patients.view.medications', ['patient' => $patient]) }}">Medications</a>
  16. </li>
  17. <li class="nav-item"><a class="nav-link"
  18. href="{{ route('patients.view.dx-and-focus-areas', ['patient' => $patient]) }}">Dx
  19. and Focus Areas</a></li>
  20. <li class="nav-item"><a class="nav-link"
  21. href="{{ route('patients.view.care-team', ['patient' => $patient]) }}">Care
  22. Team</a></li>
  23. <li class="nav-item"><a class="nav-link"
  24. href="{{ route('patients.view.measurements', ['patient' => $patient]) }}">Measurements</a>
  25. </li>
  26. <li class="nav-item"><a class="nav-link"
  27. href="{{ route('patients.view.labs-and-studies', ['patient' => $patient]) }}">Labs
  28. and Studies</a></li>
  29. <li class="nav-item"><a class="nav-link"
  30. href="{{ route('patients.view.history', ['patient' => $patient]) }}">History</a>
  31. </li>
  32. <li class="nav-item"><a class="nav-link"
  33. href="{{ route('patients.view.immunizations', ['patient' => $patient]) }}">Immunizations</a>
  34. </li>
  35. <li class="nav-item"><a class="nav-link"
  36. href="{{ route('patients.view.allergies', ['patient' => $patient]) }}">Allergies</a>
  37. </li>
  38. <li class="nav-item"><a class="nav-link"
  39. href="{{ route('patients.view.notes', ['patient' => $patient]) }}">Notes</a>
  40. </li>
  41. <li class="nav-item"><a class="nav-link"
  42. href="{{ route('patients.view.flowsheets', ['patient' => $patient]) }}">Flowsheets</a>
  43. </li>
  44. <li class="nav-item"><a class="nav-link"
  45. href="{{ route('patients.view.demographics', ['patient' => $patient]) }}">Demographics</a>
  46. </li>
  47. <li class="nav-item"><a class="nav-link"
  48. href="{{ route('patients.view.account', ['patient' => $patient]) }}">Account</a>
  49. </li>
  50. <li class="nav-item"><a class="nav-link"
  51. href="{{ route('patients.view.care-checklist', ['patient' => $patient]) }}">Care
  52. Checklist</a></li>
  53. <li class="nav-item"><a class="nav-link"
  54. href="{{ route('patients.view.documents', ['patient' => $patient]) }}">Documents</a>
  55. </li>
  56. <li class="nav-item"><a class="nav-link"
  57. href="{{ route('patients.view.education', ['patient' => $patient]) }}">Education</a>
  58. </li>
  59. <li class="nav-item"><a class="nav-link"
  60. href="{{ route('patients.view.messaging', ['patient' => $patient]) }}">Messaging</a>
  61. </li>
  62. <li class="nav-item"><a class="nav-link"
  63. href="{{ route('patients.view.duplicate', ['patient' => $patient]) }}">Duplicate</a>
  64. </li>
  65. </ul>
  66. </div>
  67. </nav>
  68. <main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-md-4">
  69. <div class="card mt-3">
  70. <div class=card-header>
  71. <?
  72. $thumbnail = $patient->profile_picture_base64;
  73. $initials = !$thumbnail ? substr($patient->name_first, 0, 1).substr($patient->name_last, 0, 1) : '';
  74. $online = $patient->is_online ? 'online' : '';
  75. $patientName = implode(', ', array_filter([$patient->name_last, $patient->name_first]));
  76. $confirmedCell = $patient->is_cell_number_confirmed ? $patient->cell_number : null;
  77. $confirmedEmail = $patient->is_email_address_confirmed ? $patient->email_address : null;
  78. $location = implode(', ', array_filter([$patient->home_address_city, $patient->home_address_state]));
  79. $mcpName = implode(', ', array_filter([$patient->mcp->name_last, $patient->mcp->name_first]));
  80. $cmName = $patient->cm ? implode(', ', array_filter([$patient->cm->name_last, $patient->cm->name_first])) : null;
  81. $memberSince = date_diff(date_create($patient->created_at), date_create('now'))->days;
  82. if ($memberSince > 30) $memberSince = date('F, Y', strtotime($patient->created_at));
  83. else if ($memberSince > 1) $memberSince .= ' days ago';
  84. else if ($memberSince === 1) $memberSince = 'yesterday';
  85. else if ($memberSince === 0) $memberSince = 'today';
  86. ?>
  87. <div class=z><div class=header>
  88. @if($patient->is_duplicate)
  89. <h5>This chart is a duplicate of <a href=javascript:void(0)>Cooper, Amiele</a>.</h5><br>
  90. @endif
  91. <div class=hbox>
  92. <div class="thumbnail {{$online}}" style="background-image:<?=$thumbnail?>"><?=$initials?></div>
  93. <section>
  94. <div class=hbox>
  95. <h4>{{$patientName}}</h4>
  96. <i class=chart>[#{{$patient->chart_number}}]</i>
  97. </div>
  98. <div class=separators>
  99. <div>{{$patient->dob}} ({{$patient->age_in_years}} y.o {{$patient->sex}})</div>
  100. <div>
  101. <label>MCN:</label>
  102. @if($patient->was_medicare_validation_successful)
  103. <span>
  104. Valid #,
  105. @if($patient->is_part_b_primary == 'YES')
  106. Medicare Part B
  107. @else
  108. Not Medicare Part B <i class="fa fa-times"></i>
  109. @if($patient->is_medicare_advantage == 'YES')
  110. , Medicare Advantage,
  111. {{$patient->medicare_advantage_plan}}
  112. @endif
  113. @endif
  114. </span>
  115. @else
  116. <div moe>
  117. <a href="" start show>
  118. @if($patient->mcn)
  119. {{$patient->mcn}} INVALID! <i class="fa fa-times"></i>
  120. @else
  121. None provided.
  122. @endif
  123. </a>
  124. <form url="/api/client/putMcn">
  125. <input type="hidden" name="uid" value="{{$patient->uid}}">
  126. <input type="text" name="name_first" value="{{$patient->name_first}}">
  127. <input type="text" name="name_last" value="{{$patient->name_last}}">
  128. <input type="text" name="dob" value="{{$patient->dob}}">
  129. <input type="text" name="mcn" value="{{$patient->mcn}}">
  130. <div>
  131. <button submit>Submit</button>
  132. <button cancel>Cancel</button>
  133. </div>
  134. </form>
  135. </div>
  136. @endif
  137. </div>
  138. </div>
  139. <ul class=hbox>
  140. <li><i class="fa fa-phone-alt" aria-hidden="true"></i> {{$confirmedCell}}</li>
  141. <li><i class="fa fa-envelope" aria-hidden="true"></i> {{$confirmedEmail}}</li>
  142. <li><i class="fa fa-map-marker-alt" aria-hidden="true"></i> {{$location}}</li>
  143. </ul>
  144. <div class=separators>
  145. <div>Joined <?=$memberSince?></div>
  146. <div><label>PCP:</label> {{$mcpName}}</div>
  147. <div><label>MA:</label> {{$cmName}}</div>
  148. </div>
  149. </section>
  150. <section>
  151. <div><label>Allergies:</label> Grass, Pollen, Latex</div>
  152. <div><label>Next Appt:</label> {{$patient->mcp_onboarding_visit_date}}</div>
  153. </section>
  154. <section class=vbox>
  155. <button>+ Note</button>
  156. <button>Pt. Ed.</button>
  157. <button>Video</button>
  158. </section>
  159. </div>
  160. </div></div> <!-- z -->
  161. </div>
  162. <div class="card-header" style=display:none>
  163. @if($patient->is_duplicate)
  164. <div class="alert alert-danger">
  165. This chart is a duplicate of: __________
  166. </div>
  167. @endif
  168. <div class="d-flex">
  169. <div class="">
  170. <div class="d-flex">
  171. <div class="d-flex align-items-center">
  172. <div class="font-weight-bold" style="font-size: 1.4em">
  173. {{$patient->name_last}}, {{$patient->name_first}}
  174. </div>
  175. @if(!$patient->was_medicare_validation_successful)
  176. <div moe class="ml-2">
  177. <a href="" start show>
  178. <i class="fas fa-edit"></i>
  179. </a>
  180. <form url="/api/client/editName">
  181. <input type="hidden" name="uid" value="{{$patient->uid}}">
  182. <div class="form-group">
  183. Prefix: <input type="text" name="namePrefix"
  184. value="{{$patient->name_prefix}}"><br>
  185. First: <input type="text" name="nameFirst"
  186. value="{{$patient->name_first}}"><br>
  187. Middle: <input type="text" name="nameMiddle"
  188. value="{{$patient->name_middle}}"><br>
  189. Last: <input type="text" name="nameLast"
  190. value="{{$patient->name_last}}"><br>
  191. Suffix: <input type="text" name="nameSuffix"
  192. value="{{$patient->name_suffix}}"><br>
  193. Credential: <input type="text" name="nameCredential"
  194. value="{{$patient->name_credential}}"><br>
  195. Nickname: <input type="text" name="nameNickname"
  196. value="{{$patient->name_nickname}}"><br>
  197. Maiden: <input type="text" name="nameMaiden"
  198. value="{{$patient->name_maiden}}"><br>
  199. Previous: <input type="text" name="namePrevious"
  200. value="{{$patient->name_previous}}">
  201. </div>
  202. <div class="form-group">
  203. <button class="btn btn-success btn-sm" submit>Submit</button>
  204. <button class="btn btn-secondary btn-sm" cancel>Cancel</button>
  205. </div>
  206. </form>
  207. </div>
  208. @endif
  209. <span class="pl-2">
  210. {{$patient->dob}}
  211. {{$patient->age_in_years}} y.o. {{$patient->sex}}
  212. </span>
  213. @if(!$patient->was_medicare_validation_successful)
  214. <div moe class="ml-2">
  215. <a href="" start show>
  216. <i class="fas fa-edit"></i>
  217. </a>
  218. <form url="/api/client/editDob">
  219. <input type="hidden" name="uid" value="{{$patient->uid}}">
  220. <div class="form-group">
  221. <input type="date" class="" name="dob"
  222. value="{{$patient->dob}}">
  223. </div>
  224. <div class="form-group">
  225. <button class="btn btn-success btn-sm" submit>Submit</button>
  226. <button class="btn btn-secondary btn-sm" cancel>Cancel</button>
  227. </div>
  228. </form>
  229. </div>
  230. @endif
  231. </div>
  232. <div class="align-items-center d-flex">
  233. <i class="badge badge-info ml-3">
  234. #{{$patient->chart_number}}
  235. </i>
  236. </div>
  237. <div class="pl-3">
  238. <strong>PCP:</strong>
  239. @if($patient->mcp)
  240. {{$patient->mcp->name_display}}...
  241. @if($patient->has_mcp_done_onboarding_visit == 'YES')
  242. <strong>First E&M
  243. Visit:</strong> {{$patient->mcp_onboarding_visit_date}}...
  244. <strong>Last E&M Visit:</strong>
  245. {$patient->most_recent_mcp_em_visit_date}...
  246. <strong>Next E&M Visit:</strong> {$patient->next_mcp_em_visit_date}
  247. @else
  248. <span class="alert alert-success text-sm p-1">
  249. <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
  250. Patient has not been seen yet!
  251. </span>
  252. @endif
  253. @else
  254. <div moe>
  255. none!
  256. <a href="" start show>
  257. <i class="fas fa-edit"></i>
  258. </a>
  259. <form url="/api/client/putMcp">
  260. <input type="hidden" name="uid" value="{{$patient->uid}}">
  261. <div class="form-group">
  262. <select name="mcpProUid" class="form-control">
  263. <option value="">-- select mcp --</option>
  264. @foreach ($pros as $pro)
  265. <option
  266. value="{{$pro->uid}}">{{$pro->name_display}}</option>
  267. @endforeach
  268. </select>
  269. </div>
  270. <div class="form-group">
  271. <button class="btn btn-success btn-sm" submit>Submit</button>
  272. <button class="btn btn-secondary btn-sm" cancel>Cancel</button>
  273. </div>
  274. </form>
  275. </div>
  276. @endif
  277. </div>
  278. </div>
  279. <div class="d-flex">
  280. <div>
  281. <strong>MCN:</strong>
  282. @if($patient->mcn)
  283. @if($patient->was_medicare_validation_successful)
  284. <span
  285. class="badge badge-{{$patient->is_part_b_primary == 'YES' ? 'success' : 'danger'}}">
  286. Valid #,
  287. @if($patient->is_part_b_primary == 'YES')
  288. Medicare Part B <i class="fa fa-check"></i>
  289. @else
  290. Not Medicare Part B <i class="fa fa-times"></i>
  291. @if($patient->is_medicare_advantage == 'YES')
  292. , Medicare Advantage,
  293. {{$patient->medicare_advantage_plan}}
  294. @endif
  295. @endif
  296. </span>
  297. @else
  298. <span class="badge badge-warning">
  299. {{$patient->mcn}}
  300. INVALID! <i class="fa fa-times"></i>
  301. </span>
  302. @endif
  303. @else
  304. None provided. <i class="fa fa-times"></i>
  305. @endif
  306. @if(!$patient->was_medicare_validation_successful)
  307. <div moe>
  308. <a href="" start show><i class="fas fa-edit"></i></a>
  309. <form url="/api/client/putMcn">
  310. <input type="hidden" name="uid" value="{{$patient->uid}}">
  311. <div class="form-group">
  312. <input type="text" name="mcn" value="{{$patient->mcn}}">
  313. </div>
  314. <div class="form-group">
  315. <button class="btn btn-success btn-sm" submit>Submit
  316. </button>
  317. <button class="btn btn-secondary btn-sm" cancel>Cancel
  318. </button>
  319. </div>
  320. </form>
  321. </div>
  322. @endif
  323. </div>
  324. <div class="d-flex">
  325. <div class="pl-3">
  326. <strong>MA:</strong>
  327. @if($patient->cm)
  328. {{$patient->cm->name_display}}
  329. @else
  330. <div>
  331. none!
  332. </div>
  333. @endif
  334. </div>
  335. </div>
  336. </div>
  337. <div class="d-flex">
  338. <div>
  339. <strong>
  340. Focus areas:
  341. </strong>
  342. T2DM, CAD, HTN, Weight Loss
  343. </div>
  344. <div class="pl-4">
  345. <strong>Ht:</strong> ___ in. <strong>Wt:</strong> ___ lbs. <strong>BMI:</strong>
  346. ___
  347. </div>
  348. </div>
  349. <div>
  350. <strong>
  351. Allergies:
  352. </strong>
  353. ...
  354. ...
  355. ...
  356. </div>
  357. </div>
  358. <div class="text-right flex-fill">
  359. <div moe>
  360. <a start show class="btn btn-primary btn-sm">
  361. <i class="fa fa-plus-circle"></i>
  362. Note
  363. </a>
  364. <form url="/api/note/create" right>
  365. <input type="hidden" name="clientUid" value="{{$patient->uid}}">
  366. <div class="row">
  367. <div class="col-md-6">
  368. <div class="form-group">
  369. <label for="" class="control-label">HCP Pro</label>
  370. <select name="hcpProUid" class="form-control">
  371. <option value="">-- select hcp pro --</option>
  372. @foreach ($pros as $pro)
  373. <option
  374. value="{{$pro->uid}}">{{$pro->name_display}}</option>
  375. @endforeach
  376. </select>
  377. </div>
  378. <div class="form-group">
  379. <label for="" class="control-label">Ally Pro</label>
  380. <select name="allyProUid" class="form-control">
  381. <option value="">-- select ally pro --</option>
  382. @foreach ($pros as $pro)
  383. <option
  384. value="{{$pro->uid}}">{{$pro->name_display}}</option>
  385. @endforeach
  386. </select>
  387. </div>
  388. <div class="form-group">
  389. <label for="" class="control-label text-left">Title</label>
  390. <input type="text" name="title" class="form-control">
  391. </div>
  392. <div class="form-group">
  393. <label for="" class="control-label text-left">Effective date</label>
  394. <input type="date" name="effectiveDateEST" class="form-control">
  395. </div>
  396. <div class="form-group">
  397. <label for="" class="control-label text-left">Effective time</label>
  398. <input type="time" name="effectiveTime" class="form-control">
  399. </div>
  400. </div>
  401. <div class="col-md-6">
  402. <div class="form-group">
  403. <label for="" class="control-label">reason1</label>
  404. <input type="text" name="reason1" class="form-control">
  405. </div>
  406. <div class="form-group">
  407. <label for="" class="control-label">reason2</label>
  408. <input type="text" name="reason2" class="form-control">
  409. </div>
  410. <div class="form-group">
  411. <label for="" class="control-label">reason3</label>
  412. <input type="text" name="reason3" class="form-control">
  413. </div>
  414. <div class="form-group">
  415. <label for="" class="control-label">reason3Plus</label>
  416. <input type="text" name="reason3Plus" class="form-control">
  417. </div>
  418. <div class="form-group">
  419. <label for="" class="control-label">serviceLocation</label>
  420. <input type="text" name="serviceLocation" class="form-control">
  421. </div>
  422. <div class="form-group">
  423. <label for="" class="control-label">category</label>
  424. <input type="text" name="category" class="form-control">
  425. </div>
  426. </div>
  427. <div class="col-md-12">
  428. <div class="form-group">
  429. <button class="btn btn-primary" submit>Submit</button>
  430. <button class="btn btn-danger" cancel>Cancel</button>
  431. </div>
  432. </div>
  433. </div>
  434. </form>
  435. </div>
  436. <br>
  437. <button class="btn btn-primary btn-sm mt-2">
  438. <i class="fa fa-book"></i>
  439. Education
  440. </button>
  441. </div>
  442. </div>
  443. {{-- go to patient's call page --}}
  444. <div class="p-3 border small mt-3 bg-white">
  445. <div class="mr-3 my-1">Online:
  446. <span class="font-weight-bold">
  447. <?= $patient->is_online ? '<span class="text-success">YES</span>' : '<span class="text-secondary">NO</span>' ?>
  448. </span>
  449. </div>
  450. <div class="mr-3 my-1">Video:
  451. <span class="font-weight-bold">
  452. <?= $patient->is_client_video_turned_on ? '<span class="text-success">ON</span>' : '<span class="text-secondary">OFF</span>' ?>
  453. </span>
  454. @if($patient->is_online && $patient->is_client_video_turned_on && count($patient->prosInMeetingWith()))
  455. <div class="my-1 font-weight-bold">Currently talking to:</div>
  456. @foreach($patient->prosInMeetingWith() as $inCallPro)
  457. <div class="d-block my-1">
  458. <i class="fa fa-chevron-right mr-1"></i>
  459. <a href="/pros/view/{{ $inCallPro->uid }}/SUB_dashboard"
  460. class="text-primary">
  461. {{ $inCallPro->name_display }}
  462. </a>
  463. </div>
  464. @endforeach
  465. @endif
  466. </div>
  467. <div>
  468. <a href="#"
  469. class="btn btn-sm btn-primary mt-2 font-weight-bold px-3"
  470. onclick="return openInRHS('/pro/meet/{{ $patient->uid }}')">
  471. <i class="fa fa-phone mr-1"></i>
  472. Go to the client's meeting page
  473. </a>
  474. </div>
  475. </div>
  476. </div>
  477. <div class="card-body">
  478. <h1 class="h3">@yield('section-title')</h1>
  479. <div>
  480. @yield('inner-content')
  481. </div>
  482. </div>
  483. </div>
  484. </main>
  485. </div>
  486. </div>
  487. @endsection