Procházet zdrojové kódy

Process claims - support for RM claims

Vijayakrishnan před 3 roky
rodič
revize
91dd34c3bc

+ 2 - 0
app/Http/Controllers/PracticeManagementController.php

@@ -1355,6 +1355,7 @@ SELECT claim.uid AS uid,
        note.uid AS note_uid,
        note.method,
        note.new_or_fu_or_na,
+       care_month.uid AS care_month_uid,
        -- claim.status_updated_at,
        (DATE(claim.status_updated_at) || ' ' ||
             LPAD(EXTRACT(hour FROM claim.status_updated_at)::text, 2, '0') || ':' ||
@@ -1366,6 +1367,7 @@ FROM claim
     join client on claim.client_id = client.id
     join pro cp on claim.pro_id = cp.id
     left join note on claim.note_id = note.id
+    left join care_month on claim.cm_id = care_month.id
     left join app_session on claim.status_updated_by_session_id = app_session.id
     left join pro sp on app_session.pro_id = sp.id
 --WHERE claim.status IS NULL OR claim.status = 'NEW'

+ 21 - 24
resources/views/app/patient/care-month/_create-claim.blade.php

@@ -1,5 +1,9 @@
-<span class="mx-2 text-secondary">|</span>
-<a href="#" onclick="return showStagPopup('create-claim')">Create Claim</a>
+@if($careMonth->is_claim_closed)
+    <b class="ml-2 text-info">[CLAIMING CLOSED]</b>
+@else
+    <span class="mx-2 text-secondary">|</span>
+    <a href="#" onclick="return showStagPopup('create-claim')">Create Claim</a>
+@endif
 @if($pro->pro_type === 'ADMIN')
     @if(!$careMonth->is_claim_closed)
         <span class="mx-2 text-secondary">|</span>
@@ -43,7 +47,7 @@
         </span>
     @endif
 @endif
-<div class="stag-popup stag-popup-md mcp-theme-1" stag-popup-key="create-claim">
+<div class="stag-popup stag-popup-md mcp-theme-1" style="width:100%" stag-popup-key="create-claim">
     <form action="/api/claim/createForCareMonth" id="createCareMonthClaimApp">
         <h3 class="stag-popup-title border-bottom-0 mb-0">
             <span>Create Claim</span>
@@ -56,8 +60,9 @@
         <table class="table table-sm table-condensed mb-3 border-left border-right border-bottom">
             <thead>
             <tr class="bg-light">
-                <th class="width-100px border-bottom-0">CPT Code</th>
-                <th class="width-100px border-bottom-0">Date of Service</th>
+                <th style="min-width: 100px;" class="border-bottom-0">CPT Code</th>
+                <th style="min-width: 100px;" class="border-bottom-0">DOS</th>
+                <th class="border-bottom-0">Units</th>
                 <th class="border-bottom-0">ICDs</th>
                 <th class="border-bottom-0">&nbsp;</th>
             </tr>
@@ -70,6 +75,9 @@
                 <td class="py-2">
                     <input required type="date" class="min-width-unset form-control form-control-sm" v-model="line.dateOfService">
                 </td>
+                <td class="py-2">
+                    <input required type="number" class="min-width-unset form-control form-control-sm" v-model="line.numberOfUnits">
+                </td>
                 <td class="p-2 bg-light">
                     <div class="d-flex align-items-baseline">
                         <a href="#" class="text-nowrap text-primary mr-2"
@@ -113,6 +121,7 @@
     </form>
 </div>
 <script>
+    window.rmReasons = [];
     window.createCareMonthClaimApp = new Vue({
         el: '#createCareMonthClaimApp',
         delimiters: ['@{{', '}}'],
@@ -122,12 +131,8 @@
                     {
                         cpt: '',
                         dateOfService: '{{date_format($careMonth->created_at, 'Y-m-d')}}',
-                        icds: window.rmReasons.map(_x => {
-                            return {
-                                code: _x.icd,
-                                description: _x.description
-                            };
-                        })
+                        icds: JSON.parse(JSON.stringify(window.rmReasons)),
+                        numberOfUnits: 1
                     }
                 ]
             }
@@ -137,12 +142,8 @@
                 this.payload.lines.push({
                     cpt: '',
                     dateOfService: '{{date('Y-m-d')}}',
-                    icds: window.rmReasons.map(_x => {
-                        return {
-                            code: _x.icd,
-                            description: _x.description
-                        };
-                    })
+                    icds: JSON.parse(JSON.stringify(window.rmReasons)),
+                    numberOfUnits: 1
                 });
                 Vue.nextTick(() => {
                     this.initICDAutoSuggest();
@@ -222,12 +223,8 @@
                 this.payload.lines = [{
                     cpt: '',
                     dateOfService: '{{date('Y-m-d')}}',
-                    icds: window.rmReasons.map(_x => {
-                        return {
-                            code: _x.icd,
-                            description: _x.description
-                        };
-                    })
+                    icds: JSON.parse(JSON.stringify(window.rmReasons)),
+                    numberOfUnits: 1
                 }];
             }
         },
@@ -235,5 +232,5 @@
             this.initICDAutoSuggest();
             this.getPrefillValues();
         }
-    })
+    });
 </script>

+ 32 - 5
resources/views/app/practice-management/process-claims.blade.php

@@ -52,7 +52,14 @@
                          v-on:click.prevent="setCurrentClaim(claimIndex)">
                         <div class="d-flex align-items-center c-pointer">
 
-                            <b class="p-2 border-right mr-2 bg-aliceblue" :class="claim.status === 'PICKED_UP' ? 'text-dark' : 'text-secondary'">@{{ claim.created }}</b>
+                            <b class="p-2 border-right mr-1 bg-aliceblue" :class="claim.status === 'PICKED_UP' ? 'text-dark' : 'text-secondary'">@{{ claim.created }}</b>
+
+                            <div v-if="claim.care_month_uid" class="rounded text-sm px-2 py-1 font-weight-bold bg-secondary text-white mr-1">
+                                <i class="fa fa-clock mr-1"></i>RM
+                            </div>
+                            <div v-if="claim.note_uid" class="rounded text-sm px-2 py-1 font-weight-bold bg-info text-white mr-1">
+                                <i class="fa fa-stethoscope mr-1"></i>NOTE
+                            </div>
 
                             <span class="text-secondary text-sm mr-1">Patient</span>
                             <span class="" title="Click to copy">@{{ claim.client }}</span>
@@ -198,18 +205,38 @@
                                     <hr class="my-2">
 
                                     <!--visit/note-->
-                                    <div class="d-flex align-items-center mb-1">
+                                    <div v-if="claim.note_uid" class="d-flex align-items-center mb-1">
                                         <div class="text-secondary mr-3 min-width-140px">Note</div>
                                         <div v-if="claim.note_uid">
-                                            <a :href="'/patients/view/' + claim.client_uid + '/notes/view/' + claim.note_uid + '?popupmode=1'"
-                                               native target="_blank"
-                                               class="note-popup-trigger text-nowrap mt-1 mr-1">
+                                            <a native target="_blank"
+                                               class="screen-only"
+                                               open-in-stag-popup
+                                               popup-style="stag-popup-med"
+                                               mc-initer="note-single"
+                                               title="Note"
+                                               :href="'/patients/view/' + claim.client_uid + '/notes/view/' + claim.note_uid">
                                                 View Note
                                             </a>
                                             <span class="ml-1 text-secondary">(@{{ claim.method }})</span>
                                         </div>
                                     </div>
 
+                                    <!-- care month -->
+                                    <div v-if="claim.care_month_uid" class="d-flex align-items-center mb-1">
+                                        <div class="text-secondary mr-3 min-width-140px">Care Month</div>
+                                        <div v-if="claim.care_month_uid">
+                                            <a native target="_blank"
+                                               class="screen-only"
+                                               open-in-stag-popup
+                                               mc-initer="care-month-dashboard"
+                                               title="Care Month"
+                                               :href="'/patients/view/' + claim.client_uid + '/care-months/view/' + claim.care_month_uid">
+                                                View Care Month
+                                            </a>
+<!--                                            <span class="ml-1 text-secondary">(@{{ claim.method }})</span>-->
+                                        </div>
+                                    </div>
+
                                     <hr class="my-2">
 
                                     <!--total-->