i2b2/ncbo ontology tools lori phillips, ms aug meeting july 24-25, 2012
TRANSCRIPT
i2b2/NCBO Ontology Tools
Lori Phillips, MS
AUG meeting
July 24-25, 2012
Ontology migration example
A hospital has migrated from ICD-9 to ICD-10
Observation fact data is now a mix of legacy ICD-9 data and new ICD-10 data.
How can the i2b2 ontology adapt to handle this situation? ICD-10 ontology needs to be created in an i2b2 format Legacy ICD-9 terms need to be integrated into ICD-10 hierarchy
When two or more coding systems are mixed together, one will assume the master position of establishing the hierarchy, and the others are mapped into it at various levels.
Single integrated ontology can query for both ICD-9 and ICD-10 terms
Integrating ICD-9 terms into ICD-10 hierarchy
Why are hierarchies so important for i2b2?
Hierarchies form the basis of both the visualization of the terms and the query mechanism itself.
select * from metadata where c_fullname like ‘\Diagnoses\Respiratory system\Chronic obstructive
diseases\Emphysema\%’ and c_hlevel = 5
Hierarchies in queries
select patient_num from observation_fact where concept_cd IN (select concept_cd from concept_dimension where concept_path LIKE '\
Diagnoses\Respiratory system (460-519)\Chronic obstructive diseases (490-496)\(492) Emphysema\%')
NCBO BioPortal ICD-10
Building an ICD-10 Ontology with NCBO services
Pull data from NCBO via REST services. Reorganize information into i2b2 Metadata format
METADATA COLUMNDATA TYPE(ORACLE)
DATA TYPE(SQL)
C_HLEVEL INT INT
C_FULLNAME VARCHAR2(700) VARCHAR(700)
C_NAME VARCHAR2(2000) VARCHAR(2000)
C_SYNONYM_CD CHAR(1) CHAR(1)
C_VISUALATTRIBUTES CHAR(3) CHAR(3)
C_BASECODE VARCHAR2(50) VARCHAR(50)
C_METADATAXML CLOB TEXT
C_FACTTABLECOLUMN VARCHAR2(50) VARCHAR(50)
C_TABLENAME VARCHAR2(50) VARCHAR(50)
C_COLUMNNAME VARCHAR2(50) VARCHAR(50)
C_COLUMNDATATYPE VARCHAR2(50) VARCHAR(50)
C_OPERATOR VARCHAR2(10) VARCHAR(10)
C_DIMCODE VARCHAR2(700) VARCHAR(700)
C_TOOLTIP VARCHAR2(900) VARCHAR(900)
UPDATE_DATE DATE DATETIME
DOWNLOAD_DATE DATE DATETIME
IMPORT_DATE DATE DATETIME
SOURCESYSTEM_CD VARCHAR2(50) VARCHAR(50)
VALUETYPE_CD VARCHAR2(50) VARCHAR(50)
bioportal/concepts/46302/all<data> <pageNum>1</pageNum> <numPages>1832</numPages> <pageSize>50</pageSize> <numResultsPage>50</numResultsPage> <numResultsTotal>91590</numResultsTotal> <contents class="org.ncbo.stanford.bean.concept. ClassBeanResultListBean"> <classBeanResultList> <classBean> <id>0-ICD10CM</id> <fullId>http://purl.bioontology.org/
ontology/ICD10CM/0-ICD10CM</fullId> <label>ICD-10-CM TABULAR LIST of
DISEASES and INJURIES</label> <type>class</type> <relations> <entry> <string>ChildCount</string> <int>0</int> </entry> ……
NCBO Extraction workflow
NCBORESTXML
NCBORESTXML
Request to extract ontology
i2b2Metadata
ExtractionWorkflow
ICD-10
ExtractedData
Process
Extracted ICD-10 terms
What about my legacy ICD-9 data?
Ideally we would like an i2b2 ontology that integrates ICD-9 into ICD-10.
Mapping Tool
Tool to verify/(re)assign ontology mappings.
Navigating the Mapping Tool Tree
Displays terms mapped from one ontology within hierarchy of another
Mapped terms are displayed adjacent to terms they are mapped to and appear in bold
Adding a new mapping
ICD9:269.3, Mineral deficiency should appear for ICD10:E63 Other nutritional deficiencies
Copy term ICD9:269.3
Adding a new mapping
Paste onto ICD10:E63 Other nutritional deficiencies
Move or Unmap a mapping
ICD9:416.8 Other chronic pulmonary heart diseases appears in two places: the one attached to ICD10:I27.2 appears incorrect and can be unmapped.
Or it may be moved (drag and drop) up one level to ICD10:I27
The Unmapped Terms List
Free form list of terms to be mapped
Locate term you wish to map to in the hierarchy tree. Drag from table to term in the tree.
If you make a mistake you can either reassign the mapped term within the tree or unmap it from tree.
Unmap will cause it to reappear in the unmapped terms list if the term has no other mappings.
Finding the term to map to
Finding the term …
Finding the term …
Assigning an unmapped term
Drag from unmapped terms list
Drop onto term we are mapping to
Unmapping a term
Drag term from tree
Drop onto unmapped terms list
Search Unmapped Terms By Name
Search Unmapped Terms by Code
Mapped Terms Viewer
Search Mapped Terms By Code
Search Mapped Terms By Name
Merging Ontologies
Mapping tool provides a visualization of what the merged ontologies would look like
What if we could extract a single integrated metadata table from this?
Integration tool
Request to integrate
IntegrationWorkflow
ICD9 into ICD-10
ICD-10 merged with ICD9 terms
MapperCell
For each mapped ICD-9 term, compute ICD-10
hierarchy
Mapped ICD-9 terms
Integration of ICD-9 into ICD-10
i2b2 wiki: Community projects
Acknowlegements
NCBO/bioportal Nigam Shah, Stanford University Ray Fergerson, Stanford University Paul Alexander, Stanford University
i2b2 Janice Donahoe, Partners Alyssa Porter, Partners Nich Wattanasin, Partners