MeridianMERIDIAN

HCPCS Level II Code

identity.medical.hcpcs

Healthcare Common Procedure Coding System Level II code for non-physician services, supplies, and equipment. Format: letter (A-V) followed by 4 digits.

Casts to
VARCHAR

Shape

Pattern
^[A-V]\d{4}$
ValueLengthShape
J12345matches
E01145matches
A42535matches
L30005matches
G00085matches
J1234rejected: one character short

Background

Origin

HCPCS was established in 1978 to provide a standardised coding system for describing the items and services provided in the delivery of health care.[1] The acronym originally stood for HCFA Common Procedure Coding System, after the Health Care Financing Administration, as CMS was known before 2001.[1] Use of the codes was initially voluntary, and became mandatory for transactions involving health care information with the implementation of the Health Insurance Portability and Accountability Act of 1996 (HIPAA).[1]

HCPCS is divided into two main subsystems, Level I and Level II.[2] CMS maintains the Level II codes, including decisions about additions, revisions and deletions.[2] CMS says the HCPCS Level II coding system began in the 1980s.[2] A third level of local codes, developed by state Medicaid agencies, Medicare contractors and private insurers, was discontinued on December 31, 2003.[1]

Use

A Level II code consists of a single alphabetical letter followed by four numeric digits.[2] The leading letter falls in the range A to V.[3] The letter names a section: A codes cover transportation, medical and surgical supplies, E codes durable medical equipment, J codes drugs administered other than by mouth, and L codes orthotic and prosthetic procedures.[3] C, G, K and Q are listed as temporary code sections.[3] S codes are listed as private payer codes, and T codes as state Medicaid agency codes.[3]

CMS publishes the official code set as an Alpha-Numeric HCPCS File in a quarterly update.[4] Validate codes against the release that matches the date of service, not just the shape, since a well-formed code can be one that was added or retired between releases. (Meridian's view) Keep the column as text: the letter prefix is part of the code, and treating it as a number or trimming it loses the section. (Meridian's view) Upper-case and trim values before matching the letter-and-four-digits shape, so that a stray space or a lower-case letter does not hide a valid code. (Meridian's view)

Where you'll meet it

CMS's Medicare Physician & Other Practitioners by Provider and Service data has an HCPCS_Cd field identifying the specific medical service furnished by the provider.[5] Its data dictionary says that field holds both Level I CPT codes and the Level II codes created by CMS.[5] The same dictionary notes that CMS Level II descriptions in the file are truncated to 256 bytes, so one description can be associated with more than one code.[5]

Detection notes

HCPCS Level II maintained by CMS. Letter prefix indicates category (A=transportation/supplies, E=DME, J=drugs, L=orthotics, etc.).

Use it

CLI · DuckDB
$ finetype infer -i "J1234" --mode column
→ identity.medical.hcpcs

SELECT ft_infer('J1234');
-- → 'identity.medical.hcpcs'
Cast expression
CAST({col} AS VARCHAR)

Schema

https://meridian.online/schemas/identity.medical.hcpcs · Frictionless type string

finetype taxonomy identity.medical.hcpcs -o json-schema

Aliases

hcpcs_code

Type Registry