Billing Estimate Endpoints
-
- Posts: 44
- Joined: Fri Jan 19, 2024 10:57 am
Billing Estimate Endpoints
Hello,
We're working on a feature to allow patient to schedule treatment based on what providers have entered in their transaction plan region. I'm not sure if this is displayed via plugin, seems like it's a built in feature - the treatment plan shows a base Fee amount, which is list price, as well as Allowed by insurance, covered by Primary Insurance, covered by Secondary Insurance, Discount, and Patient portion. Example attached.
To my knowledge, there's no endpoint exposing this information. I can do the work of copying that logic myself, but it would be preferable to get this from OD and to ensure I'm staying fully in line with what's displayed there. Could this be exposed somehow?
We're working on a feature to allow patient to schedule treatment based on what providers have entered in their transaction plan region. I'm not sure if this is displayed via plugin, seems like it's a built in feature - the treatment plan shows a base Fee amount, which is list price, as well as Allowed by insurance, covered by Primary Insurance, covered by Secondary Insurance, Discount, and Patient portion. Example attached.
To my knowledge, there's no endpoint exposing this information. I can do the work of copying that logic myself, but it would be preferable to get this from OD and to ensure I'm staying fully in line with what's displayed there. Could this be exposed somehow?
Re: Billing Estimate Endpoints
Good morning graham_mueller,graham_mueller wrote: ↑Wed Aug 21, 2024 4:40 pmHello,
We're working on a feature to allow patient to schedule treatment based on what providers have entered in their transaction plan region. I'm not sure if this is displayed via plugin, seems like it's a built in feature - the treatment plan shows a base Fee amount, which is list price, as well as Allowed by insurance, covered by Primary Insurance, covered by Secondary Insurance, Discount, and Patient portion. Example attached.
To my knowledge, there's no endpoint exposing this information. I can do the work of copying that logic myself, but it would be preferable to get this from OD and to ensure I'm staying fully in line with what's displayed there. Could this be exposed somehow?
I think the endpoints you're after are:
https://www.opendental.com/site/apiproctps.html
https://www.opendental.com/site/apitreatplans.html
https://www.opendental.com/site/apitrea ... aches.html
Thanks!
-
- Posts: 44
- Joined: Fri Jan 19, 2024 10:57 am
Re: Billing Estimate Endpoints
Hi Justine,
What you've linked sounds like what I'm looking for, but the instance I'm looking at doesn't seem to align with that. I have a test patient that I've been using as an example, and in the Tx Plan tab of open dental, I can see both a series of groupings by priority, the individual procedure codes within each grouping, and a billing break down. Based on your links below, I would expect that the `proctp` table would contain entries for this. The particular instance I'm looking at *does* have something like 350 rows in that table, however this patient that has a fully built out plan does *not* exist in that table. Am I missing something, is there somewhere else I should be looking?
What you've linked sounds like what I'm looking for, but the instance I'm looking at doesn't seem to align with that. I have a test patient that I've been using as an example, and in the Tx Plan tab of open dental, I can see both a series of groupings by priority, the individual procedure codes within each grouping, and a billing break down. Based on your links below, I would expect that the `proctp` table would contain entries for this. The particular instance I'm looking at *does* have something like 350 rows in that table, however this patient that has a fully built out plan does *not* exist in that table. Am I missing something, is there somewhere else I should be looking?
- Attachments
-
- Screenshot 2024-08-24 005107.png (166.15 KiB) Viewed 18955 times
-
- Posts: 44
- Joined: Fri Jan 19, 2024 10:57 am
Re: Billing Estimate Endpoints
Ok, spend a bit more time this morning. From the API docs, it appears ProcTP is only for *saved* / inactive plans, which is why I can't see them for the patient I'm looking at. Is there a way for *active* plans to see the cost information from my screenshot? I've not been able to find an endpoint that provides this data, or a table.
Re: Billing Estimate Endpoints
graham_mueller wrote: ↑Sat Aug 24, 2024 10:11 amOk, spend a bit more time this morning. From the API docs, it appears ProcTP is only for *saved* / inactive plans, which is why I can't see them for the patient I'm looking at. Is there a way for *active* plans to see the cost information from my screenshot? I've not been able to find an endpoint that provides this data, or a table.
Good morning graham_muller,
The data you are looking for is derived from several tables and can vary depending on how an office has Open Dental configured.
For Active and Inactive Treatment Plans, you can do what Open Dental does to calculate the row(s) you need:
Code: Select all
Procedure.ProcFee
- Claimproc.InsEstTotalOverride or Claimproc.BaseEst for Primary Insurance
- Claimproc.InsEstTotalOverride or Claimproc.BaseEst for Secondary Insurance
- Claimproc.WriteOffEstOverride or Claimproc.WriteOffEst
- Procedure.Discount
+ Procedure.TaxAmt
=
Patient Portion
Like you mentioned, for Saved Treatment Plans, the grid rows are directly from the ProcTP table. You can use ProcTPs GET to obtain them and calculate the patient portion similar to above.
-
- Posts: 44
- Joined: Fri Jan 19, 2024 10:57 am
Re: Billing Estimate Endpoints
Comparing to what I have in my screenshot vs what's mentioned here, questions -Code: Select all
Procedure.ProcFee - Claimproc.InsEstTotalOverride or Claimproc.BaseEst for Primary Insurance - Claimproc.InsEstTotalOverride or Claimproc.BaseEst for Secondary Insurance - Claimproc.WriteOffEstOverride or Claimproc.WriteOffEst - Procedure.Discount + Procedure.TaxAmt = Patient Portion
Procedure.ProcFee vs ClaimProc.BaseEst - Are these values (always?) the same?
For the "ORs" you mentioned, I assume *prefer override if set*
What indicates an insurance as primary or secondary (or inactive)? The example patient I'm using appears to have two insurances providing ClaimProc rows, but the second set seem to be tied to an insurance that no longer is present in the account.
Is "Allowed" = Base - WriteOff?
Re: Billing Estimate Endpoints
No, these values are not always the same. You can see our DB Schema for the difference between ProcedureLog.ProcFee and ClaimProc.BaseEst. More information can be found in our documentation: Procedure Codes , Procedure and Claim Procedures ( claimprocs )graham_mueller wrote: ↑Sun Aug 25, 2024 5:05 pmProcedure.ProcFee vs ClaimProc.BaseEst - Are these values (always?) the same?
Yes, if ClaimProc.InsEstTotalOverride has a value, it will override the InsEstTotal value.graham_mueller wrote: ↑Sun Aug 25, 2024 5:05 pmFor the "ORs" you mentioned, I assume *prefer override if set*
patplan.Ordinal indicates an insurance as primary, secondary, ect.graham_mueller wrote: ↑Sun Aug 25, 2024 5:05 pmWhat indicates an insurance as primary or secondary (or inactive)? The example patient I'm using appears to have two insurances providing ClaimProc rows, but the second set seem to be tied to an insurance that no longer is present in the account.
Information on Allowed Amt can be found here: Claim Procedures ( claimprocs ) and ClaimProc.AllowedOverride
-
- Posts: 44
- Joined: Fri Jan 19, 2024 10:57 am
Re: Billing Estimate Endpoints
The description for ProcFee leaves a bit up to the imagination for sure. It seems as though the BaseEst is a "fuller" estimate, and I think ProcFee is intended to just be the raw sum of the Proc Codes?ProcedureLog.ProcFee: Procedure fee.
ClaimProc.BaseEst: Always has a value. Used in TP, etc. The base estimate is the ((fee or allowedOverride)-Copay) x (percentage or percentOverride). Does not include all the extras like ded, annualMax,and paidOtherIns that InsEstTotal holds. BaseEst cannot be overridden by the user. Instead, the following fields can be manipulated: allowedOverride, CopayOverride, PercentOverride
I'm a bit lost at how to link here. A ClaimProc has a PlanNum, which is a link to an InsPlan. InsPlan doesn't tie to a patient, so that's perhaps not the FK to follow... it also has InsSubNum which links to an InsSub which *does* have a patient, but still no link to PatPlan... Looking at PatPlan, it also has an InsSubNum, so is that a safe link? ClaimProc.PatNum = PatPlan.PatNum & ClaimProc.InsSubNum = PatPlan.InsSubNum?
Last question from the above, you pointed me at Procedure.Discount, but in my case, I'm always seeing 0 in that column, but in the UI, a value aligning with ClaimProc.WriteOff is always present. Is this a misconfiguration or something?
Re: Billing Estimate Endpoints
Procedure.ProcFee is the the billable fee of the procedure based on the fee schedule. Default fees are entered in the Procedure Code List.graham_mueller wrote: ↑Tue Aug 27, 2024 5:36 pmI think ProcFee is intended to just be the raw sum of the Proc Codes?
Yes, that will link the claimproc to the patplan. Subscribers can share InsPlans by using the InsSub table. The patplan table determines coverage for individual patients and patplan.Ordinal represents primary ins, secondary ins, tertiary ins, etc.graham_mueller wrote: ↑Tue Aug 27, 2024 5:36 pmClaimProc.PatNum = PatPlan.PatNum & ClaimProc.InsSubNum = PatPlan.InsSubNum?
Procedurelog.Discount stores the dollar amount of the discount, not full price. E.g. for a 10% discount, Fee = $160 Discount = $16. This column is used by treatment planned procedures to create an adjustment when set complete. It should not be used as an accurate monetary discount value for completed procedures.graham_mueller wrote: ↑Tue Aug 27, 2024 5:36 pmLast question from the above, you pointed me at Procedure.Discount, but in my case, I'm always seeing 0 in that column, but in the UI, a value aligning with ClaimProc.WriteOff is always present. Is this a misconfiguration or something?
ClaimProc.Writeoff is the amount not covered by insurance that the office decides not to charge the patient.
ClaimProc.WriteOffEst is generally the claimproc.BaseEst - claimproc.CopayAmt.