Forráskód Böngészése

Merge branch 'dev' of rav.triplestart.com:jmudaka/stagfe2 into dev

= 3 éve
szülő
commit
c8d6ad1482

+ 11 - 0
app/Http/Controllers/DnaController.php

@@ -51,6 +51,17 @@ class DnaController extends Controller
             }
         }
 
+        if ($request->input('home_address_state')) {
+
+            if($request->input('home_address_state') == 'NONE'){
+                $patients = $patients->whereNull('mailing_address_state');
+            }else if($request->input('home_address_state') == 'NOT_MD'){
+                $patients = $patients->where('mailing_address_state', '<>' , 'MD');
+            }else{
+                $patients = $patients->where('mailing_address_state', '=' , $request->input('home_address_state'));
+            }
+        }
+
         $this->filterMultiQuery($request, $patients, 'age_in_years', 'age_category', 'age_value_1', 'age_value_2');
         $this->filterSimpleQuery($request, $patients, 'sex', 'sex');
         $this->filterMultiQuery($request, $patients, 'usual_bmi_max', 'bmi_category', 'bmi_value_1', 'bmi_value_2');

+ 6 - 1
app/Http/Controllers/HomeController.php

@@ -1911,7 +1911,12 @@ WHERE measurement.label NOT IN ('SBP', 'DBP')
                     }
                 }
             }
-
+                $teams = $this->performer->pro->teamsWhereMcp;
+                foreach ($teams as $team) {
+                    if(!in_array($team->assistant_pro_id, $accessibleProIds)) {
+                        $accessibleProIds[] = $team->assistant_pro_id;
+                    }
+	        }
             $pros->whereIn('id', $accessibleProIds);
         }
         $suggestedPros = $pros->orderBy('name_last')->orderBy('name_first')->get();

+ 11 - 0
app/Http/Controllers/McpController.php

@@ -82,6 +82,17 @@ class McpController extends Controller
             }
         }
 
+        if ($request->input('home_address_state')) {
+
+            if($request->input('home_address_state') == 'NONE'){
+                $patients = $patients->whereNull('mailing_address_state');
+            }else if($request->input('home_address_state') == 'NOT_MD'){
+                $patients = $patients->where('mailing_address_state', '<>' , 'MD');
+            }else{
+                $patients = $patients->where('mailing_address_state', '=' , $request->input('home_address_state'));
+            }
+        }
+
         $this->filterMultiQuery($request, $patients, 'age_in_years', 'age_category', 'age_value_1', 'age_value_2');
         $this->filterSimpleQuery($request, $patients, 'sex', 'sex');
         $this->filterMultiQuery($request, $patients, 'usual_bmi_max', 'bmi_category', 'bmi_value_1', 'bmi_value_2');

+ 17 - 4
app/Models/Pro.php

@@ -13,16 +13,24 @@ class Pro extends Model
 {
     protected $table = 'pro';
 
-    public function displayName() {
+    public function displayName($_flat = false) {
         $name = [];
         if(!empty($this->name_display)) return $this->name_display;
-        if(!empty($this->name_last)) $name[] = $this->name_last;
-        if(!empty($this->name_first)) $name[] = $this->name_first;
+        $sep = ", ";
+        if($_flat) {
+            if(!empty($this->name_first)) $name[] = $this->name_first;
+            if(!empty($this->name_last)) $name[] = $this->name_last;
+            $sep = ' ';
+        }
+        else {
+            if(!empty($this->name_last)) $name[] = $this->name_last;
+            if(!empty($this->name_first)) $name[] = $this->name_first;
+        }
         if(!count($name)) {
             $name = $this->name_display;
         }
         else {
-            $name = implode(", ", $name);
+            $name = implode($sep, $name);
         }
         return $name;
     }
@@ -50,6 +58,11 @@ class Pro extends Model
         return $this->hasMany(Bill::class, 'hcp_pro_id');
     }
 
+    public function teamsWhereMcp()
+    {
+        return $this->hasMany(ProTeam::class, 'mcp_pro_id', 'id');
+    }
+    
     public function teamsWhereAssistant()
     {
         return $this->hasMany(ProTeam::class, 'assistant_pro_id', 'id');

+ 1 - 1
config/app.php

@@ -65,7 +65,7 @@ return [
 
     'hrm2_url' => env('HRM2_URL'),
 
-    'asset_version' => 47,
+    'asset_version' => 48,
 
     'temp_dir' => env('TEMP_DIR'),
 

+ 2 - 2
resources/views/app/admin/patients_filters.blade.php

@@ -37,7 +37,7 @@
 				<option value="NO_MCP">No MCP</option>
 				<?php $mcpPros = \App\Models\Pro::where('is_active', true)->where('is_enrolled_as_mcp', true)->orderBy('name_display')->get(); ?>
 				@foreach($mcpPros as $mcpPro)
-					<option value="{{$mcpPro->uid}}">{{$mcpPro->name_display}}</option>
+					<option value="{{$mcpPro->uid}}">{{$mcpPro->displayName()}}</option>
 				@endforeach
 			</select>
 		</div>
@@ -223,7 +223,7 @@
 	</div>
 	<div class="sm-section">
 		<div class="">
-			<label>Home Address State:</label>
+			<label>Home State:</label>
 			<select name="home_address_state" class="form-control input-sm" v-model="filters.home_address_state">
 				<option value="">All</option>
 				<option value="NONE">Not Available</option>

+ 61 - 0
resources/views/app/dna/patients_filters.blade.php

@@ -147,6 +147,67 @@
 		</div>
 	</div>
 
+	<div class="sm-section">
+		<div class="">
+			<label>Home State:</label>
+			<select name="home_address_state" class="form-control input-sm" v-model="filters.home_address_state">
+				<option value="">All</option>
+				<option value="NONE">Not Available</option>
+				<option value="NOT_MD">Not MD</option>
+				<option value="AL">Alabama</option>
+				<option value="AK">Alaska</option>
+				<option value="AZ">Arizona</option>
+				<option value="AR">Arkansas</option>
+				<option value="CA">California</option>
+				<option value="CO">Colorado</option>
+				<option value="CT">Connecticut</option>
+				<option value="DE">Delaware</option>
+				<option value="FL">Florida</option>
+				<option value="GA">Georgia</option>
+				<option value="HI">Hawaii</option>
+				<option value="ID">Idaho</option>
+				<option value="IL">Illinois</option>
+				<option value="IN">Indiana</option>
+				<option value="IA">Iowa</option>
+				<option value="KS">Kansas</option>
+				<option value="KY">Kentucky</option>
+				<option value="LA">Louisiana</option>
+				<option value="ME">Maine</option>
+				<option value="MD">Maryland</option>
+				<option value="MA">Massachusetts</option>
+				<option value="MI">Michigan</option>
+				<option value="MN">Minnesota</option>
+				<option value="MS">Mississippi</option>
+				<option value="MO">Missouri</option>
+				<option value="MT">Montana</option>
+				<option value="NE">Nebraska</option>
+				<option value="NV">Nevada</option>
+				<option value="NH">New Hampshire</option>
+				<option value="NJ">New Jersey</option>
+				<option value="NM">NewMexico</option>
+				<option value="NY">New York</option>
+				<option value="NC">North Carolina</option>
+				<option value="ND">North Dakota</option>
+				<option value="OH">Ohio</option>
+				<option value="OK">Oklahoma</option>
+				<option value="OR">Oregon</option>
+				<option value="PA">Pennsylvania</option>
+				<option value="RI">RhodeIsland</option>
+				<option value="SC">South Carolina</option>
+				<option value="SD">South Dakota</option>
+				<option value="TN">Tennessee</option>
+				<option value="TX">Texas</option>
+				<option value="UT">Utah</option>
+				<option value="VT">Vermont</option>
+				<option value="VA">Virginia</option>
+				<option value="WA">Washington</option>
+				<option value="WV">West Virginia</option>
+				<option value="WI">Wisconsin</option>
+				<option value="WY">Wyoming</option>
+			</select>
+		</div>
+	</div>
+
 	<div>
 		<div class="form-group">
 			<label>&nbsp;</label>

+ 1 - 1
resources/views/app/generic-bills/add-bill-form/_default-fields.blade.php

@@ -41,7 +41,7 @@
 <div class="mb-2">
     <?php
     if(!@$maxMinutes) {
-        $maxMinutes = 20;
+        $maxMinutes = 30;
     }
     ?>
     <label for="" class="text-secondary text-sm">Minutes</label>

+ 1 - 1
resources/views/app/mc.blade.php

@@ -20,7 +20,7 @@
             <iframe id="stag_mcp_lhs" src="/blank" frameborder="0" class="h-100 w-100"></iframe>
         </div>
         <div class="col-3 border-left app-right-panel pr-1">
-            <iframe id="stag_mcp_rhs" src="/pro/meet" frameborder="0" class="h-100 w-100"></iframe>
+            <iframe id="stag_mcp_rhs" src="" frameborder="0" class="h-100 w-100"></iframe>
         </div>
     </div>
     <script>

+ 61 - 0
resources/views/app/mcp/patients_filters.blade.php

@@ -128,6 +128,67 @@
 		</div>
 	</div>
 
+	<div class="sm-section">
+		<div class="">
+			<label>Home State:</label>
+			<select name="home_address_state" class="form-control input-sm" v-model="filters.home_address_state">
+				<option value="">All</option>
+				<option value="NONE">Not Available</option>
+				<option value="NOT_MD">Not MD</option>
+				<option value="AL">Alabama</option>
+				<option value="AK">Alaska</option>
+				<option value="AZ">Arizona</option>
+				<option value="AR">Arkansas</option>
+				<option value="CA">California</option>
+				<option value="CO">Colorado</option>
+				<option value="CT">Connecticut</option>
+				<option value="DE">Delaware</option>
+				<option value="FL">Florida</option>
+				<option value="GA">Georgia</option>
+				<option value="HI">Hawaii</option>
+				<option value="ID">Idaho</option>
+				<option value="IL">Illinois</option>
+				<option value="IN">Indiana</option>
+				<option value="IA">Iowa</option>
+				<option value="KS">Kansas</option>
+				<option value="KY">Kentucky</option>
+				<option value="LA">Louisiana</option>
+				<option value="ME">Maine</option>
+				<option value="MD">Maryland</option>
+				<option value="MA">Massachusetts</option>
+				<option value="MI">Michigan</option>
+				<option value="MN">Minnesota</option>
+				<option value="MS">Mississippi</option>
+				<option value="MO">Missouri</option>
+				<option value="MT">Montana</option>
+				<option value="NE">Nebraska</option>
+				<option value="NV">Nevada</option>
+				<option value="NH">New Hampshire</option>
+				<option value="NJ">New Jersey</option>
+				<option value="NM">NewMexico</option>
+				<option value="NY">New York</option>
+				<option value="NC">North Carolina</option>
+				<option value="ND">North Dakota</option>
+				<option value="OH">Ohio</option>
+				<option value="OK">Oklahoma</option>
+				<option value="OR">Oregon</option>
+				<option value="PA">Pennsylvania</option>
+				<option value="RI">RhodeIsland</option>
+				<option value="SC">South Carolina</option>
+				<option value="SD">South Dakota</option>
+				<option value="TN">Tennessee</option>
+				<option value="TX">Texas</option>
+				<option value="UT">Utah</option>
+				<option value="VT">Vermont</option>
+				<option value="VA">Virginia</option>
+				<option value="WA">Washington</option>
+				<option value="WV">West Virginia</option>
+				<option value="WI">Wisconsin</option>
+				<option value="WY">Wyoming</option>
+			</select>
+		</div>
+	</div>
+
 	@if($performer->pro->pro_type == 'ADMIN')
 	<div class="sm-section">
 		<div class="form-group mb-0">

+ 1 - 1
resources/views/app/patient/care-month/dashboard.blade.php

@@ -279,7 +279,7 @@
                                                 </div>
                                                 <div class="mb-2">
                                                     <label for="" class="text-sm text-secondary mb-1">Message</label>
-                                                    <textarea rows="5" class="form-control form-control-sm" name="message">Please use your weight-scale and BP meter more often to stay safe during this pandemic! Leadership Health.</textarea>
+                                                    <textarea rows="5" class="form-control form-control-sm" name="message">Hi! This is {{$pro->displayName(true)}}, from Cardio 1st. Please check your blood pressure.</textarea>
                                                 </div>
                                                 <div class="d-flex align-items-center">
                                                     <button class="btn btn-sm btn-primary mr-2" submit="">Send</button>

+ 10 - 0
resources/views/app/patient/create-patient/demographics-form.blade.php

@@ -90,6 +90,16 @@
 			</div>
 		</div>
 	</div>
+	<div class="col-12">
+                <div class="row align-items-center form-group">
+                        <label class='col-md-2 pr-0 font-weight-bold m-0' style="font-size:10px !important;">Coordinator:</label>
+                        <div class="col-md-10">
+                                <select name="assistantProUid" class="form-control input-sm" provider-search provider-type="default-na">
+                                        <option value="">--select--</option>
+                                </select>
+                        </div>
+                </div>
+        </div>
 </div>
 @elseif($pro->isDefaultNA())
 <div class="row">

+ 26 - 1
resources/views/app/patient/medications-reconcile.blade.php

@@ -62,7 +62,32 @@ $medications = $points;
             }
             ?>
             <tr>
-                <td class="bg-light font-weight-bold">{{$medication->data->name}}</td>
+                <td class="bg-light font-weight-bold">
+                    {{$medication->data->name}}
+                    <div class="d-block font-weight-normal">
+                        <div class="d-flex align-items-baseline">
+                            <span class="text-secondary mr-1">Active:</span>
+                            @if($medication->is_removed)
+                                <span class="text-secondary">No</span>
+                            @else
+                                <span class="text-success">Yes</span>
+                            @endif
+                            <div moe class="ml-2">
+                                <a href="#" start show>Mark {{$medication->is_removed ? 'Active' : 'Historic'}}</a>
+                                <form url="/api/visitPoint/updateTopLevel" class="mcp-theme-1">
+                                    <p class="mb-2">Mark medication as {{$medication->is_removed ? 'Active' : 'Historic'}}</p>
+                                    <input type="hidden" name="uid" value="{{$medication->uid}}">
+                                    <input type="hidden" name="noteUid" value="{{$note->uid}}">
+                                    <input type="hidden" name="isRemoved" value="{{$medication->is_removed ? '0' : '1'}}">
+                                    <div>
+                                        <button submit class="btn btn-sm btn-primary mr-2">Save</button>
+                                        <button cancel class="btn btn-sm bg-light btn-default border">Cancel</button>
+                                    </div>
+                                </form>
+                            </div>
+                        </div>
+                    </div>
+                </td>
                 <td class="bg-light">
                     @include('app/patient/wizard-partials/show-plan', ['point' => $medication, 'plan' => $mostRecentPlanBeforeThisNote])
                 </td>

+ 1 - 1
resources/views/app/patient/partials/caremonth-summary.blade.php

@@ -49,7 +49,7 @@
                     </div>
                     <div class="mb-2">
                         <label for="" class="text-sm text-secondary mb-1">Message</label>
-                        <textarea rows="5" class="form-control form-control-sm" name="message">Please use your weight-scale and BP meter more often to stay safe during this pandemic! Leadership Health.</textarea>
+                        <textarea rows="5" class="form-control form-control-sm" name="message">Hi! This is {{$pro->displayName(true)}}, from Cardio 1st. Please check your blood pressure.</textarea>
                     </div>
                     <div class="d-flex align-items-center">
                         <button class="btn btn-sm btn-primary mr-2" submit="">Send</button>

+ 15 - 0
resources/views/app/patient/tickets.blade.php

@@ -1028,6 +1028,21 @@
                             @endif
                         @endif
 
+                        function autoGrow(_ta) {
+                            _ta.style.minHeight = "46px";
+                            _ta.style.height = "46px";
+                            _ta.style.height = (_ta.scrollHeight + 10)+"px";
+                        }
+                        $(document)
+                            .off('input.auto-grow', '#ticketsApp textarea.auto-grow')
+                            .on('input.auto-grow', '#ticketsApp textarea.auto-grow', function() {
+                                autoGrow(this);
+                            });
+                        $(document)
+                            .off('focus.auto-grow', '#ticketsApp textarea.auto-grow')
+                            .on('focus.auto-grow', '#ticketsApp textarea.auto-grow', function() {
+                                autoGrow(this);
+                            });
                     }
                 })
             }

+ 1 - 1
resources/views/app/patient/tickets/other.blade.php

@@ -63,7 +63,7 @@
                 </div>
                 <div class="mb-2">
                     <label class="text-sm text-secondary mb-1">Description</label>
-                    <input type="text" v-model="otherPopupItem.data.description" placeholder="Description" class="form-control form-control-sm">
+                    <textarea type="text" v-model="otherPopupItem.data.description" placeholder="Description" class="form-control form-control-sm resize-v auto-grow" rows="2"></textarea>
                 </div>
                 <div class="mb-2">
                     <label class="text-sm text-secondary mb-1">Memo</label>

+ 14 - 12
resources/views/app/patient/wizard-partials/common-script.blade.php

@@ -688,26 +688,28 @@ parentSegment.find('.btn-entry-type')
         $(this).siblings().removeClass('btn-info').addClass('btn-default bg-white');
         $(this).removeClass('btn-default bg-white').addClass('btn-info');
 
+        let form = $(this).closest('form');
+
         switch ($(this).attr('data-entry-type')) {
             case 'Pre-Existing':
-                parentSegment.find('[name="removalReasonCategory"]').prop('checked', false).trigger('change');
-                parentSegment.find('[name="isRemoved"][value="0"]').prop('checked', true).trigger('change');
-                parentSegment.find('[name="additionReasonCategory"][value="ON_INTAKE"]').prop('checked', true).trigger('change');
+                form.find('[name="removalReasonCategory"]').prop('checked', false).trigger('change');
+                form.find('[name="isRemoved"][value="0"]').prop('checked', true).trigger('change');
+                form.find('[name="additionReasonCategory"][value="ON_INTAKE"]').prop('checked', true).trigger('change');
                 break;
             case 'Added during this visit':
-                parentSegment.find('[name="removalReasonCategory"]').prop('checked', false).trigger('change');
-                parentSegment.find('[name="isRemoved"][value="0"]').prop('checked', true).trigger('change');
-                parentSegment.find('[name="additionReasonCategory"][value="DURING_VISIT"]').prop('checked', true).trigger('change');
+                form.find('[name="removalReasonCategory"]').prop('checked', false).trigger('change');
+                form.find('[name="isRemoved"][value="0"]').prop('checked', true).trigger('change');
+                form.find('[name="additionReasonCategory"][value="DURING_VISIT"]').prop('checked', true).trigger('change');
                 break;
             case 'Historic':
-                parentSegment.find('[name="additionReasonCategory"]').prop('checked', false).trigger('change');
-                parentSegment.find('[name="isRemoved"][value="1"]').prop('checked', true).trigger('change');
-                parentSegment.find('[name="removalReasonCategory"][value="ON_INTAKE"]').prop('checked', true).trigger('change');
+                form.find('[name="additionReasonCategory"]').prop('checked', false).trigger('change');
+                form.find('[name="isRemoved"][value="1"]').prop('checked', true).trigger('change');
+                form.find('[name="removalReasonCategory"][value="ON_INTAKE"]').prop('checked', true).trigger('change');
                 break;
             case 'Removed during this visit':
-                parentSegment.find('[name="additionReasonCategory"]').prop('checked', false).trigger('change');
-                parentSegment.find('[name="isRemoved"][value="1"]').prop('checked', true).trigger('change');
-                parentSegment.find('[name="removalReasonCategory"][value="DURING_VISIT"]').prop('checked', true).trigger('change');
+                form.find('[name="additionReasonCategory"]').prop('checked', false).trigger('change');
+                form.find('[name="isRemoved"][value="1"]').prop('checked', true).trigger('change');
+                form.find('[name="removalReasonCategory"][value="DURING_VISIT"]').prop('checked', true).trigger('change');
                 break;
         }
 

+ 1 - 1
resources/views/app/practice-management/remote-monitoring.blade.php

@@ -209,7 +209,7 @@
                                                         </div>
                                                         <div class="mb-2">
                                                             <label for="" class="text-sm text-secondary mb-1">Message</label>
-                                                            <textarea rows="5" class="form-control form-control-sm" name="message">Please use your weight-scale and BP meter more often to stay safe during this pandemic! Leadership Health.</textarea>
+                                                            <textarea rows="5" class="form-control form-control-sm" name="message">Hi! This is {{$pro->displayName(true)}}, from Cardio 1st. Please check your blood pressure.</textarea>
                                                         </div>
                                                         <div class="d-flex align-items-center">
                                                             <button class="btn btn-sm btn-primary mr-2" submit="">Send</button>

+ 4 - 4
resources/views/layouts/patient.blade.php

@@ -759,12 +759,12 @@ $isOldClient = (date_diff(date_create(config('app.point_impl_date')), date_creat
 											<div class="position-relative">
 												<?php
 												$addressParts = [];
-												if (!!$patient->mailing_address_line1) $addressParts[] = $patient->mailing_address_line1;
-												if (!!$patient->mailing_address_line2) $addressParts[] = $patient->mailing_address_line2;
+												if (!!$patient->mailing_address_line1) $addressParts[] = trim($patient->mailing_address_line1);
+												if (!!$patient->mailing_address_line2) $addressParts[] = trim($patient->mailing_address_line2);
 												$addressParts = implode(", ", $addressParts) . "<br/>";
 												$addressPart2 = [];
-												if (!!$patient->mailing_address_city) $addressPart2[] = $patient->mailing_address_city;
-												if (!!$patient->mailing_address_state) $addressPart2[] = $patient->mailing_address_state;
+												if (!!$patient->mailing_address_city) $addressPart2[] = trim($patient->mailing_address_city);
+												if (!!$patient->mailing_address_state) $addressPart2[] = trim($patient->mailing_address_state);
 												$addressParts .= implode(", ", $addressPart2);
 												echo $addressParts;
 												?>

+ 5 - 4
routes/web.php

@@ -260,16 +260,17 @@ Route::middleware('pro.auth')->group(function () {
         Route::get('patients-accounts-invites', 'PracticeManagementController@patientsAccountsInvites')->name('patientsAccountsInvites');
         Route::get('clients-bdt-devices', 'PracticeManagementController@clientsBdtDevices')->name('clientsBdtDevices');
         Route::get('memos', 'PracticeManagementController@memos')->name('memos');
-        Route::get('segment-templates', 'PracticeManagementController@segmentTemplates')->name('segmentTemplates');
-        Route::get('visit-templates', 'PracticeManagementController@visitTemplates')->name('visitTemplates');
-        Route::get('visit-template/{visitTemplate}', 'PracticeManagementController@visitTemplate')->name('visitTemplate');
-        Route::get('visit-template-access/{visitTemplate}', 'PracticeManagementController@visitTemplateAccess')->name('visitTemplateAccess');
         Route::get('client-ccm-rm-status', 'PracticeManagementController@clientCcmRmStatus')->name('client-ccm-rm-status');
 
         Route::get('hcp-note-activity', 'PracticeManagementController@hcpNoteActivity')->name('hcp-note-activity');
 
         Route::middleware('pro.auth.admin')->group(function () {
 
+            Route::get('segment-templates', 'PracticeManagementController@segmentTemplates')->name('segmentTemplates');
+            Route::get('visit-templates', 'PracticeManagementController@visitTemplates')->name('visitTemplates');
+            Route::get('visit-template/{visitTemplate}', 'PracticeManagementController@visitTemplate')->name('visitTemplate');
+            Route::get('visit-template-access/{visitTemplate}', 'PracticeManagementController@visitTemplateAccess')->name('visitTemplateAccess');
+
             Route::get('rm-action-report', 'PracticeManagementController@rmActionReport')->name('rmActionReport');
         	
 		    Route::get('remote-monitoring-report', 'PracticeManagementController@remoteMonitoringReport')->name('remoteMonitoringReport');