Billing for allergy and asthma clinics, ENT allergy departments and immunology groups that run testing, shots, food challenges and biologics.
Allergy revenue leaks in small units. A 10 cc multidose vial is worth $173.70 in Medicare antigen fees when billed as 10 doses of 95165, and $17.37 when someone enters one unit. Shot-day visits get recouped, skin tests get double counted, and a $2,795 omalizumab dose goes out before the approval lands. Luxen runs full-service medical billing for allergy and immunology practices inside the EHR and extract software you already use, with certified coders and no migration.
On this page
Allergy and immunology billing services code and submit claims for skin and blood allergy tests, allergen immunotherapy, food challenges, spirometry and asthma biologics, then work denials and appeals. Vial math drives revenue: Medicare pays 95165 per 1 cc dose, a maximum of 10 doses per vial, at $17.37 a dose nationally in 2026.
We bill for allergy and immunology practices of every size. The codes overlap, but where the money leaks depends on the practice type.
Service lines we bill: percutaneous, intradermal and patch testing, in vitro IgE testing, subcutaneous and venom immunotherapy, rapid desensitization, drug and food challenges, spirometry, biologic injections and office visits.
Allergy claims are small, so one error repeats hundreds of times. Our denial and AR recovery team finds the same patterns in almost every practice. Dollar figures are 2026 Medicare national non-facility payments; drug amounts use the Q3 2026 Part B payment limit.
| Scenario | Codes | What goes wrong | $ at stake per claim | Luxen audit finding |
|---|---|---|---|---|
| Multidose vial preparation | 95165 | Vial billed as 1 unit instead of one unit per 1 cc dose | $156.33 lost on a 10 cc vial | Multidose vials were billed as a single 95165 unit on 9% of antigen claims, across 5,200 allergy and immunology claims (Luxen claim audit) |
| Office visit on a shot day | 99213-25 with 95117 | No problem documented beyond the injection itself | $95.19 recouped | An E/M visit billed with modifier 25 on an injection-only day had no separately documented problem on 13% of those claims (Luxen claim audit) |
| Single and sequential skin tests | 95024 with 95027 | Both billed for the same dilution of one allergen | $4.68 per duplicated test | A single test and a sequential test were billed for the same allergen dilution on 6% of skin testing claims (Luxen claim audit) |
| Biologic given before approval | J2357 with 96372 | Omalizumab 300 mg injected before the authorization is on file | $2,810.64 per dose ($2,795.28 drug plus $15.36 administration) | Missing or invalid prior authorization caused 17% of denials (Luxen claim audit) |
| Short food challenge | 95076 | Challenge ended before 61 minutes but was billed as a challenge, not an E/M | $123.25 recouped | Coding and modifier errors caused 21% of denials (Luxen claim audit) |
Allergy testing is billed per test, not per visit, and interpretation is part of the code. Rates are 2026 Medicare national non-facility payments at the $33.4009 conversion factor. Our certified medical coders check units against the test record before a claim goes out.
| Code | What it reports | Unit | 2026 Medicare rate |
|---|---|---|---|
| 95004 | Percutaneous (prick or puncture) tests with allergenic extracts | Each test | $3.67 |
| 95024 | Intracutaneous (intradermal) tests with allergenic extracts | Each test | $7.68 |
| 95027 | Intracutaneous sequential and incremental tests, airborne allergens | Each test | $4.68 |
| 95044 | Patch or application tests | Each test | $5.01 |
| 95076 | Ingestion challenge, initial 120 minutes | Per challenge | $123.25 |
| 95079 | Ingestion challenge, each additional 60 minutes | Each hour | $84.84 |
| 94060 | Spirometry before and after a bronchodilator | Per test | $43.42 |
A 40-test prick panel is 40 units of 95004, or $146.80 at the national rate. The NCCI Policy Manual lets you bill a single test (95004 or 95024) and a sequential and incremental test (95017, 95018 or 95027) on the same day only for different allergens or different dilutions. A positive single test followed by 3 more dilutions is 1 unit of the single test code and 3 units of the sequential code.
Medically unlikely edits cap units per patient per day: 80 for 95004, 40 for 95024, 90 for 95027 and 90 for 95044. Units above the edit deny and need records on appeal. Potency checks on a new vial belong to immunotherapy, not testing.
Contractors also limit in vitro testing. WPS LCD L36402 caps specific IgE testing at 30 allergens per beneficiary over 12 months and expects retesting with the same antigens to be rare within 3 years, which matters for practices in Iowa, Kansas, Nebraska and Missouri (see medical billing in Missouri).
95076 covers the first 120 minutes of a sequential ingestion challenge with a food, drug or other substance, and 95079 adds each additional 60 minutes. A challenge completed in less than 61 minutes is reported as an E/M visit instead. Record start and stop times, because the time decides the code.
Immunotherapy is billed in components: one code for the extract, one for the shot.
| Code | What it reports | How to bill | 2026 Medicare rate |
|---|---|---|---|
| 95115 | One injection | Once per date of service, 1 unit | $10.35 |
| 95117 | Two or more injections | Once per date of service, 1 unit, never with 95115 | $12.36 |
| 95165 | Preparation and provision of antigen, multidose vials | 1 unit per 1 cc dose, 10 doses per vial at most | $17.37 per dose |
| 95144 | Single dose vials | Number of vials prepared | $21.04 per vial |
| 95120 to 95134 | Complete service codes (injection plus extract) | Not valid for Medicare | $0.00 |
Medicare contractors price 95165 on a 10 cc vial drawn in 1 cc aliquots, so a practice may not bill more than 10 doses per multidose vial. A full 10 cc vial is 10 units, or $173.70; a 5 cc vial is 5 units. Keep the preparation record the billing articles ask for: preparer, date, allergens, manufacturer, concentration, volume, diluent, lot numbers and expiration dates. The daily edit for 95165 is 30 units.
Bill 95115 or 95117 once per date of service. An E/M code with modifier 25 is allowed only when the physician provides a significant, separately identifiable service, such as treating an asthma flare. Obtaining informed consent is part of immunotherapy, not a visit.
Palmetto GBA LCD L40046, effective October 26, 2025, covers subcutaneous immunotherapy for allergic rhinitis, allergic conjunctivitis, allergic asthma and dust mite atopic dermatitis when skin or serum testing shows specific IgE. An initial course should be 3 to 5 years of maintenance, and treatment is not reimbursed after 2 years with no clinical benefit. Sublingual immunotherapy and treatment for food sensitivities are not covered. The LCD applies in seven states (see medical billing in Georgia), and CGS applies the same 10-dose vial rule in Ohio and Kentucky (see medical billing in Kentucky). Both billing articles require the EJ modifier on maintenance immunotherapy claims. For 2026, CMS also allows direct supervision of allergy injections, spirometry and challenge tests through real-time audio and video.
Biologics are the highest-dollar claim lines in most allergy and immunology practices. One 300 mg omalizumab dose is worth more than 200 single injections billed under 95115, so a missed unit, modifier or approval costs more than a full day of shot revenue. Bill each drug by its HCPCS unit:
| Drug | HCPCS code | Billing unit |
|---|---|---|
| Omalizumab | J2357 | 5 mg |
| Mepolizumab | J2182 | 1 mg |
| Benralizumab | J0517 | 1 mg |
| Tezepelumab-ekko | J2356 | 1 mg |
Units are the dose divided by the code unit. A 300 mg omalizumab dose is 60 units of J2357; at the Q3 2026 Medicare payment limit of $46.588 per unit, that is $2,795.28, plus $15.36 for the 96372 injection. For drugs from single-dose containers, Medicare requires the JW modifier for discarded drug and the JZ modifier when nothing was discarded, and claims missing them may be returned as unprocessable. Document the dose, the waste and the lot on the administration record so the units, modifier and chart agree.
Plans that require prior authorization approve a specific drug, dose and date range, and a dose change or a missed renewal voids the match. Our eligibility and prior authorization team tracks each approval by patient, drug, units and end date, and checks it again before every injection visit. Biologic doses given before a current authorization was on file caused 26% of allergy and immunology drug denials (Luxen claim audit), and across all specialties, Eligibility and coverage errors caused 24% of denials (Luxen claim audit).
Codes 95120 to 95134 combine the injection and the extract, and Medicare treats them as not valid, with no national payment (2026 Medicare status for 95125). Bill 95115 or 95117 plus 95165 doses instead. Cost: the whole injection claim denies. The top three denial reasons accounted for 58% of denied dollars in the average practice (Luxen billing reviews).
An E/M with allergy immunotherapy is appropriate only for a significant, separately identifiable service, and informed consent is part of the immunotherapy (NCCI Policy Manual, Chapter XI, section K). Cost: $95.19 for each recouped 99213. Our audit found no separately documented problem on 13% of those claims (Luxen claim audit).
A single test and a sequential and incremental test for the same dilution of an allergen are not reported separately on the same day (NCCI Policy Manual, Chapter XI). Cost: $4.68 per duplicated 95027 unit, recouped across every panel. The error showed up on the same allergen dilution on 6% of skin testing claims (Luxen claim audit).
Medicare covers antigens only when given by injection; drops placed under the tongue are not covered (NCD 110.9), and the 2025 SCIT LCDs list sublingual immunotherapy as not covered. Cost: the full service goes unpaid. Eligibility and coverage errors caused 24% of denials (Luxen claim audit).
Medicare requires JW for discarded drug and JZ when none was discarded on separately payable drugs from single-dose containers (CMS JW and JZ modifier FAQs). Cost: the full drug line, $2,795.28 for a 300 mg omalizumab dose. Resubmitting without the fix adds a second denial: Duplicate claim denials made up 9% of denials, mostly from resubmitting instead of correcting (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.
Allergy billing depends on records that live outside the EHR, especially the extract mixing log. We work inside the systems you already run, with no migration:
Each week we match vials mixed and injections given against the 95165, 95115 and 95117 charges.
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
Luxen claim audit (61,400 claims audited, Jan 2025 to Jun 2026), Luxen billing reviews (410 practice billing reviews, Jan 2025 to Jun 2026) and Luxen client data (38 client practices, Jan 2024 to Jun 2026):
Vial preparation and injection visits were tracked separately, making completed immunotherapy services easy to miss. Luxen reconciled the serum logs with appointments, found 176 unbilled services, and recovered $30,900.
Practice Administrator, allergy and immunology clinic
We did not have a reliable way to see remaining covered injections or expiring approvals. Luxen built a patient-level tracker that reduced authorization-related allergy write-offs by 73%.
Clinical Operations Manager, multi-location allergy practice
Full engagements are written up in our dental practice case study and our ambulance billing case study.
Allergy practices run on volume, so small shifts in denial rates move real cash. These are the benchmarks we report to allergy and immunology clients each month, each paired with the allergy-specific check that moves it.
| KPI | Luxen benchmark | Allergy check behind it |
|---|---|---|
| First-pass denial rate | Across 38 client practices, first-pass denial rate fell from 14.2% to 6.1% within 90 days of onboarding (Luxen client data) | Denials on 95165, modifier 25 and biologic lines |
| Clean claim rate | Clean claim rate rose from 89.6% to 97.3% in the first 90 days (Luxen client data) | Test units checked against daily edits |
| Days in AR | Median days in AR dropped from 54 to 33 within 120 days (Luxen client data) | Biologic claims aged separately from shot claims |
| Allergy AR benchmark | Allergy and immunology practices carried a median 39 days in AR (Luxen billing reviews) | Vials mixed matched to 95165 doses billed |
Practices that reviewed AR ageing monthly carried 12 fewer days in AR (Luxen billing reviews), yet 42% of practice managers said nobody owns denial follow-up full time (Luxen Practice Manager Survey 2026). Patient balances need the same attention, because shot-day copays repeat every week of build-up. Our patient billing service sends plain statements and text reminders, and we flag balances left after the second statement before they age into write-offs.
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.
Luxen charges 3% to 6% of collections, month to month with 30 days notice, and no setup or exit fee. Example: an allergy and immunology practice collecting $120,000 a month.
| Service line | Monthly collections | Luxen at 3% | Luxen at 6% | In-house at 7.9% |
|---|---|---|---|---|
| Office visits and consults | $42,000 | $1,260 | $2,520 | $3,318 |
| Allergy testing and challenges | $18,000 | $540 | $1,080 | $1,422 |
| Immunotherapy injections and extract | $36,000 | $1,080 | $2,160 | $2,844 |
| Biologics and administration | $24,000 | $720 | $1,440 | $1,896 |
| Total | $120,000 | $3,600 | $7,200 | $9,480 |
Fully loaded in-house billing cost 7.9% of collections for practices under $2M, across 96 practices that shared payroll data (Luxen billing reviews). That is $113,760 a year here, against $43,200 to $86,400 with Luxen. Your rate within the range depends on claim volume, biologic authorization work and payer mix. In-house teams also carry vacancy risk: open biller roles took a median 67 days to fill (Luxen Practice Manager Survey 2026).
Most allergy billing losses come from vial math, shot-day visits and biologic approvals, so test any partner on those first.
That last question matters: 44% could not name the fee basis in their current billing contract, and 52% of practices that switched billing vendors cited missing denial reporting as the main reason (Luxen Practice Manager Survey 2026). To see how options stack up, compare medical billing companies.
| Partner type | Allergy coding depth | Denial follow-up | Cost basis | Terms |
|---|---|---|---|---|
| In-house biller | Depends on one person | Competes with front desk work | Salaries, benefits and software | Employment |
| Generalist billing company | Broad, rarely allergy specific | Varies | Percentage of collections | Varies |
| Specialty billing company | Strong on specialty codes | Usually dedicated | Percentage of collections | Varies |
| EHR vendor RCM | Tied to the software | Varies | Percentage plus software fees | Tied to the EHR contract |
| Luxen | Certified coders with allergy code checks | Every denial worked and reported | 3% to 6% of collections | Month to month, 30 days notice |
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.
Allergy testing is billed per test, so a 40-test prick panel is 40 units of 95004, worth $146.80 at the 2026 Medicare national rate of $3.67 per test. Interpretation is included, and an E/M visit is billable only for a significant, separately identifiable service with modifier 25. Units above the daily edit, 80 for 95004, deny and need records on appeal.
Luxen charges 3% to 6% of collections, month to month, with no setup or exit fee. For a practice collecting $120,000 a month, that is $3,600 to $7,200. Fully loaded in-house billing cost 7.9% of collections for practices under $2M in our billing reviews.
Plan on about 2 weeks from signed BAA to working claims; the median time from signed BAA to first claims worked was 9 business days. We start with your oldest open AR, including unbilled vials and biologic denials, and first recovered payments arrived a median of 17 days after work began. Terms are month to month with 30 days notice.
Yes. We work inside ModMed, Epic, athenaOne, eClinicalWorks, NextGen and XTRACT immunotherapy software, with no migration. We sign a BAA before access, then match vial preparation records and injection logs to your 95165, 95115 and 95117 charges.
95076 covers the first 120 minutes of an ingestion challenge and pays $123.25 nationally under 2026 Medicare rates, with 95079 for each additional 60 minutes. If the challenge is completed in less than 61 minutes, report an E/M visit instead of 95076. Record start and stop times so the code matches the time.
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