|
@@ -7,7 +7,38 @@ $trimLayout = true;
|
|
|
$routeName = request()->route()->getName();
|
|
|
$isVisitNote = ($routeName === 'pros.view.notes.view.dashboard' && @$note && !!$note->visitTemplate);
|
|
|
$isOldClient = (date_diff(date_create(config('app.point_impl_date')), date_create($patient->created_at))->invert === 1);
|
|
|
+
|
|
|
+function cleanStatus($_status)
|
|
|
+{
|
|
|
+ return ucwords(strtolower(str_replace("_", " ", $_status)));
|
|
|
+}
|
|
|
+$postHiringStages = [
|
|
|
+ "Accepted_by_HR__Send_Offer",
|
|
|
+ "Offer_Sent",
|
|
|
+ "Offer_Signed__Awaiting_Countersign",
|
|
|
+ "Offer_Signing_Problem",
|
|
|
+ "Offer_Signed_And_Countersigned",
|
|
|
+ "Payroll_And_Credentialing_Submitted",
|
|
|
+ "Payroll_Verified",
|
|
|
+ "Credentialing_Verified",
|
|
|
+ "Payroll_Or_Credentialing_Problem",
|
|
|
+ "Background_Check_Cleared",
|
|
|
+ "Training_Needed",
|
|
|
+ "Training_Scheduled",
|
|
|
+ "Trained",
|
|
|
+ "Working",
|
|
|
+ ];
|
|
|
+
|
|
|
+
|
|
|
+?>
|
|
|
+
|
|
|
+<?php
|
|
|
+/** @var \App\Models\Client $patient */
|
|
|
+$availableHrTags = \App\Models\AdminThing::where('is_removed', false)->where('category', 'HR_TAG')->pluck('value')->toArray();
|
|
|
+$clientTags = $patient->clientTags->pluck('tag')->toArray();
|
|
|
+$availableHrTags = array_values(array_diff($availableHrTags, $clientTags));
|
|
|
?>
|
|
|
+
|
|
|
<style media="screen">
|
|
|
.pt-name {
|
|
|
font-size: 1.5rem !important;
|
|
@@ -122,7 +153,7 @@ $isOldClient = (date_diff(date_create(config('app.point_impl_date')), date_creat
|
|
|
<div class="hbox mr-auto">
|
|
|
|
|
|
|
|
|
- <section>
|
|
|
+ <section class="mt-2">
|
|
|
<div class="hbox">
|
|
|
<h4 class="pt-name">{{$patientName}}</h4>
|
|
|
<div class="screen-only mr-1 patient-presence-indicator thumbnail {{$online}}"
|
|
@@ -144,20 +175,352 @@ $isOldClient = (date_diff(date_create(config('app.point_impl_date')), date_creat
|
|
|
</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="d-inline-block">
|
|
|
+ <span>Joined <?= $memberSince ?></span>
|
|
|
+ <i class="chart mr-2">[#{{$patient->chart_number}}]</i>
|
|
|
+ <a native target="_blank" href="{{config('app.stagc_url')}}/log-in-as/{{$performer->session_key}}/{{$patient->shadowOfPro->uid}}" class="mr-2">
|
|
|
+ <i class="fa fa-sign-in-alt"></i>
|
|
|
+ </a>
|
|
|
+ <div moe relative>
|
|
|
+ <a start show class="font-weight-bold">
|
|
|
+ <i class="fa fa-key"></i>
|
|
|
+ </a>
|
|
|
+ <form url="/api/proHrPortalAccess/createAndSendEmail" class="mcp-theme-1" right>
|
|
|
+ <input type="hidden" name="proUid" value="{{$patient->shadowOfPro->uid}}">
|
|
|
+ <div class="mb-2">
|
|
|
+ <label class="text-secondary text-sm">Email Address</label>
|
|
|
+ <input type="text" class="form-control form-control-sm" name="emailAddress" value="{{$patient->shadowOfPro->email_address}}">
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div>
|
|
|
+ <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
|
|
|
+ <button cancel class="btn btn-sm btn-default border">Cancel</button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <label class="text-secondary">HR Spec:</label>
|
|
|
+ {{$patient->shadowOfPro && $patient->shadowOfPro->hrSpecialist ? $patient->shadowOfPro->hrSpecialist->displayName() : '-'}}
|
|
|
+ @if($patient->shadowOfPro)
|
|
|
+ <div moe class="ml-2">
|
|
|
+ <a start show><i class="fa fa-edit"></i></a>
|
|
|
+ <form url="/api/pro/putHrRepPro" class="mcp-theme-1">
|
|
|
+ <input type="hidden" name="uid" value="{{$patient->shadowOfPro->uid}}">
|
|
|
+ <div class="mb-2">
|
|
|
+ <label class="text-secondary text-sm">MCP Pro</label>
|
|
|
+ <select name="hrRepProUid" provider-search data-pro-uid="{{ @$patient->shadowOfPro->hrSpecialist->uid }}" class="form-control form-control-sm">
|
|
|
+ <option value=""> --select--</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <button submit class="btn btn-sm btn-primary mr-1">
|
|
|
+ Submit
|
|
|
+ </button>
|
|
|
+ <button cancel class="btn btn-sm btn-default border">
|
|
|
+ Cancel
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ @endif
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <label class="text-secondary">Clinical Super:</label>
|
|
|
+ {{$patient->shadowOfPro && $patient->shadowOfPro->clinicalSupervisor ? $patient->shadowOfPro->clinicalSupervisor->displayName() : '-'}}
|
|
|
+ @if($patient->shadowOfPro)
|
|
|
+ <div moe class="ml-2">
|
|
|
+ <a start show><i class="fa fa-edit"></i></a>
|
|
|
+ <form url="/api/pro/putSupervisingHcpPro" class="mcp-theme-1">
|
|
|
+ <input type="hidden" name="uid" value="{{$patient->shadowOfPro->uid}}">
|
|
|
+ <div class="mb-2">
|
|
|
+ <label class="text-secondary text-sm">MCP Pro</label>
|
|
|
+ <select name="supervisingHcpProUid" provider-search data-pro-uid="{{ @$patient->shadowOfPro->clinicalSupervisor->uid }}" class="form-control form-control-sm">
|
|
|
+ <option value=""> --select--</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <button submit class="btn btn-sm btn-primary mr-1">
|
|
|
+ Submit
|
|
|
+ </button>
|
|
|
+ <button cancel class="btn btn-sm btn-default border">
|
|
|
+ Cancel
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ @endif
|
|
|
+ </div>
|
|
|
<div class=separators>
|
|
|
<div class="screen-only">
|
|
|
<label>Status:</label>
|
|
|
<b>{{$patient->client_engagement_status_category ? ucwords(strtolower(str_replace('_', ' ', $patient->client_engagement_status_category == 'DUMMY' ? 'Test Chart' : $patient->client_engagement_status_category))) : '-'}}</b>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div>
|
|
|
+ @if($patient->stability_interaction_client_memo_id)
|
|
|
+ Next convo: {{friendly_date($patient->stable_until_date)}}<br>
|
|
|
+ Last convo: {{friendly_date_time($patient->stabilityInteractionClientMemo->created_at)}}
|
|
|
+ @else
|
|
|
+ No conversations yet.
|
|
|
+ @endif
|
|
|
+ </div>
|
|
|
|
|
|
- </section>
|
|
|
+ </section>
|
|
|
+ <section class="vbox ml-2 align-self-start mt-2 ml-4">
|
|
|
+ <div>
|
|
|
+ <div moe relative>
|
|
|
+ <button class="col-1-button" start show><i class="fa fa-plus text-sm text-secondary"></i> SMS
|
|
|
+ </button>
|
|
|
+ <form url="/api/clientSms/createOutgoing" right class="mcp-theme-1">
|
|
|
+ <input type="hidden" name="uid" value="{{ $patient->uid }}">
|
|
|
+ <div class="mb-2">
|
|
|
+ <label for="" class="text-sm text-secondary mb-1">Cell
|
|
|
+ Number</label>
|
|
|
+ <input type="text" class="form-control form-control-sm" name="cellNumber" value="{{$patient->shadowOfPro->cell_number}}">
|
|
|
+ </div>
|
|
|
+ <div class="mb-2">
|
|
|
+ <label for="" class="text-sm text-secondary mb-1">Message</label>
|
|
|
+ <textarea type="text" class="form-control form-control-sm" name="message"></textarea>
|
|
|
+ </div>
|
|
|
+ <div class="d-flex align-items-center">
|
|
|
+ <button class="btn btn-sm btn-primary mr-2" submit>Send</button>
|
|
|
+ <button class="btn btn-sm btn-default mr-2 border" cancel>
|
|
|
+ Cancel
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span moe relative class="">
|
|
|
+ <button class="col-1-button" start show title="SMS check-in link to the patient"><i class="on-hover-opaque fa fa-paper-plane text-secondary"></i> Send</button>
|
|
|
+ <form url="/api/client/sendCheckInTokenViaSmsOrEmail" right class="mcp-theme-1">
|
|
|
+ <input type="hidden" name="uid" value="{{ $patient->uid }}">
|
|
|
+ <p class="small min-width-200px mb-2">Send Check-In link to patient?</p>
|
|
|
+ <div class="mb-2">
|
|
|
+ <label for="" class="text-sm text-secondary mb-1">Cell Number</label>
|
|
|
+ <input type="text" class="form-control input-sm" name="cellNumber" value="{{$patient->cell_number}}">
|
|
|
+ </div>
|
|
|
+ <div class="mb-2">
|
|
|
+ <label for="" class="text-sm text-secondary mb-1">Email address</label>
|
|
|
+ <input type="text" class="form-control input-sm" name="emailAddress" value="{{$patient->email_address}}">
|
|
|
+ </div>
|
|
|
+ <div class="d-flex align-items-center">
|
|
|
+ <button class="btn btn-sm btn-primary mr-2" submit>Send</button>
|
|
|
+ <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ @if($performer->pro->pro_type == 'ADMIN')
|
|
|
+ <div>
|
|
|
+ <button class="col-1-button" onclick="return openInRHS('/pro/check-video/{{ $patient->uid }}')"> <i class="fas fa-video text-secondary"></i> Check</button>
|
|
|
+ </div>
|
|
|
+ @endif
|
|
|
+ <div>
|
|
|
+ <button class="col-1-button" onclick="return openInRHS('/pro/meet/{{ $patient->uid }}')"><i class="fas fa-video text-secondary"></i> Join</button>
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+ <section class="vbox ml-2 mt-2">
|
|
|
+ <?php
|
|
|
+ $map = null;
|
|
|
+ if ($patient->shadowOfPro->hr_section_map) {
|
|
|
+ $map = json_decode($patient->shadowOfPro->hr_section_map);
|
|
|
+ $map = $map && isset($map->{'profession'}) ? $map->{'profession'} : null;
|
|
|
+ if ($map) {
|
|
|
+ $map = $map->proposedData;
|
|
|
+ if ($map) {
|
|
|
+ $map = json_decode($map);
|
|
|
+ } else {
|
|
|
+ $map = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $hcpMismatchClass = '';
|
|
|
+ if (!!$patient->shadowOfPro->is_hcp !== !!(@$map->is_hcp)) {
|
|
|
+ $hcpMismatchClass = 'text-danger';
|
|
|
+ }
|
|
|
+ ?>
|
|
|
+ <div class="d-flex align-items align-self-stretch my-0 pl-4 mcp-theme-1">
|
|
|
+ Is HCP: <b class="{{$hcpMismatchClass}}"><?= $patient->shadowOfPro->is_hcp ? 'Yes' : 'No' ?></b>
|
|
|
+ @if( $patient->shadowOfPro->is_hcp)
|
|
|
+ <div moe class="ml-2">
|
|
|
+ <a start show href='#' class='font-weight-normal text-sm'>
|
|
|
+ <i class='fa fa-circle'></i> <span>Mark as Non-HCP</span>
|
|
|
+ </a>
|
|
|
+ <form url="/api/pro/setIsHcpToFalse" class="width-200px">
|
|
|
+ <input type="hidden" name="uid" value="{{$patient->shadowOfPro->uid}}">
|
|
|
+ <p>Set Is Hcp To False?</p>
|
|
|
+ <div class="">
|
|
|
+ <button class="btn btn-sm btn-primary px-3 mr-2" submit>Yes</button>
|
|
|
+ <button class="btn btn-sm btn-default border px-3" cancel>No</button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ @else
|
|
|
+ <div moe class="ml-2">
|
|
|
+ <a start show href='#' class='font-weight-normal text-sm'>
|
|
|
+ <i class='fa fa-circle'></i> <span>Mark as HCP</span>
|
|
|
+ </a>
|
|
|
+ <form url="/api/pro/setIsHcpToTrue" class="width-200px">
|
|
|
+ <input type="hidden" name="uid" value="{{$patient->shadowOfPro->uid}}">
|
|
|
+ <p>Set Is Hcp To True?</p>
|
|
|
+ <div class="">
|
|
|
+ <button class="btn btn-sm btn-primary px-3 mr-2" submit>Yes</button>
|
|
|
+ <button class="btn btn-sm btn-default border px-3" cancel>No</button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ @endif
|
|
|
+ </div>
|
|
|
+ <div class="d-flex align-items align-self-stretch my-0 pl-4 mcp-theme-1">
|
|
|
+ Enrolled as MCP: <b><?= $patient->shadowOfPro->is_enrolled_as_mcp ? 'Yes' : 'No' ?></b>
|
|
|
+ @if( $patient->shadowOfPro->is_enrolled_as_mcp)
|
|
|
+ <div moe class="ml-2">
|
|
|
+ <a start show href='#' class='font-weight-normal text-sm'>
|
|
|
+ <i class='fa fa-circle'></i> <span>Toggle</span>
|
|
|
+ </a>
|
|
|
+ <form url="/api/pro/setIsEnrolledAsMcpToFalse" class="width-200px">
|
|
|
+ <input type="hidden" name="uid" value="{{$patient->shadowOfPro->uid}}">
|
|
|
+ <p>Set Enrolled as MCP To False?</p>
|
|
|
+ <div class="">
|
|
|
+ <button class="btn btn-sm btn-primary px-3 mr-2" submit>Yes</button>
|
|
|
+ <button class="btn btn-sm btn-default border px-3" cancel>No</button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ @else
|
|
|
+ <div moe class="ml-2">
|
|
|
+ <a start show href='#' class='font-weight-normal text-sm'>
|
|
|
+ <i class='fa fa-circle'></i> <span>Toggle</span>
|
|
|
+ </a>
|
|
|
+ <form url="/api/pro/setIsEnrolledAsMcpToTrue" class="width-200px">
|
|
|
+ <input type="hidden" name="uid" value="{{$patient->shadowOfPro->uid}}">
|
|
|
+ <p>Set Enrolled as MCP To True?</p>
|
|
|
+ <div class="">
|
|
|
+ <button class="btn btn-sm btn-primary px-3 mr-2" submit>Yes</button>
|
|
|
+ <button class="btn btn-sm btn-default border px-3" cancel>No</button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ @endif
|
|
|
+ </div>
|
|
|
+ @if($map)
|
|
|
+ <div class="d-inline-flex align-self-center my-0 mcp-theme-1 pl-4 w-100">
|
|
|
+ <span>HR Profile > HCP:</span>
|
|
|
+ <span class="ml-1 font-weight-bold {{$hcpMismatchClass}}">{{ @$map->is_hcp ? 'Yes' : 'No' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="d-inline-flex align-self-center my-0 mcp-theme-1 pl-4 w-100">
|
|
|
+ <span>HR Profile > NPI:</span>
|
|
|
+ <span class="ml-1 font-weight-bold text-secondary" npi-lookup>
|
|
|
+ <span>{{@$map->individual_npi ? $map->individual_npi : '-'}}</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="d-inline-flex align-self-center my-0 mcp-theme-1 pl-4 w-100">
|
|
|
+ <span>HR Profile > Cred:</span>
|
|
|
+ <span class="ml-1 font-weight-bold text-secondary">
|
|
|
+ <span>{{@$patient->shadowOfPro->hrp_primary_credential ? $patient->shadowOfPro->hrp_primary_credential : '-'}}</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ @else
|
|
|
+ <div class="d-inline-flex align-self-center my-0 mcp-theme-1 pl-4 w-100">
|
|
|
+ <span>HR Profile > HCP:</span>
|
|
|
+ <span class="ml-1 font-weight-bold text-secondary">No</span>
|
|
|
+ </div>
|
|
|
+ @endif
|
|
|
+ @if($hcpMismatchClass !== '')
|
|
|
+ <div class="my-1 alert-danger ml-4 border border-danger rounded font-weight-bold p-2">
|
|
|
+ <i class="fa fa-exclamation-triangle"></i>
|
|
|
+ HCP status mismatch
|
|
|
+ </div>
|
|
|
+ @endif
|
|
|
+ </section>
|
|
|
|
|
|
<section class="mr-4 align-self-start mt-2 ml-auto">
|
|
|
<div id="hr-stage-heading" class="hr-steps-container">
|
|
|
<span>HR Stage:</span> <b>{{ucwords(implode(' ', explode('_', $patient->shadowOfPro->new_hr_stage)))}}</b>
|
|
|
</div>
|
|
|
<div>
|
|
|
+ Video HR Rep:
|
|
|
+ @if($patient->shadowOfPro->videoHrRep)
|
|
|
+ {{$patient->shadowOfPro->videoHrRep->name_first}} {{$patient->shadowOfPro->videoHrRep->name_last}}
|
|
|
+ @include('app.patient.partials.ob_forms.undoAssignVideoHrRep')
|
|
|
+ @else
|
|
|
+ @include('app.patient.partials.ob_forms.assignVideoHrRep')
|
|
|
+ @endif
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div>
|
|
|
+ Training Rep:
|
|
|
+ @if($patient->shadowOfPro->trainingRep)
|
|
|
+ {{$patient->shadowOfPro->trainingRep->name_first}} {{$patient->shadowOfPro->trainingRep->name_last}}
|
|
|
+ @include('app.patient.partials.ob_forms.undoAssignTrainingRep')
|
|
|
+ @else
|
|
|
+ @include('app.patient.partials.ob_forms.assignTrainingRep')
|
|
|
+ @endif
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div>
|
|
|
+ Success Rep:
|
|
|
+ @if($patient->shadowOfPro->successRep)
|
|
|
+ {{$patient->shadowOfPro->successRep->name_first}} {{$patient->shadowOfPro->successRep->name_last}}
|
|
|
+ @include('app.patient.partials.ob_forms.undoAssignSuccessRep')
|
|
|
+ @else
|
|
|
+ @include('app.patient.partials.ob_forms.assignSuccessRep')
|
|
|
+ @endif
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div moe relative>
|
|
|
+ <a href="#" start show>
|
|
|
+ <div class="d-flex align-items-center">
|
|
|
+ <span class="mr-2 text-dark">Non Responsive:</span>
|
|
|
+ <div class="custom-control custom-switch">
|
|
|
+ <input type="checkbox" class="custom-control-input" id="is_non_responsive-switch"
|
|
|
+ {{$patient->shadowOfPro->is_non_responsive ? 'checked':'' }} />
|
|
|
+ <label class="custom-control-label" for="is_non_responsive-switch"> </label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </a>
|
|
|
+ <form url="/api/proHr/{{$patient->shadowOfPro->is_non_responsive ? 'setIsNonResponsiveToFalse':'setIsNonResponsiveToTrue' }}" right>
|
|
|
+ <input type="hidden" name="uid" value="{{ $patient->shadowOfPro->uid }}">
|
|
|
+ <div class="form-group">
|
|
|
+ <label for="" class="control-label">Are you sure?</label>
|
|
|
+ </div>
|
|
|
+ <div class="">
|
|
|
+ <button type="button" class="btn btn-sm btn-primary" submit>Submit</button>
|
|
|
+ <button type="button" class="btn btn-sm btn-default border" cancel>Cancel</button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ @if(!in_array($patient->shadowOfPro->new_hr_stage, $postHiringStages))
|
|
|
+ <div>
|
|
|
+ <div moe relative>
|
|
|
+ <a href="#" start show>
|
|
|
+ <div class="d-flex align-items-center">
|
|
|
+ <span class="mr-2 text-dark">Problem w/ Application:</span>
|
|
|
+ <div class="custom-control custom-switch">
|
|
|
+ <input type="checkbox" class="custom-control-input" id="is_problem_with_application-switch"
|
|
|
+ {{$patient->shadowOfPro->is_problem_with_application ? 'checked':'' }} />
|
|
|
+ <label class="custom-control-label" for="is_problem_with_application-switch"> </label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </a>
|
|
|
+ <form url="/api/proHr/{{$patient->shadowOfPro->is_problem_with_application ? 'setIsProblemWithApplicationToFalse':'setIsProblemWithApplicationToTrue' }}" right>
|
|
|
+ <input type="hidden" name="uid" value="{{ $patient->shadowOfPro->uid }}">
|
|
|
+ <div class="form-group">
|
|
|
+ <label for="" class="control-label">Are you sure?</label>
|
|
|
+ </div>
|
|
|
+ <div class="">
|
|
|
+ <button type="button" class="btn btn-sm btn-primary" submit>Submit</button>
|
|
|
+ <button type="button" class="btn btn-sm btn-default border" cancel>Cancel</button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ @endif
|
|
|
+ <div>
|
|
|
<label>Sticky Note:</label> <span class="text-secondary">{{$patient->sticky_note ?? '-' }}</span>
|
|
|
<div moe relative wide class="ml-2 hide-inside-popup">
|
|
|
<a start show><i class="fa fa-edit"></i></a>
|