Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New data source for ICD and CPT codes from CMS #48

Closed
andrewsu opened this issue Jan 28, 2022 · 2 comments
Closed

New data source for ICD and CPT codes from CMS #48

andrewsu opened this issue Jan 28, 2022 · 2 comments
Labels
data source Data source pending to create a new API

Comments

@andrewsu
Copy link
Member

It would be useful to get relationships between medical procedures (expressed as CPT codes) and diseases (expressed as ICD-10 codes) from a more authoritative source than semmeddb, I found that we can find many of these links from the Centers for Medicare &Medicaid Services. For example, the CMS article on Cataract Extraction (https://www.cms.gov/medicare-coverage-database/view/article.aspx?articleid=56453) has sections for both ICD-10 codes and CPT codes.

To get this information in a structured format, they provide database dumps on their downloads page. Specifically, the file for Current Articles appears to be a zip file of CSV exports of some database tables. So if we search article_x_icd10_covered.csv for articles related to H25.89 ("Other age-related cataract"), we get several articles including 56453 (the article linked above):

$ gawks '$3=="\"H25.89\""' article_x_icd10_covered.csv
"56453","8","H25.89","11","1","N","2021-12-29 15:58:03","8401","Other age-related cataract","N"
"56453","8","H25.89","11","3","N","2021-12-29 15:58:04","8401","Other age-related cataract","N"
"56544","19","H25.89","7","1","N","2019-12-19 13:07:44","8233","Other age-related cataract","N"
"56544","19","H25.89","7","2","N","2019-12-19 13:07:44","8233","Other age-related cataract","Y"
"56549","12","H25.89","7","1","N","2019-09-11 17:42:02","8233","Other age-related cataract","N"
"56613","13","H25.89","11","1","N","2021-12-29 16:38:58","8401","Other age-related cataract","N"
"56615","31","H25.89","11","1","N","2021-10-29 12:40:48","8401","Other age-related cataract","N"
"56615","31","H25.89","11","2","N","2021-10-29 12:40:48","8401","Other age-related cataract","N"
"57068","8","H25.89","10","1","N","2021-04-19 17:55:50","8375","Other age-related cataract","N"
"57070","8","H25.89","10","1","N","2021-05-17 17:57:02","8375","Other age-related cataract","N"
"57195","10","H25.89","11","1","N","2021-12-15 14:54:37","8401","Other age-related cataract","N"
"57196","8","H25.89","11","1","N","2021-12-15 14:55:24","8401","Other age-related cataract","N"
"57483","10","H25.89","11","1","N","2021-09-20 19:54:07","8401","Other age-related cataract","N"
"57637","6","H25.89","9","1","N","2020-09-25 18:40:59","8375","Other age-related cataract","N"
"58590","9","H25.89","9","1","N","2021-01-08 19:53:39","8375","Other age-related cataract","N"
"58590","9","H25.89","9","2","N","2021-01-08 19:53:39","8375","Other age-related cataract","N"
"58591","5","H25.89","9","1","N","2021-01-08 19:54:27","8375","Other age-related cataract","N"
"58591","5","H25.89","9","2","N","2021-01-08 19:54:27","8375","Other age-related cataract","N"
"58592","14","H25.89","11","1","N","2021-10-29 12:41:22","8401","Other age-related cataract","N"
"58592","14","H25.89","11","2","N","2021-10-29 12:41:23","8401","Other age-related cataract","N"

If, in turn, we look for CPT codes associated the article 56453 in article_x_hcpc_code.csv, we get relevant procedures (including the positive controls listed):

$ gawks '$1=="\"56453\""' article_x_hcpc_code.csv
"56453","8","66840","83","1","N","2021-12-29 15:58:03","REMOVAL OF LENS MATERIAL; ASPIRATION TECHNIQUE, 1 OR MORE STAGES","Removal of lens material"
"56453","8","66850","83","1","N","2021-12-29 15:58:03","REMOVAL OF LENS MATERIAL; PHACOFRAGMENTATION TECHNIQUE (MECHANICAL OR ULTRASONIC) (EG, PHACOEMULSIFICATION), WITH ASPIRATION","Removal of lens material"
"56453","8","66852","83","1","N","2021-12-29 15:58:03","REMOVAL OF LENS MATERIAL; PARS PLANA APPROACH, WITH OR WITHOUT VITRECTOMY","Removal of lens material""56453","8","66920","83","1","N","2021-12-29 15:58:03","REMOVAL OF LENS MATERIAL; INTRACAPSULAR","Extraction of lens"
"56453","8","66930","83","1","N","2021-12-29 15:58:03","REMOVAL OF LENS MATERIAL; INTRACAPSULAR, FOR DISLOCATED LENS","Extraction of lens"
"56453","8","66940","83","1","N","2021-12-29 15:58:03","REMOVAL OF LENS MATERIAL; EXTRACAPSULAR (OTHER THAN 66840, 66850, 66852)","Extraction of lens"
"56453","8","66982","83","1","N","2021-12-29 15:58:03","EXTRACAPSULAR CATARACT REMOVAL WITH INSERTION OF INTRAOCULAR LENS PROSTHESIS (1-STAGE PROCEDURE), MANUAL OR MECHANICAL TECHNIQUE (EG, IRRIGATION AND ASPIRATION OR PHACOEMULSIFICATION), COMPLEX, REQUIRING DEVICES OR TECHNIQUES NOT GENERALLY USED IN ROUTINE CATARACT SURGERY (EG, IRIS EXPANSION DEVICE, SUTURE SUPPORT FOR INTRAOCULAR LENS, OR PRIMARY POSTERIOR CAPSULORRHEXIS) OR PERFORMED ON PATIENTS IN THE AMBLYOGENIC DEVELOPMENTAL STAGE; WITHOUT ENDOSCOPIC CYCLOPHOTOCOAGULATION","Xcapsl ctrc rmvl cplx wo ecp"
"56453","8","66983","83","1","N","2021-12-29 15:58:03","INTRACAPSULAR CATARACT EXTRACTION WITH INSERTION OF INTRAOCULAR LENS PROSTHESIS (1 STAGE PROCEDURE)","Cataract surg w/iol 1 stage"
"56453","8","66984","83","1","N","2021-12-29 15:58:03","EXTRACAPSULAR CATARACT REMOVAL WITH INSERTION OF INTRAOCULAR LENS PROSTHESIS (1 STAGE PROCEDURE), MANUAL OR MECHANICAL TECHNIQUE (EG, IRRIGATION AND ASPIRATION OR PHACOEMULSIFICATION); WITHOUT ENDOSCOPIC CYCLOPHOTOCOAGULATION","Xcapsl ctrc rmvl w/o ecp"

note that this information appears to be limited to articles with article_type equal to 6 (Billing and Coding), and there appear to be ~1500 of this type of article:

$ gawks '$3==6{print $1}' article_x_contractor.csv | sort -u | wc -l
1568

For Translator, it would be useful to be able to search by ICD-10 code and retrieve a list of CPT codes with the article_id as the source (and vice versa).

Text here is mostly copied from my notes on NCATSTranslator/testing#171...

@andrewsu
Copy link
Member Author

andrewsu commented Mar 1, 2022

tentatively assigned to Andrew Shen starting 2022-03-28

@andrewsu
Copy link
Member Author

Unfortunately, we will abandon this ticket because the license agreement prevents us from doing anything useful with these data.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data source Data source pending to create a new API
Projects
None yet
Development

No branches or pull requests

1 participant