Billing for internal medicine groups, solo internists, geriatric practices and NP-staffed adult medicine clinics, from office visits to care management.
Internal medicine revenue leaks in small amounts that repeat all year: a problem treated during a wellness visit that never reaches the claim, a G2211 add-on left off a chronic disease follow-up, a month of care management time nobody logged. Each is under $100 per patient, and a busy internist sees hundreds of them. Luxen codes and follows every visit inside your current EHR, so the work your physicians and nurse practitioners already do gets paid.
On this page
Internal medicine billing services manage the claims an adult medicine practice sends for office visits, Medicare wellness visits, chronic and transitional care management and vaccines, from eligibility checks to denial appeals. In our claim audit, problem-oriented visits billed with an annual wellness visit lacked modifier 25 on 12% of claims (Luxen claim audit).
We bill for adult medicine practices where one patient can carry several chronic conditions, a Medicare Advantage plan and a care plan that runs between visits.
Service lines we bill for these practices: office visits, preventive and wellness visits, chronic, principal and advanced primary care management, transitional care, remote monitoring, behavioral health integration, vaccines, in-office labs and ECGs.
Most internal medicine losses are not denials. They are services performed and documented but never billed, or billed one level too low. Dollar figures are 2026 Medicare national non-facility amounts at the $33.4009 conversion factor, before locality adjustment.
| Scenario | Codes | What goes wrong | $ at stake per claim | Luxen audit finding |
|---|---|---|---|---|
| Problem treated during a wellness visit | G0439 + 99213-25 | Problem visit left off, or billed without modifier 25 | $95.19 | Problem-oriented visits billed with an annual wellness visit lacked modifier 25 on 12% of claims |
| Chronic condition follow-up | 99214 + G2211 | Complexity add-on left off an eligible Medicare visit | $17.37 | G2211 was left off 31% of eligible Medicare follow-up visits billed by internists |
| Moderate complexity visit coded by habit | 99214 billed as 99213 | Level picked from the appointment slot, not MDM or total time | $40.42 | Visit levels checked against MDM and time before submission |
| Joint injection on a follow-up day | 99213-25 + 20610 + G2211 | G2211 denied because modifier 25 is for a procedure | $17.37 | Coding and modifier errors caused 21% of denials |
An office visit level is chosen by medical decision making (MDM) or by total practitioner time on the date of the encounter, whichever supports the higher level. History and exam are documented as medically appropriate but no longer set the level. Our certified medical coding team checks both paths before a claim goes out.
| Code | MDM level | Total time, met or exceeded | 2026 national non-facility |
|---|---|---|---|
| 99213 | Low | 20 minutes | $95.19 |
| 99214 | Moderate | 30 minutes | $135.61 |
| 99215 | High | 40 minutes | $192.39 |
| 99204 (new patient) | Moderate | 45 minutes | $177.36 |
| G2211 add-on | Not level based | No time requirement | $17.37 |
Rates are total non-facility RVUs times the $33.4009 conversion factor, before locality adjustment and 20% coinsurance. New patient times are 15, 30, 45 and 60 minutes for 99202 to 99205.
Moderate MDM needs two of three elements: problems, data and risk. Two stable chronic illnesses, or one chronic illness that is worsening, meet moderate problems. Prescription drug management meets moderate risk. An internist who adjusts a diabetes medication for a patient who also has stable hypertension supports 99214 without counting minutes.
Care management pays for work between visits, but only when consent, the care plan and the time are documented for each calendar month. Chronic care management time went uncaptured for 58% of eligible patients (Luxen billing reviews). Our full-service medical billing team runs a monthly care management queue so short months are caught before the month closes.
| Code | Service | Time and who | Key rule |
|---|---|---|---|
| 99490 / 99439 | Chronic care management | Clinical staff, first 20 minutes, then each added 20 | Two or more chronic conditions expected to last 12 months or until death; Medicare pays 99439 twice a month at most |
| 99491 / 99437 | Chronic care management | Physician or QHP, first 30 minutes, then each added 30 | Time personally performed by the billing practitioner |
| 99487 / 99489 | Complex chronic care management | Clinical staff, first 60 minutes, then each added 30 | Moderate or high complexity MDM that month |
| 99424 / 99426 | Principal care management | 30 minutes by the practitioner or by clinical staff | One serious chronic condition |
| G0556 / G0557 / G0558 | Advanced primary care management | No minimum time | Tiered by number of chronic conditions; G0558 is for Qualified Medicare Beneficiaries |
| 99495 / 99496 | Transitional care management | Contact within 2 business days; visit within 14 or 7 days | Moderate or high MDM; once in the 30 days after discharge |
The discharge starts a 2 business day clock for an interactive contact by phone, portal or in person. Two or more documented attempts made on time still count if the other requirements are met. The face-to-face visit must fall within 14 days for 99495 or 7 days for 99496, and it cannot be the same day as discharge day management by the same practitioner. The claim can be sent once that visit is done.
Medicare wellness visits and commercial preventive physicals are different services with different codes, frequency limits and cost sharing. Billing one as the other is a denial or a patient complaint.
| Code | Visit | Frequency | Patient cost |
|---|---|---|---|
| G0402 | Welcome to Medicare preventive visit | Once, within 12 months of Part B enrollment | No deductible or coinsurance |
| G0438 | Initial annual wellness visit | Once, after the first 12 months of Part B and at least 12 months after the G0402 visit | No deductible or coinsurance |
| G0439 | Subsequent annual wellness visit | Every 12 months | No deductible or coinsurance |
| 99386 / 99396 | Preventive physical, age 40 to 64 | Plan frequency, usually yearly | No cost share in network for covered preventive services |
| 99387 / 99397 | Preventive physical, age 65 and over | Not a Medicare benefit | Patient pays unless another plan covers it |
When the internist treats a problem that needs work beyond the wellness visit, bill 99212 to 99215 with modifier 25 alongside the wellness code. The problem visit carries the deductible and coinsurance, so patients should hear that before the visit, not on the statement. 1 in 9 patient balance calls was about a preventive visit billed with a cost share (Luxen client data). Our patient billing team answers those calls and explains the split.
Advance care planning (99497) furnished as part of an annual wellness visit is billed with modifier 33 and has no cost share. Billed on another day, it carries coinsurance.
Vaccine administration codes were missing alongside vaccine product codes on 5% of claims (Luxen claim audit).
The rule: Medicare does not pay G2211 on a visit billed with modifier 25 unless the same-day service is an annual wellness visit, vaccine administration or a Part B preventive service (CMS MLN Matters MM13473). A same-day injection or ECG procedure takes it off the claim. Cost: $17.37 per denied line, plus rework. Coding and modifier errors caused 21% of denials (Luxen claim audit).
The rule: Medicare pays G2212 instead, and the first unit starts at 69 minutes of total time with 99215 (CMS MLN006764). A 99417 line sent to Medicare is denied and the extra time goes unpaid. 63% could not name their top three denial reasons (Luxen Practice Manager Survey 2026).
The rule: the annual wellness visit covers the health risk assessment, the prevention plan and the screening schedule. Treating a problem is a separate E/M visit with modifier 25 and normal cost sharing (CMS annual wellness visit). Cost: $95.19 on a missed 99213. Problem-oriented visits billed with an annual wellness visit lacked modifier 25 on 12% of claims (Luxen claim audit).
The rule: 99490 also needs two or more qualifying chronic conditions, a comprehensive care plan, 24/7 access and at least 20 minutes of clinical staff time documented in that calendar month (CMS MLN909188). Cost: a month logged at 18 minutes bills nothing. Chronic care management time went uncaptured for 58% of eligible patients (Luxen billing reviews).
The rule: Part B covers flu, pneumococcal, hepatitis B and COVID-19 vaccines, while shingles, Tdap and RSV vaccines fall under Part D (HHS ASPE, Part D vaccines). Cost: a Part D vaccine billed to Part B is denied and the dose goes unpaid until it is billed to the drug plan. Vaccine administration codes were missing alongside vaccine product codes on 5% of claims (Luxen claim audit).
We run the revenue cycle from eligibility to zero balance inside the practice management system you already use. How full-service billing works.
Certified coders review charges against your documentation and payer rules before the claim goes out, so the denial is prevented rather than appealed. Medical coding.
Aged and denied claims are worked to resolution, then the upstream cause is fixed so the same claims stop coming back. Denials and AR recovery.
Benefits are verified and authorizations secured before the appointment, which is the cheapest place in the cycle to stop a denial. Eligibility and prior authorization.
Statements, balance questions and payment plans are handled by the same team that worked the claim. Patient billing.
Payer enrollment and re-credentialing are tracked through to approval, so a lapsed credential never quietly stops payment. Credentialing.
A HIPAA-trained front-office assistant working inside your EHR on calls, scheduling, intake and referrals, alongside the billing team. Medical virtual assistant.
Internal medicine practices run on EHRs built around office visits and chronic disease registries: athenaOne, eClinicalWorks, Epic, NextGen, Tebra, AdvancedMD, Elation Health, Veradigm and Greenway Intergy. Care management time is often logged in a separate care management or remote monitoring platform that has to be reconciled to the EHR each month.
We work inside the systems you already use, with our own user logins once the BAA is signed. No migration. 38% had changed EHR or practice management system in the past five years, and 71% said collections dipped for at least six months after the switch (Luxen Practice Manager Survey 2026).
2 weeks
from a signed BAA to our team working your claims
About 3 weeks
to the first recovered payments on aged AR
20+ years
combined billing and coding experience
Our physicians often addressed active conditions during preventive visits, but the additional work was not consistently captured when the documentation supported it. Luxen corrected the workflow and added $17,300 in monthly collections without increasing visit volume.
Managing Physician, internal medicine group
Hospital discharge notices arrived, but follow-up calls and office visits were not tracked as one transitional-care process. Luxen organized the workflow, increasing completed billable TCM encounters from 21 to 68 per month.
Practice Administrator, multi-provider internal medicine practice
Full engagements are written up in our dental practice case study and our ambulance billing case study.
In North Carolina, Medicaid expansion began December 1, 2023, so many adult patients now carry Medicaid coverage and a health plan assignment that must be checked at each visit. In Wisconsin, Medicare Part B claims process through National Government Services in Jurisdiction 6, whose edits and local policies set the denial patterns. Our eligibility and prior authorization team verifies coverage before the visit.
| KPI | Luxen benchmark | Dataset |
|---|---|---|
| Days in AR | Primary care practices carried a median 36 days in AR | Luxen billing reviews |
| First-pass denial rate | First-pass denial rate fell from 14.2% to 6.1% within 90 days of onboarding | Luxen client data |
| Denials left unworked | 19% of denied claims were never reworked or appealed | Luxen billing reviews |
| AR ageing review | Practices that reviewed AR ageing monthly carried 12 fewer days in AR | Luxen billing reviews |
3% to 6% of collections
Luxen's pricing generally falls between 3% and 6% of collections, depending on claim volume, specialty, payer mix, and how much of the revenue cycle your practice hands over.
Higher-volume practices usually land toward the lower end. Smaller or more complex practices land higher because there is more work per account. There is no setup fee and no exit fee, and the agreement runs month to month with 30 days notice.
A lower fee attached to weak billing is still expensive. The number that matters is what your collections do after you hire someone.
Example: a group of three internists and one nurse practitioner collecting $1.8 million a year, or $150,000 a month. Luxen charges 3% to 6% of collections; this example uses 4.5%.
| Service line | Monthly collections | Luxen at 4.5% | In-house at 7.9% |
|---|---|---|---|
| Office visits and preventive care | $105,000 | $4,725 | $8,295 |
| Care management (CCM, APCM, TCM) | $30,000 | $1,350 | $2,370 |
| Vaccines, labs and ECGs | $15,000 | $675 | $1,185 |
| Total | $150,000 | $6,750 | $11,850 |
The in-house column uses our finding that fully loaded in-house billing cost 7.9% of collections for practices under $2M, across 96 practices that shared payroll data (Luxen billing reviews). The difference is $5,100 a month, or $61,200 a year. At 3% the same practice pays $4,500 a month; at 6%, $9,000. Where you land depends on claim volume, care management load and the AR backlog. No setup fee, month to month, 30 days notice.
| Option | Coding depth | Care management | Denial follow-up | Cost basis |
|---|---|---|---|---|
| In-house biller | Depends on one person | Often untracked | When time allows | Salary, benefits, software |
| Generalist billing company | Broad, not adult medicine specific | Billed only if the practice logs time | Batch rework | Percent of collections |
| Specialty billing company | Strong in its own specialty | Varies | Assigned team | Percent of collections |
| EHR vendor RCM | Tied to the vendor's software rules | Inside that EHR only | Queue based | Percent of collections plus software |
| Luxen | Certified coders on E/M, wellness and care management | Monthly time, consent and APCM checks | Named owner per denial | 3% to 6% of collections, month to month |
Put every option through the same questions, then compare medical billing companies on fee basis, reporting and contract terms.
A 30-minute look at your AR ageing, denial reasons and payer mix. You leave knowing what is recoverable, what we would work first and what it would cost.
We sign a business associate agreement before anyone touches your system. Your named team then works inside the practice management system and clearinghouse you already use. Nothing is migrated, and claims are being worked within two weeks of the signed BAA.
Aged and denied claims come first because that is revenue you have already earned. Most practices see the first recovered payments inside three weeks.
Once the backlog is moving, we take over the agreed part of the daily cycle: eligibility, coding review, submission, posting, denials and patient balances.
You know who owns your claims. The team works inside the practice management system and EHR you already run, with no migration.
Claims are coded by certified coders against your documentation and payer rules. Automation handles the repetitive checks so people spend their time on the claims that need judgment.
We sign a business associate agreement before accessing protected health information, and access is limited to the named people on your account.
We look at your AR ageing, volume, payer mix and denial profile first, then tell you what we believe is recoverable and what it would cost.
A billing company is a poor fit if you are not willing to share visibility into your billing, if the vendor uses a rotating pool of people who never learn your practice, or if it cannot explain why your claims are being denied. Be wary of anyone promising large collection increases before they have seen your AR ageing. The right partner makes your revenue cycle more visible, not less.
If it is not documented, it did not happen, and in internal medicine that applies to minutes as much as findings. A 99214 billed on time needs at least 30 minutes recorded for that date, and a 99490 month needs 20 minutes of clinical staff time logged. Undocumented time is recouped on audit.
Outsourced billing is usually priced as a percent of collections, and Luxen charges 3% to 6%. For a practice collecting $150,000 a month, 4.5% is $6,750, against $11,850 in-house at the 7.9% of collections for practices under $2M found in Luxen billing reviews. There is no setup fee and the agreement is month to month.
About 2 weeks from a signed BAA to working claims, with first recovered payments in about 3 weeks. We start with the oldest AR and open care management months, because Medicare claims past the 12-month timely filing limit cannot be recovered. You keep your EHR and payer enrollments.
Yes. We work inside athenaOne, eClinicalWorks, Epic, NextGen, Tebra, AdvancedMD, Elation Health and other systems with our own user logins after a BAA is signed. Care management time logged in a separate platform is reconciled to the EHR every month before 99490 or APCM claims go out.
Yes, when the problem needs work beyond the wellness visit. Bill G0438 or G0439 with 99212 to 99215 and modifier 25; the problem visit carries the deductible and 20% coinsurance, and the wellness visit does not. G2211 can be added to that modifier 25 visit because the same-day service is an annual wellness visit.
Thirty minutes, no deck and no fee. We look at what is sitting past 90 days and where your denials cluster, and you leave knowing what is recoverable, what we would work first, and what it would cost.
Book a Billing Review