feat: schedule page UX improvements + CDT combo price skip
- Move Select Procedures above Check Eligibility in appointment right-click menu - Show 3 blank service lines by default when opening Select Procedures with no saved procedures - Fix serviceLines not being preserved when API returns empty procedures list - CDT combo buttons no longer auto-fill price (only fill codes); user maps price via Map Price button - Overlap detection in schedule: shorten earlier appointment display span when a later one starts within its range - Procedures dialog: replace single manual-add row with 3 pre-filled blank rows grid + Add Line / Save Lines buttons Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -33,6 +33,7 @@ export type ApplyOptions = {
|
||||
lineDate?: string;
|
||||
clearTrailing?: boolean;
|
||||
replaceAll?: boolean;
|
||||
skipPrice?: boolean;
|
||||
};
|
||||
/* ----------------------------- Helpers ----------------------------- */
|
||||
|
||||
@@ -329,9 +330,8 @@ export function applyComboToForm<T extends ClaimFormLike>(
|
||||
// Make sure we have enough rows for the whole combo
|
||||
ensureCapacity(next.serviceLines, insertAt + preset.codes.length, lineDate);
|
||||
|
||||
// Age on the specific line date we will set
|
||||
const age = ageOnDate(patientDOB, lineDate);
|
||||
const map = getCodeMap(insuranceSiteKey);
|
||||
const age = options.skipPrice ? 0 : ageOnDate(patientDOB, lineDate);
|
||||
const map = options.skipPrice ? CODE_MAP : getCodeMap(insuranceSiteKey);
|
||||
|
||||
for (let j = 0; j < preset.codes.length; j++) {
|
||||
const i = insertAt + j;
|
||||
@@ -340,7 +340,9 @@ export function applyComboToForm<T extends ClaimFormLike>(
|
||||
const codeRaw = preset.codes[j];
|
||||
if (!codeRaw) continue;
|
||||
const code = normalizeCode(codeRaw);
|
||||
const price = getPriceForCodeWithAgeFromMap(map, code, age);
|
||||
const price = options.skipPrice
|
||||
? new Decimal(0)
|
||||
: getPriceForCodeWithAgeFromMap(map, code, age);
|
||||
|
||||
const original = next.serviceLines[i];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user