Logs Report Charges Calculation
1. What does this feature do? (High-Level Overview)
Section titled “1. What does this feature do? (High-Level Overview)”This feature calculates and recalculates note charges inside Logs Report so billing totals stay aligned with current note data and insurance service setup. It reduces manual corrections by applying a consistent formula and service-matching logic.
2. Who is this for? (Roles & Permissions)
Section titled “2. Who is this for? (Roles & Permissions)”- Users with
manage_notesaccess (for example, Billing/Admin roles): Can review calculated values and triggerRecalculate chargesfor individual rows. - Location-scoped users: Can recalculate only notes available in their active location context.
3. Business Rules & Enforcements
Section titled “3. Business Rules & Enforcements”- Rule 1: Charges are calculated with this formula:
total_units= units derived from total session minutes using 15-minute units and 8-minute rounding.unit_price= matched insurance service unit price.total_charges=total_units × unit_price(rounded to 2 decimals).
- Rule 2: Unit calculation rule is fixed:
- 1 unit per 15 minutes.
- Remaining minutes
>= 8round up to the next unit.
- Rule 3: Unit price matching requires a valid combination of insurance, location, CPT code, provider type, and modifiers.
- Rule 4: Provider type is resolved from taxonomy mapping (
BCBA,BCaBA,RBTtaxonomies supported). - Rule 5: If insurance is configured to use supervisor as provider and the rendering provider is RBT, supervisor taxonomy is used to resolve pricing.
- Rule 6: Modifiers are matched exactly against configured insurance service modifiers (
nonehandling included when no modifiers are set). - Rule 7: If no compatible insurance service is found, charges remain unresolved in UI as
MISSING SERVICE. - Rule 8: Recalculation is blocked for billed notes (
Cannot recalculate charges for billed notes). - Rule 9: The
Recalculate chargesbutton runs a forced backend recalculation and updates row values (total_units,unit_price,total_charges,charges_calculated_at) plus report totals. - Rule 10: Normal note saves also auto-sync charges when charge-relevant fields change (time fields, provider/rendering provider/supervisor, modifiers, CPT, insurance, location).
4. UI Placement
Section titled “4. UI Placement”- Reports > Billing Collections > Logs Report (
/reports/logs): Main table with charge columns. - Per-row Charges column: Displays charge value and the
Recalculate chargesaction button. - Per-row Unit Price / Charges tooltips: Shows
Calculated attimestamp when available. - Logs Report footer: Displays aggregated totals (
Total units,Total hours,Total charges) based on current filters.
5. How-To Guide (Step-by-Step)
Section titled “5. How-To Guide (Step-by-Step)”Scenario A: Recalculate charges for one note
- Open
Reports > Billing Collections > Logs Report. - Find the target note row and review current
Unit Price/Chargesvalues. - Click the recalculate icon in the
Chargescolumn. - Confirm
Recalculatein the dialog. - Wait for success feedback and verify updated values and timestamp.
Scenario B: Resolve a MISSING SERVICE charge result
- In Logs Report, identify a row showing
MISSING SERVICE. - Verify insurance service configuration for that location/CPT/provider type/modifier combination.
- Verify provider (or supervisor, if applicable) has valid taxonomy.
- Return to Logs Report and click
Recalculate charges. - Confirm that
unit_priceandtotal_chargesnow populate.
6. What happens if…? (Edge Cases / FAQ)
Section titled “6. What happens if…? (Edge Cases / FAQ)”- Q: What happens if the note is already billed?
A: Recalculation is rejected by the API and the note keeps existing billed values. - Q: What happens if modifiers are changed but no service matches?
A: The note returns unresolved pricing (MISSING SERVICE) until a valid insurance service match exists. - Q: What happens to report totals after recalculation?
A: Totals are refreshed from the backend totals endpoint using current filters.