Overview of Side Effect
The side effect extraction system extracts physician-asserted drug side effects from clinical notes. Alternatively the system can extract sentences that possibly contain both side effects and causative drugs, which cover higher number of side effect occurrences but needs human validation to extract individual causative drugs and side effects.
Analysis engines (Annotator) Descriptors
An aggregated engine defines a pipeline used by side effect extraction on plain text with Mayo format section tags.
An aggregated engine defines a pipeline used by side effect extraction on CDA documents.
An aggregated engine defines a pipeline used by side effect sentence extraction on plain text with Mayo format section tags.
An aggregated engine defines a pipeline used by side effect sentence extraction on CDA documents.
This annotator uses pattern matching rules to identify side effect and causative drug.
sections to ignore for side effect extraction (a default one uses Mayo Clinic section convention)
The following parameters are side effect indication keywords in pattern matching rules. Users may use their own keywords:
sideEffectDic: - A:: dictionary file that contains the drug and known side effect used for the dictionary lookup rule. The default file includes sample cases
An annotator to extract sentences that contains side effect and causative drugs.
PathOfModel - A machine learning model of side effect sentence classification
This annotator extracts spans of sentences that contain potential side effects (i.e., signs/symptoms and diseases/disorders) and drugs and add them to the type PSESentence. Note that certain sections (in clinical notes) defined in parameter, SectionsToIgnore are ignored.
SectionToIgnore: sections not to be considered for this annotation (a default one uses Mayo Clinic section convention)
This annotator extracts features for side effect sentence classification and add them to the type PSESentenceFeature.
A file of keywords used for side effect sentence classification
A customized lookup window annotator for side effect extraction to properly catch potential side effect candidates.
A customized dictionary lookup annotator for side effect extraction.
LookupDescriptorFile: a lookup descriptor file used for this project
SnomedIndexReader: custom resource specifier
RxnormIndexReader: custom resource specifier
OrangeBookIndexReader: custom resource specifier
CsvSEFile: a file for supplemental named entities. A user may use this file to add extra named entities that are not in a dictionary (the format should be first_word|full_named_entity|typeID(e.g., drug=1, disease/disorder=2, signs/symptoms=3, etc.). The default file includes sample cases.
Write side effects and causative drugs to the file in the format of:
Write side effects sentences to the file in the format of:
Collection Processing Engine (CPE)
A CPE for both side effect and side effect sentence extraction on CDA documents.
A CPE for both side effect and side effect sentence extraction on plain text with Mayo format section tags.
libsvm-2.91.jar: The support vector machine (SVM) classification tool used to side effect sentence classification.
Type System - SideEffectTypeSystem.xml
Types used in this project. Click JCasGen to generate necessary types.
- Run side effect extraction
Use SideEffectCPE.xml for plain text with Mayo section tags or SideEffect_CDA_CPE.xml for CDA documents
- Run both side effect and side effect sentence extraction
Use SideEffectSentenceCPE.xml for plain text with Mayo section tags or SideEffectSentence_CDA_CPE.xml for CDA documents
Input file can be either plain text with Mayo format section tags or CDA documents (if you use a CDA format, take out SimpleSegmentWithTagsAnnotator in the TAE workflow)
- Customize side effect extraction rules
The method, getSideEffectsWithPrioritizedRule() in SideEffectAnnotator.java contains the list of rules used for side effect extraction. A user can modify existing rules or create new rules.