NLM logo

CPT (CPT - Current Procedural Terminology) - Source Representation


This page lists specific source data elements and provides information on their representation in the UMLS Metathesaurus.


Notes

CPT data files are submitted by the American Medical Association (AMA).
The information provided here applies explicitly to the English version of CPT. The Spanish translation of CPT (CPTSP) was last updated in 2001, and much of the information on this page is not applicable.

Summary of Changes

RRVU data is now included


Source-Provided Files: Summary

The complete English language CPT distribution includes the following:

Documentation and Reference

File Name Description
2023 CPT Link ReadMe 20220909.docx User guide for main data files

Data Files

File Name Description
Property_DTK_pipe.txt In the Property File, a concept is represented by a set of lines that all have the same Concept ID. Some of the concepts in the Property File correspond to reportable CPT codes, some were constructed by the AMA for CPT Link, and some were drawn from SNOMED CT.
RelationshipGroup_DTK_pipe.txt In the Relationship File, relationships between two concepts are represented.
Type_DTK_pipe.txt The Type File provides a succinct representation of the types of information contained in the Property File and the Relationship File. The PROPERTY TYPE ID column from the Property File and RELATIONSHIP TYPE ID column from the Relationship File both correspond to the TYPE ID number from the Type File. Thus, the Type File enables a user to see at a glance all of the categories of relationship types used in CPT Link
Days.txt Edits sourced from CPT instructions such as "Report 93228 only once per 30 days"
Exclude.txt Edits sourced from CPT instructions such as "Do not report 00326 in conjunction with 99100"
ReportWith.txt Edits sourced from CPT instructions such as "Use 44139 in conjunction with 44140-44147"

Source-Provided Files: Details

Details on format of input files and representation of source data. Consult the CPT documentation for additional details.

file: Type_DTK_pipe.txt

Field Name Description
Type Id This field corresponds to the Property Type Id in the properties file or the Relationship Type Id in the relationships file
Category Value of "Property," "Relationship" or "Qualifier" indicate the nature of the Type
Type Name Type description

file: Property_DTK_pipe.txt

This file consists of 3 delimited fields:

  • Concept ID
  • Property Type ID
  • Property Value

The "Property Type ID" value determines how each row is represented in the Metathesaurus:

Property Type ID Element Name Description Representation
100 Guideline Explanatory text attached to a concept (code/heading/subheading). MRSAT.ATN = GUIDELINE
101 First_Appearance The year the code was first introduced to CPT. MRSAT.ATN = DATE_CREATED
102 Addon_Code Add-on code, i.e. it is commonly carried out in addition to the primary procedure performed. MRSAT.ATN = ADDON_CODE
103 Reportable T for CPT codes that can be used for the reporting of services. F for headings/subheadings and guidelines. MRSAT.ATN = REPORTABLE
104 CPT_Code The 5-character CPT Code MRCONSO.CODE, MRCONSO.SCUI
106 Descriptor Full description of the concept (e.g., the CPT code's long descriptor, as listed in the CPT book).

MRCONSO.STR
TTY=PT (preferred term) or HT (hierarchical term)

For TTY = PT, the CODE and SCUI are the 5-character CPT code (Property Type ID = 104)

For TTY = HT, POS, GLP, the CODE and SCUI are the CPTLINK_CONCEPT_ID
For TTY = MP, the CODE and SCUI are the Modifier Code (Property Type ID = 129)

107 Exempt_Mod Contains 51 or 63 for codes where Modifier 51 or 63 Exempt MRSAT.ATN = EXEMPT_MOD
108 FDA_Approval_Pending T for codes marked with the FDA approval pending symbol MRSAT.ATN = FDA_APPROVAL_PENDING
109 Level For headings, a value ranging from H1 (a top-level heading such as "Surgery" to H6 (a 6th-level subheading) and HS (a heading for a small family of related codes). For CPT codes, either PC for Parent Code or CC for Child Code. MRSAT.ATN = CPT_LEVEL
Note: This information is also implicit in the hierarchy representation.
110 Medium_Descriptor
Descriptor limited to 48 characters MRCONSO.STR; TTY = AB
111 Short_Descriptor Descriptor limited to 28 characters MRCONSO.STR; TTY = AB
112 SNOMED_CT_Fully_Specified_Name A unique and unambiguous concept name used to identify a SNOMED CT concept and clarify its meaning Not included in the UMLS Metathesaurus. SNOMED Codes and strings are already present.
113 SNOMED_CT_CODE_(SCTID) Non-semantic identifier from the SNOMEDCT terminology Not included in the UMLS Metathesaurus. SNOMED Codes and strings are already present.
120 Last_Revised The year the CPT code was last revised. MRSAT.ATN = DATE_LAST_MODIFIED
121 Descriptor_Extension Extension of full description of the concept (e.g., the CPT code's long descriptor, as listed in the CPT book). MRSAT.ATN = DESCRIPTOR_EXTENSION
122 Additional_Guideline Additional explanatory text that is applicable to a concept (code/heading/subheading). Note: not all of the additional guidelines appear with the heading or code in the published CPT code book. MRSAT.ATN = ADDITIONAL_GUIDELINE
123 Consumer_Friendly_Descriptor The translation of the CPT long descriptor into laymen terms. MRCONSO.STR; TTY = ETCF
126 Clinician_Descriptor The translation of the CPT long descriptor into terms precisely describing the procedure or service performed by a physician or qualified healthcare professional. MRCONSO.STR; TTY = ETCLIN
127 Measure_Developer Name of the measure developer associated with the Category II code MRSAT.ATN = MEASURE_DEVELOPER
128 Descriptor_Element The elements of a multi-paragraph descriptor, such as lab panels, and molecular pathology MRSAT.ATN = CPF(Full form of descriptor)
129 Modifier_Code The two-character modifier code MRCONSO.TTY = CODE, SCUI where MRCONSO.TTY = "MP"
130 Place_of_Service_Code Place of Service descriptor MRSAT.ATN = PLACE_OF_SERVICE_CODE
132 Citation Reference to CPT Assistant Newsletter articles; CPT Changes: An Insider's View; Clinical Examples in Radiology MRSAT.ATN = CITATION
133 Coding_Tip Coding Tip text MRSAT.ATN = CODING_TIP
134 Proprietary_Name Proprietary name for multianalyte assays with algorithmic analyses contained in Appendix O from the CPT codebook MRSAT.ATN = PROPRIETARY_NAME
138 RVU_Work RVU Work MRSAT.ATN = RVU_WORK
139 RVU_Facility_Practice_Expense RVU Facility Practice Expense MRSAT.ATN = RVU_FACILITY_PRACTICE_EXPENSE
140 RVU_Nonfacility_Practice_Expense RVU Nonfacility Practice Expense MRSAT.ATN = RVU_NONFACILITY_PRACTICE_EXPENSE
141 RVU_PLI RVU PLI MRSAT.ATN = RVU_PLI
142 RVU_Total_Facility RVU Total Facility MRSAT.ATN = RVU_TOTAL_FACILITY
143 RVU_Total_Nonfacility RVU Total Nonfacility MRSAT.ATN = RVU_TOTAL_NONFACILITY
144 RVU_Medicare_Global_Period RVU Medicare Global Period MRSAT.ATN = RVU_MEDICARE_GLOBAL_PERIOD
145 RVU_Work_Professional Professional component MRSAT.ATN = RVU_WORK_PROFESSIONAL
146 RVU_Facility_Practice_Expense_Professional Professional component MRSAT.ATN = RVU_FACILITY_PRACTICE_EXPENSE_PROFESSIONAL
147 RVU_Nonfacility_Practice_Expense_Professional Professional component MRSAT.ATN = RVU_NONFACILITY_PRACTICE_EXPENSE_PROFESSIONAL
148 RVU_PLI_Professional Professional component MRSAT.ATN = RVU_PLI_PROFESSIONAL
149 RVU_Total_Facility_Professional Professional component MRSAT.ATN = RVU_TOTAL_FACILITY_PROFESSIONAL
150 RVU_Total_Nonfacility_Professional Professional component MRSAT.ATN = RVU_TOTAL_NONFACILITY_PROFESSIONAL
151 RVU_Medicare_Global_Period_Professional Professional component MRSAT.ATN = RVU_MEDICARE_GLOBAL_PERIOD_PROFESSIONAL
152 RVU_Work_Technical Technical component MRSAT.ATN = RVU_WORK_TECHNICAL
153 RVU_Facility_Practice_Expense_Technical Technical component MRSAT.ATN = RVU_FACILITY_PRACTICE_EXPENSE_TECHNICAL
154 RVU_Nonfacility_Practice_Expense_Technical Technical component MRSAT.ATN = RVU_NONFACILITY_PRACTICE_EXPENSE_TECHNICAL
155 RVU_PLI_Technical Technical component MRSAT.ATN = RVU_PLI_TECHNICAL
156 RVU_Total_Facility_Technical Technical component MRSAT.ATN = RVU_TOTAL_FACILITY_TECHNICAL
157 RVU_Total_Nonfacility_Technical Technical component MRSAT.ATN = RVU_TOTAL_NONFACILITY_TECHNICAL
158 RVU_Medicare_Global_Period_Technical Technical component MRSAT.ATN = RVU_MEDICARE_GLOBAL_PERIOD_TECHNICAL
159 RVU_Work_Discontinued Discontinued MRSAT.ATN = RVU_WORK_DISCONTINUED
160 RVU_Facility_Practice_Expense_Discontinued Discontinued MRSAT.ATN = RVU_FACILITY_PRACTICE_EXPENSE_DISCONTINUED
161 RVU_Nonfacility_Practice_Expense_Discontinued Discontinued MRSAT.ATN = RVU_NONFACILITY_PRACTICE_EXPENSE_DISCONTINUED
162 RVU_PLI_Discontinued Discontinued MRSAT.ATN = RVU_PLI_DISCONTINUED
163 RVU_Total_Facility_Discontinued Discontinued MRSAT.ATN = RVU_TOTAL_FACILITY_DISCONTINUED
164 RVU_Total_Nonfacility_Discontinued Discontinued MRSAT.ATN = RVU_TOTAL_NONFACILITY_DISCONTINUED
165 RVU_Medicare_Global_Period_Discontinued Discontinued MRSAT.ATN = RVU_MEDICARE_GLOBAL_PERIOD
166 Global_Period_Code Code for global period in RVU Medicare Global Period property MRSAT.ATN = GLP
167 Telemedicine T for codes marked with the telemedicine symbol. MRSAT.ATN = TELEMEDICINE
168 NUCC Provider Code The NUCC Healthcare Provider Taxonomy code for provider type concepts. MRSAT.ATN = SPECIALTY; format is <Provider code>/<Provider Descriptor>/<Utilization qualifier>
The utilization qualifier applies to the specialty relationship and contains the percent utilization of the source code by the target specialty.

file: RelationshipGroup_DTK_pipe.txt

This file consists of 5 delimited fields:

  • Concept ID1
  • Relationship Type ID
  • Concept ID2
  • Relationship Qualifier Type ID
  • Relationship Qualifier Value
  • Role Group
  • Or Group

The "Relationship Type ID" value determines how the relationship between Concept ID1 and Concept ID2 is represented in the Metathesaurus. Additional RELAs are created where "Relationship Qualifier Value" is non-null (values are "EXCLUDED" or "POSSIBLY INCLUDED"

Relationship Type ID Description Representation
1 Is_A Used to create hierarchy. Distributed in MRHIER.RRF, MRREL.RRF
200 Anatomic_Site MRREL.RRF
REL = RO
RELA = procedure_site_of/has_procedure_site
procedure_site_of_excluded/has_excluded_procedure_site
procedure_site_of_possibly_included/has_possibly_included_procedure_site
201 Component MRREL.RRF
REL = RO
RELA = component_of/has_component
component_of_excluded/has_excluded_component
component_of_possibly_included/has_possibly_included_component
202 Device MRREL.RRF
REL = RO
RELA = procedure_device_of/has_procedure_device
procedure_device_of_excluded/has_excluded_procedure_device
procedure_device_of_possibly_included
has_possibly_included_procedure_device
203 Associated_Procedure MRREL.RRF
REL = RO
RELA = has_associated_procedure/associated_procedure_of
has_excluded_associated_procedure/associated_procedure_of_excluded
has_possibly_included_associated_procedure/associated_procedure_of_possibly_included
204 Method MRREL.RRF
REL = RO
RELA = method_of/has_method
method_of_excluded/has_excluded_method
method_of_possibly_included/has_possibly_included_method
205 Specimen MRREL.RRF
REL = RO
RELA = specimen_of/has_specimen
specimen_of_excluded/has_excluded_specimen
206 Substance MRREL.RRF
REL = RO
RELA = substance_used_by/uses_substance
substance_used_by_excluded/uses_excluded_substance
substance_used_by_possibly_included/uses_possibly_included_substance
207 Has_Panel_Element MRREL.RRF
REL = RO
RELA = has_panel_element/panel_element_of, panel_element_of_possibly_included/has_possibly_included_panel_element
208 Surgical_Extent MRREL.RRF
REL = RO
RELA = surgical_extent_of/has_surgical_extent
surgical_extent_of_excluded/has_excluded_surgical_extent
surgical_extent_of_possibly_included/has_possibly_included_surgical_extent
210 Patient_Type MRREL.RRF
REL = RO
RELA = patient_type_of/has_patient_type
patient_type_of_excluded/has_excluded_patient_type
patient_type_of_possibly_included/has_possibly_included_patient_type
211 Pathology MRREL.RRF
REL = RO
RELA = pathology_of/has_pathology
pathology_of_excluded/has_excluded_pathology
pathology_of_possibly_included/has_possibly_included_pathology
212 Complexity MRREL.RRF
REL = RO
RELA = complexity_of/has_complexity
complexity_of_excluded/has_excluded_complexity
213 Approach MRREL.RRF
REL = RO
RELA = approach_of/has_approach
approach_of_excluded/has_excluded_approach
approach_of_possibly_included/has_possibly_included_approach
214 Locale MRREL.RRF
REL = RO
RELA = locale_of/has_locale
locale_of_excluded/has_excluded_locale
215 Associated_Finding MRREL.RRF
REL = RO
RELA = associated_finding_of/has_associated_finding
associated_finding_of_excluded/has_excluded_associated_finding
associated_finding_of_possibly_included/has_possibly_included_associated_finding
216 Route_of_Administration MRREL.RRF
REL = RO
RELA = route_of_administration_of/has_route_of_administration
route_of_administration_of_excluded/has_excluded_route_of_administration
route_of_administration_of_possibly_included/has_possibly_included_route_of_administration
402 Specialty MRREL.RRF
REL = RO
RELA = has_specialty/specialty_of
Relationships are created to valid Metathesaurus NUCCPT SOURCE_CUIs. The "relationship qualifier" value is repesented within the "SPECIALTY" attribute.

Relationship Qualifier ID/Value: used to assign the RELA. Values are "EXCLUDED" and "POSSIBLY INCLUDED."

Role Group: MRREL.RG. Used to indicate that a set of relationships should be looked at in conjunction.

Or Group: MRSAT.ATN = OR_GROUP. Indicates that relationships with the same CUI2 and RG are disjunctive expressions (SGTYPE = RUI)

file: Days.txt

Field Name Description Representation
Code 1 CPT Code 1 SCUI for MRSAT.ATN = DAYS_RESTRICTION; Also represented in the ATV if Code 1 is different from Code 2
Descriptor 1 CPT Descriptor 1 N/A
Code 2 CPT Code 2 SCUI for MRSAT.ATN = DAYS_RESTRICTION if Code 1 is different from Code 2; Also represented in the ATV if Code 1 equals Code 2
Descriptor 2 CPT Descriptor 2 N/A
Days Integer specifying time period in days.If Code 1 = Code 2, the code can be reported only once per <Days>. Some instructions restrict the use of two codes within a certain number of days. MRSAT.ATN = "DAYS_RESTRICTION"
Format of the ATV is: <Code 2> @ <Days>
When Code 1 is different from Code 2, the attribute is also "flipped," i.e. the SCUI of Code 2 has a "DAYS_RESTRCTION" attribute with ATV = <Code 1> @ <Days>

file: Exclude.txt

Listing of edits that are sourced from CPT instructions, such as "Do not report 00326 in conjunction with 99100". Relationships are symmetrical (there is no meaning to the order of codes in the code pair).

Field Name Description Representation
Code 1 CPT Code 1 A relationship is created between Code 1 and Code 2
MRREL.REL = RO, MRREL.RELA = "do_not_code_with"
Descriptor 1 CPT Descriptor 1 N/A
Code 2 CPT Code 2 A relationship is created between Code 1 and Code 2
MRREL.REL = RO, MRREL.RELA = "do_not_code_with"
Descriptor 2 CPT Descriptor 2 N/A

file: ReportWith.txt

Edits that are sourced from CPT instructions such as "Use 44139 in conjunction with 44140-44147". These code edit pairs are not symmetric.

Field Name Description Representation
Code 1 CPT code for the add-on code A relationship is created between Code 1 and Code 2
MRREL.REL = RO, MRREL.RELA = "add_on_code_for/has_add_on_code"
Descriptor 1 CPT Descriptor 1 N/A
Code 2 CPT Code for the primary procedure A relationship is created between Code 1 and Code 2
MRREL.REL = RO, MRREL.RELA = "add_on_code_for/has_add_on_code"
Descriptor 2 CPT Descriptor 2 N/A