====== Modifier Rules ====== Add, remove, or replace modifiers on claim service lines. Filter by payer and CPT codes. This module replaces the need for hardcoded modifier logic — you can configure any modifier change per payer. **Applies to:** Professional (837P), Institutional (837I), Dental (837D) ---- ===== When to Use This ===== * A payer requires modifier 25 on E/M codes when billed with a procedure * You need to replace modifier 59 with the appropriate X-modifier (XE, XP, XS, XU) per payer * Telehealth claims need modifier GT, 95, or FQ depending on the payer * A payer rejects a specific modifier and you need to remove it * You need to add modifier 26 (Professional Component) for specific CPT codes ---- ===== Fields ===== ^ Field ^ Required ^ Description ^ | Start Date | Yes | When this rule becomes active | | End Date | No | When this rule expires | | Payer Number | No | Only apply for a specific payer. Blank = all payers | | Action | Yes | **Add Modifier** (1), **Remove Modifier** (2), or **Replace Modifier** (3) | | Modifier Value | Yes | The modifier to add, remove, or find (for replace) | | Replacement Modifier | Only for Replace | The modifier to replace with (only visible when Action = Replace) | | CPT Codes | No | Comma-separated CPT codes. Only apply to service lines with these codes. Blank = all service lines | | Modifier Position | No | **Auto/Any** = first available slot for Add, any matching position for Remove/Replace. Or pick a specific position (1-4) | | Notes | No | Your reference notes | ==== Actions Explained ==== * **Add** — Puts the modifier in the specified position. If "Auto", finds the first empty modifier slot. Won't overwrite existing modifiers in Auto mode. * **Remove** — Finds the modifier on the service line and clears it. If position is "Any", removes it from whichever slot it's in. * **Replace** — Finds the modifier on the service line and swaps it with the replacement. If position is "Any", replaces it wherever it's found. ---- ===== Examples ===== === Example 1: Add Modifier 25 for E/M Codes === Add modifier 25 to all E/M codes for Aetna. ^ Field ^ Value ^ | Payer Number | 60054 | | Action | Add Modifier | | Modifier Value | 25 | | CPT Codes | 99211,99212,99213,99214,99215 | | Modifier Position | Auto | === Example 2: Replace Modifier 59 with XE === Medicare wants modifier 59 replaced with XE (Separate Encounter). ^ Field ^ Value ^ | Payer Number | 00882 | | Action | Replace Modifier | | Modifier Value | 59 | | Replacement Modifier | XE | | Modifier Position | Any | === Example 3: Add Telehealth Modifier === Cigna requires modifier 95 on telehealth E/M codes. ^ Field ^ Value ^ | Payer Number | 62308 | | Action | Add Modifier | | Modifier Value | 95 | | CPT Codes | 99211,99212,99213,99214,99215 | | Modifier Position | Auto | === Example 4: Remove Modifier === A payer rejects claims with modifier TC on certain codes. ^ Field ^ Value ^ | Payer Number | 00621 | | Action | Remove Modifier | | Modifier Value | TC | | CPT Codes | 80053,80061 | | Modifier Position | Any | ---- ===== What Happens on the Claim ===== - For each service line (Loop 2400), checks the SV1 segment (Professional/Dental) or SV2 segment (Institutional) - Modifiers are in the procedure code composite element: positions 2-5 correspond to modifiers 1-4 - **Add:** Sets the modifier in the specified or first empty position - **Remove:** Clears the modifier from the matching position(s) - **Replace:** Swaps the old modifier with the new one in the matching position(s) - A warning is logged for each service line modified (e.g., "Added modifier 25 on 99213") - Shows in Applied Validation Modules as "ModifierRuleModule" ---- **[[guides:claim-rules|← Back to Claim Rules Engine]]**