NCATSTranslator / testing

Materials and tools for testing Translator components
1 stars 9 forks source link

Procedure <treats> Disease Cataracts (MONDO:0005129) #171

Open sstemann opened 2 years ago

sstemann commented 2 years ago

Query: cataractTreatment.json PK: d0ffe627-7a6e-42c0-91e2-8bbdfc5f19e9 Control: Results should be something along the line of Phacoemulsification, Extracapsular surgery, extraction, etc.

image

finnagin commented 2 years ago

@MarkDWilliams I made a workflowitized version of this query which uses the overlay_connect_knodes to adds several scores to the node pair. (including fisher exact, ngd, paired concept frequency from COHD, and machine learning model treatment probabilities) It then scores the results based on those values and ranks them. Still running just through ARAX as the workflow runner is under construction.

Workflow Query: cataractTreatmentWorkflow.json Results

Looks like extraction and Phacoemulsification are the top two results.

CaseyTa commented 2 years ago

The COHD server had some temporary issue (502 error) and just needed a restart last night.

andrewsu commented 2 years ago

On the subject of where to get relationships between medical procedures and diseases 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
MarkDWilliams commented 2 years ago

Expected result

Subject Predicate Object
MESH:D018918 biolink:treats MONDO:0005129
MESH:D002387 biolink:treats MONDO:0005129
UMLS:C0185115 biolink:treats MONDO:0005129