Snapshot of the working project as of 2026-10-23 (local 2d4d4fc), one commit with no earlier history: the tracked files were de-identified first (synthetic claim ids and patient data only; see Context.md section 7). Credentials, run logs, screenshots, claim reports and client workbooks are gitignored and not included. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
107 lines
5.2 KiB
HTML
107 lines
5.2 KiB
HTML
<!doctype html>
|
||
<!-- A claim form's side menu + eCW's Account Inquiry ("Patient Inquiry
|
||
Detail") modal, after the bindings in Dom.txt (2026-10-20). Made-up
|
||
claims only. A test sets window.HISTORY_PAGES (one array of claims per
|
||
page: {id, date, codes}) before clicking the launcher. The CPT rows are
|
||
loaded only once "Show CPT Payments" is ticked, as eCW reloads them. -->
|
||
<html><head><meta charset="utf-8"><title>Account Inquiry fixture</title>
|
||
<style>.ng-hide{display:none}.modal{display:none}.modal.in{display:block}</style>
|
||
</head><body>
|
||
<div class="claim-form" id="claimFormFixture">
|
||
<ul class="side-menu">
|
||
<li><a>UB Claim</a></li>
|
||
<li><a>Documents</a></li>
|
||
<li><a class="cursor" title="Account Inquiry" ng-click="vm.loadSmartPanel(item);" style="display:none"><label class="ft-label">Account Inquiry</label></a></li>
|
||
<li><a class="cursor" title="Documents" ng-click="vm.loadSmartPanel(item);"><label class="ft-label">Documents</label></a></li>
|
||
<li><a id="acctInq" class="cursor" title="Account Inquiry" ng-click="vm.loadSmartPanel(item);"><label class="ft-label">Account Inquiry</label></a></li>
|
||
<li><a>Actions</a></li>
|
||
</ul>
|
||
<button id="formCancel">Cancel</button>
|
||
</div>
|
||
|
||
<div class="modal" id="piModal">
|
||
<div class="modal-header">
|
||
<button type="button" class="close"
|
||
ng-click="validateandclosePatientInquiryDetailModal(false)">×</button>
|
||
<h4 class="modal-title">Patient Inquiry Detail</h4>
|
||
</div>
|
||
<div id="accountsLoadingImg" style="display:none">Loading…</div>
|
||
<div class="pull-left doc-att mt5">
|
||
<label class="checkbox-inline" ng-repeat="filter in collClaimFiltersFieldNames track by $index"><input type="checkbox" ng-model="filter.mod" ng-click="reloadClaimData($index,$event)" data-f="cpt"> Show CPT Payments</label>
|
||
<label class="checkbox-inline" ng-repeat="filter in collClaimFiltersFieldNames track by $index"><input type="checkbox" ng-model="filter.mod" ng-click="reloadClaimData($index,$event)"> Show CPT Payment Totals</label>
|
||
<label class="checkbox-inline" ng-repeat="filter in collClaimFiltersFieldNames track by $index"><input type="checkbox" ng-model="filter.mod" ng-click="reloadClaimData($index,$event)"> Show Voided Claims</label>
|
||
</div>
|
||
<div>
|
||
<button class="btn" ng-click="pibuttonprev()">PREV</button>
|
||
<input type="text" ng-model="curpage" id="pigoToPageNo" value="1">
|
||
of <span ng-bind="totalPage">1</span>
|
||
<button class="btn" ng-click="pibuttonnext()">NEXT</button>
|
||
</div>
|
||
<table class="table claimsDtlMainTbl"><tbody id="claims"></tbody></table>
|
||
<button class="btn" ng-click="validateandclosePatientInquiryDetailModal(true)">OK</button>
|
||
</div>
|
||
|
||
<script>
|
||
window.HISTORY_PAGES = window.HISTORY_PAGES || [[]];
|
||
let page = 0, showCpt = false;
|
||
const modal = document.getElementById('piModal');
|
||
const loader = document.getElementById('accountsLoadingImg');
|
||
const cptBox = document.querySelector('input[data-f="cpt"]');
|
||
|
||
function render() {
|
||
const pages = window.HISTORY_PAGES;
|
||
document.getElementById('pigoToPageNo').value = String(page + 1);
|
||
document.querySelector('[ng-bind="totalPage"]').textContent =
|
||
String(pages.length);
|
||
const body = document.getElementById('claims');
|
||
body.innerHTML = '';
|
||
for (const c of pages[page] || []) {
|
||
const cpt = showCpt ? c.codes.map(code =>
|
||
`<tr class="cptPaymentRow ng-scope" ng-repeat="charge in payment.Charges track by $index">` +
|
||
`<td></td><td ng-bind="getCPTPaymentDescription(charge,true)">${code}:SOME SERVICE…</td>` +
|
||
`<td ng-bind="charge.BilledFee">10.00</td></tr>`).join('') : '';
|
||
const tr = document.createElement('tr');
|
||
tr.setAttribute('ng-repeat', 'claim in claims track by $index');
|
||
tr.innerHTML =
|
||
`<td><table><tbody>` +
|
||
`<tr class="claimMainRow"><td ng-bind="claim.ClaimId">${c.id}</td>` +
|
||
`<td ng-bind="claim.ServiceDate | date:'MM/dd/yyyy'">${c.date}</td>` +
|
||
`<td ng-bind="getClaimDescription(claim,true)">Charges (Pr:XX Fac: YY)</td></tr>` +
|
||
`<tr class="claimChildRow0" ng-repeat="payment in claim.Payments track by $index">` +
|
||
`<td><table><tbody><tr><td>Medicare</td></tr>${cpt}</tbody></table></td></tr>` +
|
||
`</tbody></table></td>`;
|
||
body.append(tr);
|
||
}
|
||
}
|
||
|
||
function loading(then) {
|
||
loader.style.display = 'block';
|
||
setTimeout(() => { then(); loader.style.display = 'none'; }, 300);
|
||
}
|
||
|
||
document.getElementById('acctInq').addEventListener('click', () => {
|
||
if (window.NO_INQUIRY) return;
|
||
page = 0;
|
||
setTimeout(() => { modal.classList.add('in'); loading(render); }, 200);
|
||
});
|
||
cptBox.addEventListener('click', () => {
|
||
showCpt = cptBox.checked;
|
||
loading(render);
|
||
});
|
||
document.querySelector('[ng-click="pibuttonnext()"]').addEventListener(
|
||
'click', () => {
|
||
if (page < window.HISTORY_PAGES.length - 1) { page++; loading(render); }
|
||
});
|
||
document.querySelector(
|
||
'button.close[ng-click="validateandclosePatientInquiryDetailModal(false)"]')
|
||
.addEventListener('click', () => {
|
||
if (window.STUCK_OPEN) return;
|
||
window.CLOSED_WITH = 'X';
|
||
modal.classList.remove('in');
|
||
});
|
||
document.querySelector(
|
||
'[ng-click="validateandclosePatientInquiryDetailModal(true)"]')
|
||
.addEventListener('click', () => { window.CLOSED_WITH = 'OK'; });
|
||
</script>
|
||
</body></html>
|