1 / 39

Generating Medical Logic Modules for Clinical Trial Eligibility

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

ratana
Download Presentation

Generating Medical Logic Modules for Clinical Trial Eligibility

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Generating Medical Logic Modules forClinical Trial Eligibility Craig Parker Brigham Young University

  2. Clinical Trials • Important for modern medical research • Efficacy of therapies • Safety of therapies • Sponsored by • Government (www.clinicaltrials.gov) • Academic institutions • Industry (especially pharmaceutical companies)

  3. Clinical Trial Enrollment • Power in numbers • Traditional enrollment methods

  4. What if . . . we could automatically extract eligibility criteria from electronic medical records?

  5. Electronic Medical Records • 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 • Unstandardized realms

  6. Thesis Statement • 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

  7. 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

  8. 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: . . .

  9. Beginning . . .

  10. 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: . . .

  11. MLM 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: . . . Overview Trial

  12. MLM 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: . . . Logic Predicates Overview Trial

  13. MLM 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: . . . Logic Predicates Overview Trial • Inclusion: • Gender: Female • Pregnant • Gestational age > 23.0 wks and < 31.6 wks • Exclusion: • Chorioamnionitis • Non-reassuring fetal testing

  14. MLM 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: . . . Logic Predicates Overview Trial • (P1) Gender: Female • (P2) Pregnant • (P3) Gestational age > 23.0 wks • (P4) Gestational age < 31.6 wks • (P5) Chorioamnionitis • (P6) Non-reassuring fetal testing • Inclusion: • Gender: Female • Pregnant • Gestational age > 23.0 wks and < 31.6 wks • Exclusion: • Chorioamnionitis • Non-reassuring fetal testing

  15. MLM 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: . . . Logic Predicates Overview Trial • (P1) Gender: Female • (P2) Pregnant • (P3) Gestational age > 23.0 wks • (P4) Gestational age < 31.6 wks • (P5) Chorioamnionitis • (P6) Non-reassuring fetal testing • Inclusion: • Gender: Female • Pregnant • Gestational age > 23.0 wks and < 31.6 wks • Exclusion: • Chorioamnionitis • Non-reassuring fetal testing P1  P2  (P3  P4)  NOT (P5  P6) Or in conjunctive normal form: P1  P2  P3  P4  NOT P5  NOT P6

  16. MLM 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: . . . Logic Predicates Overview Trial • (P1) Gender: Female • (P2) Pregnant • (P3) Gestational age > 23.0 wks • (P4) Gestational age < 31.6 wks • (P5) Chorioamnionitis • (P6) Non-reassuring fetal testing • Inclusion: • Gender: Female • Pregnant • Gestational age > 23.0 wks and < 31.6 wks • Exclusion: • Chorioamnionitis • Non-reassuring fetal testing P1  P2  (P3  P4)  NOT (P5  P6) Or in conjunctive normal form: P1  P2  P3  P4  NOT P5  NOT P6

  17. MLM 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: . . . Logic Logic Handling Predicates Term Mapping Overview Trial

  18. MLM 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: . . . Logic Logic Handling Predicates Term Mapping Target Schema Other Knowledge UMLS Overview Trial

  19. MLM 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: . . . Logic Logic Handling Predicates Term Mapping Target Schema Other Knowledge UMLS Overview Trial Additional Information

  20. Steps to Create MLMs • Classify predicates • Map concepts from trial to database • Translate logic • Generate MLM

  21. 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

  22. Mapping Example 1 • Inclusion: • Gender: Female • Pregnant • Gestational age > 23.0 wks and < 31.6 wks • Exclusion: • Chorioamnionitis • Non-reassuring fetal testing

  23. 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

  24. Mapping Example 1 • Inclusion: • Gender: Female • Pregnant • Gestational age > 23.0 wks and < 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

  25. 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

  26. Mapping Example 1 pregnant: pregnancy (83035) has-parent: diagnosis

  27. Mapping Example 1 pregnant: pregnancy (83035) has-parent: diagnosis Looking for “pregnancy” in schema of target database.

  28. Mapping 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); . . . }

  29. Mapping 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.

  30. Mapping 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

  31. Mapping Example 1 pregnant: pregnancy (83035) has-parent: diagnosis PregnancyObservation : Is-Subtype-Of : DiagnosisAndFindingObservation { value(codedTerm({pregnancy, 83035})); negation(boolean); . . . } PregnancyObservation (59665) has-parent: observation

  32. Mapping 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

  33. Mapping Example 2 • Inclusion: • Gender: Female • Pregnant • Gestational age > 23.0 wks and < 31.6 wks • Exclusion: • Chorioamnionitis • Non-reassuring fetal testing

  34. 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

  35. Mapping Example 2 • Inclusion: • Gender: Female • Pregnant • Gestational age > 23.0 wks and < 31.6 wks • Exclusion: • Chorioamnionitis • Non-reassuring fetal testing Demographics Gender Female Male

  36. Mapping Example 2 • Inclusion: • Gender: Female • Pregnant • Gestational age > 23.0 wks and < 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 Female Male

  37. Unmappable 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”

  38. Unmappable 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

  39. 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

More Related