+ All Categories
Home > Documents > A Prototype for Executable and Portable eCQMs...

A Prototype for Executable and Portable eCQMs...

Date post: 08-Aug-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
26
A Prototype for Executable and Portable eCQMs Using the KNIME Analytics Platform Huan Mo, MD MS Jennifer Pacheco, Luke Rasmussen, Peter Speltz, Jyotishman Pathak, PhD, Joshua Denny, MD, MS William K Thompson, PhD eCQMs: electronic clinical quality measures KNIME: Konstanz Information Miner Try it: http://projectphema.org [email protected] Twitter: @henryhmo
Transcript
Page 1: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Platform

Huan Mo, MD MS Jennifer Pacheco, Luke Rasmussen, Peter Speltz, Jyotishman Pathak, PhD, Joshua Denny, MD, MS

William K Thompson, PhD

eCQMs: electronic clinical quality measures

KNIME: Konstanz Information Miner

Try it: http://projectphema.org

[email protected]

Twitter: @henryhmo

Page 2: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Disclosure

I disclose that neither I nor my partners have relevant financial relationships with commercial interests.

Page 3: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Introduction: A story of CMS30

• My (hypothetical) “in-law” had a heart attack (AMI) last month, and gratefully the friendly and smart doctors in our neighborhood hospital saved her life!

(One more thing)

• Did our doctors remember to prescribe her a statin medication at discharge to let my “in-law” live longer?

AMI: acute myocardial infarction

Page 4: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

our healthcare system has a plan to answer…

But:

• Where is my doctor and hospital?

• Where am I?

• Where are my medical records?

Fine print: Your EHR needs to

be standardized and certified!

EHR: Electronic health records

Page 5: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

But… I want to know it NOW!

Page 6: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Goals

• Create a transportable and executable artifact of CMS30 (titled: Statin Prescribed at Discharge)

• Measure patient populations in

– Vanderbilt University Medical Center

– Northwestern University Memorial HealthCare

• Help you to measure your own patient population.

Page 7: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Phenotype Modeling and Execution Architecture

Local, Local, Local!

QDM: Quality data model

VSAC: Value Set Authority Center

FHIR: Fast Healthcare Interoperability Resources

Page 8: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Background: CMS30

Acute myocardial infarction (AMI) patients who are prescribed a statin at hospital discharge. (Measure of the Proportion)

• Initial Patient Population/denominator: All hospital discharges (adults) for AMI.

• Denominator Exclusions: e.g., patient who expired, clinical trials

• Denominator Exceptions: e.g., Recent normal Low-density lipoprotein (LDL)

• Numerator: Statin prescribed!

Page 9: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Quality Data Model (QDM)

Page 10: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

KNIME KNIME: Konstanz Information Miner

Page 11: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Phenotyping with KNIME (Colon Polyps, from PheKB.org)

Test file, can be replaced by a JDBC reader

Imported text processing classes from a NLP jar package

JDBC: Java database connectivity technology

NLP: Natural language processing

Page 12: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Methods Tasks of implementing of QDM

• Data Elements:

– "Diagnosis, Active: Hospital Measures - AMI" using "Hospital Measures - AMI Grouping Value Set (2.16.840.1.113883.3.666.5.3011)"

• Temporal Operators:

– Normal LDL-c test <= 24 hour(s) starts after start of Encounter Performed: Encounter Inpatient

• Logical Operators: AND, OR, (AND) NOT

QDM: Quality Data Model

AMI: Acute myocardial infarction

LDL: Low-density lipoprotein

Page 13: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

To Implement Data Elements

• Data type (e.g., diagnosis active)

– Implies a table in your EHR data warehouse

– Attributes: implies columns in the table

• Value Set:

– WHERE CODE in ($${Scodes}$$) • $${Scodes}$$ = “'410.51', '410.60', '410.61', '410.70', ...”

– WHERE REGEXP_LIKE(DRUG_NAME, '$${Smed_regexp}$$', 'i') • $${Smed_regexp}$$=“advicor|altoprev|altoprev.{1,10}mevacor|amlo

dipine.{1,10}atorvastatin|aspirin.{1,10}pravastatin...”

• Output: relational table/spreadsheet

RegExp: Regular Expression

Page 14: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Retrieving and Transforming Value Sets

• VSAC RESTful API: – Value Set Authority Center

– OID -> codes (e.g., ICD9, RxNORM)

• RxNav (RxNORM API) Example: – “Amlodipine 5 MG / atorvastatin 40 MG Oral Tablet” (RxCUI:

597984 )

– Ingredients: amlodipine (RxCUI: 750199), atorvastatin (RxCUI: 750199)

– Regular Expression String: “amlodipine.{1,10}atorvastatin|atorvastatin.{1,10}amlodipine”

CUI: concept unique identifier

OID: Object identifier

Page 15: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Temporal Operations (in a Meta Node)

• Example: <= 30 day(s) start before start of

Left Events In

Right Events In

Left Events Out

Right Events Out

Difference

in Days

0 ~ 30 Inner join

two tables

Page 16: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Logical Operators

• AND (intersection)

– Inner join two inputs (on patients or patients + events?)

– Project to output table

• AND NOT (exclusion/subtraction)

– Left outer join, and keep only rows with null values on the right

• OR (union)

– Project both inputs to patients or patients + events

– concatenate these two tables

Page 17: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

What do you mean by AND?

• "Patient Characteristic Birthdate: birth date" >= 18 year(s) starts before start of "Occurrence A of Encounter, Performed: Encounter Inpatient"

AND

• "Diagnosis, Active: Hospital Measures - AMI (ordinality: 'Principal')" starts during "Occurrence A of Encounter, Performed: Encounter Inpatient"

Page 18: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

KNIME Workflow for CMS30

VSAC: Value Set Authority Center Try it: http://projectphema.org

Page 19: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Test Data

• Vanderbilt University: Synthetic Derivative(SD)

– De-identified EHR

– 35,842 genotyped patients

• Northwestern University:

– Northwestern Medicine Enterprise Data Warehouse (NMEDW)

– 4838 genotyped patients

• Measure Period: 2005-05-01 to 2012-04-30

Page 20: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Results: local customizations

• Laboratory (LDL-c)

– Neither Vanderbilt or Northwestern has mapped local code to LOINC

– Vanderbilt: a basic LOINC to local code mapping table (most common ~200 labs)

– Northwestern: like ‘%LDL%’

• Medication (Discharge, statin)

– Vanderbilt:

• DS (discharge summaries), PL (problem lists), inpatient order

• Regular Expression

– Northwestern:

• Source=‘Cerner’ (discharge, order, active)

• drug_class=‘Statin (HMG-CoA Reductase Inhibitors)’

• (As courtesy) regular expression of drug names

Page 21: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Result: Scores

• Vanderbilt: (By events)

– “Discharge Medication”: 300/762 = 39.4%

– Problem List: 515/840 = 61.3%

– Inpatient Order: 726/900 = 80.7%

– Combined: 788/917 = 85.9%

– Combined: (By patients) 657/766 = 85.7%

• Northwestern: (By patients)

– 85%

Try it: http://projectphema.org

Page 22: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Discussion: Problem addressed

You’ll have a really nice

engine, but no gas (right data)

Complaint #2: too much data

already

Page 23: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Last-mile solution

• Partition of eCQMs to:

– Major transportable computation for complex logic

– Minor ad-hoc adaptation to local environments and/or for each projects (last mile).

eCQM: electronic clinical quality measure

Page 24: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Next Steps

• An automatic translator for converting eCQMs to KNIME workflows. (Alpha version finished)

• To develop KNIME native nodes (instead of meta nodes) for QDM functions.

• You have a platform even better than KNIME for this solution (we are NOT selling KNIME).

• Let this solution solve your phenotyping and eCQM problems.

eCQM: electronic clinical quality measure Try it: http://projectphema.org

Page 25: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Teaser: Direct translate of

CMS30

Page 26: A Prototype for Executable and Portable eCQMs …informatics.mayo.edu/phema/images/1/1b/PhEMA_KNIME_CMS30...A Prototype for Executable and Portable eCQMs Using the KNIME Analytics

Acknowledgement

• Funding: PhEMA (R01 GM105688)

• All PhEMA Members

+ Rick Kiefer

+ Guoqian Jiang

+…

Other PhEMA presentations:

CRI-02 (Wed): Modular Architecture

CRI-30 (Fri): Semantic Framework

Try it:

http://projectphema.org

[email protected]

Twitter: @henryhmo


Recommended