Adds an optional Provider (NPI) select to the Edit Appointment form, sourced from Settings > NPI Providers. The AI "Claim for Column" batch flow now prefers the appointment's own provider when resolving which provider Selenium should select on the insurance site (e.g. MassHealth rendering provider dropdown), falling back to the existing per-procedure selection, active claim, or first configured provider. Also resyncs packages/db's committed compiled schema/client artifacts with their .ts sources — they had drifted out of sync (some untouched since July), which was silently stripping the new npiProviderId field via stale .strict() zod schemas. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
72 lines
3.0 KiB
JavaScript
72 lines
3.0 KiB
JavaScript
"use strict";
|
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
}
|
|
Object.defineProperty(o, k2, desc);
|
|
}) : (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
o[k2] = m[k];
|
|
}));
|
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
}) : function(o, v) {
|
|
o["default"] = v;
|
|
});
|
|
var __importStar = (this && this.__importStar) || (function () {
|
|
var ownKeys = function(o) {
|
|
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
var ar = [];
|
|
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
return ar;
|
|
};
|
|
return ownKeys(o);
|
|
};
|
|
return function (mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
__setModuleDefault(result, mod);
|
|
return result;
|
|
};
|
|
})();
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.isValidDecimalInput = exports.DECIMAL_STRING_REGEX = exports.DecimalJSLikeSchema = void 0;
|
|
const z = __importStar(require("zod"));
|
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
// DECIMAL HELPERS
|
|
//------------------------------------------------------
|
|
exports.DecimalJSLikeSchema = z.object({
|
|
d: z.array(z.number()),
|
|
e: z.number(),
|
|
s: z.number(),
|
|
// Zod v3/v4 compatible callable check
|
|
toFixed: z.custom((v) => typeof v === 'function'),
|
|
});
|
|
// Accept canonical decimal strings (+/-, optional fraction, optional exponent), or Infinity/NaN.
|
|
exports.DECIMAL_STRING_REGEX = /^(?:[+-]?(?:[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?|Infinity)|NaN)$/;
|
|
const isValidDecimalInput = (v) => {
|
|
if (v === undefined || v === null)
|
|
return false;
|
|
return (
|
|
// Explicit instance checks first
|
|
v instanceof decimal_js_1.default ||
|
|
// If Decimal.js is present and imported by the generator, this symbol exists at runtime
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore - Decimal may be undefined when not installed; codegen controls the import
|
|
(typeof decimal_js_1.default !== 'undefined' && v instanceof decimal_js_1.default) ||
|
|
(typeof v === 'object' &&
|
|
'd' in v &&
|
|
'e' in v &&
|
|
's' in v &&
|
|
'toFixed' in v) ||
|
|
(typeof v === 'string' && exports.DECIMAL_STRING_REGEX.test(v)) ||
|
|
typeof v === 'number');
|
|
};
|
|
exports.isValidDecimalInput = isValidDecimalInput;
|