query health concept-to-codes (c2c) swg meeting #2
DESCRIPTION
Query Health Concept-to-Codes (C2C) SWG Meeting #2. December 13, 2011. Today’s Agenda. Proposed Timeline. TODAY. Tasks Introductions Scope Proposed Approach Identify SME and presentation timeline for next few meetings. Tasks - PowerPoint PPT PresentationTRANSCRIPT
Query Health Concept-to-Codes (C2C) SWGMeeting #2
December 13, 2011
1
Today’s Agenda
Topic Time Allotted
Welcome new SWG participantsReview of TimelinePresentation Schedule posted on Wiki
3:00 – 3:05
Questions for Consideration 3:05 - 3:10
Proposed Layout for deliverable 3:05 – 3:10
Presentation by Subject Matter Experts 3:10-3:55
Andy Gregorowicz - hQuery 3:10 - 3:25Shawn Murphy – i2B2 3:25 -3:40Dan Vreeman / Zeshan Rajput – RELMA (LOINC) 3:40 - 4:55
Discussion/ Questions 3:55 - 4:00
2
Proposed Timeline
Meeting 1 – Dec 6 Meeting 2 – Dec 13 Meeting 3 – Dec 20 Meeting 4 – Dec 27 Meeting 5 – Jan 03
Tasks •Presentation and review of Draft Deliverable with the SWG
Tasks •Presentation from 3-4 additional SMEs on Concept Mapping in their organizations (if needed)•Review of presented concept mapping frameworks to develop a proposed approach
Tasks •Presentation from 3-4 SMEs on Concept Mapping in their organizations
Tasks •Presentation from 3-4 SMEs on Concept Mapping in their organizations
Tasks•Introductions •Scope•Proposed Approach•Identify SME and presentation timeline for next few meetings
TODAY
Coordinate offline activities to summarize approaches and develop draft deliverable from presenters
3
Proposed Presentation Schedule on Wiki
Link - http://wiki.siframework.org/C2C+SME+Presentation+Schedule4
Questions for ConsiderationsFrameworks
(Ex. - i2B2, PMN, hQuery)Tools
(Ex. RxNav, RELMA, LexEVS)Standards
Overview and Current Status
•How do you define concept mapping within your system (e.g. are you mapping in between standards, or are you mapping from standards to your local data dictionary)?•Are there any internal mechanism?•Do you use any external tools?•Are you able to maintain the integrity of the original data in its native form (i.e. data as collected and not modified)?
•How does your tool function?•Are you able to maintain the integrity of the original data in its native form (i.e. data as collected and not modified)?
•How do your standards relate to concept mapping?•Are you able to maintain the integrity of the original data in its native form (i.e. data as collected and not modified)?
Integration and
Infrastructure
•How can you integrate with external tools for mapping? JavaScript library? Java? Web Services API?
•How can your tool be leveraged? Are there any external APIs or other interfaces?
•What infrastructure is necessary to implement / utilize your standard?
Alignment to Query Health
•Is your framework geared towards the Data Source? The Information Requestor? Or Both?
•Is your tool geared towards the Data Source? The Information Requestor? Or Both?
•Are the standards developed around concept mapping at the data source level? The Information Requestor level? Or Both?
Maintenance
•Who maintains your concept mapping tool?•Who maintains the mappings and how often are they released?•What is the associated cost with maintenance?
•Who maintains your concept mapping tool?•Who maintains the mappings and how often are they released?•What is the associated cost with maintenance ?
•Who maintains the development of standards?•Who maintains the mappings and how often are they released?•What is the associated cost with maintenance and periodic releases?
5
Proposed Layout of Deliverable
The deliverable will be a Word document divided into the following sections.
• Abstract – Short summary of recommended concept mapping approach• Background
– Scope and Objectives• Discovery
– SMEs / Organization Scan– Distributed query systems– Concept mapping experts on standards/frameworks– Other relevant concept mapping tools
– Development and discussion of targeted questions– Review of short presentations by SME
• Discuss Summary of gathered information on concept mapping– General summary of the organization– Summary of the tool, framework, or standard presented– Key points from the presentation
• Conclusion– Recommendation on proposed framework for Concept Mapping
• Next Steps6
Andy Gregorowicz
Distributed Query Framework - hQuery
7
Approved for Public Release© 2011 The MITRE Corporation. All Rights Reserved.
Concept MappingDecember 13th, 2011
Approved for Public Release © 2011 The MITRE Corporation. All Rights Reserved
Overview
hQuery is a distributed query system Queries are expressed in JavaScript
– JavaScript program is passed a clinical record object Based on greenCDA for C32
– The program can interact with the clinical record object to extract information
e.g. patient.medications()
– The program returns information in its own data structure
– hQuery aggregates the results
Approach originated from popHealth
9
Approved for Public Release © 2011 The MITRE Corporation. All Rights Reserved
Finding Relevant Information
Codes/code sets are placed in the JavaScript The program iterates through items in the clinical record
object matching codes/code sets
10
Approved for Public Release © 2011 The MITRE Corporation. All Rights Reserved
Full Example: NQF 43 - Pneumonia Vaccination Status for Older Adults
function map(patient) {
var outpatientEncounterCodes = { "CPT": ["99201", …], "ICD-9-CM": ["V70.0", …] }; var pneumococcalMedicationCodes = { "RxNorm": ["854931", …] }; var pneumococcalProcedureCodes = { "CVX": ["33", …], "CPT": ["90669", …] }; var start = new Date(2010, 1, 1); var end = new Date(2010, 12, 31);
11
Approved for Public Release © 2011 The MITRE Corporation. All Rights Reserved
Full Example continued
function population(patient) { return (patient.age(start)>=64); } function denominator(patient) { var encounters = patient.encounters().match( outpatientEncounterCodes, start, end); return (encounters>0); } function numerator(patient) { var medication = patient.medications().match( pneumococcalMedicationCodes, null, end); var procedure = patient.procedures().match( pneumococcalProcedureCodes, null, end); return medication || procedure; } function exclusion(patient) { return false; }
12
Approved for Public Release © 2011 The MITRE Corporation. All Rights Reserved
Full Example continued
if (population(patient)) { emit("population", 1); if (denominator(patient)) { if (numerator(patient)) { emit("denominator", 1); emit("numerator", 1); } else if (exclusion(patient)) { emit("exclusion", 1); } else { emit("denominator", 1); } } }}
13
Approved for Public Release © 2011 The MITRE Corporation. All Rights Reserved
Concept Mapping
No special facilities in hQuery popHealth used spreadsheets released with Stage 1 MU
Measures to generate concepts– Possible IPR issues with reuse
14
Shawn Murphy
Distributed Query Framework - i2B2
15
Ontology services for the i2b2 query platform
Shawn Murphy MD, Ph.D.
Introduction to i2b2 Ontology
I2b2 Data model Concept representation Value representation Modifier representation
I2b2 Metadata Defining concepts Defining values
Building queries with i2b2 metadataBuilding advanced queries with i2b2 metadataLook into National Center for Biomedical Ontology (NCBO)
Web Services from which we derive new (standard) ontologies.Run through an example of creating an i2b2 ontology mapping.
i2b2 Fact Table
In i2b2, the database is organized as a star schema and most data is in the observation_fact table, where every row is an observation on a patient.
Examples of FACTS:
Diagnoses Procedures Health History Genetic Data Lab Data Provider Data Demographics Data
An observation is not necessarily the same thing as an event
i2b2 Dimension Tables
Dimension tables contain descriptive information about facts.
In i2b2 there are four dimension tables
concept_dimension
provider_dimension
visit/event_dimension
patient_dimension
modifier_dimension
Values in i2b2 data model
Relationship of Metadata to Star Schema
Star Schema contains one fact and many dimension tables.
Concepts in these tables are defined in a separate metadata table or tables.
The structure of the metadata is integral to the visualization of concepts as well as for querying the data.
All metadata tables have the same basic structure.
Performing Queries
Typical i2b2 Metadata Categories
Diagnoses Procedures Demographics Lab Tests Encounters (visits or observations) Providers (observers) Health History (physical findings and vital signs) Transfusion Microbiology
i2b2 Hierarchies
Diseases and injuries \ Diseases of the circulatory system \ Cerebrovascular disease \ Intracerebral hemorrhage
c_fullname and c_name
c_fullname is the hierarchical path that leads to the term and is the key for the itme in the ontology
\RPDR\Diagnoses
\Musculoskeletal and connective tissue (710-739)\Arthropathies (710-719)
\(714) Rheumatoid arthritis and other arthropathies\(714-0) Rheumatoid arthritis
c_name is the actual term
Rheumatoid arthritisAtrophic arthritisRA [Rheumatoid arthritis]Chronic rheumatic arthritis
Value queries are directed by i2b2 XML metadata for each element
<ValueMetadata> <DataType/> <Flagstouse/> <Oktousevalues/> <UnitValues> <NormalUnits/> <EqualUnits/> <ConvertingUnits/>
<Units/><MultiplyingFactor/>
<ConvertingUnits/> <ExcludingUnits/> </UnitValues> <EnumValues> <Val description=”"/> </EnumValues> <MaxStringLength/> <LowofLowReference/> <HighofLowReference/> <LowofHighReference/> <HighofHighReference/></ValueMetadata>
<ValueMetadata> <Version>3.02</Version><CreationDateTime><TestID/><TestName/><DataType></DataType><Flagstouse/><Oktousevalues/><UnitValues>
<NormalUnits/><EqualUnits/><ConvertingUnits/>
<Units/><MultiplyingFactor/>
<ConvertingUnits/><ExcludingUnits/>
</UnitValues><EnumValues>
<Val description=”"/><ExcludingVal description=”"/>
</EnumValues><MaxStringLength/><CommentsDeterminingExclusion>
<Com></Com></ CommentsDeterminingExclusion ><LowofLowReference/><HighofLowReference/><LowofHighReference/><HighofHighReference/><LowofToxicReference/><HighofToxicReference/><Analysis>
<Enums/><Counts/><New/>
</Analysis></ValueMetadata>
[ Also includes ETL directives ]
Query by values
Fields used to construct queries
Select * from observation_fact where c_facttablecolumn in
(select concept_cd from c_tablename where c_columname c_operator ‘c_dimcode%’)
Select * from observation_fact where concept_cd in
(select concept_cd from concept_dimension where concept_path like ’\RPDR\Demographics\Gender\Female\%’)
Each query panel usually made up of multiple paths
select distinct(patient_num) from observation_fact where concept_cd in(Select concept_cdFrom concept_dimensionWhere concept_path LIKE 'PRC\ICD9 (Inpatient)\(40-41) Operations on hemic and lymphatic system\(p41) Operations on
bone marrow a~\(p41-0) Bone marrow or hematopoie~\%' or concept_path LIKE 'PRC\CPT\(10021-69990) Surgery\(38100-38999) Hemic and Lymphatic
Systems\(38204-38242) Bone Marrow or Stem Cell\(38242) Bone marrow or blood-deri~\%' or concept_path LIKE 'PRC\CPT\(10021-69990) Surgery\(38100-38999) Hemic and Lymphatic
Systems\(38204-38242) Bone Marrow or Stem Cell\(38240) Bone marrow or blood-deri~\%' or concept_path LIKE 'PRC\CPT\(10021-69990) Surgery\(38100-38999) Hemic and Lymphatic
Systems\(38204-38242) Bone Marrow or Stem Cell\(38241) Bone marrow or blood-deri~\%' or concept_path LIKE '(Pre) Transplants and Tracheostomy\Surgical\(481) Bone Marrow
Transplant\%' or concept_path LIKE 'zz V-codes\Conditions influencing health status (V40-V49)\(V42) Organ or
tissue replaced by~\(V42-8) Other specified organ or ~\(V42-81) Bone marrow replaced by ~\%' or concept_path LIKE 'PRC\LMR\(LPA547) bone marrow transplant\%' or concept_path LIKE 'Injury and poisoning (800-999)\Complications of medical care (996-999)\
(996) Complications peculiar to c~\(996-8) Complications of transpla~\(996-85) Complications of bone ma~\%')
Ontology terms can define more types of queries
Patient_Dimension
Ontology terms can define comples types of queries
select patient_num from [c_facttablename] where [c_facttablecolumnname] IN (select [c_facttablecolumnname] from [c_tablename] where [c_columnname] [c_operator] [c_dimcode])
select patient_num from patient_dimension where birth_date BETWEEN sysdate – (365.25*18) AND sysdate – (365.25*10)
Ontology Creation support in i2b2 Client - Small, hand created terminologies
NCBO supports large ontologies in i2b2Key activities
• Create and maintain a library of biomedical ontologies.
• Build tools and Web services to enable the use of ontologies and their derivatives.
• Collaborate with communities that develop and use ontologies.
http:
//re
st.b
ioon
tolo
gy.o
rgOntology Services
• Download• Traverse• Search• Comment
Widgets• Tree-view• Auto-complete• Graph-view
Annotation Services
Data Services
Mapping Services
• Create• Download• Upload
Views
Concept recognition
Fetch “data” annotated with a given concept
http://bioportal.bioontology.org
ONTOLOGY SERVICES
Accessing, browsing, searching and traversing ontologies in Your application
36
www.bioontology.org/wiki/index.php/NCBO_REST_services
VIEWS
Custom subsets of large ontologies
Views and Value Sets
• Users can contribute their derivatives of BioPortal ontologies, • which become first-class objects in BioPortal and can be
used as all other ontologies are (e.g., as value sets)• Recently added: a view-extractor service
• Enables users to extract a subtree of an ontology in OWL
38
Views in BioPortal
39
MAPPINGS
Using NCBO technology to integrate terminologies and ontologies
Mappings
Root
Term-1 Term-2
Term-3 Term-4
Term-5
R
t1 t2
t4
t5 t6 t7
t3
Term-2 t1
Term-5 t5
Ontology A Upload or Download mapping subsets
Ontology B
Using Mappings for query federation
Seizure
Single Seizure
PartialSeizure
ComplexSeizure
Seizure NOS
Epilepsy
TemporalEpilepsy
PartialEpilepsy
SingleSeizure
Direct Mappings
FROM (site #1) TO (site #2)
Convulsion disorder
WIDGETS
Using NCBO technology on your web pages
Ontology Widgets
UI components with “BioPortal inside”:
• term-selection widget for a specific ontology
• form fields with auto-complete from a specific BioPortal ontology
• RSS feed for an ontology• Visualization widget• Tree widget
Use-cases for users of i2b2
Example – Using BioPortal SNOMED_CT to populate i2b2 ontology
Bioportal Clinical Finding view
NCBO Extraction workflow
NCBORESTXML
Request to extract ontology
i2b2Metadata
ExtractionWorkflow
SNOMED view
ExtractedData
Process
Extracted SNOMED terms
Providing mappings using NCBO services
Mapping cell Need for mapping different site-specific ontologies in cross-institutional
settings. (SNOMED_CT ICD-9, RxNORM NDC) First look for locally mapped data Then seek mappings through NCBO services.
http://bioportal.bioontology.org/mappings/service/1101/
MapperCell
Request to map local code
ICD9 SNOMED_CT
NCBORESTXML
LocallyMapped data
Integrating two i2b2 ontologies with NCBO services
Integrate ICD-9 into SNOMED For each SNOMED term, find a mapped ICD9 term:
Request to integrate
IntegrationWorkflow
ICD9 into SNOMED_CT
SNOMED with ICD9 Data
MapperCell
Add new terms with SNOMED hierarchy, ICD9 name, basecode
NCBORESTXML
SNOMED folder with ICD9 terms
ICD10 folder with ICD9 terms
THANK YOU
Dan Vreeman / Zeshan Rajput
Concept Mapping Tool – RELMA (LOINC)
55
Introduction to RELMA
• Objectives– Overview of LOINC and RELMA - Very Brief!– Demonstrate the concept mapping functionality in RELMA
Disclaimer– Contractor to ONC to support S&I Framework (Standards
Development support team Informatics Lead)– Any opinions are my own and not those of ONC, Accenture, etc.
• For More Information• LOINC.org• The Current Lab LOINC Tutorial
Background
• LOINC - Logical Observation Identifiers Names and Codes• Use to code questions in healthcare
– Lab Questions (e.g., "What is my patient's hemoglobin?" -- 718-7)
– Clinical Questions (e.g., "How far can my patient walk in 6 minutes?" -- 64098-7)
• Answers are represented using other standards– Value + UCUM– SNOMED– etc.
RELMA Overview
• Tool distributed with LOINC– Same free use (see license)
• Provides manual and automated mapping functions– User creates file of local term/names and codes– RELMA tools help assign a LOINC term to local test/battery code
• Features– "Common Tests" subset– "Google-Like" search functions
Four Ways to Present Local Codes
• Direct entry into LMOF from within RELMA (painful)• Create an access table that mimics LMOF structure (less painful but
tedious)• Create a delimited ASCII file from your local test catalog (good)• Load directly from HL7 v2.x messages (best)
– Pulls data from OBR and OBX segments– Stores NTE segment data
Demonstration
• Run LOINC• Load LMOF• One or two manual searches• Help file• Auto mapper and conflict reconciliation
Tips for Improving Mapping Success
• Expand Abbreviations• Standardize Colloquial Terms ("ABG" for arterial blood gas)• Ignore "Administrative" Terms• Standardize Time References• RELMA has built in tools for these
Discussion
62