Clarity Medication Mapping to NDF-RT Design and Current Status
Outline Brief Tour of RxNorm Tables Used Design Current Status (Results) Next Steps Code Walkthrough Discussion
RxNorm Concept Names and Sources (rxnconso) http://www.nlm.nih.gov/research/umls/rxnorm/docs/2012/rxnorm_doco_full_2012-3.html (starting section 12.4) “Primary” table – consists of all RxNorm Concepts Example: A medication and synonyms - there may be several rows for a single concept. Disulfiram (generic) and Antabuse (brand name) are both the same concept and have the same RxCUI. RxCUI: Concept Unique Identifier (unique per concept, may be many rows with the same CUI) RxAUI: Atom Unique Identifier (unique per entry in the table) SCUI: Source-asserted Concept Identifier The identifier as provided by the source (NDDF, NDFRT, RXNORM, etc.) TTY: Term Type (preferred term, synonym, ingredient, etc.)
RxNorm Tables: Others Simple Concept and Atom Attributes (RXNSAT) Example: Used to match NDC and find VA Class types Related Concepts (RXNREL) Example: Parent/Child relationships of VA classes, “ingredient_of”, etc. Source Information (RXNSAB) Source abbreviation/full name (NDFRT/National Drug File), version, etc. Documentation for Abbreviated Values (RXNDOC) Full name for abbreviations used in other tables
RxNav: Relationships http://rxnav.nlm.nih.gov A couple of references/examples.
VA Class Ontology http://bioportal. bioontology. org/ontologies/47101/
Map Clarity Medications to RxCUI: GCN/NDC Clarity Medication List clarity.clarity_medication GCN (Generic Code Sequence Number - First Databank Inc.) clarity.rx_med_gcnseqno rxnorm.rxnconso (code column when sab = NDDF, and tty != ‘IN’) NDC (National Drug Code) clarity.clarity_ndc_codes rxnorm.rxnsat (atv column where atn = NDC) atv = attribute value atn = attribute name sab = source abbreviation
The Leftovers: Match with MedEx NLP http://knowledgemap.mc.vanderbilt.edu/research/content/medex-tool-finding-medication-information For the medications that don’t match using GCN/NDC, use MedEx (NLP) map directly to RxCUI via the drug name in clarity “NAME” (arbitrarily preferred) “GENERIC_NAME” Issues Closed source (though, open source soon as per authors) Windows Only right now (Linux binaries won’t run with our current configuration on our servers) Not integrated into our ETL (“manual technical-debt”) Linking results with input is problematic
Map to Drug Form and VA Class Map Medications to Semantic Clinical Drug and Form (SCDF) or Semantic Branded Drug and Form (SBDF) Example Clarity Medication: “ANTABUSE 250 MG PO TAB” Example SBDF: “Disulfiram Oral Tablet” Map Medications to Veterans Administration class (VA Class) Example: “[AD100] ALCOHOL DETERRENTS”
Resulting I2B2 Hierarchy
The Leftovers: No SCDF, SBDF, or VA Class! Some medications didn’t map directly to SCDF, SBDF, or VA Class Sometimes, it was because the drug mapped to an ingredient. Example: “CEFAZOLIN INJ 1GM IVP” (medication id 210319, MedEx mapped to RxCui 2180 “CEFAZOLIN” an “ingredient”)
The Leftovers: Map via “ingredient” relationships Use “ingredient_of” and “constitutes” relationships Use “isa” relationships to get SCDF/SBDF Help! Results in 21.7 Million results from 20,354 Medications! A huge number of components, packs, and associated SCDFs/SBDFs Reduce this by mapping to the SCDF/SBDFs we already have mapped from direct links Is there a better way?
RxNav (Cefazolin)
Putting Relationships Together i2b2 Ontology Use prior mappings (Medications to SCDF/SBDF and Medications to VA Class) to then map the SCDF/SBDF to VA class. Create table with parent/child relationships Use these relationships to build i2b2 compatible ontology
Resulting I2B2 Hierarchy
Results Based on June 2012 data (Cimarron) “Round 1”: GCN + NDC Mapping 89.4% of medication observations covered (100,395,527 total facts, 10,636,780 missing facts) “Round 2”: Added MedEx NLP linking missing medications to SCDF/SBDF via "ingredient_of" relationship. 94.39% of medication observations (100,395,527 total facts, 5,630,904 missing facts)
Next Steps Peer review of the code! Manual mapping of some top concepts Problem children thus far: http://informatics.kumc.edu/work/attachment/ticket/1246/unmapped_meds_20120823.csv Review in more detail code from Dustin Key from Group Health (ghc.org) Basic approach is the same as per overview How to test/validate?
References RxNorm documentation KUMC Work Ticket UMLS Reference Manual http://www.nlm.nih.gov/research/umls/rxnorm/docs/2012/rxnorm_doco_full_2012-3.html KUMC Work Ticket http://informatics.kumc.edu/work/ticket/1246 UMLS Reference Manual http://www.ncbi.nlm.nih.gov/books/NBK9676/ RxNav http://rxnav.nlm.nih.gov/ BioOntology.org http://bioportal.bioontology.org Paper: “Enabling Hierarchical View of RxNorm with NDF-RT Drug Classes” http://www.ncbi.nlm.nih.gov/pubmed/21347044 MedEx http://knowledgemap.mc.vanderbilt.edu/research/content/medex-tool-finding-medication-information
Code Walkthrough! epic_med_mapping.sql