Skip Navigation Bar

Unified Medical Language System® (UMLS®)

ICD-10-PCS Source Information

This page lists UMLS Metathesaurus data elements and traces them back to the specific source data that populates them.


Skip to: Atoms, Attributes, Definitions, Relationships, Mappings

VSAB: ICD10PCS_2017

Summary of Changes

There were no changes to the file formats. The reimbursement map set has been discontinued.

Source Provided Files:

Numerous documentation and data files are available at: https://www.cms.gov/Medicare/Coding/ICD10/2017-ICD-10-PCS-and-GEMs.html , including the following:

Documentation and Reference

File Description
pcs_2017.pdf Information about tables indicating meaning of codes for specific character positions; index to codes
GemsTechDoc.pdf GEMs documentation for technical users
pcs_gemguide_2017.pdf GEMs documentation and user guide
icd10pcs_tabular.xsd xml schema document describing tabular xml format
icd10pcs_definitions.xsd xml schema document describing definitions xml format
ICD10OrderFiles.pdf Documentation for the icd10pcs_order_2016.txt file

Data files
File Description
gem_i9pcs.txt ICD-9-CM to ICD-10-PCS General Equivalence Mappings (GEMs)
gem_pcsi9.txt ICD-10-PCS to ICD-9-CM GEMs
icd10pcs_order_2017.txt Long and short descriptions
icd10pcs_tables_2017.xml Tabular data


Identifiers:

Identifiers are assigned as follows:
  • CODE: 3 or 7-character code from icd10pcs_order_YYYY.txt, or assembled code from icd10pcs_tables_YYYY.xml
  • SAUI: Not applicable
  • SCUI: same as CODE
  • SDUI: Not applicable

Atoms (MRCONSO):

(return to top)
Term Type Origin
AB CODE: 7-character code from icd10pcs_order_YYYY.txt (character positions 7-13)
STR: Short description from icd10pcs_order_YYYY.txt (character positions 6-76)
SCUI: same as CODE
SUPPRESS = "Y"

Note: AB atoms are created when character position 15 = "1", indicating that the code is valid for submission on a UB04
HS CODE: 3-character code from icd10pcs_order_YYYY.txt (character positions 7-9)
STR: Short description from icd10pcs_order_YYYY.txt (character positions 6-76)
SCUI: same as CODE
SUPPRESS = "Y"

Note: HS atoms are created when character position 15 = "0", indicating that the code is a "header" -- not valid for submission on a UB04
HT CODE: 3-character code from icd10pcs_order_YYYY.txt (character positions 7-9)
STR: Short description from icd10pcs_order_YYYY.txt (character positions 6-76)
SCUI: Same as CODE

Note: HS atoms are created when character position 15 = "0", indicating that the code is a "header" -- not valid for submission on a UB04
HX CODE: assembled from values icd10pcs_tables_XXXX.xml
STR: assembled from values in icd10pcs_tables_XXXX.xml, using "@" as a subfield separator
SCUI: same as CODE

TTY = "HX" atoms are created for levels 2-6
MTH_HX CODE: assembled from values icd10pcs_tables_YYYY.xml
STR: assembled from values in icd10pcs_tables_YYYY.xml, using "@" as a subfield separator; the string "(Therapy)" or "(Procedure)" is appended as appropriate
SCUI: same as CODE

TTY = "MTH_HT" atoms are created for levels 1-2
PT CODE: 7-character code from icd10pcs_order_YYYY.txt (character positions 7-13)
STR: Long description from icd10pcs_order_YYYY.txt (character positions 78 - end)
SCUI: same as CODE
SUPPRESS = "Y"

Note: PT atoms are created when character position 15 = "1", indicating that the code is valid for submission on a UB04
PX CODE: assembled from values icd10pcs_tables_YYYY.xml
STR: assembled from values in icd10pcs_tables_YYYY.xml, using "@" as a subfield separator
SCUI: same as CODE

TTY = "PX" atoms are created for level 7
XM This data is added during Metathesaurus source processing

Attributes (MRSAT):

(return to top)


Attribute Name Origin
ADDED_MEANING Additional descriptive information about a header term extracted from <definition> tag in icd10pcs_definitions_YYYY.xml
ORDER_NO Order number from icd10pcs_order_YYYY.txt (character positions 1-5)
FROMRSAB This data is added during Metathesaurus source processing
FROMVSAB This data is added during Metathesaurus source processing
MAPSETRSAB This data is added during Metathesaurus source processing
MAPSETTYPE This data is added during Metathesaurus source processing
MAPSETVERSION This data is added during Metathesaurus source processing
MAPSETVSAB This data is added during Metathesaurus source processing
MAPSETXRTARGETID This data is added during Metathesaurus source processing
MTH_MAPFROMCOMPLEXITY This data is added during Metathesaurus source processing
MTH_MAPFROMEXHAUSTIVE This data is added during Metathesaurus source processing
MTH_MAPSETCOMPLEXITY This data is added during Metathesaurus source processing
MTH_MAPTOCOMPLEXITY This data is added during Metathesaurus source processing
MTH_MAPTOEXHAUSTIVE This data is added during Metathesaurus source processing
SOS This data is added during Metathesaurus source processing
TORSAB This data is added during Metathesaurus source processing
TOVSAB This data is added during Metathesaurus source processing

Definitions (MRDEF):

(return to top)

Additional descriptive information about a header term extracted from <definition> tag in icd10pcs_definitions_YYYY.xml is included in MRSAT.RRF with ATN = "ADDED_MEANING"


Relationships (MRREL):

(return to top)
REL RELA
Inverse RELA
ORIGIN
SY expanded_form_of
has_expanded_form
Connect AB and PT descriptions
Connect PT and PX descriptions
Connect HS and HT descriptions
Connect HT and HX descriptions

Mappings (MRMAP):

(return to top)

Two Mapsets ("XM" atoms, along with associated attributes and mappings), are included for ICD-10-PCS. These are extracted from the General Equivalence Mappings (GEMs).

Note: The original mapping files do not include decimal points for the ICD-9-CM codes. For clarity, decimals are added appropriately to the MRMAP.RRF representation, e.g. "3929' is converted to "39.29" as a TOID.


Field Value/Origin (GEMs)
MAPSUBSETID Compound value of "Scenario:Choice"
Note: Anything with the same FROMEXPR and MAPSUBSETID values should be "OR'd" together.
REL RO where approximate flag = "1"
SY where approxmiate flag = "0"
XR where target value = "NoPCS"
RELA approximately_mapped_to where approximate flag = "1"
mapped_to where approxmiate flag = "0"
null (empty) where target value = "NoPCS"