OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Agenda for today’s workshop • Patrick: Highlight how to use key elements within OMOP common data model • Christian: Demonstrate how to use OMOP vocabulary as exploratory tool to standardize concepts used in analysis • David: Show how building blocks can be combined to implement observational study designs • OMOP community: demonstrate applications developed using the OMOP framework • OMOP community: present posters on latest research conducted across our organizations 1 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Exploring the OMOP Standard Vocabulary Christian Reich AstraZeneca LP 5 November 2013 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP 1. 2. 3. 4. OMOP Vocabulary Common Data Model All content: concepts in concept table Source codes mapped to concepts in source_to_concept_map Direct relationships between concepts listed in concept_relationship Multi‐step hierarchical relationships pre‐processed in concept_ancestor 3 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP MiniSentinel in use: dabigatran and bleeding • Conditions: – Atrial fibrillation – Upper GI bleeding • Drugs: – warfarin – dabigatran http://www.fda.gov/Drugs/DrugSafety/ucm326580.htm • Gender Patrick showed us a lot of code like this: WHERE condition_concept_id = 313217 /* Atrial fibrillation */; What is this number? 4 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP All Content in CDM is Coded as Concepts • All content in CDM tables is represented as concepts • Concepts are referred to by concept_id • All details are in the concept table: Shows all fields SELECT * FROM concept WHERE concept_id = 313217 ; 5 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP The concept Table All vocabularies stacked up in one table Vocabulary ID Vocabulary Name 6 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Example Concept For use in CDM English description Hierarchical level Kind of concept Which vocabulary: SNOMED Code in SNOMED Valid during time interval: always 7 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Disease Concepts SMQ MedDRA System organ class (Level 5) SMQ MedDRA High-level group terms (Level 4) SMQ MedDRA High-level terms (Level 3) SMQ MedDRA Preferred terms (Level 2) MedDRA Low-level terms (Level 1) Classifications Cohort Top-level classification SNOMED-CT Higher-level classifications (Level 2 and up) SNOMED-CT Low-level concepts (Level 1) Standard vocabulary SNOMED-CT Source codes Source codes ICD-10-CM Mapping Read Oxmis ICD-9-CM SNOMED Existing De Novo Derived OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Finding the Right Concept: #1 1. ..if I know the ID SELECT * FROM concept WHERE concept_id = 313217; SNOMED code 2. ..if I know the code SELECT * FROM concept WHERE concept_code = '49436004'; 9 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Concept code 49436004 in SNOMED Browser SNOMED code 10 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Concept ID versus Concept Code SELECT * FROM concept WHERE concept_code = '1001'; Same code 11 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Finding the Right Concept: #2 3. ..if I know the name SELECT * FROM concept WHERE concept_name = 'Atrial fibrillation'; 12 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Finding the Right Concept: #3 1. if don't know any of this, but I know the code in another vocabulary SELECT * FROM concept WHERE concept_code = '427.31'; ICD‐9 is not in the concept table SELECT * FROM source_to_concept_map WHERE source_code = '427.31'; Mapping to different vocabularies Primary, secondary maps 13 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Codes from Different Vocabularies all Map to Concept /* ICD-9-CM */ SELECT * FROM source_to_concept_map WHERE source_code = '427.31'; /* Read */ SELECT * FROM source_to_concept_map WHERE source_code = 'G573000'; /* ICD-10-CM */ SELECT * FROM source_to_concept_map WHERE source_code = 'I48.0'; Concept 313217 – Atrial Fibrillation Source codes ICD-9-CM 427.31 Atrial Fibrillation Read G573000 Atrial Fibrillation ICD-10-CM I48.0 Atrial Fibrillation 14 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Why not Use Codes? Reason #1: Different data use different codes • Administrative Claims – Conditions: ICD‐9‐CM • Until 2014, when ICD‐10‐CM becomes CMS billing standard – Drugs: NDC • If you only care about pharmacy dispensing If the product is administered by physician, then HCPCS, ICD9P, CPT4 • Electronic health records – Conditions: ICD‐9‐CM, SNOMED, ICD‐10‐CM, free text – Drugs: NDC, Multum, GPI, VA Product, ChargeMaster, free text 15 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Codes Used in the World EUADR CPRD THIN • Conditions – READ, OXMIS, ICD‐9‐CM, ICD‐10‐CM, ICPC, MedDRA, freetext in different languages ASPEN • Drugs – Multilex, DM+D, ATC, NPI, NDC* (*for different nations), freetext in different languages OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Reason #2: Disease Hierarchy Disease of the cardiovascular system Heart disease Cardiac arrhythmia Supraventricular arrhythmia SNOMED Concepts Fibrillation Concept Relationships Controlled atrial fibrillation Atrial arrhythmia Atrial fibrillation Persistent atrial fibrillation Chronic atrial fibrillation Paroxysmal atrial fibrillation Rapid atrial fibrillation Permanent atrial fibrillation 17 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Exploring Relationships SELECT * FROM concept_relationship WHERE concept_id_1 = 313217; Related Concepts Relationship Type 18 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Exploring Relationships #2 SELECT r.relationship_name, c.* FROM concept_relationship cr JOIN concept c ON cr.concept_id_2 = c.concept_id JOIN relationship r ON cr.relationship_id = r.relationship_id WHERE cr.concept_id_1 = 313217; Find out related concept Find out nature of relationship Child concepts Parent concepts 19 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Ancestry Relationships: Higher‐Level Relationships 5 levels of separation Disease of the cardiovascular system Ancestry Relationships Heart disease Ancestor Cardiac arrhythmia Supraventricular arrhythmia Concepts Fbrillation Concept Relationships Descendant Controlled atrial fibrillation 2 levels of separation Atrial arrhythmia Atrial fibrillation Persistent atrial fibrillation Chronic atrial fibrillation Paroxysmal atrial fibrillation Rapid atrial fibrillation Permanent atrial fibrillation 20 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Exploring Ancestors of a Concept SELECT max_levels_of_separation, ancestor.* FROM concept_ancestor a, concept ancestor WHERE a.descendant_concept_id = 313217 /* Atrial fibrillation */ AND a.ancestor_concept_id = ancestor.concept_id ORDER BY max_levels_of_separation ; Query Concept MedDRA 21 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Exploring Descendants of a Concept SELECT max_levels_of_separation, descendant.* FROM concept_ancestor a, concept descendant WHERE a.ancestor_concept_id = 316999 /* cardiac arrythmia */ AND a.descendant_concept_id = descendant.concept_id ORDER BY max_levels_of_separation ; 22 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Now, let's find "Upper Gastrointestinal Bleeding" 1. Find some initiation concept SELECT * FROM concept WHERE concept_name = 'Upper gastrointestinal bleeding'; SELECT * FROM concept WHERE lower(concept_name) LIKE '%upper gastrointestinal%'; 23 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Let's find "Upper Gastrointestinal Bleeding" ‐ #2 2. Find optimal Ancestor SELECT max_levels_of_separation, ancestor.* FROM concept_ancestor a, concept ancestor WHERE a.descendant_concept_id = 4308202 /* Acute upper gastrointestinal haemorrhage */ AND a.ancestor_concept_id = ancestor.concept_id ORDER BY max_levels_of_separation; 24 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Let's find "Upper Gastrointestinal Bleeding" ‐ #3 3. Check Descendants SELECT max_levels_of_separation, descendant.* FROM concept_ancestor a, concept descendant WHERE a.ancestor_concept_id = 4291649 /* Upper GI - gastrointestinal haemorrhage */ AND a.descendant_concept_id = descendant.concept_id ORDER BY max_levels_of_separation; Concept 4291649 and all its children comprise Upper GI Bleeding 25 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Does it Work that Way with Drugs? • Codes – NDC, GPI, Multilex, HCPCS, etc. • Concepts – Drug products (Generic and Brand) – Drug ingredients – Drug Classes • Relationships • Ancestry 26 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Drug Hierarchy Drug Classes Standard Drug Vocabulary: Drug Codes Procedure Drugs 27 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Let's find "Warfarin" 1. Find active compound Warfarin by keyword SELECT * FROM concept WHERE concept_name = 'Warfarin'; 28 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Let's find "Dabigatran" 1. Find drug product containing Dabigatran by NDC code: Boehringer Ingelheim's Pradaxa 75mg capsules: 00597014960 SELECT * FROM source_to_concept_map WHERE source_code='00597014960'; 29 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Let's find "Dabigatran" ‐ #2 2. Find ingredient Dabigatran as Ancestor of drug product SELECT a.max_levels_of_separation, ancestor.* FROM concept_ancestor a, concept ancestor WHERE a.descendant_concept_id = 40228162 /* dabigatran etexilate 75 MG Oral Capsule [Pradaxa] */ AND a.ancestor_concept_id = ancestor.concept_id ORDER BY max_levels_of_separation; Dabigatran Drug classes 30 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Check out Ingredients 3. Check Descendants (other drug products containing Warfarin and Dabigatran) SELECT max_levels_of_separation, descendant.* FROM concept_ancestor a, concept descendant WHERE a.ancestor_concept_id = 1310149 /* Warfarin or 40228152 Dabigatran */ AND a.descendant_concept_id = descendant.concept_id Ingredients ORDER BY max_levels_of_separation; Generic drugs Warfarin sold in the UK as suspension Branded drugs Dabigatran sold in the UK at 110 mg strength 31 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Find members of out Drug Classes Check Ingredient Descendants of Drug Class "Anticoagulants" SELECT max_levels_of_separation, descendant.* FROM concept_ancestor a, concept descendant WHERE a.ancestor_concept_id = 21500803 /* ETC Anticoagulants */ AND a.descendant_concept_id = descendant.concept_id AND descendant.concept_class = 'Ingredient' ORDER BY max_levels_of_separation; 32 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Using Classes for Querying the Data Patrick's slide 28: WHERE drug_concept_id IN ( SELECT descendant.concept_id FROM concept_ancestor a, concept descendant WHERE a.ancestor_concept_id = 21500803 /* ETC Anticoagulants */ AND a.descendant_concept_id = descendant.concept_id ) 33 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Summary Top-level concepts Classification A Classification B Classification C Class concepts Classification A Classification B Classification C Low-level concepts (Level 1) Standard Terminology Relationships/Ancestry between concepts Source codes Source 1 1. 2. 3. 4. Source to concept maps Source 2 Source 3 Source 4 Source 5 All content: concepts in concept table Source codes mapped to concepts in source_to_concept_map Direct relationships between concepts listed in concept_relationship Multi‐step hierarchical relationships pre‐processed in concept_ancestor Visit the new http://omop.org/Vocabularies. 34 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Lessons Learned on Standardized Vocabularies • SNOMED and MedDRA provide useful standards to harmonize data, with minimal information loss in translation from ICD‐9‐CM • Use of multiple standardized drug vocabularies can improve the quality of observational analysis 35 OBSERVATIONAL MEDICAL OUTCOMES PARTNERSHIP Example queries for many use cases http://vocabqueries.omop.org/
© Copyright 2024