Are G codes just for Medicare?
G-codes are primarily created by the Centers for Medicare & Medicaid Services (CMS) for Medicare billing, but they are part of the national HCPCS Level II code set and can theoretically be recognized by other insurers.
Why G-Codes Are Medicare-Focused
- Created by CMS: The CMS Overview of Coding Systems notes that G-codes are established specifically to support federal policy, tracking, and claims processing needs when a standard CPT code does not exist.
- Commercial Payer Denials: Submitting G-codes to commercial insurance or Medicaid plans without prior authorization or specific contract rules usually results in an immediate claim denial.
- Specialized Tracking: They are heavily used for Medicare-specific programs like Annual Wellness Visits, temporary telehealth rules, and quality reporting.
Are G codes still required for Medicare?
G-codes are no longer required for outpatient therapy functional limitation reporting, but they are still required for many other Medicare services.
Outpatient Therapy G-Codes
- The Rule: Medicare stopped requiring functional limitation G-codes and severity modifiers for physical, occupational, and speech therapy effective January 1, 2019.
- Current Status: You do not report functional tracking G-codes (or CH-CN modifiers) at evaluation or discharge for Medicare Part B therapy anymore.
- What's Still Needed: Standard therapy modifiers like GP, GO, and GN are still mandatory on claims.
Where G-Codes Are Still Required
- Preventive & Wellness Services: Medicare uses specific G-codes for annual wellness visits, screenings, and preventive services that lack standard CPT codes.
- Telehealth & Special Programs: CMS regularly introduces temporary or permanent G-codes for virtual care, new care management models (such as Advanced Primary Care Management), and specific procedures.
- Quality Reporting: Certain G-codes remain tied to programs like MIPS (Merit-based Incentive Payment System).
You can check the official Centers for Medicare & Medicaid Services (CMS) HCPCS Level II Coding Process for ongoing updates on active codes.
What are G codes used for?
G-codes are used in two completely different fields: computer numerical control (CNC) machining to program automated tools, and medical billing to report specific services to Medicare.
1. G-Codes in CNC Machining (Manufacturing)
In manufacturing, G-code is a programming language used to tell computerized machine tools (like 3D printers, lathes, and mills) how to make a physical part.
- Tool Movement: Controls how fast and in what direction the machine moves along axes (like X, Y, and Z coordinates).
- Cutting Operations: Instructs the machine on linear cuts, rapid movements, and circular arcs.
- Speed and Power: Manages spindle speed, coolant flow, and tool changes.
- Common Examples:
- G0 tells the machine to make a rapid, un-machined move to a location.
- G1 commands a controlled linear cutting move at a specific feed rate.
Learn more about basic machine commands in this Fusion 360 CNC Guide.
2. G-Codes in Medical Billing (Healthcare)
In healthcare administration, G-codes are a category of temporary HCPCS Level II codes created by the Centers for Medicare & Medicaid Services (CMS).
- Filling Coding Gaps: Used when a medical procedure or service does not have a standard CPT (Current Procedural Terminology) code.
- Telehealth and Special Services: Used by doctors to bill for specific virtual or pandemic-era care options (like code G2025).
- Screenings and Tests: Identifies specific diagnostic tests such as low-dose CT scans for lung cancer screening (G0297).
- Tracking Outcomes: Historically used for functional limitation reporting in physical or occupational therapy to measure patient progress.
Read more about these medical definitions through the CMS Overview of Coding Systems.
Are G codes covered by Medicaid?
Whether HCPCS "G codes" are covered by Medicaid depends entirely on the specific state's Medicaid program and the individual code, as coverage is not nationally standardized.
How Medicaid Handles G Codes
- State-Specific Rules: G codes are created by the Centers for Medicare & Medicaid Services (CMS) primarily for Medicare, but state Medicaid agencies decide independently whether to adopt, recognize, or reimburse them.
- Varying Usage: Some state Medicaid programs adopt certain G codes (such as those for Federally Qualified Health Centers like G0511 or G0512), while other states reject specific G codes entirely and require alternative local or CPT/HCPCS codes (like T1015) for identical services.
- Dual-Eligible Claims: For patients with both Medicare and Medicaid, specific federal or state crossover billing rules dictate whether a G code is accepted or restricted on the claim.
What You Should Do
- Check your State Medicaid Agency Website or provider manual to review local billing guidelines.
- Verify fee schedules or contact your state’s Medicaid provider helpline to confirm if a specific "G" code is payable in your jurisdiction.
What is the difference between G codes and CPT codes?
The main difference is that CPT codes are universal medical codes used by all insurance payers, while G-codes are specialized codes created by Medicare for specific services and temporary programs.
CPT Codes (Current Procedural Terminology)
- Who maintains them: The American Medical Association (AMA).
- What they look like: Five-digit numeric codes.
- Who uses them: Universal use across private insurance, Medicaid, and Medicare.
- Purpose: They describe standard medical, surgical, and diagnostic services provided to patients.
G-Codes
- Who maintains them: The Centers for Medicare & Medicaid Services (CMS).
- What they look like: Alphanumeric codes starting with the letter "G" followed by four numbers.
- Who uses them: Primarily used for Medicare and federal health programs.
- Purpose: They cover professional services or procedures that do not have a matching CPT code, or services created for temporary pilot programs, telehealth, and preventive screenings.
2015 CPT Codes Medicare and G Codes
Is G-code still relevant today?
Yes, G-code is still completely relevant and remains the core backbone of modern CNC manufacturing and 3D printing.
Why G-Code Remains Relevant
- Universal Standard: Nearly every CNC machine and FDM 3D printer natively understands G-code, making it the universal language of automated manufacturing across different brands and countries.
- Direct and Deterministic: G-code provides explicit, line-by-line instructions telling the machine exact tool paths, speeds, and coordinates without hidden abstraction layers.
- The Output of Modern Software: Even though humans rarely write massive programs by hand today, advanced CAM software and AI tools automatically generate G-code to feed directly into the machine controllers.
- Troubleshooting Utility: Machinists and engineers still rely on reading G-code directly to diagnose errors, verify intent, and tweak production runs on the shop floor.
Which codes are not reported by Medicare?
HCPCS Level II S codes are not reported or paid by Medicare.
Overview of S Codes
- Private Payer Use: S codes are temporary national codes used by commercial health plans like Blue Cross Blue Shield and state Medicaid programs.
- Non-Medicare Status: Medicare and other federal programs do not recognize or reimburse S codes because they are reserved for private payer needs.
- Other Codes: In contrast, Medicare actively uses and accepts other HCPCS Level II codes like A, G, and J codes for supplies, professional services, and drugs.
What are the three basic G-codes?
The three most basic and foundational G-codes for CNC machines are G00 (Rapid Positioning), G01 (Linear Interpolation), and G02/G03 (Circular Interpolation).
The Core Motion Codes
- G00 – Rapid Positioning: Moves the machine tool to a specific coordinate as fast as possible. The tool does not cut material during this move. Use it to reposition above the workpiece safely.
- G01 – Linear Interpolation: Moves the tool in a straight line at a set speed. This speed is called the feed rate. Use it when the machine needs to cut material in a straight line.
- G02 / G03 – Circular Interpolation: Moves the tool in an arc or circle. G02 moves the tool in a clockwise direction. G03 moves the tool in a counterclockwise direction.
You can learn more about how these commands work together in this G-code Guide.
Are G-codes billable?
Yes, some G codes are directly billable and reimbursable, while others are non-payable tracking codes used only for reporting data.
Billable vs. Non-Billable G Codes
- Billable G Codes: Many G codes (such as those for annual wellness visits like G0438/G0439, telehealth services, or specific outpatient procedures) have assigned relative value units (RVUs) and are paid directly under the Medicare Physician Fee Schedule.
- Non-Billable G Codes: Historically, some G codes were used strictly for tracking data or functional limitation reporting (such as older therapy functional G-codes). These were informational only, carried a $0.00 charge, and were discontinued or made optional by the Centers for Medicare & Medicaid Services (CMS).
Key Rules for Billing G Codes
- Payer Specific: G codes are specific to Medicare and select federal or state programs; commercial insurance plans generally reject them unless a specific contract or policy allows it.
- Check the Fee Schedule: Providers must verify whether an active G code has a positive payment amount or is bundled into another service under current CMS guidelines.
What are the most common G codes?
The most common G-codes used in CNC programming control machine movement, positioning systems, and basic operational modes.
For a complete breakdown of instructions, you can read the G-code Explained Guide or consult the List of Common G-Code Commands for additional machinist conventions.
Motion and Positioning
- G00: Rapid positioning (moves the tool as fast as possible without cutting).
- G01: Linear interpolation (moves the tool in a straight line at a set feed rate).
- G02: Clockwise circular interpolation (cuts an arc in a clockwise direction).
- G03: Counterclockwise circular interpolation (cuts an arc counterclockwise).
- G04: Dwell (pauses machine movement for a set time).
Units and Planes
- G17 / G18 / G19: Plane selection for XY (G17), XZ (G18), or YZ (G19) working planes.
- G20: Sets units to inches.
- G21: Sets units to millimeters (metric).
Coordinate Systems
- G28: Returns the tool to the reference home position.
- G40 / G41 / G42: Cutter radius compensation (cancels, or compensates to the left or right of a profile).
- G54 through G59: Work coordinate systems (selects preset zero offsets for parts).
- G90: Absolute positioning mode (coordinates measure from a fixed origin).
- G91: Incremental positioning mode (coordinates measure relative to the last point).