Understanding how insurance estimates are calculated
Dentrix Ascend calculates insurance portions, write-off adjustments, and patient portions automatically. The explanation that follows covers estimates for primary and secondary plans. The same rules and calculations that apply to secondary plans apply to plans for other coverage orders (tertiary, quaternary, and so forth); however, the calculations are not performed automatically.
The commercial insurance plans that Dentrix Ascend supports are PPO (Preferred Provider Organization), DHMO (Dental Health Maintenance Organization), and indemnity.
Notes:
-
Before calculating insurance estimates for procedures posted on the current date, Dentrix Ascend takes into account any pending primary and secondary claims (in the order they were sent, and claims with the highest total billed amount being handled first) for the patient, the subscriber of the patient's plan (if not the same person), and any other dependents on the plan. However, insurance estimates do not take into account a tertiary plan unless a claim for that plan is attached to a secondary claim; likewise, estimates do not take into account a quaternary plan unless a claim for that plan is attached to a tertiary claim; and so forth.
-
Dentrix Ascend processes procedures being billed to insurance chronologically (oldest to newest, by procedure dates), by descending procedure predetermination or override amounts (largest to smallest), and then by descending procedure amounts (largest to smallest).
-
When calculating estimates for an insurance payment, Dentrix Ascend processes only the procedures associated with the current claim. The maximums and deductibles are calculated as if the current claim is the next one to be paid.
-
For Dentrix Ascend to calculate estimates for procedures posted on the current date, the patient must have an active primary insurance plan with coverage dates that include the dates of those posted procedures.
-
Estimates include procedures posted on the current date and prior, even if those procedures are not attached to a claim.
-
The deductible type for multiple procedures posted on the same date is determined by the first procedure.
-
The billing provider, which is determined by the insurance defaults, may be different from the provider who is associated with a procedure.
-
Patient payments and credit adjustments that are applied to procedures reduce the estimated patient portion. Insurance payments that are less than what is expected to be paid reduce the estimated insurance portion and increase the estimated patient portion. Partial insurance payments (more is expected to be paid) reduce the estimated insurance portion.
Estimates for a patient's primary or only insurance plan
Do the following:
-
Calculate the Write-off.
Terms
W
Write-off
Aproc
Amount Charged (the procedure's Amount)
Amax
Max Allowable Amount (from the plan's Max allowable amount fee schedule)
Apay
Payment Table Amount (from the Amount column in the plan's payment table)
Cpat
Patient Copay (from the Copayment $ column in the plan's coverage table)
Do one of the following:
-
If a Max allowable amount fee schedule is selected for the plan, do one of the following:
-
If the billing provider is contracted with the carrier, do one of the following:
-
If a procedure is listed in the payment table, take the greater of Amax and Apay, subtract that greater amount from Aproc, and then set W equal to that difference unless that difference is less than zero, in which case, set W equal to zero.
W = max (0 ; Aproc - max (Amax ; Apay))
-
If a procedure is not listed in the payment table, do one of the following:
-
For a coverage table based on patient copayments ($), take the greater of Amax and Cpat, subtract that greater amount from Aproc, and then set W equal to that difference unless that difference is less than zero, in which case, set W equal to zero.
W = max (0 ; Aproc - max (Amax ; Cpat))
-
For a coverage table based on insurance coverage percentages (%), subtract Amax from Aproc, and then set Wpri equal to that difference unless that difference is less than zero, in which case, set Wpri equal to zero.
W = max (0 ; Aproc - Amax)
-
-
-
If the billing provider is not contracted with the carrier, set W equal to zero.
W = 0
-
-
If a Max allowable amount fee schedule is not selected for the plan, there is not a Write-off, so set W equal to zero.
W = 0
-
-
Calculate the Remaining Deductible.
Term
Drem
Remaining Deductible
Note: No value or a zero (0) for a required deductible both indicate that no deductible is required.
-
Do one of the following:
-
For an orthodontic procedure, do the following:
-
Calculate the Remaining Annual Individual Ortho Deductible:
Terms
AIODreq
Required Annual Individual Ortho Deductible
AIODmet
Met Annual Individual Ortho Deductible
AIODrem
Remaining Annual Individual Ortho Deductible
-
If AIODreq has no value, then AIODrem = 0
-
If AIODreq = 0, then AIODrem = 0
-
If AIODreq > 0, then AIODrem = AIODreq - AIODmet
-
-
Set the Remaining Deductible (Drem) equal to the Remaining Annual Individual Ortho Deductible (AIODrem).
Drem = AIODrem
-
-
For a non-orthodontic procedure, do the following:
-
For the Lifetime Individual Deductible, calculate the Remaining Lifetime Individual Deductible:
Terms
LIDreq
Required Lifetime Individual Deductible
LIDmet
Met Lifetime Individual Deductible
LIDrem
Remaining Lifetime Individual Deductible
-
If LIDreq has no value, then LIDrem = 0
-
If LIDreq = 0, then LIDrem = 0
-
If LIDreq > 0, then LIDrem = LIDreq - LIDmet
-
-
For the Annual Family Deductible, calculate the Remaining Annual Family Deductible:
Terms
AFDreq
Required Annual Family Deductible
AFDmet
Met Annual Family Deductible
AFDrem
Remaining Annual Family Deductible
-
If AFDreq has no value, then AFDrem = 0
-
If AFDreq = 0, then AFDrem = 0
-
If AFDreq > 0, then AFDrem = AFDreq - AFDmet
-
-
For the Annual Individual Deductible, calculate the Remaining Annual Individual Deductible:
Terms
AIDreq
Required Annual Individual Deductible
AIDmet
Met Annual Individual Deductible
AIDrem
Remaining Annual Individual Deductible
-
If AIDreq has no value, then AIDrem = 0
-
If AIDreq = 0, then AIDrem = 0
-
If AIDreq > 0, then AIDrem = AIDreq - AIDmet
-
-
Calculate the Remaining Deductible. Take the lesser of LIDrem, AFDrem, and AIDrem, and set Drem equal to that lesser amount.
Drem = min (LIDrem ; AFDrem ; AIDrem)
-
-
-
-
Calculate the Insurance Portion.
Terms
I
Insurance Portion
Aproc
Amount Charged (the procedure's Amount)
Amax
Max Allowable Amount (from the plan's Max allowable amount fee schedule)
Amin
Min Allowable Amount
Apay
Payment Table Amount (from the Amount column in the plan's payment table)
Cpat
Patient Copay (from the Copayment $ column in the plan's coverage table)
Cins
Insurance Coverage Percentage (from the Coverage % column in the plan's coverage table)
Cexc
Patient Copay Exception or Insurance Coverage Exception (any applicable exceptions, as indicated in the EXC column, in the plan's coverage table)
Oins
Insurance Estimate Override (from the procedure's Insurance Estimate Overrides; entered and locked automatically, or entered manually)
Do one of the following:
-
If a Max allowable amount fee schedule is selected for the plan, do the following:
-
Calculate the Min Allowable. Because the calculations for the Insurance Portion require that Amax not exceed Aproc, take the lesser of Aproc and Amax, and then set Amin equal to that lesser amount.
Amin = min (Aproc ; Amax)
-
Calculate the Insurance Portion. Do one of the following:
-
Without an Insurance Estimate Override, do one of the following:
-
If a procedure is listed in the payment table, take the greater of Amin and Apay, and then set I equal to that greater amount.
I = max (Amin ; Apay)
-
If a procedure is not listed in the payment table, do one of the following:
-
For a coverage table based on patient copayments, do the following:
-
Determine the Patient Copay. Do one of the following:
-
If there is an exception for the procedure in the coverage table, use one of the following exception types to determine the copay:
-
Not covered. The carrier does not have a portion, so set Cpat equal to Amin.
Cpat = Amin
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default copay.
Cpat = Cexc
-
If the patient's age exceeds the specified age, use the default copay.
Cpat = Cpat
-
-
Downgrade. Use the exception instead of the default copay.
Cpat = Cexc
-
-
If there is not an exception for the procedure in the coverage table, use the default copay.
Cpat = Cpat
-
-
Calculate the Insurance Portion. Subtract Cpat from Amin, and then set I equal to that difference unless that difference is less than zero, in which case, set I equal to zero.
I = max (0 ; Amin - Cpat)
-
-
For a coverage table based on insurance coverage percentages, do the following:
-
Determine the Insurance Coverage Percentage. Do one of the following:
-
If there is an exception for the procedure in the coverage table, use one of the following exception types to determine the coverage:
-
Not covered. The carrier does not have a portion, so set Cins equal to zero.
Cins = 0
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default coverage.
Cins = Cexc
-
If the patient's age exceeds the specified age, use the default coverage.
Cins = Cins
-
-
Downgrade. Use the exception instead of the default coverage.
Cins = Cexc
-
-
If there is not an exception for the procedure in the coverage table, use the default coverage.
Cins = Cins
-
-
Calculate the Insurance Portion. Multiply Amin and Cins, and then set I equal to that product unless that product is less than zero, in which case, set I equal to zero.
I = max (0 ; Amin x Cins)
-
-
-
-
With an Insurance Estimate Override, take the greater of Oins and Amin, and then set I equal to that greater amount unless that greater amount is less than zero, in which case, set I equal to zero.
I = max (0 ; min (Oins ; Amin))
-
-
-
If a Max allowable amount fee schedule is not selected for the plan, do one of the following:
-
Without an Insurance Estimate Override, do one of the following:
-
If a procedure is listed in the payment table, set I equal to Apay.
I = Apay
-
If a procedure is not listed in the payment table, do one of the following:
-
For a coverage table based on patient copayments, do the following:
-
Determine the Patient Copay. Do one of the following:
-
If there is an exception for the procedure in the coverage table, use one of the following exception types to determine the copay:
-
Not covered. The carrier does not have a portion, so set Cpat equal to Aproc.
Cpat = Aproc
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default copay.
Cpat = Cexc
-
If the patient's age exceeds the specified age, use the default copay.
Cpat = Cpat
-
-
Downgrade. Use the exception instead of the default copay.
Cpat = Cexc
-
-
If there is not an exception for the procedure in the coverage table, use the default copay.
Cpat = Cpat
-
-
Calculate the Insurance Portion. Subtract Cpat from Aproc, and then set I equal to that difference.
I = Aproc - Cpat
-
-
For a coverage table based on insurance coverage percentages, do the following:
-
Determine the Insurance Coverage Percentage. Do one of the following:
-
If there is an exception for the procedure in the coverage table, use one of the following exception types to determine the coverage:
-
Not covered. The carrier does not have a portion, so set Cins equal to zero.
Cins = 0
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default coverage.
Cins = Cexc
-
If the patient's age exceeds the specified age, use the default coverage.
Cins = Cins
-
-
Downgrade. Use the exception instead of the default coverage.
Cins = Cexc
-
-
If there is not an exception for the procedure in the coverage table, use the default coverage.
Cins = Cins
-
-
Calculate the Insurance Portion. Multiply Aproc and Cins, and then set I equal to that product.
I = Aproc x Cins
-
-
-
-
With an Insurance Estimate Override, set I equal to the override.
I = Oins
-
-
-
Calculate the Patient Portion.
Terms
P
Patient Portion
Aproc
Amount Charged (the procedure's Amount)
I
Insurance Portion
W
Write-off
Subtract I and W from Aproc, and then set P equal to that difference.
P = Aproc - I - W
-
Use the Remaining Deductible to adjust the Insurance Portion and the Patient Portion as needed.
Terms
I
Insurance Portion
P
Patient Portion
Drem
Remaining Deductible
Do the following:
-
Subtract Drem from I, and then set I equal to that difference.
I = I - Drem
-
Add P and Drem, and then set P equal to that sum.
P = P + Drem
-
-
Calculate the Remaining Benefit.
Term
Brem
Remaining Benefit
Note: No value for a maximum indicates unlimited benefits; zero (0) indicates no benefits.
Do one of the following:
-
For an orthodontic procedure, do the following:
-
Calculate the Remaining Lifetime Ortho Benefit:
Terms
LOBmax
Maximum Lifetime Ortho Benefit
LOBused
Used Lifetime Ortho Benefit
LOBrem
Remaining Lifetime Ortho Benefit
-
If LOBmax has no value, then LOBrem = 9,999,999.99
-
If LOBmax = 0, then LOBrem = 0
-
If LOBmax > 0, then LOBrem = LOBmax - LOBused
-
-
Set the Remaining Benefit (Brem) equal to the Remaining Lifetime Ortho Benefit (LOBrem).
Brem = LOBrem
-
-
For a non-orthodontic procedure, do the following:
-
Calculate the Remaining Annual Individual Benefit:
Terms
AIBmax
Maximum Annual Individual Benefit
AIBused
Used Annual Individual Benefit
AIBrem
Remaining Annual Individual Benefit
-
If AIBmax has no value, then AIBrem = 9,999,999.99
-
If AIBmax = 0, then AIBrem = 0
-
If AIBmax > 0, then AIBrem = AIBmax - AIBused
-
-
Calculate the Remaining Annual Family Benefit:
Terms
AFBmax
Maximum Annual Family Benefit
AFBused
Used Annual Family Benefit
AFBrem
Remaining Annual Family Benefit
-
If AFBmax has no value, then AFBrem = 9,999,999.99
-
If AFBmax = 0, then AFBrem = 0
-
If AFBmax > 0, then AFBrem = AFBmax - AFBused
-
-
Calculate the Remaining Benefit. Take the lesser of AIBrem and AFBrem, and then set Brem equal to that lesser amount.
Brem = min (AIBrem ; AFBrem)
-
-
-
Use the Remaining Benefit to adjust the Insurance Portion and the Patient Portion as needed.
Terms
I
Insurance Portion
Brem
Remaining Benefit
P
Patient Portion
Bover
Benefit Overage
Recalculate the Insurance Portion and the Patient Portion. Do one of the following:
-
If I <= Brem, there is enough remaining benefit to cover the entire amount that is expected to be paid by the carrier.
-
The Insurance Portion does not change.
I = I
-
The Patient Portion does not change.
P = P
-
-
If I > Brem, the remaining benefits covers none or only a portion of the amount that is expected to be paid by the carrier, so do the following:
-
Calculate the Benefit Overage.
Bover = I - Brem
-
Recalculate the Insurance Portion. Set I equal to Brem.
I = Brem
-
Recalculate the Patient Portion. Add P and Bover, and then set P equal to that sum.
P = P + Bover
-
-
Estimates for dual coverage
Do the following:
-
Calculate the Primary Write-off.
Terms
Wpri
Primary Write-off
Aproc
Amount Charged (the procedure's Amount)
AP.max
Primary Max Allowable Amount (from the plan's Max allowable amount fee schedule)
AP.pay
Primary Payment Table Amount (from the Amount column in the plan's payment table)
CP.pat
Primary Patient Copay (from the Copayment $ column in the plan's coverage table)
Do one of the following:
-
If a Max allowable amount fee schedule is selected for the plan, do one of the following:
-
If the billing provider is contracted with the carrier, do one of the following:
-
If a procedure is listed in the payment table, take the greater of AP.max and AP.pay, subtract that greater amount from Aproc, and then set Wpri equal to that difference unless that difference is less than zero, in which case, set W equal to zero.
Wpri = max (0 ; Aproc - max (AP.max ; AP.pay))
-
If a procedure is not listed in the payment table, do one of the following:
-
For a coverage table based on patient copayments ($), take the greater of AP.max and CP.pat, subtract that from Aproc, and then set Wpri equal to that difference unless that difference is less than zero, in which case, set Wpri equal to zero.
Wpri = max (0 ; Aproc - max (AP.max ; CP.pat))
-
For a coverage table based on insurance coverage percentages (%), subtract AP.max from Aproc, and then set Wpri equal to that difference unless that difference is less than zero, in which case, set Wpri equal to zero.
Wpri = max (0 ; Aproc - AP.max)
-
-
-
If the billing provider is not contracted with the carrier, set Wpri equal to zero.
Wpri = 0
-
-
If a Max allowable amount fee schedule is not selected for the plan, there is not a Primary Write-off, so set Wpri equal to zero.
Wpri = 0
-
-
Calculate the Secondary Write-off.
Terms
Wsec
Secondary Write-off
Aproc
Amount Charged (the procedure's Amount)
AS.max
Secondary Max Allowable Amount (from the plan's Max allowable amount fee schedule)
AS.pay
Secondary Payment Table Amount (from the Amount column in the plan's payment table)
CS.pat
Secondary Patient Copay (from the Copayment $ column in the plan's coverage table)
Do one of the following:
-
If a Max allowable amount fee schedule is selected for the plan, do one of the following:
-
If the billing provider is contracted with the carrier, do one of the following:
-
If a procedure is listed in the payment table, take the greater of AS.max and AS.pay, subtract that greater amount from Aproc, and then set Wsec equal to that difference unless that difference is less than zero, in which case, set W equal to zero.
Wsec = max (0 ; Aproc - max (AS.max ; AS.pay))
-
If a procedure is not listed in the payment table, do one of the following:
-
For a coverage table based on patient copayments ($), take the greater of AS.max and CS.pat, subtract that from Aproc, and then set Wsec equal to that difference unless that difference is less than zero, in which case, set Wsec equal to zero.
Wsec = max (0 ; Aproc - max (AS.max ; CS.pat))
-
For a coverage table based on insurance coverage percentages (%), subtract AS.max from Aproc, and then set Wsec equal to that difference unless that difference is less than zero, in which case, set Wsec equal to zero.
Wsec = max (0 ; Aproc - AS.max)
-
-
-
If the billing provider is not contracted with the carrier, set Wsec equal to zero.
Wsec = 0
-
-
If a Max allowable amount fee schedule is not selected for the plan, there is not a Secondary Write-off, so set Wsec equal to zero.
Wsec = 0
-
-
Calculate the Max Write-off.
Terms
Wmax
Max Write-off
Wpri
Primary Write-off
Wsec
Secondary Write-off
Take the greater of Wpri and Wsec, and then set Wmax equal to that greater amount.
Wmax = max (Wpri ; Wsec)
-
Calculate the Primary Remaining Deductible.
Term
DP.rem
Primary Remaining Deductible
Note: No value or a zero (0) for a required deductible both indicate that no deductible is required.
-
Do one of the following:
-
For an orthodontic procedure, do the following:
-
Calculate the Primary Remaining Annual Individual Ortho Deductible:
Terms
AIODP.req
Primary Required Annual Individual Ortho Deductible
AIODP.met
Primary Met Annual Individual Ortho Deductible
AIODP.rem
Primary Remaining Annual Individual Ortho Deductible
-
If AIODP.req has no value, then AIODP.rem = 0
-
If AIODP.req = 0, then AIODP.rem = 0
-
If AIODP.req > 0, then AIODP.rem = AIODP.req - AIODP.met
-
-
Set the Primary Remaining Deductible (DP.rem) equal to the Primary Remaining Annual Individual Ortho Deductible (AIODP.rem).
DP.rem = AIODP.rem
-
-
For a non-orthodontic procedure, do the following:
-
For the Lifetime Individual Deductible, calculate the Primary Remaining Lifetime Individual Deductible:
Terms
LIDP.req
Primary Required Lifetime Individual Deductible
LIDP.met
Primary Met Lifetime Individual Deductible
LIDP.rem
Primary Remaining Lifetime Individual Deductible
-
If LIDP.req has no value, then LIDP.rem = 0
-
If LIDP.req = 0, then LIDP.rem = 0
-
If LIDP.req > 0, then LIDP.rem = LIDP.req - LIDP.met
-
-
For the Annual Family Deductible, calculate the Primary Remaining Annual Family Deductible:
Terms
AFDP.req
Primary Required Annual Family Deductible
AFDP.met
Primary Met Annual Family Deductible
AFDP.rem
Primary Remaining Annual Family Deductible
-
If AFDP.req has no value, then AFDP.rem = 0
-
If AFDP.req = 0, then AFDP.rem = 0
-
If AFDP.req > 0, then AFDP.rem = AFDP.req - AFDP.met
-
-
For the Annual Individual Deductible, calculate the Primary Remaining Annual Individual Deductible:
Terms
AIDP.req
Primary Required Annual Individual Deductible
AIDP.met
Primary Met Annual Individual Deductible
AIDP.rem
Primary Remaining Annual Individual Deductible
-
If AIDP.req has no value, then AIDP.rem = 0
-
If AIDP.req = 0, then AIDP.rem = 0
-
If AIDP.req > 0, then AIDP.rem = AIDP.req - AIDP.met
-
-
Calculate the Primary Remaining Deductible. Take the lesser of LIDP.rem, AFDP.rem, and AIDP.rem, and set DP.rem equal to that lesser amount.
DP.rem = min (LIDP.rem ; AFDP.rem ; AIDP.rem)
-
-
-
-
Calculate the Primary Insurance Portion.
Terms
Ipri
Primary Insurance Portion
Aproc
Amount Charged (the procedure's Amount)
AP.max
Primary Max Allowable Amount (from the plan's Max allowable amount fee schedule)
AP.min
Primary Min Allowable Amount
AP.pay
Primary Payment Table Amount (from the Amount column in the plan's payment table)
CP.pat
Primary Patient Copay (from the Copayment $ column in the plan's coverage table)
CP.ins
Primary Insurance Coverage Percentage (from the Coverage % column in the plan's coverage table)
CP.exc
Primary Patient Copay Exception or Primary Insurance Coverage Exception (any applicable exceptions, as indicated in the EXC column, in the plan's coverage table)
OP.ins
Primary Insurance Estimate Override (from the procedure's Insurance Estimate Overrides; entered and locked automatically, or entered manually)
Do one of the following:
-
If a Max allowable amount fee schedule is selected for the plan, do the following:
-
Calculate the Primary Min Allowable. Because the calculations for the Primary Insurance Portion require that AP.max not exceed Aproc, take the lesser of Aproc and AP.max, and then set AP.min equal to that lesser amount.
AP.min = min (Aproc ; AP.max)
-
Calculate the Primary Insurance Portion. Do one of the following:
-
Without a Primary Insurance Estimate Override, do one of the following:
-
If a procedure is listed in the payment table, take the greater of AP.min and AP.pay, and then set Ipri equal to that greater amount.
Ipri = max (AP.min ; AP.pay)
-
If a procedure is not listed in the payment table, do one of the following:
-
For a coverage table based on patient copayments, do the following:
-
Determine the Primary Patient Copay. Do one of the following:
-
If there is an exception for the procedure in the coverage table, use one of the following exception types to determine the copay:
-
Not covered. The carrier does not have a portion, so set CP.pat equal to AP.min.
CP.pat = AP.min
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default copay.
CP.pat = CP.exc
-
If the patient's age exceeds the specified age, use the default copay.
CP.pat = CP.pat
-
-
Downgrade. Use the exception instead of the default copay.
CP.pat = CP.exc
-
-
If there is not an exception for the procedure in the coverage table, use the default copay.
CP.pat = CP.pat
-
-
Calculate the Primary Insurance Portion. Subtract CP.pat from AP.min, and then set Ipri equal to that difference unless that difference is less than zero, in which case, set Ipri equal to zero.
Ipri = max (0 ; AP.min - CP.pat)
-
-
For a coverage table based on insurance coverage percentages, do the following:
-
Determine the Primary Insurance Coverage Percentage. Do one of the following:
-
If there is an exception for the procedure in the coverage table, use one of the following exception types to determine the coverage:
-
Not covered. The carrier does not have a portion, so set CP.ins equal to zero.
CP.ins = 0
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default coverage.
CP.ins = CP.exc
-
If the patient's age exceeds the specified age, use the default coverage.
CP.ins = CP.ins
-
-
Downgrade. Use the exception instead of the default coverage.
CP.ins = CP.exc
-
-
If there is not an exception for the procedure in the coverage table, use the default coverage.
CP.ins = CP.ins
-
-
Calculate the Primary Insurance Portion. Multiply AP.min and CP.ins, and then set Ipri equal to that product unless that product is less than zero, in which case, set Ipri equal to zero.
Ipri = max (0 ; AP.min x CP.ins)
-
-
-
-
With a Primary Insurance Estimate Override, take the greater of OP.ins and AP.min, and then set Ipri equal to that greater amount unless that greater amount is less than zero, in which case, set Ipri equal to zero.
Ipri = max (0 ; min (OP.ins ; AP.min))
-
-
-
If a Max allowable amount fee schedule is not selected for the plan, do one of the following:
-
Without a Primary Insurance Estimate Override, do one of the following:
-
If a procedure is listed in the payment table, set Ipri equal to AP.pay.
Ipri = AP.pay
-
If a procedure is not listed in the payment table, do one of the following:
-
For a coverage table based on patient copayments, do the following:
-
Determine the Primary Patient Copay. Do one of the following:
-
If there is an exception for the procedure in the coverage table, use one of the following exception types to determine the copay:
-
Not covered. The carrier does not have a portion, so set CP.pat equal to Aproc.
CP.pat = Aproc
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default copay.
CP.pat = CP.exc
-
If the patient's age exceeds the specified age, use the default copay.
CP.pat = CP.pat
-
-
Downgrade. Use the exception instead of the default copay.
CP.pat = CP.exc
-
-
If there is not an exception for the procedure in the coverage table, use the default copay.
CP.pat = CP.pat
-
-
Calculate the Primary Insurance Portion. Subtract CP.pat from Aproc, and then set Ipri equal to that difference.
Ipri = Aproc - CP.pat
-
-
For a coverage table based on insurance coverage percentages, do the following:
-
Determine the Primary Insurance Coverage. Do one of the following:
-
If there is an exception for the procedure in the coverage table, use one of the following exception types to determine the coverage:
-
Not covered. The carrier does not have a portion, so set CP.ins equal to zero.
CP.ins = 0
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default coverage.
CP.ins = CP.exc
-
If the patient's age exceeds the specified age, use the default coverage.
CP.ins = CP.ins
-
-
Downgrade. Use the exception instead of the default coverage.
CP.ins = CP.exc
-
-
If there is not an exception for the procedure in the coverage table, use the default coverage.
CP.ins = CP.ins
-
-
Calculate the Primary Insurance Portion. Multiply Aproc and CP.ins, and then set Ipri equal to that product.
Ipri = Aproc x CP.ins
-
-
-
-
With a Primary Insurance Estimate Override, set Ipri equal to the override.
Ipri = OP.ins
-
-
-
Use the Primary Remaining Deductible to set the Max Primary Insurance Portion.
Terms
IP.max
Max Primary Insurance Portion
Ipri
Primary Insurance Portion
DP.rem
Primary Remaining Deductible
Subtract DP.rem from Ipri, and then set IP.max equal to that difference.
IP.max = Ipri - DP.rem
-
Calculate the Primary Remaining Benefit.
Term
BP.rem
Primary Remaining Benefit
Note: No value for a maximum indicates unlimited benefits; zero (0) indicates no benefits.
Do one of the following:
-
For an orthodontic procedure, do the following:
-
Calculate the Primary Remaining Lifetime Ortho Benefit:
Terms
LOBP.max
Primary Maximum Lifetime Ortho Benefit
LOBP.used
Primary Used Lifetime Ortho Benefit
LOBP.rem
Primary Remaining Lifetime Ortho Benefit
-
If LOBP.max has no value, then LOBP.rem = 9,999,999.99
-
If LOBP.max = 0, then LOBP.rem = 0
-
If LOBP.max > 0, then LOBP.rem = LOBP.max - LOBP.used
-
-
Set the Primary Remaining Benefit (BP.rem) equal to the Primary Remaining Lifetime Ortho Benefit (LOBP.rem).
BP.rem = LOBP.rem
-
-
For a non-orthodontic procedure, do the following:
-
Calculate the Primary Remaining Annual Individual Benefit:
Terms
AIBP.max
Primary Maximum Annual Individual Benefit
AIBP.used
Primary Used Annual Individual Benefit
AIBP.rem
Primary Remaining Annual Individual Benefit
-
If AIBP.max has no value, then AIBP.rem = 9,999,999.99
-
If AIBP.max = 0, then AIBP.rem = 0
-
If AIBP.max > 0, then AIBP.rem = AIBP.max - AIBP.used
-
-
Calculate the Primary Remaining Annual Family Benefit:
Terms
AFBP.max
Primary Maximum Annual Family Benefit
AFBused
Primary Used Annual Family Benefit
AFBrem
Primary Remaining Annual Family Benefit
-
If AFBP.max has no value, then AFBP.rem = 9,999,999.99
-
If AFBP.max = 0, then AFBP.rem = 0
-
If AFBP.max > 0, then AFBP.rem = AFBP.max - AFBP.used
-
-
Calculate the Primary Remaining Benefit. Take the lesser of AIBP.rem and AFBP.rem, and then set BP.rem equal to that lesser amount.
BP.rem = min (AIBP.rem ; AFBP.rem)
-
-
-
Use the Primary Remaining Benefit to adjust the Max Primary Insurance Portion as needed.
Terms
IP.max
Max Primary Insurance Portion
BP.rem
Primary Remaining Benefit
Do one of the following:
-
If IP.max <= BP.rem, there is enough remaining benefit to cover the entire amount that is expected to be paid by the carrier. The Max Primary Insurance Portion does not change.
IP.max = IP.max
-
If IP.max > BP.rem, the remaining benefits covers none or only a portion of the amount that is expected to be paid by the carrier. Set the Max Primary Insurance Portion (IP.max) equal to the Primary Remaining Benefit (BP.rem).
IP.max = BP.rem
-
-
Calculate the Secondary Remaining Deductible.
Term
DS.rem
Secondary Remaining Deductible
Note: No value or a zero (0) for a required deductible both indicate that no deductible is required.
-
Do one of the following:
-
For an orthodontic procedure, do the following:
-
Calculate the Secondary Remaining Annual Individual Ortho Deductible:
Terms
AIODS.req
Secondary Required Annual Individual Ortho Deductible
AIODS.met
Secondary Met Annual Individual Ortho Deductible
AIODS.rem
Secondary Remaining Annual Individual Ortho Deductible
-
If AIODS.req has no value, then AIODS.rem = 0
-
If AIODS.req = 0, then AIODS.rem = 0
-
If AIODS.req > 0, then AIODS.rem = AIODS.req - AIODS.met
-
-
Set the Secondary Remaining Deductible (DS.rem) equal to the Secondary Remaining Annual Individual Ortho Deductible (AIODS.rem).
DS.rem = AIODS.rem
-
-
For a non-orthodontic procedure, do the following:
-
For the Lifetime Individual Deductible, calculate the Secondary Remaining Lifetime Individual Deductible:
Terms
LIDS.req
Secondary Required Lifetime Individual Deductible
LIDS.met
Secondary Met Lifetime Individual Deductible
LIDS.rem
Secondary Remaining Lifetime Individual Deductible
-
If LIDS.req has no value, then LIDS.rem = 0
-
If LIDS.req = 0, then LIDS.rem = 0
-
If LIDS.req > 0, then LIDS.rem = LIDS.req - LIDS.met
-
-
For the Annual Family Deductible, calculate the Secondary Remaining Annual Family Deductible:
Terms
AFDS.req
Secondary Required Annual Family Deductible
AFDS.met
Secondary Met Annual Family Deductible
AFDS.rem
Secondary Remaining Annual Family Deductible
-
If AFDS.req has no value, then AFDS.rem = 0
-
If AFDS.req = 0, then AFDS.rem = 0
-
If AFDS.req > 0, then AFDS.rem = AFDS.req - AFDS.met
-
-
For the Annual Individual Deductible, calculate the Secondary Remaining Annual Individual Deductible:
Terms
AIDS.req
Secondary Required Annual Individual Deductible
AIDS.met
Secondary Met Annual Individual Deductible
AIDS.rem
Secondary Remaining Annual Individual Deductible
-
If AIDS.req has no value, then AIDS.rem = 0
-
If AIDS.req = 0, then AIDS.rem = 0
-
If AIDS.req > 0, then AIDS.rem = AIDS.req - AIDS.met
-
-
Calculate the Secondary Remaining Deductible. Take the lesser of LIDS.rem, AFDS.rem, and AIDS.rem, and set DS.rem equal to that lesser amount.
DS.rem = min (LIDS.rem ; AFDS.rem ; AIDS.rem)
-
-
-
-
Calculate the Secondary Insurance Portion.
Terms
Isec
Secondary Insurance Portion
Aproc
Amount Charged (the procedure's Amount)
AS.max
Secondary Max Allowable Amount (from the secondary plan's Max allowable amount fee schedule)
AS.min
Secondary Min Allowable Amount
AS.pay
Secondary Payment Table Amount (from the Amount column in the plan's payment table)
CS.pat
Secondary Patient Copay (from the Copayment $ column in the secondary plan's coverage table)
CS.ins
Secondary Insurance Coverage Percentage (from the Coverage % column in the secondary plan's coverage table)
CS.exc
Secondary Patient Copay Exception or Secondary Insurance Coverage Exception (any applicable exceptions, as indicated in the EXC column, in the secondary plan's coverage table)
OS.ins
Secondary Insurance Estimate Override (from the procedure's Insurance Estimate Overrides; entered and locked automatically, or entered manually)
Do one of the following:
-
If a Max allowable amount fee schedule is selected for the plan, do the following:
-
Calculate the Secondary Min Allowable. Because the calculations for the Secondary Insurance Portion require that AS.max not exceed Aproc, take the lesser of Aproc and AS.max, and then set AS.min equal to that lesser amount.
AS.min = min (Aproc ; AS.max)
-
Calculate the Secondary Insurance Portion. Do one of the following:
-
Without a Secondary Insurance Estimate Override:
-
If a procedure is listed in the payment table, take the greater of AS.min and AS.pay, and then set Isec equal to that greater amount.
Isec = max (AS.min ; AS.pay)
-
If a procedure is not listed in the payment table, do one of the following:
-
For a coverage table based on patient copayments, do the following:
-
Determine the Secondary Patient Copay.
-
If there is an exception for the procedure in the coverage table, use one of the following exception types:
-
Not covered. The carrier does not have a portion, so set CS.pat equal to AS.min.
CS.pat = AS.min
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default copay.
CS.pat = CS.exc
-
If the patient's age exceeds the specified age, use the default copay.
CS.pat = CS.pat
-
-
Downgrade. Use the exception instead of the default copay.
CS.pat = CS.exc
-
-
If there is not an exception for the procedure in the coverage table, use the default copay.
CS.pat = CS.pat
-
-
Calculate the Secondary Insurance Portion. Use one of the following methods for coordinating benefits:
-
Traditional: Subtract CS.pat from AS.min, and then set Isec equal to that difference unless that difference is less than zero, in which case, set Isec equal to zero.
Isec = max (0; AS.min - CS.pat)
-
Maintenance of Benefits: Subtract Wsec, Ipri, and CS.pat from Aproc, and then set Isec equal to that difference unless that difference is less than zero, in which case, set Isec equal to zero.
Isec = max (0 ; Aproc - Wsec - Ipri - CS.pat)
-
Carve Out/Non-duplication: Subtract CS.pat and Ipri from AS.min, and then set Isec equal to that difference unless that difference is less than zero, in which case, set Isec equal to zero.
Isec = max (0 ; AS.min - CS.pat - Ipri)
-
-
-
For a coverage table based on insurance coverage percentages, do the following:
-
Determine the Secondary Insurance Coverage Percentage. Do one of the following:
-
If there is an exception for the procedure in the coverage table, use the following exception types to determine the coverage:
-
Not covered. The carrier does not have a portion, so set CS.ins equal to zero.
CS.ins = 0
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default coverage.
CS.ins = CS.exc
-
If the patient's age exceeds the specified age, use the default coverage.
CS.ins = CS.ins
-
-
Downgrade. Use the exception instead of the default coverage.
CS.ins = CS.exc
-
-
If there is not an exception for the procedure in the coverage table, use the default coverage.
CS.ins = CS.ins
-
-
Calculate the Secondary Insurance Portion. Use one of the following methods for coordinating benefits:
-
Traditional: Multiply AS.min and CS.ins, and then set Isec equal to that product unless that product is less than zero, in which case, set Isec equal to zero.
Isec = max (0 ; AS.min x CS.ins)
-
Maintenance of Benefits: Subtract Ipri from AS.min, multiply that difference and CS.ins, and then set Isec equal to the resulting product unless that product is less than zero, in which case, set Isec equal to zero.
Isec = max (0 ; (AS.min - Ipri) x CS.ins)
-
Carve Out/Non-duplication: Multiply AS.min and CS.ins, subtract Ipri from that product, and then set Isec equal to the resulting difference unless that difference is less than zero, in which case, set Isec equal to zero.
Isec = max (0 ; (AS.min x CS.ins) - Ipri)
-
-
-
-
-
With a Secondary Insurance Estimate Override, use one of the following methods for coordinating benefits:
-
Traditional: Take the greater of OS.ins and AS.min, and then set Isec equal to that greater amount unless that greater amount is less than zero, in which case, set Isec equal to zero.
Isec = max (0; min (OS.ins ; AS.min))
-
Maintenance of Benefits: Set Isec equal to the override.
Isec = OS.ins
-
Carve Out/Non-duplication: Set Isec equal to the override.
Isec = OS.ins
-
-
-
-
If a Max allowable amount fee schedule is not selected for the plan, do one of the following:
-
Without a Secondary Insurance Estimate Override, do one of the following:
-
If a procedure is listed in the payment table, set Isec equal to AS.pay.
Isec = AS.pay
-
If a procedure is not listed in the payment table, do one of the following:
-
For a coverage table based on patient copayments, do the following:
-
Determine the Secondary Patient Copay.
-
If there is an exception for the procedure in the coverage table, use one of the following exception types:
-
Not covered. The carrier does not have a portion, so set CS.pat equal to Aproc.
CS.pat = Aproc
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default copay.
CS.pat = CS.exc
-
If the patient's age exceeds the specified age, use the default copay.
CS.pat = CS.pat
-
-
Downgrade. Use the exception instead of the default copay.
CS.pat = CS.exc
-
-
If there is not an exception for the procedure in the coverage table, use the default copay.
CS.pat = CS.pat
-
-
Calculate the Secondary Insurance Portion. Use one of the following methods for coordinating benefits:
-
Traditional: Subtract CS.pat from Aproc, and then set Isec equal to that difference.
Isec = Aproc - CS.pat
-
Maintenance of Benefits: Subtract Ipri and CS.pat from Aproc, and then set Isec equal to that difference.
Isec = Aproc - Ipri - CS.pat
-
Carve Out/Non-duplication: Subtract CS.pat and Ipri from Aproc, and then set Isec equal to that difference.
Isec = Aproc- CS.pat - Ipri
-
-
-
For a coverage table based on insurance coverage percentages, do the following:
-
Determine the Secondary Insurance Coverage Percentage. Do one of the following:
-
If there is an exception for the procedure in the coverage table, use the following exception types to determine the coverage:
-
Not covered. The carrier does not have a portion, so set CS.ins equal to zero.
CS.ins = 0
-
Coverage with Maximum Age Limit. Do one of the following:
-
If the patient's age does not exceed the specified age, use the exception instead of the default coverage.
CS.ins = CS.exc
-
If the patient's age exceeds the specified age, use the default coverage.
CS.ins = CS.ins
-
-
Downgrade. Use the exception instead of the default coverage.
CS.ins = CS.exc
-
-
If there is not an exception for the procedure in the coverage table, use the default coverage.
CS.ins = CS.ins
-
-
Calculate the Secondary Insurance Portion. Use one of the following methods for coordinating benefits:
-
Traditional: Multiply Aproc and CS.ins, and then set Isec equal to that product.
Isec = Aproc x CS.ins
-
Maintenance of Benefits: Subtract Ipri from Aproc, multiply that difference and CS.ins, and then set Isec equal to the resulting product.
Isec = (Aproc - Ipri) x CS.ins
-
Carve Out/Non-duplication: Multiply Aproc and CS.ins, subtract Ipri from that product, and then set Isec equal to that product.
Isec = (Aproc x CS.ins) - Ipri
-
-
-
-
-
With a Secondary Insurance Estimate Override, set Isec equal to the override.
Isec = OS.ins
-
-
-
Use the Secondary Remaining Deductible to set the Max Secondary Insurance Portion.
Terms
IS.max
Max Secondary Insurance Portion
Isec
Secondary Insurance Portion
DS.rem
Secondary Remaining Deductible
Subtract DS.rem from Isec, and then set Imax equal to that difference.
Imax = Isec - Drem
-
Calculate the Secondary Remaining Benefit.
Terms
BS.rem
Secondary Remaining Benefit
Note: No value for a maximum indicates unlimited benefits; zero (0) indicates no benefits.
Do one of the following:
-
For an orthodontic procedure, do the following:
-
Calculate the Secondary Remaining Lifetime Ortho Benefit:
Terms
LOBS.max
Secondary Maximum Lifetime Ortho Benefit
LOBS.used
Secondary Used Lifetime Ortho Benefit
LOBS.rem
Secondary Remaining Lifetime Ortho Benefit
-
If LOBS.max has no value, then LOBS.rem = 9,999,999.99
-
If LOBS.max = 0, then LOBS.rem = 0
-
If LOBS.max > 0, then LOBS.rem = LOBS.max - LOBS.used
-
-
Set the Secondary Remaining Benefit (BS.rem) equal to the Secondary Remaining Lifetime Ortho Benefit (LOBS.rem).
BS.rem = LOBS.rem
-
-
For a non-orthodontic procedure, do the following:
-
Calculate the Secondary Remaining Annual Individual Benefit:
Terms
AIBS.max
Secondary Maximum Annual Individual Benefit
AIBS.used
Secondary Used Annual Individual Benefit
AIBS.rem
Secondary Remaining Annual Individual Benefit
-
If AIBS.max has no value, then AIBS.rem = 9,999,999.99
-
If AIBS.max = 0, then AIBS.rem = 0
-
If AIBS.max > 0, then AIBS.rem = AIBS.max - AIBS.used
-
-
Calculate the Secondary Remaining Annual Family Benefit:
Terms
AFBS.max
Secondary Maximum Annual Family Benefit
AFBS.used
Secondary Used Annual Family Benefit
AFBS.rem
Secondary Remaining Annual Family Benefit
-
If AFBS.max has no value, then AFBS.rem = 9,999,999.99
-
If AFBS.max = 0, then AFBS.rem = 0
-
If AFBS.max > 0, then AFBS.rem = AFBS.max - AFBS.used
-
-
Calculate the Secondary Remaining Benefit. Take the lesser of AIBS.rem and AFBS.rem, and then set BS.rem equal to that lesser amount.
BS.rem = min (AIBS.rem ; AFBS.rem)
-
-
-
Use the Secondary Remaining Benefit to adjust the Max Secondary Insurance Portion as needed.
Terms
IS.max
Max Secondary Insurance Portion
BS.rem
Secondary Remaining Benefit
Do one of the following:
-
If IS.max<= BS.rem, there is enough remaining benefit to cover the entire amount that is expected to be paid by the carrier. The Max Secondary Insurance Portion does not change.
IS.max = IS.max
-
If IS.max > BS.rem, the remaining benefits covers none or only a portion of the amount that is expected to be paid by the carrier. Set the Max Secondary Insurance Portion (IS.max) equal to the Secondary Remaining Benefit (BS.rem).
IS.max = BS.rem
-
-
Calculate the final amounts for the Total Insurance Portion, the Max Write-off, and the Max Patient Portion.
Terms
Itot
Total Insurance Portion (for dual coverage)
IP.max
Max Primary Insurance Portion
IS.max
Max Secondary Insurance Portion
Aproc
Amount Charged (the procedure's Amount)
Pmax
Max Patient Portion (for dual coverage)
Wmax
Max Write-off (for dual coverage)
Do one of the following:
-
For either the Maintenance of Benefits or the Carve out/Non-duplication method of coordinating benefits, do the following:
-
Calculate the Total Insurance Portion. Add IP.max and IS.max, and then set Itot equal to that sum.
Itot = sum (IP.max + IS.max)
-
Do one of the following:
-
If Itot >= Aproc, do the following:
-
Set the Total Insurance Portion (Itot) equal to Aproc.
Itot = Aproc
-
Set the Max Patient Portion (Pmax) equal to zero.
Pmax = 0
-
Set the Max Write-off (Wmax) equal to zero.
Wmax = 0
-
-
If Itot < Aproc, do one of the following:
-
With the Insurance Sum (S) equal to Itot + Wmax, if S >= Aproc, do the following:
-
Set the Max Patient Portion (Pmax) equal to zero.
Pmax = 0
-
Do one of the following:
-
If S = Aproc, adjustments are not needed. The Max Write-off and the Total Insurance Portion stay the same.
Wmax = Wmax
Itot = Itot
-
If S > Aproc, make adjustments in the following order (until S = Aproc):
-
If S > Aproc, reduce Wmax until S = Aproc or until Wmax = 0, whichever comes first.
-
If Wmax = 0, and if S > Aproc, reduce Itot (by reducing IS.max) until S = Aproc.
-
-
-
-
With the Insurance Sum (S) equal to Itot + Wmax, if S < Aproc, do the following:
-
Calculate the Max Patient Portion. Subtract Itot and Wmax from Aproc, and then set Pmax equal to that difference.
Pmax = Aproc - Itot - Wmax
-
The Max Write-off and the Total Insurance Portion stay the same.
Wmax = Wmax
Itot = Itot
-
-
-
-
-
For the Traditional method of coordinating benefits, do the following:
-
Calculate the Total Insurance Portion. Add IP.max and IS.max, and then set Itot equal to that sum.
Itot = sum (IP.max + IS.max)
-
Calculate the Max Patient Portion. Subtract Wmax, IP.max, and IS.max from Aproc, and then set Pmax equal to that difference unless that difference is less than zero, in which case, set Pmax equal to zero.
Pmax= max (0; Aproc - Wmax - IP.max - IS.max)
-
Set the Sum of the Terms (s) equal to the sum of Wmax, IP.max, IS.max, and Pmax.
S = sum (Wmax + IP.max + IS.max + Pmax)
-
Do one of the following:
-
If S = Aproc, adjustments are not needed. The Max Write-off and the Total Insurance Portion stay the same.
Wmax = Wmax
Itot = Itot
-
If S > Aproc, make adjustments in the following order (until S = Aproc):
-
If S > Aproc, reduce Pmax until S = Aproc or until Pmax = 0, whichever comes first.
-
If Pmax = 0 and if S > Aproc, reduce Wmax until S = Aproc or until Wmax = 0, whichever comes first.
-
If Pmax = 0, if Wmax = 0, and if S > Aproc, reduce Itot (by reducing IS.max) until S = Aproc.
-
-
-
-