HCPCS code T2049 – Stretcher van non-emergency transport mileage
T2049 is the HCPCS Level II code for non-emergency transportation; stretcher van, mileage; per mile. Each unit is one mile, billed to state Medicaid programs and their managed care plans. Medicare doesn't recognize T-codes, so it never pays T2049.
Most T2049 denials trace back to how the trip was billed. Claims fail when the miles go out without base-rate code T2005 (stretcher van), or when loaded and total miles get mixed up. A missing prior authorization stops them too, and each state sets its own rules for all three. Below, you'll find the seven-step claim build, a worked 14-mile example, and the fix for each denial.
- Level
- Level II
- Category
- T — National T codes established for state Medicaid agencies (T1000-T9999)
- Code range
- Non-emergency transportation codes (T2001-T2007, T2049)
- Billable
- No
- Code also known as
- stretcher van mileage, NEMT mileage code, non-emergency stretcher transport code, Medicaid stretcher van billing
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
HCPCS code T2049 bills stretcher van mileage on a non-emergency trip, at one unit per mile.
T-codes are built for state Medicaid programs, so Medicare does not pay T2049.
Many state Medicaid programs and MCOs require T2049 to be paired with T2005 (stretcher van, per trip). Mileage billed on its own is a common denial trigger.
Many state NEMT programs also want an origin-destination modifier pair, such as RH for residence to hospital.
Pabau, our practice management platform, submits claims to US payers through Claim.MD and tracks their status.
T2049 bills the miles, not the trip
HCPCS code T2049 bills the mileage on a non-emergency stretcher van trip, at one unit per mile. Its official descriptor reads Non-emergency transportation; stretcher van, mileage; per mile.
The code sits in the T-code range (T1000-T9999) of HCPCS Level II. The Centers for Medicare and Medicaid Services (CMS) maintains that code set. Even so, T-codes exist for state Medicaid agencies, not for Medicare.
Because T2049 is a T-code, it carries no Medicare rate. The CMS Physician Fee Schedule leaves T-codes out. Each state Medicaid program sets its own rate, and MCO contracts can differ again.
What T2049 covers, and what goes elsewhere
T2049 pays for the miles a stretcher-equipped van drives on a non-emergency trip. It’s meant for patients who must lie flat or recline during transit. The base trip and any emergency transport are billed under other codes.
Your state Medicaid policy decides whether you bill loaded miles only or total trip miles. Confirm it in the state provider manual before you count units.
Ambulatory patients who can ride seated don’t qualify for a stretcher van. Depending on the state, their rides go under codes such as A0100 for a taxi or T2003 for a per-trip encounter.
How to bill T2049 in seven steps
Each step below closes off one common denial reason. Work through them in order for every trip.
Before the trip
- Confirm transport eligibility. The patient must be a Medicaid beneficiary, and the trip must be non-emergency in a stretcher-equipped vehicle. Ambulatory patients don’t qualify for T2049.
- Obtain prior authorization. Many Medicaid programs and MCOs require prior authorization (PA) before the trip. Contact the NEMT broker or MCO directly. The PA number must appear on the claim.
Count the miles
- Record the mileage. Note odometer readings at the start and end of the trip. Then check whether your state pays loaded miles only (patient on board) or total trip miles, and use that figure.
- Set the unit count. Enter one unit per mile, rounded the way your payer specifies. A 14-mile trip is 14 units of T2049.
Build and send the claim
- Pair it with the base-rate code. Many payers require T2005 (stretcher van, per trip) on the same claim. Bill T2005 at one unit for the trip and T2049 for the miles.
- Attach modifiers. Add the origin-destination pair your state requires, such as RH for residence to hospital. The modifier table below lists the common letters.
- Submit with documentation. Keep the signed trip log, PA number, and medical necessity record on file or attached. A clean claim submission needs every required field complete on the first pass.
A worked example: One 14-mile trip
Say your van drives 6 miles empty to a patient’s home. It then carries the patient 14 miles to the hospital. In a loaded-miles state, the claim carries two lines, as shown below.

Had the patient ridden in a wheelchair van, the same trip would bill as A0130 for the base trip plus 14 units of S0209.
Before you submit: A six-point check
- The PA number is on the claim and still in date.
- T2005 sits on the same claim at one unit.
- The T2049 units match the mileage type your state pays, loaded or total.
- The origin-destination modifier pair is attached where your state requires it.
- The signed trip log shows both addresses and odometer readings.
- Medicaid eligibility was verified for the date of service.
T2049 or A0130: Pick by vehicle and patient
A frequent coding error here is using T2049 for a wheelchair van trip (A0130 base, S0209 mileage), or leaving T2005 off. Use the table below to match the code to the vehicle.
Key rule: A0130 is the wheelchair van base trip, and its mileage is S0209. That pair is for patients who use a wheelchair but can travel seated. T2005 and T2049 are for patients who must travel lying down on a stretcher.
Auditors look closely at whether the code matches the vehicle and the patient. Your trip log should show which van ran and why the patient needed it.
Modifiers: Origin and destination pairs
Origin-destination modifiers are two-letter pairs, with the origin first and the destination second. They come from ambulance billing. Some state NEMT programs require them on T2049 too, so the rules are state-specific.
Requirements differ a lot from state to state. Check your state Medicaid provider manual or MCO contract before you submit. Leaving off a required pair, such as RH for residence to hospital, is a common technical denial.
Pro Tip
Before you submit any T2049 claim, check its modifiers against your state Medicaid provider manual. Pull the current NEMT coding section and confirm which origin-destination pairs are mandatory for stretcher van trips. A missing modifier is a technical denial that holds up payment, and it is easy to prevent.
Who pays for T2049, and who approves it first
T2049 billing runs entirely through Medicaid and CHIP. Medicare doesn’t recognize T-codes and rejects any claim that carries one.
Medicare covers non-emergency ambulance transport only when it’s medically necessary, under A-codes such as A0428 (BLS, non-emergency). Within Medicaid, each MCO can set its own PA timelines and paperwork, so track authorization status plan by plan.
- Fee-for-service Medicaid: You bill the state Medicaid agency directly. Rates and PA rules are in the state provider manual.
- Medicaid managed care organizations: The patient’s MCO controls PA, rates, and broker arrangements. Its rates may differ from the state fee schedule, so contact the MCO before the trip.
- NEMT brokers: Many states route NEMT requests through a central broker. The broker issues the PA and coordinates dispatch, and you bill the broker or the MCO rather than the state.
- Prior authorization timing: Get PA before the trip. Some states allow retroactive PA for urgent trips, within a window the state manual sets. A PA requested after the trip without an urgent reason is usually denied.
- State variability: PA rules, mileage counting, and rate structures vary by state. What applies in Texas may not apply in Florida, so verify each rule at the state level.
The paperwork every T2049 claim needs
Missing documents trigger denials and draw audit attention. The list below covers the common requirements, so check your state manual for anything extra.
- Signed trip log with odometer readings, origin and destination addresses, date, and time
- Patient name and Medicaid ID number matching the payer’s enrollment records
- Medical necessity documentation or a physician order showing the patient can’t travel seated
- Prior authorization number if the payer or broker required PA
- Vehicle type confirmation showing the van was stretcher-equipped
- Driver credentials where the state mandates specific NEMT licensing or training
- Origin and destination addresses detailed enough to check the mileage on a map if audited
Complete records support medical billing compliance and protect you in a Medicaid audit. Keep trip logs for the retention period set in your provider agreement.
Why T2049 claims get denied
T2049 denials tend to repeat the same handful of errors. Here’s each one with the fix.
Each denial comes back with a claim adjustment reason code (CARC). Our guide to reading denial codes faster explains what each one means.
A steady denial management process cuts write-offs. For busy NEMT providers, tracking denials by reason code shows which error costs the most.
Pro Tip
Run a quarterly denial audit for T2049 claims. Pull the remittance advice for the prior 90 days and sort denials by CARC. If CARC 18 (duplicate claim), CARC 4 (modifier issue) or CARC 197 (authorization absent) make your top three, the problem sits in your intake process. Fix that process, not just the individual claim.
Where to find your T2049 rate
T2049 has no federal Medicare rate. Each state Medicaid program sets its own per-mile rate, and the split between base trip and mileage varies too.
State fee schedules
- Finding the rate: Search your state Medicaid agency’s website for the current NEMT fee schedule or transportation provider manual. Many states publish theirs as a PDF or a searchable table.
- Updates: State fee schedules change, often once a year. Check the effective date on the schedule you use, and review it whenever a new one is posted.
MCO and broker rates
- MCO rate differences: A Medicaid managed care plan may pay a negotiated rate that differs from the state fee schedule. Check your MCO contract or provider agreement.
- Broker contracts: Where a broker manages NEMT, it usually sets the rate paid to transport providers. That rate may be lower than the Medicaid fee schedule, so read the broker contract closely.
To look up HCPCS codes and their billing details, try the AAPC Codify HCPCS lookup or PGM Billing’s HCPCS lookup tool. Both offer free search.
Tracking T2049 payments within your revenue cycle management also shows which payers and trip types actually cover their cost.
How Pabau keeps Medicaid claims moving
Many of the denials above start with a blank field, such as a missing PA number. When claims are built by hand, the error often shows up only after the remittance comes back.
Pabau submits claims to US payers through its Claim.MD integration, with simpler claims management from one screen. A claim can’t be sent until required fields, such as the authorization number, are complete. Eligibility checks, claim status, and remittance posting sit in the same place.

Pabau doesn’t count miles or choose modifiers for you, so the seven steps above still apply. What changes is that a claim missing its PA number gets caught before it reaches the payer.
Submit and track Medicaid claims in one place
Pabau submits claims to US payers through Claim.MD and tracks their status. Required fields, such as the authorization number, are checked before a claim goes out.
Conclusion
Treat T2049 as the second line on a stretcher van claim, never the first. Before your next trip, answer three questions from your state manual. Which base-trip code does it want, loaded or total miles, and which modifier pairs?
Build those answers into trip intake, and most of the denials covered here never reach a payer. The setup is a one-time job per payer, and it costs far less than reworking claims every month.
Book a demo to see how Pabau tracks Medicaid claims from submission to payment.
Continue your research
Need to understand how denials are categorized and appealed? Denial management in healthcare covers the full denial cycle from CARC codes through corrected claim submission.
Preparing for a Medicaid billing audit? Medical billing compliance outlines the documentation and retention standards that protect providers during reviews.
Want to improve first-pass claim rates across your NEMT operation? Clean claim submission explains the validation steps that prevent technical denials before a claim leaves your system.
Frequently asked questions
Is T2049 billed per mile or per trip?
Per mile. One unit of T2049 equals one mile, and the trip itself goes on a separate base-rate line such as T2005. Your state sets the rounding rule, whether whole miles or tenths.
What does an NEMT broker do?
A broker takes trip requests for the state or MCO, issues the prior authorization, and assigns the ride to a transport provider. Where a broker is in place, you usually bill the broker, not the state. The broker contract sets your rate and claim format.
How do I bill a stretcher van no-show?
You can’t use T2049, because no miles were driven with the patient on board. Some state programs have a separate no-show or dry-run code or policy, and others pay nothing. Check your state NEMT manual or ask your MCO before billing one.
What is HCPCS code S0209?
S0209 is the per-mile code for wheelchair van mileage. It pairs with A0130, the wheelchair van base trip, the same way T2049 pairs with T2005. Whether a Medicaid program accepts S-codes depends on the state.
Can I bill T2049 for an ambulatory patient?
No. T2049 is for patients who must travel lying down on a stretcher. An ambulatory patient rides under the taxi, sedan, or wheelchair van codes your state uses.