Cross field checks that catch extraction errors compare two or more extracted values that must agree: service lines that sum to a total, billed minus adjustments that equals allowed, dates that run in order. Each field can pass its own rules while the document is wrong. When values disagree, a check sends the fields to a reviewer.
What cross field checks catch that single-field rules miss
Cross field checks catch values that are valid on their own but impossible together. A single-field rule asks whether one value could be right for its field. A cross field check asks whether two values could both be right on the same document. A misread digit often produces a valid-looking amount or date, and only its neighbours reveal it.
Take a fictional EOB line with a billed amount of $250.00, an adjustment of $90.00 and an allowed amount read as $16.00. Each amount has a correct currency format. Each passes every single-field rule. Together they fail, because $250.00 minus $90.00 is $160.00, so one of the three was misread, most likely the allowed amount with a dropped zero.
Single-field rules still come first. Format, range and code set rules catch impossible values cheaply, and they are covered in the guide on validation rules for extracted fields: format, range and code set. Cross field checks run after them, on values that already look plausible.
The source of each check matters. Some come from arithmetic printed on the form itself, such as a total line. Some come from published form instructions. Some come from the logic of time, such as a patient's birth preceding their visit. A check grounded in one of these is safe to enforce. A check built on a habit of one payer belongs only to that payer's documents.
Eight cross field checks with failing examples
Every value below is fictional, including patients, claim numbers and amounts.
| # | Check | Fields compared | Example failing values | Likely misread |
|---|---|---|---|---|
| 1 | EOB service lines sum to the claim total | Each line's paid amount, claim paid total | Lines $96.00 + $48.00 + $32.00 = $176.00; claim total printed $116.00 | Claim total, 7 read as 1 |
| 2 | Billed minus adjustment equals allowed | Billed, adjustment, allowed on one line | $250.00 - $90.00 = $160.00; allowed read as $16.00 | Allowed amount, dropped zero |
| 3 | Allowed minus patient share equals plan payment | Allowed, patient share, plan paid | $160.00 - $64.00 = $96.00; paid read as $86.00 | Plan payment, 9 read as 8 |
| 4 | CO-45 adjustment is less than the line charge | Adjustment amount with code CO-45, billed amount | Billed $250.00, CO-45 adjustment $250.00 | Adjustment amount or code |
| 5 | CMS-1500 item 28 equals the sum of item 24F | Line charges, total charge | Lines $120.00 + $85.00 = $205.00; item 28 read as $250.00 | Total, digits swapped |
| 6 | Admission date is not after discharge date | Admission date, discharge date on a discharge summary | Admitted 09/21/2026, discharged 09/12/2026 | One date, digits swapped |
| 7 | Printed age matches birth date and visit date | Date of birth, visit date, age on an intake form or lab report | Born 04/02/1961, visit 10/05/2026, age printed 55 | Age (6 read as 5) or birth year |
| 8 | Service dates fall before the claim's signature date | CMS-1500 item 24A dates, item 31 date | Service 10/08/2026, signed 10/03/2026 | One date, 3 read as 8 |
The example patient on row 7 would be 65 on the visit date, so either the age or a digit in the birth year was misread: a birth year of 1971 would give 55. On row 6 the two dates share digits in a different order, which is the classic sign of a swap.
Arithmetic cross field checks on EOBs and bills
Arithmetic cross field checks on EOBs and bills confirm that amounts printed on the page add up the way the page says they should. Do the service lines sum to the claim total? Does billed minus adjustments equal allowed, and allowed minus the patient share equal what the plan paid? A misread amount breaks one of these sums.
The EOB arithmetic is the same one a person uses to read an EOB by hand. Billed minus contractual adjustments gives allowed. Allowed minus deductible, coinsurance and copay gives the plan payment. Claim totals add up the lines, and the check summary adds up the claims. The guide on how to read an EOB line by line works one line through that math.
Claim forms carry their own totals. The Medicare Claims Processing Manual chapter on the CMS-1500 says item 24F holds the charge for each listed service and item 28 holds the total of all charges in item 24F. The Medicare Claims Processing Manual chapter on the UB-04 says the last revenue code in form locator 42 is 0001, representing the grand total of all charges billed, with its amount in form locator 47. Both give a check for free: sum the lines and compare.
Code-specific checks add another layer. The X12 Claim Adjustment Reason Codes list includes a usage note on code 45, charges exceeding the fee schedule or contracted arrangement, saying the adjustment amount cannot equal the total service or claim charge amount. An extracted CO-45 adjustment equal to the full billed charge breaks that note, which points to a misread amount or a misread code.
Allow for a tolerance of a cent when amounts are rounded per line. Do not widen it further. A tolerance of a dollar hides the misread that turns $160.00 into $16.00 on a small line, and it hides every misread on larger ones that happens to fall within it.
Some legitimate amounts break the simple sum. A recoupment of an earlier overpayment or an interest payment can change a check total without belonging to any claim on the EOB. When a check total fails but every claim adds up, look for a provider-level adjustment section before you call it a misread.
Date-order cross field checks for claims and records
Date-order cross field checks for claims and records confirm that dates fall in the only order that is possible: birth before service, admission before discharge, service before the claim was signed. A misread digit in a date often produces another valid date, and comparing dates is the cheapest way to catch it.
The UB-04 gives several dates to compare. The UB-04 chapter describes form locator 6 as the statement covers period, the beginning and ending dates of the period on the bill, so the from date must not follow the through date. Form locator 12 holds the admission date for inpatient and home health bills. Form locator 10 holds the patient's birth date, which must precede every service date, except when the chapter's instruction to enter all zeros for an unknown birth date applies.
On the CMS-1500, item 3 holds the patient's birth date and item 24A holds a date for each service line. The CMS-1500 chapter says a claim is unprocessable when a date of service extends more than one day and no valid "to" date is present, so a from date without a to date on a multi-day line is a cross field failure in its own right. Item 31 holds the date the form was signed.
Records and discharge summaries carry admission, discharge and encounter dates. An admission after its own discharge is impossible. An encounter date before the patient's birth is impossible.
Some date checks should flag, not fail. A signature date before a service date is unusual, but a team may not be sure it is impossible on every claim it handles, so route it for a look instead of blocking the claim.
Which failed cross field checks should route a field to review?
Failed cross field checks should route a field to review whenever the check proves at least one value is wrong. Whether the failure blocks the whole document or flags only the fields involved depends on what the document feeds. A failure that would post a wrong payment should block the claim until a reviewer clears it.
A simple policy works for most teams:
- Block the document when a money check fails, such as a line sum, a balance equation or a claim total. A posted amount is hard to unwind.
- Block when an impossible date order appears, such as discharge before admission.
- Flag the fields when a check rests on a soft expectation, such as a signature date before service.
- Route every field in the failed check, not only the one with the lowest confidence, so the reviewer sees the whole equation.
Record which check fired in the review log. Over a month, the log will show which checks catch real misreads and which ones mostly fire on correct documents. A check that rarely leads to a correction should be loosened or retired.
A cross field failure can override confidence. Two amounts scored at 95% and 97% still cannot both be right if they break a balance equation. Schema Care routes on confidence: fields under your threshold go to the review queue, where a reviewer sees each one highlighted on the page. Cross field checks are a separate layer you run on the extracted values, and a failure there still needs a person to look at the page. The review workflow on the homepage shows how a reviewer sees each field in place.
Can a cross field check flag the wrong field?
A cross field check can flag the wrong field, because it only knows that values disagree, not which one is wrong. When a line sum fails, any line or the total could be the misread. The reviewer has to look at the page. Several signals point to the likeliest culprit first.
Confidence scores are the first signal. The field with the lowest score in the failed equation is the likeliest misread. On the row 2 example, an allowed amount at 71% against billed and adjustment amounts above 90% points to the allowed amount.
Digit shapes are the second. On a smudged or faxed page, digits with similar shapes, such as 3 and 8 or 1 and 7, are easy to confuse, and a faint zero can drop out. If changing one digit of one field makes the equation balance, that field is a strong candidate. On row 1, reading the total's 1 as a 7 fixes the sum exactly.
The third is the count of checks a correction fixes. A misread birth year breaks both the age check and any check against service dates. Correcting it fixes all of them at once, while correcting the age fixes only one.
Two errors on one document can cancel out. If one line is read $10 high and another $10 low, the total still balances and the check passes. Cross field checks reduce errors, they do not remove them. The only way to see what slips through is to check a sample of accepted documents, covered in the guide to sampling accepted fields for quality checks. How to count the errors you find, per field and per document, is covered in the guide to measuring field-level extraction accuracy. For the claim forms and bills these checks run on, see the claims and medical bills category.