@claritylabs/cl-sdk 1.3.6 → 1.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +25 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7211,6 +7211,20 @@ function sourcePrecedence(sectionRef) {
|
|
|
7211
7211
|
if (normalized.includes("coverage form") || normalized.includes("policy form")) return 1;
|
|
7212
7212
|
return 0;
|
|
7213
7213
|
}
|
|
7214
|
+
function looksDeductibleOnlyCoverageRow(coverage) {
|
|
7215
|
+
const name = typeof coverage.name === "string" ? coverage.name : "";
|
|
7216
|
+
const originalContent = typeof coverage.originalContent === "string" ? coverage.originalContent : "";
|
|
7217
|
+
const evidenceText = originalContent || name;
|
|
7218
|
+
const normalizedEvidence = evidenceText.toLowerCase();
|
|
7219
|
+
const normalizedName = name.toLowerCase();
|
|
7220
|
+
if (!/\b(deductible|retention|self[-\s]?insured retention|sir)\b/.test(`${normalizedName} ${normalizedEvidence}`)) return false;
|
|
7221
|
+
if (coverage.deductible || coverage.deductibleAmount !== void 0) return false;
|
|
7222
|
+
if (!coverage.limit && coverage.limitAmount === void 0) return false;
|
|
7223
|
+
if (originalContent && /\b(deductible|retention|self[-\s]?insured retention|sir)\b/.test(normalizedEvidence) && !/\b(?:sub[-\s]?limit|limit|coverage)\b/.test(normalizedEvidence)) {
|
|
7224
|
+
return true;
|
|
7225
|
+
}
|
|
7226
|
+
return /[-–—]\s*(?:enhanced\s+|standard\s+)?(?:deductible|retention|sir)\b/.test(normalizedName);
|
|
7227
|
+
}
|
|
7214
7228
|
function buildExtractionReviewReport(params) {
|
|
7215
7229
|
const { memory, reviewRounds } = params;
|
|
7216
7230
|
const deterministicIssues = [];
|
|
@@ -7316,6 +7330,17 @@ function buildExtractionReviewReport(params) {
|
|
|
7316
7330
|
itemName: coverage.name
|
|
7317
7331
|
});
|
|
7318
7332
|
}
|
|
7333
|
+
if (looksDeductibleOnlyCoverageRow(coverage)) {
|
|
7334
|
+
deterministicIssues.push({
|
|
7335
|
+
code: "deductible_row_as_coverage_limit",
|
|
7336
|
+
severity: "blocking",
|
|
7337
|
+
message: `Coverage "${String(coverage.name ?? "unknown")}" appears to store a deductible or retention value as a coverage limit.`,
|
|
7338
|
+
extractorName: "coverage_limits",
|
|
7339
|
+
formNumber,
|
|
7340
|
+
pageNumber: typeof coverage.pageNumber === "number" ? coverage.pageNumber : void 0,
|
|
7341
|
+
itemName: typeof coverage.name === "string" ? coverage.name : void 0
|
|
7342
|
+
});
|
|
7343
|
+
}
|
|
7319
7344
|
if (typeof coverage.pageNumber !== "number") {
|
|
7320
7345
|
deterministicIssues.push({
|
|
7321
7346
|
code: "coverage_missing_page_number",
|