PyConTextKit allows the user to manage a lexicon for extraction targets, such as symptoms. It also allows the user to manage a lexicon for modifiers, such as negation cues (e.g., 'no' and 'absence of') and temporality cues (e.g., 'history of'). The modifiers are applied to the targets by pyConTextKit during the annotation phase, and the user can determine the criteria for extraction of a target from a report based on the modifiers. For example, the user may only want to extract symptoms that occurred recently and not historically. The document classification feature identifies documents containing the targets and modifiers specified by the user. For instance, the user may want to identify documents with recent and nonnegated instances of respiratory symptoms and diagnoses.