Edit modifier rules
Outcome
Modifiers are auto-injected on the right charges, validation rules catch missing modifiers before submission, and you can simulate the combined behavior end-to-end before turning anything on for real claims.
Prerequisites
| Scope | What it lets you do |
|---|---|
billing.rules.read | View injection rules and validation rule sets |
billing.rules.write | Add / edit injection rules; edit validation YAML |
Familiarity with the rules engine workflow (5.3) — modifier validation is just a kind of rule under the regular engine.
Three sibling tabs
Configuration → Modifiers has three tabs:
| Tab | What it controls |
|---|---|
| Injection | Auto-add modifiers when a charge matches a pattern. |
| Validation | Read-mostly view of modifier_validation rules across the engine. Edits deep-link into the rules editor. |
| Simulator | Run injection + validation on a sample charge with no DB writes. |
Injection tab
Each injection rule is a row with:
| Field | Example |
|---|---|
| Procedure code | H2014 |
| Modifier added | HQ |
| Conditions | lineOfBusiness=MEDICAID, payer=*, state=OH |
| Priority | 100 (lower = earlier) |
| Active | toggle |
Click
+ New ruleto add an injection. The form validates the modifier againstcode_set_modifier— modifiers not in the master list are rejected to prevent typos sneaking into outbound EDI.Set conditions to scope the rule. A rule with
payer = *applies everywhere; a payer-scoped rule overrides a tenant-wide rule for that payer only.Save. The rule fires on the next claim build for charges matching the pattern.
Validation tab
Validation rules live in the regular rules engine under kind
PRE_SUBMIT_VALIDATE. The Validation tab is a focused view that shows only
rule sets containing kind: modifier_validation rules.
Click any rule set to deep-link into the rules editor at the right kind and scope. Edits go through the standard draft / submit / approve lifecycle.
Simulator tab
Paste a sample charge JSON and click Simulate. The platform:
- Runs the injection rules to apply auto-modifiers.
- Runs the validation rules.
- Returns the result in a side-by-side panel: original → after-injection, plus any validation issues.
The simulator never writes to the DB. It mirrors the scrubber's order exactly — including the deliberate non-application of injection rules during validation, so you see what staff would see when they hit "validate".
Steps to add a modifier injection rule end-to-end
Open the Injection tab, click
+ New rule. Fill in code, modifier, conditions, priority. Save.Open the Simulator tab. Paste a charge that should trigger the new injection. Click Simulate.
Confirm the modifier was added. If not, check conditions — most often the simulator's payer or state context does not match.
Optional: open the Validation tab and confirm there is a
modifier_validationrule that requires the modifier you just injected. If the injection were ever removed, the validation rule still keeps bad charges from going out.
Validation
| Check | Expected |
|---|---|
| New injection rule visible | Yes, on the Injection tab. |
| Simulator applies the injection | Yes, on a matching sample charge. |
| Simulator does not apply on a non-matching sample | Correct — confirms the conditions are right. |
| Live charge picks up the modifier | Build a real charge under the matching payer/state; modifier is on the line. |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Save returns modifier not found | The modifier isn't in code_set_modifier | Modifiers must be standard 2-character codes. Confirm the modifier exists. |
| Simulator returns "no injection" | Conditions exclude the sample | Loosen conditions, or set the simulator's payer / state to match the rule's scope. |
| Validation tab is empty | No rule set carries modifier_validation rules | Add such a rule under 5.3 — Edit rules engine YAML. |
| Modifier appears twice on outbound EDI | Two injection rules at different scopes both fire | Set the more-specific rule's priority higher, or deactivate the redundant rule. |