Our complete pulmonary medicine guide

Sleep study and home sleep apnea test coding: CPT vs. HCPCS G-codes.

Sleep testing runs on two code sets that overlap in what they measure and diverge completely in who accepts which one. Get the CPT-versus-HCPCS call wrong and Medicare denies automatically. Get the specific code wrong within the right family and the claim can still deny on a technicality unrelated to medical necessity. This guide goes code by code through both families, the monitor-type logic that picks the right G-code, the modifier 52 threshold nobody reads past the headline rule on, and the CPT overhaul landing January 1, 2027.

Key takeaways

  • G0398/G0399/G0400 map to a specific AASM monitor type, not to "any home test." Billing the wrong G-code for the channel count actually recorded is its own denial reason, separate from the CPT-versus-HCPCS mix-up.
  • 95800, 95801, and 95806 are being deleted January 1, 2027, replaced by a new complexity-tiered family of six codes. 2026 is the last full year the legacy codes are billable — build the transition into next year's charge master now, not in December.
  • Modifier 52 isn't optional under 6 hours of recording. It governs the HST codes and, less commonly remembered, the attended in-lab codes whenever a study is cut short of a full night.
  • The sleep study and the CPAP device travel through two different Medicare pathways. The G-code for the test routes to the local Part A/B MAC under the same polysomnography article covered in our pillar guide; the CPAP unit itself is a separate DME claim.

Why two code sets exist for the same test

CPT is AMA-maintained and priced through the Medicare Physician Fee Schedule's RVU methodology. HCPCS Level II is CMS's own code set, used when CMS wants to control pricing outside that structure. Home sleep apnea testing landed in both because CMS chose a payment methodology it fully owns for this service rather than accepting the AMA's CPT valuation — which is also why Medicare won't accept a CPT-to-HCPCS crosswalk from a biller and simply denies the CPT codes outright. Commercial payers, with no obligation to follow CMS's coding choices, generally stayed on CPT. That's a policy decision, not a coding ambiguity a modifier or appeal can work around.

The CPT sleep-testing family, code by code

Nine CPT codes cover sleep medicine, and the three unattended home-testing codes get confused with each other as often as they get confused with the HCPCS G-codes.

CPT sleep-testing family. Descriptions paraphrased — confirm exact language against your current CPT Professional edition before building a charge master entry.
CodeWhat it capturesSetting
95803Actigraphy testing, recording, analysis, and report over a minimum 72-hour, up to 14-consecutive-day periodAmbulatory, not a single-night sleep study
95805Multiple sleep latency or maintenance of wakefulness testing across multiple daytime trialsDaytime, facility-based
95806Unattended recording of heart rate, oxygen saturation, respiratory airflow, and respiratory effort — no sleep stagingHome, unattended
95800Unattended recording of heart rate, oxygen saturation, respiratory analysis, and sleep time — no EEG-based stagingHome, unattended
95801Unattended recording of a minimum of heart rate, oxygen saturation, and respiratory analysis — the narrowest parameter set of the three home codesHome, unattended
95807Ventilation, respiratory effort, ECG/heart rate, and oxygen saturation, technologist-attended — no sleep stagingFacility, attended
95808Polysomnography: sleep staging plus 1–3 additional physiological parametersFacility, attended
95810Polysomnography: sleep staging plus 4 or more additional parametersFacility, attended
95811Polysomnography with CPAP titration: sleep staging plus 4 or more parameters, inclusive of split-night studiesFacility, attended

None of the three home-testing codes involves EEG-based sleep staging — that's what separates all three from true polysomnography, not the setting. What separates them from each other is the parameter set: 95801 is the narrowest (heart rate, oxygen saturation, respiratory analysis), 95800 adds a sleep-time component, and 95806 substitutes airflow and effort for the sleep-time measurement. Picking among the three has to match what the ordered device actually recorded, not the diagnosis being ruled out — the wrong pick is a device-versus-code mismatch, and it denies the same way an unsupported diagnosis code does, just for a different reason.

Selecting the right HCPCS G-code by AASM monitor type

Medicare's three HST codes aren't interchangeable by convenience — each is tied to a specific portable monitor classification, defined by channel count and content, not the device's marketing name.

HCPCS G-codes for Medicare home sleep apnea testing, by AASM monitor type.
CodeMonitor typeMinimum channel requirement
G0398Type II7 channels: EEG, EOG, EMG, ECG/heart rate, airflow, respiratory effort, and oxygen saturation
G0399Type III4 channels: 2 respiratory movement/airflow, 1 ECG/heart rate, and 1 oxygen saturation
G0400Type IV3 channels — the simplest and most commonly deployed home test device

The code has to match what the device actually recorded, confirmed against its own specification sheet, not assumed from the vendor's product category. A Type III device that drops a channel mid-study — a dislodged airflow sensor, a failed oximeter probe — effectively produced a Type IV-equivalent record for that night. Coding to the device's nominal, rated type rather than what it actually captured is the kind of gap an auditor finds by pulling the raw data file, not something a denial surfaces on its own, because the claim usually pays.

Modifier 52: the 6-hour threshold, and where it actually applies

The rule most billers know: 95800, 95801, and 95806 require a minimum of 6 continuous hours of recorded data, and a study that falls short — while still producing clinically interpretable results — is billed with modifier 52 (reduced services) rather than as a complete study. The rule most billers miss: that logic isn't limited to home testing. Secondary billing-industry sources describe the same reduced-services expectation extending to the attended codes (95807, 95810, 95811) whenever an in-lab study is cut short of a full night for reasons other than a planned split-night titration — equipment failure, patient withdrawal, or a technical abort. ⚠️ This build corroborated the 6-hour threshold and its extension to the attended codes against secondary sources (Sleep Review, Codapedia, AAPC), but could not confirm the exact governing language in a specific MAC's current article, since the CMS Coverage connector returns article metadata rather than full body text for local articles. Confirm against the article for your own MAC — named by contractor and article number in our pillar guide — before applying modifier 52 to an attended-study claim.

There's a floor below which modifier 52 doesn't apply at all: data too short or corrupted to support interpretation isn't a reduced service, it's a technical failure — a repeat study on a new date of service, not the original code with a modifier appended.

Split-night studies: one code, not two

95811 already includes what 95810 covers, so a split-night study — diagnostic polysomnography for the first portion of the night, CPAP titration for the second once obstructive sleep apnea is confirmed — bills as 95811 alone for the entire encounter. Reporting 95810 for the diagnostic segment and 95811 for the titration segment of the same night is a duplicate-service pattern, not two payable phases of care, and denies as a bundling conflict rather than paying twice.

The CPT overhaul coming January 1, 2027

The AMA CPT Editorial Panel approved deletion of 95800, 95801, and 95806 effective January 1, 2027, at a February 2025 meeting, replacing them with a new family of six complexity-tiered codes — provisionally designated 95X18 through 95X23 pending final code-number assignment, developed with input from the American Academy of Sleep Medicine, the American Thoracic Society, the American College of Chest Physicians, and the American Academy of Neurology. The intent is a code family that better reflects device complexity across a broader range of sleep disorders than the current three-code home-testing set. Every date of service through December 31, 2026 still bills on the current codes.

⚠️ Two things this build could not confirm: the final numeric code assignments replacing the 95X18–95X23 placeholders, and whether CMS will issue its own crosswalk decision extending G0398–G0400's Medicare-mandatory status once the new CPT family takes effect, since HCPCS Level II is CMS-maintained independent of the AMA's CPT action. Watch for the final AMA CPT code set and a forthcoming CMS transmittal addressing the crosswalk before finalizing a 2027 charge master.

Pro tip

Don't build a payer-specific CPT-versus-HCPCS charge rule from claims history alone. A commercial payer that denied the G-codes eighteen months ago may have since crosswalked its policy to Medicare's methodology, or the reverse. Check the payer's current medical policy bulletin before you lock in a rule — and revisit every payer's rule again once the 2027 CPT transition lands, since payers update crosswalks on their own schedule, not CMS's.

Payer matrix: which code set to bill

Sleep testing code set by payer type.
PayerCode setNote
Medicare (traditional Part B)G0398 / G0399 / G0400 onlyCPT HST codes deny automatically — a code-selection rule, not a coverage dispute
Medicare AdvantagePlan-dependentMost follow Medicare's G-code requirement as a UM overlay; some layer added precertification steps — confirm per plan
Commercial payersCPT (transitioning to the new tiered family in 2027)A minority crosswalk to the G-codes instead — verify per payer
Medicaid (state programs)State-specificSome crosswalk to the G-codes, others follow CPT — check your state plan directly

Do and don't

Do
  • Confirm the monitor type against the device's actual spec sheet before selecting G0398, G0399, or G0400.
  • Append modifier 52 whenever recorded time falls under 6 hours but the study is still clinically interpretable.
  • Bill 95811 alone for a split-night study — never both 95810 and 95811 for the same encounter.
Don't
  • Don't submit 95800, 95801, or 95806 to Medicare under any circumstance — the G-code substitution is mandatory, not optional.
  • Don't bill the full HST code when recorded data is too short to interpret at all — that's a repeat study, not a reduced service.
  • Don't wait until December 2026 to map your CPT sleep codes to the incoming complexity-tiered family.

Getting HST and polysomnography claims paid correctly?

We'll check your sleep testing claims against the right code set per payer, confirm your G-code monitor-type mapping, and get your charge master ready for the 2027 CPT transition before it costs you a denial.

Book a free claims review

Frequently asked questions

Can we still bill 95800, 95801, or 95806 in 2026?

Yes — all three remain active, billable CPT codes through the end of 2026. The AMA CPT Editorial Panel approved their deletion effective January 1, 2027, replacing them with a new complexity-tiered family of six codes (temporarily designated 95X18 through 95X23 pending final code assignment). Nothing changes for claims with a 2026 date of service; the transition planning is for 2027 charge masters and payer contracts, not for anything billable today.

How do we know whether to bill G0398, G0399, or G0400?

Match the code to the actual monitor type used for that patient's study, not the device's marketing name. G0398 requires a minimum of 7 channels (Type II), G0399 requires a minimum of 4 channels including two respiratory movement/airflow channels plus one ECG/heart rate channel and one oxygen saturation channel (Type III), and G0400 covers the simplest devices, recording a minimum of 3 channels (Type IV). If a device drops a channel mid-study and effectively records fewer channels than its rated type, code to what was actually recorded that night, not the device's nominal capability.

Do commercial payers ever require the HCPCS G-codes instead of CPT?

Some do. Medicare's G0398-G0400 requirement is the clearest and most consistent rule in sleep testing, but a subset of commercial payers and some state Medicaid programs crosswalk their own sleep-testing policy to Medicare's methodology and require the same G-codes rather than the CPT HST codes. There's no universal rule here — confirm each payer's current medical policy bulletin rather than assuming CPT applies just because the payer isn't Medicare.

Verify before billing. CPT is a registered trademark of the American Medical Association; codes here are paraphrased, not reproduced from the CPT Professional edition. CPT, HCPCS and ICD-10 codes, coverage policy, and bundling edits change, including annual code-set updates. This page reflects standard industry practice and is provided for general education — it is not a substitute for your own compliance review, your current payer contracts, or the current-year code sets. Confirm requirements against your specific payer mix before submitting claims.

Related resources