|
@@ -55,15 +55,15 @@
|
|
|
<b class="p-2 border-right mr-2 bg-aliceblue" :class="claim.status === 'PICKED_UP' ? 'text-dark' : 'text-secondary'">@{{ claim.created }}</b>
|
|
|
|
|
|
<span class="text-secondary text-sm mr-1">Patient</span>
|
|
|
- <span class="click-to-copy" title="Click to copy">@{{ claim.client }}</span>
|
|
|
+ <span class="" title="Click to copy">@{{ claim.client }}</span>
|
|
|
|
|
|
<span class="mx-2 text-secondary">/</span>
|
|
|
<span class="text-secondary text-sm mr-1">Pro</span>
|
|
|
- <span class="click-to-copy" title="Click to copy">@{{ claim.claim_pro }}</span>
|
|
|
+ <span class="" title="Click to copy">@{{ claim.claim_pro }}</span>
|
|
|
|
|
|
<span class="mx-2 text-secondary">/</span>
|
|
|
<span class="text-secondary text-sm mr-1">CPT</span>
|
|
|
- <span class="click-to-copy" title="Click to copy">@{{ claim.cpts }}</span>
|
|
|
+ <span class="" title="Click to copy">@{{ claim.cpts }}</span>
|
|
|
|
|
|
<span class="mx-2 text-secondary">/</span>
|
|
|
<span>@{{ claim.icds }} ICDs</span>
|
|
@@ -71,7 +71,7 @@
|
|
|
<span class="mx-2 text-secondary">/</span>
|
|
|
<div class="d-inline-flex align-items-center font-weight-bold text-secondary">
|
|
|
<span class="text-sm mr-1">$</span>
|
|
|
- <span class="click-to-copy" title="Click to copy">@{{ claim.expected_total ? claim.expected_total : 0 }}</span>
|
|
|
+ <span class="" title="Click to copy">@{{ claim.expected_total ? claim.expected_total : 0 }}</span>
|
|
|
</div>
|
|
|
<div class="ml-auto px-2" v-if="currentClaim && currentClaim.uid === claim.uid">
|
|
|
<button v-if="claim.status !== 'PICKED_UP'"
|
|
@@ -101,6 +101,14 @@
|
|
|
<div class="d-flex align-items-center mb-1">
|
|
|
<div class="text-secondary mr-3 min-width-140px">Payer</div>
|
|
|
<b class="text-secondary"><span class="click-to-copy" title="Click to copy">@{{ currentMBClaim.payer_name }}</span></b>
|
|
|
+ <div class="ml-auto d-inline-flex align-items-center">
|
|
|
+ <textarea class="copy-source opacity-0" v-html="jsonCopySource()"></textarea>
|
|
|
+ <button class="btn btn-sm btn-success on-hover-opaque text-sm font-weight-bold"
|
|
|
+ v-on:click.prevent="fastCopy()">
|
|
|
+ <i class="fa fa-copy"></i>
|
|
|
+ Copy All
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
<hr class="my-2">
|
|
@@ -215,7 +223,36 @@
|
|
|
<!--cpt, doc, icd-->
|
|
|
<div class="d-flex align-items-start mb-1">
|
|
|
<div class="text-secondary mr-3 min-width-140px">CPT Codes</div>
|
|
|
- <div v-html="currentClaimLines"></div>
|
|
|
+ <div>
|
|
|
+ <table class="table table-sm table-condensed mb-0 table-bordered">
|
|
|
+ <thead>
|
|
|
+ <tr class="bg-light">
|
|
|
+ <th class="border-0 width-100px">CPT</th>
|
|
|
+ <th class="border-0 width-100px">Modifier</th>
|
|
|
+ <th class="border-0 width-100px">DOS</th>
|
|
|
+ <th class="border-0 width-100px">Amount</th>
|
|
|
+ <th class="border-0 width-100px">POS</th>
|
|
|
+ <th class="border-0 text-nowrap">ICDs</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr class="claim-line" v-for="(claimLine) in currentClaimLines">
|
|
|
+ <td class="width-100px"><span class="click-to-copy" title="Click to copy">@{{ claimLine.cpt }}</span></td>
|
|
|
+ <td class="text-nowrap width-100px"><span class="click-to-copy" title="Click to copy">95</span></td>
|
|
|
+ <td class="text-nowrap width-100px"><span class="click-to-copy" title="Click to copy">@{{ claimLine.date_of_service }}</span></td>
|
|
|
+ <td class="text-nowrap width-100px">$ <span class="click-to-copy" title="Click to copy">@{{ claimLine.expected_total }}</span></td>
|
|
|
+ <td class="text-nowrap width-100px"><span class="click-to-copy" title="Click to copy">11</span></td>
|
|
|
+ <td class="">
|
|
|
+ <span v-for="(claimLineICD) in claimLine.claim_line_icds"
|
|
|
+ class="c-pointer border-secondary border-bottom mr-2"
|
|
|
+ :title="claimLineICD.description">
|
|
|
+ <span class="click-to-copy" title="Click to copy">@{{ claimLineICD.code }}</span>
|
|
|
+ </span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -328,9 +365,9 @@
|
|
|
}
|
|
|
this.currentMBClaim = _data;
|
|
|
this.currentClaim = this.claims[_index];
|
|
|
- $.get('/claims/current-claim-lines/' + claim.uid, (_data) => {
|
|
|
+ $.get('/claims/current-claim-lines/' + claim.uid + '?json=1', (_data) => {
|
|
|
this.currentClaimLines = _data;
|
|
|
- });
|
|
|
+ }, 'json');
|
|
|
}, 'json');
|
|
|
},
|
|
|
updateClaimStatus: function(_index, _status) {
|
|
@@ -347,7 +384,7 @@
|
|
|
if(_status === 'SUBMITTED') {
|
|
|
this.resetCurrentClaim();
|
|
|
}
|
|
|
- this.recaclculateNumUnsubmitted();
|
|
|
+ this.recalculateNumUnsubmitted();
|
|
|
}
|
|
|
}, 'json');
|
|
|
},
|
|
@@ -373,7 +410,7 @@
|
|
|
$.get('{{route('practice-management.process-claims')}}?' + ql, _data => {
|
|
|
this.claims = _data;
|
|
|
this.resetCurrentClaim();
|
|
|
- this.recaclculateNumUnsubmitted();
|
|
|
+ this.recalculateNumUnsubmitted();
|
|
|
hideMask();
|
|
|
}, 'json');
|
|
|
},
|
|
@@ -384,7 +421,7 @@
|
|
|
this.filter.hcp = '';
|
|
|
this.doFilter();
|
|
|
},
|
|
|
- recaclculateNumUnsubmitted: function() {
|
|
|
+ recalculateNumUnsubmitted: function() {
|
|
|
let count = 0;
|
|
|
if(this.claims && this.claims.length) {
|
|
|
for (let i = 0; i < this.claims.length; i++) {
|
|
@@ -395,12 +432,23 @@
|
|
|
}
|
|
|
}
|
|
|
this.numUnsubmitted = count;
|
|
|
+ },
|
|
|
+ jsonCopySource: function() {
|
|
|
+ if(!this.currentClaim || !this.currentMBClaim || !this.currentClaimLines) return '';
|
|
|
+ return JSON.stringify({
|
|
|
+ claim: this.currentClaim,
|
|
|
+ mbClaim: this.currentMBClaim,
|
|
|
+ claimLines: this.currentClaimLines
|
|
|
+ }, null, 2);
|
|
|
+ },
|
|
|
+ fastCopy: function() {
|
|
|
+ copyTextToClipboard($('.copy-source').first().val());
|
|
|
}
|
|
|
},
|
|
|
mounted: function() {
|
|
|
let self = this;
|
|
|
this.resetCurrentClaim();
|
|
|
- this.recaclculateNumUnsubmitted();
|
|
|
+ this.recalculateNumUnsubmitted();
|
|
|
window.setTimeout(() => {
|
|
|
$('[pro-suggest-initialized]').removeAttr('pro-suggest-initialized');
|
|
|
$('.pro-suggest-input').remove();
|