瀏覽代碼

Note: "+ Bill" action top right

Vijayakrishnan 3 年之前
父節點
當前提交
80041d47dc

+ 146 - 0
resources/views/app/patient/note/_create-bill-only.blade.php

@@ -0,0 +1,146 @@
+<?php $noteRates = $note->hcpPro->noteRates(); ?>
+@if($note->hasTreatmentServicesBillByHCP())
+    <div class="text-secondary">
+        <i class="fa fa-check"></i>
+        Bill Created
+    </div>
+@else
+    @if(!$note->is_bill_closed && !$note->is_billing_marked_done)
+        <div moe wide class="">
+            <a class="font-weight-bold text-info" href="" show start>+ Bill</a>
+            <form url="/api/bill/createForNote" right>
+                <?php $maxMinutes = 30; ?>
+                @if($noteRates && count($noteRates))
+                    <input type="hidden" name="noteUid" value="{{$note->uid}}">
+                    <div class="mb-2">
+                        <label for="" class="text-secondary text-sm">Effective Date</label>
+                        <input type="date" name="effectiveDate" class="form-control form-control-sm" value="{{$note->effective_dateest ? $note->effective_dateest : date('Y-m-d')}}" required>
+                    </div>
+                    <div class="mb-2">
+                        @if($noteRates && count($noteRates))
+                            @if(count($noteRates) === 1)
+                                <input type="hidden" name="code" value="{{$noteRates[0]->code}}">
+                                <p class="mb-2">Service: <b>{{ $noteRates[0]->code }} (${{ $noteRates[0]->amount }}/hr)</b></p>
+                            @else
+                                <select autofocus class="form-control" name="code" onchange="switchCoNumberOfUnitsByType(this)">
+                                    <option value="">-- Select Code --</option>
+                                    @foreach($noteRates as $noteRate)
+                                        <option data-amount="{{ $noteRate->amount }}" value="{{ $noteRate->code }}">
+                                            {{ $noteRate->code }} (${{ $noteRate->amount }}{{ $noteRate->code === 'Treatment Services' ? '/hr' : '' }})
+                                        </option>
+                                    @endforeach
+                                </select>
+                            @endif
+                        @endif
+                    </div>
+
+                    <?php
+                        $maxMinutes = 120;
+                        if($note->new_or_fu_or_na === 'NEW') {
+                            $maxMinutes = 90;
+                        }
+                        else if($note->new_or_fu_or_na === 'FU') {
+                            if($note->method === 'VIDEO') {
+                                $maxMinutes = 75;
+                            }
+                            else if($note->method === 'AUDIO') {
+                                $maxMinutes = 60;
+                            }
+                        }
+                    ?>
+
+                    @if($noteRates && count($noteRates) && count($noteRates) === 1)
+                        @if(strpos(strtolower($noteRates[0]->code), "treatment services") !== FALSE)
+                            <div class="mb-2">
+                                <select name="numberOfUnits" class="form-control form-control-sm"
+                                        onchange="calculateCoBillAmount(this)">
+                                    <option value=""> -- select -- </option>
+                                    <?php for ($i = 5; $i <= $maxMinutes; $i+=5) { ?>
+                                    <option value="{{ $i/60 }}" {{ $i === 30 ? 'selected' : '' }}>{{ $i }} minutes</option>
+                                    <?php } ?>
+                                </select>
+                            </div>
+                            <div class="mb-2" calculated-co-amount></div>
+                        @else
+                            <input type="hidden" name="numberOfUnits" value="1">
+                        @endif
+                    @endif
+                    <div class="bill-conditional">
+
+                    </div>
+
+                    @if(@$note && $note->hcpPro->id === $pro->id)
+                    <div class="my-3">
+                        <input type="checkbox" name="signAndMarkBillingDone" checked>&nbsp;Sign and Mark Billing Done
+                    </div>
+                    @endif
+
+                    <div class="">
+                        <button class="btn btn-primary btn-sm" submit>Submit</button>
+                        <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                    </div>
+                @else
+                    <div class="border rounded bg-aliceblue p-2 width-200px">
+                        <i class="fa fa-exclamation-triangle text-warning-mellow mr-1"></i>
+                        Payment rates not yet set for Treatment Services. Please contact admin.
+                    </div>
+                @endif
+            </form>
+            <div class="d-none" hourly-co-template>
+                <div class="mb-2">
+                    <select name="numberOfUnits" class="form-control form-control-sm"
+                            onchange="calculateCoBillAmount(this)">
+                        <option value=""> -- select -- </option>
+                        <?php for ($i = 5; $i <= $maxMinutes; $i+=5) { ?>
+                            <option value="{{ $i/60 }}" {{ $i === 30 ? 'selected' : '' }}>{{ $i }} minutes</option>
+                        <?php } ?>
+                    </select>
+                </div>
+                <div class="mb-2" calculated-co-amount></div>
+            </div>
+            <div class="d-none" non-hourly-co-template>
+                <input type="hidden" name="numberOfUnits" value="1">
+            </div>
+        </div>
+    @endif
+
+    <script>
+        (function() {
+            let selectedCodeHourlyRate = 0;
+            @if($noteRates && count($noteRates) && count($noteRates) === 1)
+                selectedCodeHourlyRate = {{ $noteRates[0]->amount }};
+            @endif
+            window.switchCoNumberOfUnitsByType = function(_trigger) {
+                let container = $('.bill-conditional').empty();
+                let selected  = $(_trigger).find('option:selected');
+                if(!selected.length) return;
+                let clone = null;
+                selectedCodeHourlyRate = +selected.attr('data-amount');
+                $('[calculated-co-amount]').text('');
+                if(selected.text().toLowerCase().indexOf('treatment services') !== -1) {
+                    clone = $('[hourly-co-template]').clone()
+                        .removeAttr('hourly-co-template')
+                        .removeClass('d-none');
+                }
+                else {
+                    clone = $('[non-hourly-co-template]').clone()
+                        .removeAttr('non-hourly-co-template')
+                        .removeClass('d-none');
+                }
+                clone.appendTo(container)
+                clone.focus();
+            }
+            window.calculateCoBillAmount = function(_trigger) {
+                let amountTarget = $('[calculated-co-amount]');
+                _trigger = $(_trigger);
+                if(!_trigger.find('option:selected').length) {
+                    amountTarget.text('');
+                    return;
+                }
+                let hours = +_trigger.find('option:selected').attr('value');
+                amountTarget.html('<b>Reimbursable Amount:</b> $' + (hours * selectedCodeHourlyRate).toFixed(2));
+            }
+        })();
+
+    </script>
+@endif

+ 11 - 4
resources/views/app/patient/note/dashboard.blade.php

@@ -340,9 +340,16 @@
                     <div>
 
                         @if($note->is_signed_by_hcp )
-                            <div class="text-secondary">
-                                <i class="fa fa-check"></i>
-                                Note Signed
+                            <div class="d-flex align-items-baseline">
+                                <div class="text-secondary">
+                                    <i class="fa fa-check"></i>
+                                    Note Signed
+                                </div>
+                                @if($pro->pro_type === 'ADMIN' || ($note->hcpPro && $pro->id === $note->hcpPro->id))
+                                    <div class="ml-3">
+                                        @include('app/patient/note/_create-bill-only')
+                                    </div>
+                                @endif
                             </div>
                         @endif
                         @if(!$note->is_signed_by_hcp )
@@ -379,7 +386,7 @@
                     </div>
                 </div>
                 @if($note->allyPro && $pro->id === $note->allyPro->id)
-                <div class="mx-4">
+                <div class="mx-3">
                     <div>
                         @if($note->is_signed_by_ally)
                             <span class="text-secondary">