Title: Generating Medical Logic Modules for Clinical Trial Eligibility
1Generating Medical Logic Modules forClinical
Trial Eligibility
- Craig Parker
- Brigham Young University
2Clinical 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)
3Clinical 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
4What if . . .
we could automatically extract eligibility
criteria from electronic medical records?
5Electronic 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
6Automating 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 cant be mapped
- Measure results
7Medical 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
8MLM in Arden Syntax
KNOWLEDGE TYPE . . . DATA
gestational_age read last SELECT
gest_age FROM Observation
EVOKE . . . LOGIC IF
gestational_age gt 73 days AND
gestational_age lt 97 days THEN
conclude true ENDIF
ACTION . . .
9Beginning . . .
10Beginning and End
KNOWLEDGE TYPE . . . DATA
gestational_age read last SELECT
gest_age FROM Observation
EVOKE . . . LOGIC IF
gestational_age gt 73 days AND
gestational_age lt 97 days THEN
conclude true ENDIF
ACTION . . .
11Overview
Trial
12Overview
Trial
13Overview
Trial
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 31.6 wks
- Exclusion
- Chorioamnionitis
- Non-reassuring fetal testing
14Overview
Trial
- (P1) Gender Female
- (P2) Pregnant
- (P3) Gestational age gt 23.0 wks
- (P4) Gestational age lt 31.6 wks
- (P5) Chorioamnionitis
- (P6) Non-reassuring fetal testing
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 31.6 wks
- Exclusion
- Chorioamnionitis
- Non-reassuring fetal testing
15Overview
Trial
- (P1) Gender Female
- (P2) Pregnant
- (P3) Gestational age gt 23.0 wks
- (P4) Gestational age lt 31.6 wks
- (P5) Chorioamnionitis
- (P6) Non-reassuring fetal testing
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 31.6 wks
- Exclusion
- Chorioamnionitis
- Non-reassuring fetal testing
P1 ? P2 ? (P3 ? P4) ? ?(P5 ? P6) Or in
conjunctive normal form P1 ? P2 ? P3 ? P4 ? ?P5
? ?P6
16Overview
Trial
- (P1) Gender Female
- (P2) Pregnant
- (P3) Gestational age gt 23.0 wks
- (P4) Gestational age lt 31.6 wks
- (P5) Chorioamnionitis
- (P6) Non-reassuring fetal testing
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 31.6 wks
- Exclusion
- Chorioamnionitis
- Non-reassuring fetal testing
P1 ? P2 ? (P3 ? P4) ? ?(P5 ? P6) Or in
conjunctive normal form P1 ? P2 ? P3 ? P4 ? ?P5
? ?P6
17Overview
Trial
18Overview
Trial
19Overview
Trial
Additional Information
20Steps to Create MLMs
- Classify predicates
- Map concepts from trial to database
- Translate logic
- Generate MLM
21Classifying Predicates
- Numeric comparisons
- e.g. gestational age gt 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
22Mapping Example 1
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 31.6 wks
- Exclusion
- Chorioamnionitis
- Non-reassuring fetal testing
23Mapping Example 1
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 31.6 wks
- Exclusion
- Chorioamnionitis
- Non-reassuring fetal testing
Single noun phrase likely to be a diagnosis or
observation
24Mapping Example 1
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 31.6 wks
- Exclusion
- Chorioamnionitis
- Non-reassuring fetal testing
From vocabulary of target database
pregnant pregnancy pregnancy appointment
type pregnant ambulatory status . . .
has-parent Diagnosis has-parent Appointment
type has-parent Ambulatory status
25Mapping Example 1
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 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
26Mapping Example 1
pregnant pregnancy (83035)
has-parent diagnosis
Looking for pregnancy in schema of target
database.
27Mapping Example 1
pregnant pregnancy (83035)
has-parent diagnosis
Looking for pregnancy in schema of target
database.
PregnancyObservation Is-Subtype-Of
DiagnosisAndFindingObservation value(codedTerm(
pregnancy, 83035)) negation(boolean) . . .
28Mapping Example 1
pregnant pregnancy (83035)
has-parent diagnosis
PregnancyObservation Is-Subtype-Of
DiagnosisAndFindingObservation value(codedTerm(
pregnancy, 83035)) negation(boolean) . . .
Look for PregnancyObservation in vocabulary of
target database.
29Mapping Example 1
pregnant pregnancy (83035)
has-parent diagnosis
PregnancyObservation Is-Subtype-Of
DiagnosisAndFindingObservation value(codedTerm(
pregnancy, 83035)) negation(boolean) . . .
Look for PregnancyObservation in vocabulary of
target database.
PregnancyObservation (59665)
has-parent observation
30Mapping Example 1
pregnant pregnancy (83035)
has-parent diagnosis
PregnancyObservation Is-Subtype-Of
DiagnosisAndFindingObservation value(codedTerm(
pregnancy, 83035)) negation(boolean) . . .
PregnancyObservation (59665)
has-parent observation
SELECT FROM Observations WHERE ObsId 59665
AND value 83035
31Mapping Example 2
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 31.6 wks
- Exclusion
- Chorioamnionitis
- Non-reassuring fetal testing
32Mapping Example 2
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 31.6 wks
- Exclusion
- Chorioamnionitis
- Non-reassuring fetal testing
Two noun phrases likely to be a name-value pair
33Mapping Example 2
- Inclusion
- Gender Female
- Pregnant
- Gestational age gt 23.0 wks and lt 31.6 wks
- Exclusion
- Chorioamnionitis
- Non-reassuring fetal testing
Demographics
Look in target database for a concept of Gender
with a value of Female.
Gender
Male
Female
34Unmappable Concepts
- Concept or value not in target database
- Concept does not exist
- Delivery intended outside center
- Too Hard
- Inclusion Received full course of
corticosteroids in the previous 7 days - Exclusion Corticosteroid therapy, other than
qualifying course
35Unmappable Concepts
- Concept or value not in target database
- Concept does not exist
- Delivery intended outside center
- Too Hard
- Inclusion 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
36Evaluation
- 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