CPT code 31288 – Endoscopic sphenoidotomy with tissue removal
CPT code 31288 reports nasal/sinus endoscopy, surgical, with sphenoidotomy, with removal of tissue from the sphenoid sinus. The surgeon opens the sphenoid endoscopically, then removes polyps, diseased mucosa or other tissue from inside it.
That removal step decides the claim. The same opening without it is 31287, balloon dilation alone is 31297, and maxillary work has its own codes. The code carries a 0-day global period and takes modifier 50 for bilateral work. Coding it right comes down to three facts in the operative note: the sinus, the side and the tissue removed.
- Section
- 10004-69990 Surgery
- Subsection
- 30000-32999 Respiratory system
- Code range
- 31231-31298 Endoscopy procedures on the accessory sinuses
- Billable
- No
- Code also known as
- endoscopic sphenoidotomy with tissue removal, endoscopic sphenoid sinus surgery, sphenoid FESS with tissue removal
Let Pabau's smart automation suggest the right codes, reduce claim denials, and keep your practice compliant—effortlessly.
- AI-powered code suggestions
- Real-time compliance checks
- Faster claims, fewer denials
Automate repetitive tasks and focus on what matters most—your patients.
Reduce coding errors and ensure compliance with the latest regulations.
Clean claims, fewer denials, and faster reimbursements.
Powerful insights and reporting to help your practice thrive.
HIPAA compliant SOC 2 certified GDPR-compliant Trusted by 4,000+ clinics worldwide
Key takeaways
CPT code 31288 reports endoscopic sphenoidotomy with tissue removed from inside the sphenoid sinus, not maxillary sinus surgery.
Opening the sphenoid without removing tissue is 31287, and the maxillary antrostomy codes are 31256 and 31267.
The CY2026 CMS fee schedule gives 31288 a work RVU of 4.00, 5.93 total facility RVUs and a 0-day global period.
CPT bars 31288 with 31235, 31255, 31257, 31259, 31287, 31297 and 31298 when performed on the same side.
Pabau’s claims management software pre-fills the claim from the patient record and checks required fields before it sends.
CPT code 31288 covers tissue removal inside the sphenoid sinus
CPT code 31288 is the American Medical Association (AMA) code for nasal/sinus endoscopy, surgical, with sphenoidotomy, with removal of tissue from the sphenoid sinus.
It sits in the endoscopy procedures on the accessory sinuses range, 31231-31298. The surgeon enlarges the opening of the sphenoid sinus under endoscopic view, then removes tissue from inside the sinus.
The tissue removal is what separates 31288 from 31287. Typical examples are polyps, diseased mucosa, thick secretions, a fungal ball or the lining of a mucocele. A sphenoidotomy without that removal step is coded as 31287.
An otolaryngologist usually performs the procedure under general anesthesia. The sphenoid sits deep at the skull base, beside the optic nerve and the internal carotid artery. That anatomy is why operative reports describe the entry point, the opening and the tissue removed in detail.
Each sinus endoscopy code is set by the sinus and the work done
Sinus endoscopy codes run from 31231, diagnostic nasal endoscopy, to 31298, balloon dilation of the frontal and sphenoid ostia. Each surgical code is defined by the sinus treated and the work done there.
The table lists the codes most often confused with 31288.
31288 vs. 31287, 31259, 31297 and 31267: One fact decides each
Five coding decisions account for most 31288 errors. Each one turns on a single fact that the operative report must state plainly. The flow below runs those checks in order for one side of the nose.

- 31287 vs. 31288: Both codes open the sphenoid sinus. Report 31288 only when the note documents tissue removed from inside the sinus. A note that says “sphenoidotomy performed” with no tissue described supports 31287.
- 31259 vs. 31288: When a total ethmoidectomy is done on the same side, the sphenoid work is already part of 31257 or 31259. Report 31259 rather than pairing 31255 with 31288.
- 31297 vs. 31288: Balloon dilation of the sphenoid ostium is 31297. CPT does not allow 31297 or 31298 with 31288 on the same side, so that sphenoid gets one code.
- 31267 vs. 31288: Maxillary antrostomy with tissue removal is CPT code 31267. CPT code 31288 never describes maxillary work. When both sinuses are treated in one session, each sinus is coded on its own line.
- 31237 vs. 31288: Removing polyps from the nasal cavity without opening the sphenoid is CPT code 31237. Once the sphenoid is opened and tissue comes out of the sinus itself, 31288 applies.
Pro Tip
Before you assign 31288, find three facts in the operative note: the sphenoid was opened, tissue was removed from inside it, and the side treated. If tissue removal is missing, the note supports 31287 instead.
CPT code 31288 pays about $198 under the 2026 Medicare fee schedule
The CMS CY2026 physician fee schedule gives CPT code 31288 a work RVU of 4.00 and 5.93 total facility RVUs. At the $33.4009 conversion factor, the national facility payment is about $198.07. Clinicians in a qualifying alternative payment model use $33.5675, which gives about $199.06.
Figures come from the CMS RVU26D file, October 2026 update, published on the PFS relative value files page. CMS marks the non-facility rate as not applicable, so the facility rate is the one that pays. Your MAC locality adjusts the final amount, so check your own rate in the CMS Physician Fee Schedule Look-Up Tool each January.
Same-side bundling rules allow one sphenoid code per side
Once the code is right, the next question is what else can go on the same claim. CPT parenthetical notes and NCCI edits decide what you can report alongside 31288. The AAO-HNS summary of the sinus endoscopy code changes lists the same-side exclusions in full.
- Diagnostic endoscopy is included: 31231 is the base code for the sinus endoscopy family. Do not report it with 31288 in the same session.
- Same-side exclusions: Do not report 31288 with 31235, 31255, 31257, 31259, 31287, 31297 or 31298 when performed on the same side.
- Bilateral procedures: CMS gives 31288 bilateral surgery indicator 1. Report a bilateral procedure as one line with modifier 50, which Medicare pays at 150%. Some commercial payers want RT and LT lines instead.
- Multiple endoscopies: CMS applies its special endoscopy rule to 31288 (multiple procedure indicator 3). When two codes from the 31231 family are billed together, the second code pays its value minus the 31231 base value.
- Assistant at surgery: CMS assistant-at-surgery indicator 0 means an assistant is paid only when documentation supports medical necessity.
- Other sinuses and septoplasty: Work on the maxillary, ethmoid or frontal sinus is coded separately where CPT allows the pairing. The same goes for septoplasty (30520) with its own documented medical necessity. Append 59 or XS only where an NCCI edit applies and the sites are distinct.
NCCI edit tables are updated every quarter. Check the current NCCI procedure-to-procedure edits before each billing cycle rather than relying on last year’s pairings.
A worked example shows how a two-sided case gets coded
Here’s how a typical note turns into claim lines. The surgeon documents a left sphenoidotomy with polyps removed from inside the sinus. On the right, the sphenoid is opened but no tissue is removed.
- Left side: Tissue came out of the sinus, so report 31288 with modifier LT.
- Right side: The opening alone supports 31287 with modifier RT.
- Modifier 50: Leave it off here. It applies only when the same code is performed on both sides.
- Payment: Under the special endoscopy rule, the lower-valued code pays its value minus the 31231 base value.
- Diagnosis: Pair each line with the code the record supports, such as J33.8 for sphenoid polyps or J32.3 for chronic sphenoid disease.
Change one fact and the claim changes with it. If tissue had come out of the right sphenoid too, you would report one 31288 line with modifier 50. Payers that want RT and LT lines would get two 31288 lines instead.
The operative note must name the sinus, the side and the tissue
Every coding choice above depends on what the surgeon wrote down. The operative report has to show the approach, the sinus and the tissue removed.
A reviewer reads it to answer three questions: what was done, where it was done and what came out. A note that answers all three also supports medical billing compliance on audit.
- Laterality: State left, right or bilateral sphenoid. The side drives modifier 50 or RT/LT, and it decides which same-side exclusions apply.
- Sphenoidotomy: Describe how the sinus was entered, for example through the natural ostium or the sphenoid face, and how far the opening was enlarged.
- Tissue removed: Name the tissue, such as polyps, diseased mucosa, fungal debris or mucocele lining. Note any specimen sent to pathology.
- Medical necessity: Reference the CT findings in the sphenoid and the medical treatment tried before surgery. The diagnosis codes on the claim should match this narrative.
- Other sinuses: List each additional sinus with its side and the work done, so each code has its own support.
A structured operative note template keeps these items in the same place on every case. Pair it with a clean claim checklist to reduce first-pass denials across the sinus code family.
ICD-10 codes for 31288 should explain why the sphenoid needed surgery
Payers expect an ICD-10-CM code that explains why the sphenoid sinus needed surgery. Choose the most specific code the record supports.
Acute sinusitis codes such as J01.30 rarely support elective sphenoid surgery on their own. Many payer policies look for chronic disease, recurrent acute episodes, polyps or a mass. Check the payer’s own policy before you code an acute presentation.
Many plans review 31288 under a sinus surgery authorization policy
Prior authorization rules for 31288 vary by payer and by plan. Many commercial and Medicare Advantage plans review sinus surgery under a functional endoscopic sinus surgery (FESS) policy.
Anthem’s CG-SURG-24 guideline is one example that lists 31288. Run insurance eligibility verification before scheduling to confirm whether the plan needs authorization.
Most FESS policies look for the same clinical evidence:
- Chronic or recurrent disease: The AAO-HNS adult sinusitis guideline defines chronic rhinosinusitis as symptoms lasting 12 weeks or longer. It defines recurrent acute rhinosinusitis as four or more episodes a year.
- Failed medical treatment: Record the medicines tried, such as intranasal steroids or antibiotics, with dates and results. Each payer sets its own minimum trial length.
- Imaging: Attach the CT report that shows sphenoid disease, such as opacification, mucosal thickening, polyps or a mucocele.
- Matching codes: Keep the CPT and diagnosis codes on the request the same as those on the claim. A mismatch is a separate denial reason.
Six causes account for most denied 31288 claims
Most 31288 denials trace back to six causes. A denial management workflow catches each one before the claim goes out.
Remittance advice tells you which fix applies. In the list of medical billing denial codes, CARC 97 usually points to a bundling edit. CARC 4 points to a missing or inconsistent modifier.
Run this checklist before you submit a 31288 claim
A short check at the coding desk costs less than a resubmission. Confirm each item against the operative note and the authorization record.
- The note states the side, and the modifier on the claim matches it.
- The note names the tissue removed from inside the sphenoid. If it doesn’t, the line becomes 31287.
- No same-side pairing with 31235, 31255, 31257, 31259, 31287, 31297 or 31298 appears on the claim.
- The authorization number is on the claim, and its CPT and diagnosis codes match the claim lines.
- The diagnosis shows chronic sphenoid disease, polyps or a mass where the record supports it.
- The place of service is a facility, since Medicare doesn’t price 31288 in an office.
A 0-day global period leaves follow-up care billable
CPT code 31288 has a 0-day global period in the CMS fee schedule. Only the procedure and related same-day services are bundled. Visits and procedures on later days fall outside the global package.
Payers differ widely on post-FESS debridement. Confirm each payer’s rules on 31237 frequency before you schedule follow-up debridements.
How claims management software keeps CPT code 31288 claims complete
A sinus surgery claim passes through several hands. The surgeon dictates the note, a coder assigns the codes, and billing staff chase the authorization and submit. Each handoff is a chance to drop an authorization number or a modifier.
Pabau, the practice management and billing platform we build, creates the claim from the patient record. Its claims management software places the CPT code attached to the service on the charge line. ICD-10 codes come from the patient’s recorded problem list, and built-in CPT and ICD-10 lookup libraries let staff confirm a code without leaving the claim.
Pabau checks that required fields, such as the authorization code and member ID, are complete before the claim can be sent. US claims go out through Claim.MD, with eligibility checks, claim-status tracking and electronic remittance advice (ERA) posting. Your team spends less time rekeying data and more time on the coding decisions above.

Send complete sinus surgery claims first time
Pabau pre-fills each claim from the patient record and checks required fields such as authorization codes. It then submits through Claim.MD with eligibility checks and ERA posting.
Conclusion
CPT code 31288 is a sphenoid code, and most of its errors come from treating it as something else. Read the operative note for the sinus, the side and the tissue removed before you pick a code. Those three facts settle 31287 versus 31288 and rule out the maxillary codes.
The 0-day global period works in your favor after surgery, because later visits and debridement are billed on their own. Confirm each payer’s debridement policy before the first follow-up.
Book a demo to see how Pabau pre-fills each sinus surgery claim and checks its required fields before it reaches the payer.
Continue your research
Need to understand how clearinghouse claim submission works? Medical claims clearinghouse guide explains how electronic claim transmission reduces first-pass denials.
Want to triage denial codes faster? Electronic remittance advice explained covers how ERA files help billing teams sort CARC denials.
Coding ethmoid work in the same session? CPT code 31254 covers partial ethmoidectomy coding, documentation and bundling.
Looking for a full guide to superbill documentation? Superbill guide for medical practices covers the fields that support clean claims for surgical procedures.
Dilating the frontal ostium as well? CPT code 31298 covers balloon dilation of the frontal and sphenoid ostia in one session.
Frequently asked questions
What does CPT code 31288 describe?
CPT code 31288 describes surgical nasal/sinus endoscopy with sphenoidotomy and removal of tissue from the sphenoid sinus. Opening the sphenoid without removing tissue is 31287.
What is the difference between CPT 31288 and 31051?
CPT 31288 is an endoscopic procedure. CPT 31051 is an open sphenoid sinusotomy with mucosal stripping or polyp removal. Code the approach the operative note describes.
Is CPT 31288 an add-on code?
No. CPT 31288 is a standalone surgical endoscopy code, so it never needs a primary code on the claim. Diagnostic endoscopy, 31231, is already included in it.
Can CPT 31288 be performed in a physician’s office?
Medicare prices 31288 only in a facility setting, because CMS lists its non-facility RVUs as not applicable. Most cases run in a hospital outpatient department or an ambulatory surgery center.
Does CPT 31288 have a global period?
CPT 31288 has a 0-day global period, so only related same-day services are bundled. Follow-up visits and endoscopic debridement on later days can be billed separately when documented. Some commercial payers accept or ask for HCPCS S2342 for post-FESS debridement, but Medicare does not recognize S codes, so check each payer’s policy.
How do you bill a bilateral CPT 31288?
CMS gives 31288 bilateral surgery indicator 1. Report one line with modifier 50, which Medicare pays at 150% of the fee schedule amount. Some commercial payers want separate RT and LT lines, so check each payer’s rules.