Top Banner
Generating Medical Logic Modules for Clinical Trial Eligibility Craig Parker Brigham Young University
36

Generating Medical Logic Modules for Clinical Trial Eligibility

Jan 02, 2016

Download

Documents

Jackson Pearson

Generating Medical Logic Modules for Clinical Trial Eligibility. Craig Parker Brigham Young University. Clinical Trials. Important for modern medical research Efficacy of therapies Safety of therapies Sponsored by Government ( www.clinicaltrials.gov ) Academic institutions - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Generating Medical Logic Modules for Clinical Trial Eligibility

Generating Medical Logic Modules for

Clinical Trial Eligibility

Craig Parker

Brigham Young University

Page 2: Generating Medical Logic Modules for Clinical Trial Eligibility

Clinical Trials

Important for modern medical research Efficacy of therapies Safety of therapies

Sponsored by Government (www.clinicaltrials.gov) Academic institutions Industry (e.g. pharmaceutical companies)

Page 3: Generating Medical Logic Modules for Clinical Trial Eligibility

Clinical Trial Enrollment

Power in numbers Traditional enrollment methods have limitations

Methods Limitations

Regular office visits Limited pool of patients

Advertising Limited medical knowledge,

Cost

Chart review Limited information,

Requires medical training

Page 4: Generating Medical Logic Modules for Clinical Trial Eligibility

What if . . .

we could automatically extract eligibility criteria from electronic medical records?

Page 5: Generating Medical Logic Modules for Clinical Trial Eligibility

Electronic Medical Records (EMRs)

Good News Large amounts of data being collected Efforts to standardize representations are well

supported Bad News

Most EMRs are far from complete Not all representations are in a standard form

Legacy data / Legacy data acquisition tools Unstandardized realms

Page 6: Generating Medical Logic Modules for Clinical Trial Eligibility

Automating the Process

Generate medical logic modules to represent eligibility criteria for clinical trials Start with criteria as first-order predicate logic Map concepts with medical vocabularies and

ontologies Create medical logic modules Handle concepts that can’t be mapped

Measure results

Page 7: Generating Medical Logic Modules for Clinical Trial Eligibility

Medical Logic Modules (MLMs)

An abstract term describing the knowledge necessary for making a medical decision

A specific type of medical program Represented using the Arden Syntax

ANSI standard Broad vendor acceptance Compiles to an executable form

Page 8: Generating Medical Logic Modules for Clinical Trial Eligibility

MLM in Arden Syntax

KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

Page 9: Generating Medical Logic Modules for Clinical Trial Eligibility

Beginning . . .

Page 10: Generating Medical Logic Modules for Clinical Trial Eligibility

Beginning and End

KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

Page 11: Generating Medical Logic Modules for Clinical Trial Eligibility

Overview

Trial KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

MLM

Page 12: Generating Medical Logic Modules for Clinical Trial Eligibility

Overview

TrialPredicates

Expression

KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

MLM

Page 13: Generating Medical Logic Modules for Clinical Trial Eligibility

Overview

TrialPredicates

Expression

KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

MLM

Inclusion: Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

Page 14: Generating Medical Logic Modules for Clinical Trial Eligibility

Overview

TrialPredicates

Expression

KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

MLM

Inclusion: Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

(P1) Gender: Female (P2) Pregnant (P3) Gestational age > 23.0 wks (P4) Gestational age < 31.6 wks (P5) Chorioamnionitis (P6) Non-reassuring fetal testing

Page 15: Generating Medical Logic Modules for Clinical Trial Eligibility

Overview

TrialPredicates

Expression

KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

MLM

Inclusion: Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

(P1) Gender: Female (P2) Pregnant (P3) Gestational age > 23.0 wks (P4) Gestational age < 31.6 wks (P5) Chorioamnionitis (P6) Non-reassuring fetal testing

P1 P2 (P3 P4) (P5 P6)

Or in conjunctive normal form:

P1 P2 P3 P4 P5 P6

Page 16: Generating Medical Logic Modules for Clinical Trial Eligibility

Overview

TrialPredicates

Expression

KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

MLM

Inclusion: Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

(P1) Gender: Female (P2) Pregnant (P3) Gestational age > 23.0 wks (P4) Gestational age < 31.6 wks (P5) Chorioamnionitis (P6) Non-reassuring fetal testing

P1 P2 (P3 P4) (P5 P6)

Or in conjunctive normal form:

P1 P2 P3 P4 P5 P6

Page 17: Generating Medical Logic Modules for Clinical Trial Eligibility

Overview

Trial

TermMapping

LogicHandling

Predicates

Expression

KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

MLM

Page 18: Generating Medical Logic Modules for Clinical Trial Eligibility

Overview

Trial

TermMapping

LogicHandling

Predicates

Expression

UMLSOther

Knowledge

Target Schema

KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

MLM

Page 19: Generating Medical Logic Modules for Clinical Trial Eligibility

Overview

Trial

AdditionalInformation

TermMapping

LogicHandling

Predicates

Expression

UMLSOther

Knowledge

Target Schema

KNOWLEDGE: TYPE: . . . DATA: gestational_age := read last {SELECT gest_age FROM Observation}; ;;

EVOKE: . . . LOGIC: IF gestational_age >= 73 days AND gestational_age <= 97 days THEN conclude true; ENDIF; ;; ACTION: . . .

MLM

Page 20: Generating Medical Logic Modules for Clinical Trial Eligibility

Steps to Create MLMs

Classify predicates Map concepts from trial to database Translate logic Generate MLM

Page 21: Generating Medical Logic Modules for Clinical Trial Eligibility

Classifying Predicates

Numeric comparisons e.g. gestational age > 23.0 wks time, lab values, physiologic measurements

Single noun phrases e.g. pregnant diagnoses, observations

Two noun phrases e.g. Gender: Female name-value pairs

Page 22: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 1 Inclusion:

Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

Page 23: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 1 Inclusion:

Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

Single noun phrase – likely to be a diagnosis or

observation

Page 24: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 1 Inclusion:

Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

pregnant:

pregnancy

pregnancy appointment type

pregnant ambulatory status

. . .

has-parent: Diagnosis

has-parent: Appointment type

has-parent: Ambulatory status

From vocabulary of target database

Page 25: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 1 Inclusion:

Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

pregnant:

pregnancy

pregnancy appointment type

pregnant ambulatory status

. . .

has-parent: Diagnosis

has-parent: Appointment type

has-parent: Ambulatory status

Page 26: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 1

pregnant:

pregnancy (83035) has-parent: diagnosis

Looking for “pregnancy” in schema of target database.

Page 27: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 1

pregnant:

pregnancy (83035) has-parent: diagnosis

PregnancyObservation : Is-Subtype-Of : DiagnosisAndFindingObservation {

value(codedTerm({pregnancy, 83035}));negation(boolean);. . .

}

Looking for “pregnancy” in schema of target database.

Page 28: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 1

pregnant:

pregnancy (83035) has-parent: diagnosis

Look for “PregnancyObservation” in vocabulary of target database.

PregnancyObservation : Is-Subtype-Of : DiagnosisAndFindingObservation {

value(codedTerm({pregnancy, 83035}));negation(boolean);. . .

}

Page 29: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 1

pregnant:

pregnancy (83035) has-parent: diagnosis

PregnancyObservation (59665) has-parent: observation

PregnancyObservation : Is-Subtype-Of : DiagnosisAndFindingObservation {

value(codedTerm({pregnancy, 83035}));negation(boolean);. . .

}

Look for “PregnancyObservation” in vocabulary of target database.

Page 30: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 1

pregnant:

pregnancy (83035) has-parent: diagnosis

PregnancyObservation (59665) has-parent: observation

PregnancyObservation : Is-Subtype-Of : DiagnosisAndFindingObservation {

value(codedTerm({pregnancy, 83035}));negation(boolean);. . .

}

SELECT * FROM Observations WHERE ObsId = 59665 AND value = 83035

Page 31: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 2 Inclusion:

Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

Page 32: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 2 Inclusion:

Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

Two noun phrases – likely to be a name-

value pair

Page 33: Generating Medical Logic Modules for Clinical Trial Eligibility

Mapping Example 2 Inclusion:

Gender: Female Pregnant Gestational age > 23.0 wks and

< 31.6 wks Exclusion:

Chorioamnionitis Non-reassuring fetal testing

Gender

MaleFemale

Demographics

Look in target database for a concept of ‘Gender’ with a value of ‘Female’.

Page 34: Generating Medical Logic Modules for Clinical Trial Eligibility

Unmappable Concepts

Concept or value not in target database Concept does not exist

“Delivery intended outside center”

Too HardInclusion: “Received full course of corticosteroids in the previous 7 days”Exclusion: “Corticosteroid therapy, other than qualifying course”

Page 35: Generating Medical Logic Modules for Clinical Trial Eligibility

Unmappable Concepts

Concept or value not in target database Concept does not exist

“Delivery intended outside center”

Too HardInclusion: “Received full course of corticosteroids in the previous 7 days”Exclusion: “Corticosteroid therapy, other than qualifying course”

Solution Evaluate eligibility based on available data If eligibility is possible, present questionnaire to user

for outstanding information needed

Page 36: Generating Medical Logic Modules for Clinical Trial Eligibility

Evaluation

Select ~25 trials (~200 predicates) from ClinicalTrials.gov

Precision and recall of term mappings Precision and recall of predicate mappings Percentage of predicates that are mappable Correctness of logic in Arden Syntax modules