Key takeaways
CPT Code 80048 is the basic metabolic panel, a group of eight analytes billed as one unit.
The panel covers calcium, carbon dioxide, chloride, creatinine, glucose, potassium, sodium, and BUN, and all eight must be resulted to bill it.
CPT 80048 and CPT 80053 cannot routinely be billed on the same date, because NCCI edits bundle the smaller panel into the larger one.
Medicare pays 80048 under the clinical laboratory fee schedule, so rates change each January and vary by MAC locality.
Practice management software like Pabau links each lab order to its ICD-10 code, so the medical necessity record is built at the point of care.
CPT Code 80048 is the basic metabolic panel (BMP), a panel code covering eight blood analytes ordered together as one unit. It sits in the organ or disease oriented panels section of the CPT code set.
Denials on this code rarely start in the billing office. They start at the order, when the panel is requested without a diagnosis code that explains why the patient needed it. The remittance arrives weeks later, and the correction then costs staff time instead of one field at intake.
This guide covers the eight components, how to choose between 80048 and 80053, and how the code is reimbursed in 2026. It also covers modifier rules, the ICD-10 codes that support the panel, and the denials billing staff report most often.
The official CPT 80048 descriptor
CPT Code 80048 describes the basic metabolic panel, a group of eight laboratory analytes ordered as a single unit to assess metabolic function. The American Medical Association (AMA) maintains the CPT code set and places 80048 under organ or disease oriented panels. Billing the panel code rather than the eight component codes is required when all components are ordered and performed.
The official descriptor opens with “Basic metabolic panel (Calcium, total)” and then names the eight tests the panel must include. Each test carries its own component code, listed in the table below. All eight must be ordered and resulted to use 80048.
What does CPT 80048 include?
CPT 80048 includes eight analytes: calcium, carbon dioxide, chloride, creatinine, glucose, potassium, sodium, and blood urea nitrogen. Each one measures a different part of metabolic and organ function. Ordering clinicians and billing staff both need the list, because payers audit panels against the individual test codes when they suspect unbundling.
If a clinician orders only six of the eight analytes, the panel code cannot be billed. Bill the individual component codes instead. Billing staff should confirm panel completion in the lab result before 80048 goes on the claim.
When to order a basic metabolic panel
Order the panel when a documented clinical question needs an electrolyte, renal, or glucose answer. Medical necessity is the threshold payers apply to every 80048 claim. A routine annual check with no linked diagnosis code rarely clears it.
- Diabetes monitoring: glucose and creatinine values track glycemic control and early nephropathy
- Hypertension management: potassium monitoring matters for patients on diuretics or ACE inhibitors
- Chronic kidney disease (CKD) follow-up: creatinine, BUN, and electrolytes assess disease progression
- Medication monitoring: patients on lithium, digoxin, or diuretics need regular electrolyte surveillance
- Acute presentation: dehydration, nausea, vomiting, altered mental status, and chest pain workups
- Pre-operative assessment: a metabolic baseline before anesthesia is administered
- Heart failure management: sodium, potassium, and creatinine track fluid retention and diuretic response
Each indication maps to an ICD-10 code that supports the claim. The physician order has to document the clinical question being answered. “Routine labs” does not qualify as an indication for most payers.
CPT 80048 vs CPT 80053: BMP or CMP?
Choose 80048 when only metabolic and electrolyte markers are needed. Choose CPT 80053 when the patient also needs liver function testing. The comprehensive metabolic panel adds six liver tests to the same eight BMP analytes. Ordering it out of habit opens the claim to a medical necessity denial.
Selection between the two codes should follow the documented indication. Where the physician records a need to assess hepatic function alongside metabolic markers, 80053 is right. For isolated electrolyte monitoring or a renal function check, 80048 is the correct code. Upcoding to 80053 for convenience is a common audit target.
How CPT 80048 is reimbursed in 2026
Medicare pays CPT 80048 under the Clinical Laboratory Fee Schedule (CLFS), not the Physician Fee Schedule. That distinction decides where you look the rate up. Lab panel codes carry no relative value units, so a physician fee schedule lookup or an RVU tool will not list 80048 at all.
Use the annual CLFS files published by CMS to confirm the current rate for your Medicare Administrative Contractor (MAC) locality. Then compare each remittance against the rate you expected, so an underpayment surfaces in the same week rather than at year end.
Pro Tip
Medicare rates for CPT 80048 vary by MAC locality and are updated each January, when CMS publishes the annual CLFS. Never use prior-year rates as a billing baseline without confirming the current year’s file at CMS.gov. A stale rate in your system produces systematic underpayment that compounds across high-volume labs.
Private payer rates typically sit above Medicare CLFS amounts, and the number depends on your contract. A practice billing Medicare rates to a commercial payer with a higher allowable leaves revenue uncollected. Review payer contracts each year to confirm your fee schedule reflects current allowables for lab panel codes.
Billing rules for the panel code
Two sources govern how 80048 is submitted. The first is the National Correct Coding Initiative (NCCI) edits maintained by CMS. The second is the local coverage determination (LCD) each MAC issues, which sets the covered indications and frequency limits for its region.
- The panel must be complete: all eight analytes ordered and resulted before 80048 is billed
- No same-day 80053: 80048 and 80053 cannot be billed together for one patient on one date without documented clinical justification
- Physician order required: a signed physician or qualified non-physician practitioner order must exist before the test is performed
- ICD-10 linkage required: every claim line links to a diagnosis code that supports medical necessity for the tests ordered
- Place of service matters: hospital outpatient lab work uses a different place of service code than an independent laboratory, which changes the payment calculation
Submitting electronically through a clearinghouse catches bundling conflicts before the claim reaches the payer. A scrubber that knows the NCCI edit pairs will hold an 80048 line filed alongside 80053 on the same date. That is the conflict this code runs into most often.
Modifiers that apply to the panel
Modifier 91 is the one most often misapplied. CMS guidance says it cannot be used because a specimen was lost, or because a result was inconclusive after equipment error. The clinical record has to show a changed patient condition that warranted a repeat draw on the same date.
ICD-10 codes that support medical necessity
The panel is supported by the diagnosis that prompted it, most often diabetes, hypertension, chronic kidney disease, or an electrolyte disorder. Payers confirm medical necessity by reading the diagnosis code on the claim line. A claim with no linked diagnosis, or one that does not clinically justify the panel, will deny.
Those diagnosis codes are maintained in the ICD-10-CM code set. That is where a coder confirms the wording and the specificity a payer expects. The CDC ICD-10-CM tool searches the same code set by clinical criteria.
Coverage decisions are payer-specific. An ICD-10 code that supports 80048 under Medicare may not satisfy a commercial payer’s LCD. Verify current LCD requirements with the relevant MAC before assuming a diagnosis code qualifies across every payer you bill.
Documentation the payer expects
Clean 80048 claims share the same five records, and each one exists before the claim is built. Documentation for a lab panel starts with the physician order, not with the billing system.
- Physician order: signed by a physician or qualified non-physician practitioner, dated before specimen collection, naming the panel or its component tests
- Clinical indication: a documented reason for the panel, such as a chronic condition note, an acute symptom assessment, or medication monitoring
- ICD-10 code: at least one diagnosis code that clinically supports the tests ordered, linked to the panel on the claim
- Result documentation: the lab result is filed in the patient record, because a result that sits only in the lab system is an audit risk
- CLIA certification: a practice running an in-office lab keeps current CLIA certification available on request
Practices that keep clinical documentation apart from billing hand auditors the missing link themselves. When the order, the clinical note, the result, and the claim live in one system, the audit trail builds itself.
Where the five common denials start
Denial work on 80048 pays off before submission, not after it. Each of the five denials below is prevented at one point in the lab workflow. Four of those five sit upstream of the billing office.

The table below names each denial, the root cause behind it, and the control that stops it recurring.
A clean 80048 claim combines complete documentation, validated bundling rules, and correct ICD-10 linkage before it reaches the payer. Denial work after submission costs three to five times more staff time than prevention before it.
How claims management software keeps 80048 claims clean
In most practices the order, the result, and the claim live in three separate systems. The physician orders the panel in the chart, the lab returns the result to its own portal, and billing staff assemble the claim from both. Each handoff is a chance for the diagnosis code to drop out.
Practice management software like Pabau keeps all three in one record. Pabau’s claims management software connects clinical notes to billing codes at the point of care. The ICD-10-to-CPT linkage payers require is captured while the patient is still in the room, rather than reconstructed weeks later.

Four parts of that workflow do the work on lab panel claims:
- Order-to-claim automation: a lab panel order links to the clinical note holding its medical necessity documentation, so nobody retypes the diagnosis later
- NCCI bundling alerts: a conflict between 80048 and a co-ordered code is flagged before submission rather than after denial
- Fee schedule management: configurable fee schedules hold current CLFS rates for 80048, so a stale rate table stops costing you money
- Audit trail: each 80048 claim links back to the order, the clinical note, and the resulted values, which are the three documents auditors ask for
High-volume lab billing is where split systems cost the most. When the chart, the lab system, and the billing platform each hold one piece of the claim, 80048 denial rates climb. A single record removes the handoffs that cause it.
Build the 80048 documentation trail at the order
Pabau links lab orders to clinical notes and ICD-10 codes, so the record payers ask for exists before the claim is submitted. See how integrated claim workflows work for your practice.
Conclusion
CPT 80048 denials follow a pattern: no ICD-10 linkage, an incomplete panel, or a same-day bundling conflict with 80053. Each one is settled at the order, weeks before the remittance names it.
So move the check upstream. Put the diagnosis code on the order. Confirm all eight analytes resulted before the panel code is generated, then scrub the claim against the NCCI pairs. Practices that hold that line stop running a denial correction queue every week.
Book a demo to see how Pabau links each lab order to its clinical note. Your 80048 claims then carry their medical necessity record from the moment the panel is requested.
Continue your research
Working a denial queue on lab claims? Denial management in healthcare sets out how to triage, appeal, and prevent repeat denials.
Want to know how a claim reaches the payer? Medical claims clearinghouse explains how electronic claim routing works between providers and payers.
Not sure what makes a claim clean on the first pass? Clean claim breaks down the fields a payer checks before it adjudicates.
Building the paperwork behind a lab charge? Superbill shows what that document has to carry to support the codes on it.
Getting credentialed before you bill payers? Getting credentialed with insurance companies covers the enrollment steps that come first.
Frequently asked questions
What does CPT Code 80048 include?
CPT Code 80048 is the basic metabolic panel (BMP), and it includes exactly eight analytes. Those are calcium (82310), carbon dioxide or bicarbonate (82374), chloride (82435), creatinine (82565), glucose (82947), potassium (84132), sodium (84295), and blood urea nitrogen (84520). All eight must be ordered and resulted to bill the panel code.
What is the difference between CPT 80048 and CPT 80053?
CPT 80048 is the basic metabolic panel, covering eight analytes: electrolytes, renal markers, glucose, and calcium. CPT 80053 is the comprehensive metabolic panel, covering those eight plus six liver function tests. The liver tests are ALT, AST, alkaline phosphatase, bilirubin, albumin, and total protein. Choose 80048 when liver function assessment is not indicated, and 80053 when it is. Billing both on the same date for one patient triggers NCCI bundling edits.
What is the Medicare reimbursement rate for CPT 80048 in 2026?
The 2026 Medicare rate for CPT 80048 is set under the Clinical Laboratory Fee Schedule (CLFS) and varies by MAC locality. CMS publishes updated CLFS files each January. Rates differ by geography and change annually. Verify the current locality rate in the CMS CLFS files rather than a third-party figure that may reflect prior-year data.
Can CPT 80048 and 80053 be billed together?
No. CPT 80048 and CPT 80053 cannot routinely be billed on the same date for the same patient. NCCI edits bundle 80048 into 80053, because the BMP components are a subset of the CMP. Submitting both without documented clinical justification and an appropriate modifier denies the lower-value code. When a CMP is medically necessary, bill only 80053.
What ICD-10 codes are used with CPT 80048?
The codes paired most often are E11.9 (type 2 diabetes without complications), I10 (essential hypertension), and N18.3 (chronic kidney disease stage 3). Also common are I50.9 (heart failure, unspecified), E87.1 (hyponatremia), and Z79.4 (long-term insulin use). Coverage depends on the payer-specific LCD issued by each MAC. A code that satisfies Medicare medical necessity may not meet the same standard for a commercial payer.
What are the common denial reasons for CPT 80048?
Five reasons account for most of them. The first three are no linked ICD-10 diagnosis code, an NCCI bundling conflict with 80053, and a missing or unsigned physician order. The other two are an incomplete panel billed as 80048, and a frequency limit exceeded under the payer’s LCD. All five are preventable with pre-submission claim scrubbing and order-level documentation controls.