Documentation Notes 1. Where configuration lives in Foji Path to benefit configuration UI * In Foji’s web app: * Go to the hamburger menu → Dashboards * Choose General * Open Benefit Override Configuration This is the control panel for how Foji writes benefits into Open Dental (coverage %, age limits, which codes to ignore, etc.). ________________ 2. Three core “modes” in Benefit Override Configuration Each rule you create has a Mode, which tells Foji how to treat specific benefits/codes: 2.1 Default mode Purpose: “If the portal doesn’t tell me anything, use this fallback.” * Used when Foji goes to the portal and finds no coverage data for a category or code. * Without any rule, if nothing is found, Foji sends nothing to Open Dental. * With Default: * You say: “If you don’t find anything, default to X%.” * Common use: * Default crown coverage to 0% if no coverage info is found. * Default age limit to 99 if no age limit is found but staff is used to seeing 99 instead of blank. Example: * Portal shows no crown coverage. * Rule: Mode = Default, Percent = 0 * Result: Open Dental gets a 0% crown row, making it visually obvious that there is no coverage. ________________ 2.2 Override mode Purpose: “I don’t care what insurance says; always use this value.” * Ignores whatever is on the portal and forces your chosen value into the plan. * Typical use cases: * Procedures you internally treat as 100% covered, regardless of the portal. * Situations where your office policy intentionally diverges from portal wording. Example: * Nitrous: office wants to always show nitrous coverage as 100%. * Rule: Mode = Override, Percent = 100 * Result: Even if the portal says 50% or 0%, Open Dental gets 100%. ________________ 2.3 Ignore mode Purpose: “Don’t write this data into Open Dental at all.” You can ignore: 1. Entire codes, or 2. Specific qualifiers (like age limit or frequency) for that code. Solves: * Too many codes cluttering the plan and causing decision fatigue. * Technically correct but operationally unhelpful details. Examples: * Ignore specific codes completely * COVID-19 vaccine codes, extremely rare procedures, etc. * Mode = Ignore on that code → Foji will not push that code into Open Dental. * Ignore just age limits for a code * Guardian fillings with age limits that aren’t followed in practice. * Mode = Ignore, Qualifier = AgeLimit (case-sensitive). * Result: Foji still writes the coverage % for the filling but omits the age limit. ________________ 3. What you can target with each rule Each rule in Benefit Override Configuration has fields that narrow what it applies to: * Code Group – e.g., “Crowns”, “Restorations” * Individual Code – e.g., D2390, D2391, D2392, D2393, D2394 * Carrier – e.g., Guardian, MetLife, Aetna * Qualifier – a particular attribute (age limit, frequency, etc.) * Mode – Default, Override, or Ignore * Percent – the percentage to apply when using Default/Override Example meaning: “For Guardian, on D2391, ignore the age limit but keep everything else.” ________________ 4. The specific filling example (D2390–D2394, Guardian & others) Problem * Guardian (and some others) publish age limits on fillings that: * Are very technical/legal. * Are often not enforced in real office workflows. Staff reaction: * They don’t trust those age limits. * They end up re-verifying manually or skipping Foji and doing it themselves. Configuration they set up For resin fillings (D2390–D2394): 1. Open a specific code (e.g., D2390) in Benefit Override Configuration. 2. Set: * Mode = Ignore * Qualifier = AgeLimit (exact string, case-sensitive) * Carrier: * Leave blank to apply to all carriers, or * Set to Guardian if you want it Guardian-only. Then repeat/extend for D2390–D2394. Effect: * Foji still reads the portal and gets coverage % and other info. * For these codes, it does not write age limits into Open Dental. ________________ 5. Carrier-specific rules & syntax Carrier field behavior * Leave blank to apply to all carriers. * Or specify one or more carriers, e.g.: * Guardian * Potentially Guardian, Aetna (comma-separated; exact spacing rules to be confirmed). Example use: * Mode = Ignore * Qualifier = AgeLimit * Carrier = Guardian * Code = D2391 Effect: Only Guardian’s D2391 age limit gets ignored; other carriers’ age limits remain. They also discussed: * Using carrier-specific rules for ortho age limits, where being wrong is high stakes. * Foji will send documentation on: * Valid qualifiers * Case sensitivity * Exact syntax (commas / spaces). ________________ 6. Foji’s “overachiever” behavior and why configuration matters Concept: Foji is “less software, more service” — like hiring an insurance employee. By default, Foji: * Goes to each portal. * Reads every code it can see. * Captures: * Coverage % * Age limits * Frequencies * Deductibles * Maxes * Exclusions, etc. * Pushes that data into Open Dental through the API, using your: * Coverage categories * Code groups Issues without tuning: * Too many codes: * Hundreds of lines, including rare codes and things like COVID-19 vaccines. * Staff get overwhelmed and stop reading. * Overly-technical but “correct” data: * Guardian examples: * Complex age limits on fillings. * Bitewing rule where “bitewing on every tooth” flips frequency to something like a Pano/FMX schedule that the office will basically never hit. Solution via configuration: * Use Ignore (with qualifiers) to filter out noise. * Use Default/Override to: * Make data match how staff are used to reading plans. * Align with how you talk to patients and plan treatment. ________________ 7. How Foji’s verification & benefit refresh scheduling works Foji has different AI “pathways” for each carrier. 7.1 Eligibility verification Per carrier (Aetna, Cigna, Delta, Guardian, etc.): * An AI agent: * Logs into the portal. * Checks whether the patient has active insurance. * Produces a status: * Active * Not active * Member not found * Or “attention required” with details. Timing: * Automatically runs about 8 days before the appointment. * Triggers only for patients with appointments in that window. What you see: * In Foji under each carrier, there’s a History tab: * Shows each run with: * Status: Pending / Completed / Failed. * Event log of steps taken. * A video recording: * Screen capture of what the AI did on the portal. * Stored for 7 days. * Lets you verify exactly what the portal displayed. ________________ 7.2 Manual rerun of verification Two ways: * In Foji portal: * In History, use the three-dot menu on a run and select Restart to re-run that check. * In Open Dental (Foji button): * Custom program link that passes the patient ID to Foji. * Kicks off eligibility/benefit work for that specific patient. In the meeting, they discovered: * The Foji button URL was misconfigured for Wynkoop. * They fixed the path in Setup → Program Links → Foji so the button now works correctly. ________________ 8. What happens during eligibility verification (mismatch handling) Foji doesn’t just check “active or not”; it also compares demographic/plan data: Checks: * Name: Portal vs. Open Dental. * Group number: Portal vs. Open Dental. * Address/ZIP: Portal vs. Open Dental. Outcomes & workflow: * Wrong group number: * Foji flags this in notes. * Recommended flow: * Copy correct group number from Foji note. * Update Open Dental. * Hit the Foji button to re-run verification. * Name mismatch: * E.g., spelling differences, nickname vs. legal name. * Foji notes portal’s name vs. Open Dental’s. * Office decides whether to correct OD. * ZIP/address mismatch: * Critical for MetLife: * Can’t find the patient without the correct ZIP. * Configurable behavior: * Either treat mismatch as a blocking issue or ignore it and only return active/inactive. * Wynkoop preference: * See all differences (name, ZIP, etc.) so they can reduce claim denials and help their remote biller. ________________ 9. Benefit summaries & remaining max/deductible 9.1 Benefit Summaries in Imaging Foji’s Generate Benefit Summary agent: * Gathers plan-level details: * Coverage %, frequencies, waiting periods, missing tooth clause, downgrades, in/out of network, etc. * Produces a document (e.g., PDF) and writes it to: * Open Dental’s imaging folder, specifically the Insurance Docs folder (ID 313). * You can also see the summary in Foji: * In the generate benefit summaries pathway, click the run and open the Benefit Summary link. Issue observed: * Foji logs show the summary is created and pushed via API. * The raw files appear in the OpenDentImages folder on disk. * But in Open Dental’s Imaging module, many of these documents: * Don’t show up, or * Show inconsistently. Suspected cause: * Open Dental folder/indexing configuration (how OD maps folder IDs like 313 to visible nodes in Imaging). * Foji’s team (Chris) will investigate OD settings to ensure those files are properly surfaced. ________________ 9.2 Remaining Annual Max & Deductible in Family → Patient Info Foji is designed to update: * Remaining Annual (max remaining) * Remaining Deductible in Family module → Patient Info. Mechanism: * On a patient-level eligibility run: * Foji gets: * Plan max * Used amount * Remaining * Writes: * Remaining Annual * Remaining Deductible Important distinction: * Plan-level updates (benefits) run roughly every 90 days. * Patient-level eligibility checks (when you care about remaining amounts) run: * Automatically within 8 days of the appointment, and/or * On-demand using the Foji button. Current issue: * Wynkoop isn’t seeing those fields populate. * The Foji side shows the agent running. * Likely tied to the same OD integration/path issue affecting benefit summaries. ________________ 10. Playback & debugging tools in Foji Several tools were demoed for troubleshooting: 1. History tab per carrier / pathway * Lists all runs with: * Status * Timestamps * Logs of what the AI did. 2. Screen recording * “File”/recording icon for each run. * Full video playback of AI’s session on the portal. * Useful for: * Explaining “member not found” * Seeing if portal layouts changed * Verifying what was on-screen vs. what Foji extracted. 3. Search bar in History * At the top of the History page. * Can search by patient ID to pull all relevant runs. * Helps answer: * When was this patient last checked? * Which carrier did we verify? * What was the result? 4. Restart * Three-dot menu on a row → Restart. * Requeues that verification/benefit job if: * Portal was down. * There was a temporary failure. * You’ve just fixed data (like group number) and want a fresh run. ________________ Summary * Foji pulls detailed benefit and eligibility data from payer portals and writes it into Open Dental. * The Benefit Override Configuration screen controls how Foji writes that data, using three modes: * Default: Fill in values when the portal does not provide anything. * Override: Force a specific value and ignore the portal. * Ignore: Hide entire codes or specific details such as age limits. * Rules can target specific codes, code groups, qualifiers like AgeLimit, and carriers. The Carrier field is a single portal value. You create separate rules when you want different behavior per carrier. * Offices often use Ignore with AgeLimit on fillings (for example D2390–D2394) to stop confusing age limits from showing in Open Dental while still keeping coverage percent. * Foji runs automatic eligibility checks for upcoming appointments about eight days before the visit. Results and logs are visible in Pathways → History, with screen recordings kept for seven days. You can rerun jobs from History or with the Foji button in Open Dental. * Foji flags mismatches such as group number, name, or ZIP between Open Dental and the portal. Staff should correct these in Open Dental and rerun verification to reduce claim issues. * Foji can generate Benefit Summaries into the Imaging module and update Remaining Annual Max and Remaining Deductible in the Family module when patient level verification runs. * For troubleshooting, use History, screen recordings, patient ID search, and job restarts. Contact Foji support if data appears in Foji but not in Open Dental.