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>
94 lines
4.1 KiB
HTML
94 lines
4.1 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head><meta charset="utf-8"><title>sliding fee fixture</title>
|
|
<style>.hide { display: none; }</style></head>
|
|
<body>
|
|
<!--
|
|
Minimal copy of the eCW path, attribute-for-attribute where the bot
|
|
matches on it (Dom.txt, UB claim 9124000): the claim header "Info"
|
|
button, Patient Information (#ptInfo) with its Sliding Fee Schedule
|
|
button and Save/Cancel, the unsaved-data prompt, and the Sliding Fee
|
|
Schedule modal whose inputs Angular fills a moment after it shows.
|
|
Fictional values only.
|
|
|
|
Knobs, set from the test before clicking:
|
|
window.fixture.disabled Sliding Fee Schedule button disabled
|
|
window.fixture.values what the modal fills in (null = stays blank)
|
|
window.fixture.prompt Cancel raises the "unsaved data" prompt
|
|
Evidence the test reads back:
|
|
window.saved any Save was clicked (must stay false)
|
|
-->
|
|
<div id="UBClaimDiv">
|
|
<button type="button" id="claimPatientInfo1790766147287"
|
|
ng-click="loadPatientHubnInfo('Info');">Info</button>
|
|
</div>
|
|
|
|
<div class="modal hide" id="ptInfo">
|
|
<div class="modal-content" id="ptInfoModal">
|
|
<button id="savePrompt-tplBtn1" type="button" class="close"
|
|
ng-click="closeModalWindow()">x</button>
|
|
<div id="savePrompt" class="hide">
|
|
You have unsaved data. Click Save to retain your changes.
|
|
<button id="savePrompt-tplBtn2" ng-click="saveData(1)">Save</button>
|
|
<button id="savePrompt-tplBtn4" ng-click="saveData(2)">Don't Save</button>
|
|
<button id="savePrompt-tplBtn3" ng-click="saveData(3)">Cancel</button>
|
|
</div>
|
|
<button id="btnSlidingFeeschedule" ng-disabled="slidingfeedisable"
|
|
data-ng-click="slidingFeeScheduleClick();">Sliding Fee Schedule</button>
|
|
<button id="patient-demographicsBtn56" type="button"
|
|
ng-click="cmdOk_Click()">Save</button>
|
|
<button id="patient-demographicsBtn57" type="button"
|
|
ng-click="cancelbtn()">Cancel</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal hide" id="slidingfeescheduleDailog">
|
|
<input id="slidingfeescheduleIpt34" data-ng-model="patientIncomeDetails.PovertyLevel">
|
|
<input id="slidingfeescheduleIpt35" data-ng-model="status.name">
|
|
<input id="slidingfeescheduleIpt37" data-ng-model="patientIncomeDetails.AssignedType">
|
|
<input id="slidingfeescheduleIpt40" data-ng-model="patientIncomeDetails.AssignedDate">
|
|
<input id="slidingfeescheduleIpt41" data-ng-model="patientIncomeDetails.ExpiryDate">
|
|
<input id="slidingfeescheduleIpt42" data--ng-model="patientIncomeDetails.FeeSchedule">
|
|
<button id="slidingfeescheduleBtn6" data-ng-click="assignSlidingFeeSchedule();">Assign</button>
|
|
<button id="slidingfeescheduleBtn8" type="button"
|
|
ng-click="closeSlidingFeeScheduleModal()">Close</button>
|
|
</div>
|
|
|
|
<script>
|
|
window.fixture = {disabled: false, values: null, prompt: false};
|
|
window.saved = false;
|
|
const $ = s => document.querySelector(s);
|
|
const show = (s, on) => $(s).classList.toggle('hide', !on);
|
|
const FIELDS = {
|
|
poverty_level: '#slidingfeescheduleIpt34', status: '#slidingfeescheduleIpt35',
|
|
scale_type: '#slidingfeescheduleIpt37', from_date: '#slidingfeescheduleIpt40',
|
|
to_date: '#slidingfeescheduleIpt41', fee_schedule: '#slidingfeescheduleIpt42',
|
|
};
|
|
|
|
$('#claimPatientInfo1790766147287').onclick = () => {
|
|
$('#btnSlidingFeeschedule').disabled = !!window.fixture.disabled;
|
|
setTimeout(() => show('#ptInfo', true), 300);
|
|
};
|
|
$('#btnSlidingFeeschedule').onclick = () => {
|
|
for (const s of Object.values(FIELDS)) $(s).value = '';
|
|
show('#slidingfeescheduleDailog', true);
|
|
const v = window.fixture.values;
|
|
if (v) setTimeout(() => {
|
|
for (const [k, s] of Object.entries(FIELDS)) $(s).value = v[k] || '';
|
|
}, 700);
|
|
};
|
|
$('#slidingfeescheduleBtn8').onclick = () => show('#slidingfeescheduleDailog', false);
|
|
$('#patient-demographicsBtn57').onclick = () => {
|
|
if (window.fixture.prompt) show('#savePrompt', true);
|
|
else show('#ptInfo', false);
|
|
};
|
|
$('#savePrompt-tplBtn4').onclick = () => {
|
|
show('#savePrompt', false); show('#ptInfo', false);
|
|
};
|
|
for (const s of ['#savePrompt-tplBtn2', '#patient-demographicsBtn56',
|
|
'#slidingfeescheduleBtn6'])
|
|
$(s).onclick = () => { window.saved = true; };
|
|
</script>
|
|
</body>
|
|
</html>
|