Run an Out-of-Network Analysis
What happens to revenue if a practice drops a payer and bills its full charge instead - set up the study from your assistant, read every table, chart and PDF section as data, and get the client PDF.
An Out-of-Network Analysis answers one question for a practice or hospital: if we leave payer X's network, do the patients who stay and pay our full charge make up for what X pays us today? In the app it is the Out-of-Network service. Through the MCP server your assistant runs the same study from a conversation, and it is the same study the app shows.
Say something like:
Should Floss4Kids drop Tricare? The consultant's workbook is Fee Increase Results.xlsx in this folder.
The server knows the steps. Your assistant calls oon_next_step() and every result carries next_step.
Setting up
- Study.
oon_create_studynames the study and its owner (the practice or hospital whose contracts are in question; created as a provider if new). - Contracted rates.
oon_sourceslists the rate tables, CDMs and volume datasets the study can use.oon_set_ratespins a rate-table version. A new rate table comes throughcreate_upload,inspect_uploadandsave_rate_table. - A consultant rate sheet (optional, and often all you need). A workbook with one row per code, a full charge, and a block of columns per payer (count, contracted fee) can supply the rates, the charges and each payer's units at once. Upload it with
create_upload, thenoon_rate_sheet(study_id, upload_id): the first call returns the detected layout (header rows, code and charge columns, what each column of a payer's block holds, the payer names) and builds nothing. Once it is confirmed, the second call reads the sheet and pins it. The sheet stays on the study; it is never published as a rate table or a CDM. - Units per payer.
oon_set_utilization: a volume dataset (an existing one, or a new file with a mapping), CMS state estimates split equally across payers, or the rate sheet's own counts. With a dataset, the result suggests a payer map (rate payer to dataset payer); confirm it and call again. A payer with no mapped volume is left out. - Full charges.
oon_set_chargespins one of the owner's CDM versions. With no CDM,oon_generate_cdmproposes one from the rate table (the highest, 75th-percentile or median payer rate per code, plus an uplift); withpublish=trueit saves it as an experimental, study-only CDM that never becomes the owner's production CDM, and the PDF discloses it. - Assumptions.
oon_set_assumptions: retention (the share of a dropped payer's patients who stay and pay the full charge; 50% by default, one for all or per payer), the drop band (how many dollars a year a drop must net before it is called one; $0 by default), a charge adjustment, per-code charge overrides, the payers evaluated and the codes.oon_previewshows each payer's units, current revenue and full-charge revenue before the run. - Run.
oon_runcomputes per payer: current revenue (units x contracted rate), out-of-network revenue (units x full charge x retention), the net impact, the break-even retention (current / full-charge revenue) and drop, consider or keep. After a run, a change to the assumptions re-derives every figure at once.
Reading the results
Every component the app's results page and the PDF show is its own tool, returning that component's data from the same server function the page or the PDF uses. oon_sections lists them in reading order, and each result's next_step names the next one.
| Component | Tool |
|---|---|
| App: page header sentence (drop / consider / keep) | oon_headline |
| App: KPI row | oon_totals |
| App: results toolbar (retention, charge adjustment, drop band) | oon_assumptions |
| App: provenance strip + unmapped-payer notice | oon_provenance |
| App: chart "Annual revenue change if you drop each payer" | oon_net_impact_chart |
| App: chart "How many patients must stay to hit a revenue target" | oon_break_even_chart |
| App: Payers table | oon_payers |
| App: a payer's code detail (chart + table) | oon_payer_codes |
| PDF: Executive Summary | oon_report_executive_summary |
| PDF: Recommendation | oon_report_recommendation |
| PDF: Payer Detail | oon_report_payer_detail |
| PDF: Sensitivity to Retention | oon_report_sensitivity |
| PDF: Methodology & Data Sources | oon_report_methodology |
The app components return raw numbers (dollars a year; retention as a fraction, 0.5 is 50%). The PDF components return the section's own blocks (headings, paragraphs, bullets, KPI tiles, tables, chart data, callouts) with the text as printed.
oon_export writes the deliverable under the study's current assumptions and returns a one-hour link: the branded PDF or the CSV (one row per payer, then per payer and code).
Plans
Setting up a study, the rate sheet and oon_sections are free. Without the Out-of-Network service on your plan the setup previews name the payers but show no units or revenue, the run and each component are a preview (five rows, no dollar, unit or break-even figures, no drop / keep lists), and the export is refused with a link to upgrade.
Pricing Gap Reports
Build a Pricing Gap Report for a hospital from your assistant - its published prices against similar nearby hospitals, every section of the report as its own answer, and the PDF.
Read your EDI data
Upload 835 remittances and 837 claims (or read what your SFTP feed delivers), then read every table of the EDI pages, the denials and payment-variance analyses, and a verified dataset's checks, one tool each.