def analyzePEReport(self, report, mode, modFilters=None): """given an individual radiology report, creates a pyConTextSql object that contains the context markup report: a text string containing the radiology reports mode: which of the pyConText objects are we using: disease, quality, or historical. modFilters: """ context = self.context.get(mode) targets = self.targets.get(mode) modifiers = self.modifiers.get(mode) if modFilters == None: modFilters = [ 'indication', 'pseudoneg', 'probable_negated_existence', 'definite_negated_existence', 'probable_existence', 'definite_existence', 'historical' ] context.reset() sentences = helpers.sentenceSplitter(report) count = 0 for s in sentences: context.setTxt(s) context.markItems(modifiers, mode="modifier") context.markItems(targets, mode="target") context.pruneMarks() context.dropMarks('Exclusion') context.applyModifiers() context.commit() count += 1 context.computeDocumentGraph() context.dropInactiveModifiers() model = pyConTextSql() model.populate(context, modFilters) return model
def analyzePEReport(self, report, mode, modFilters = None ): """given an individual radiology report, creates a pyConTextSql object that contains the context markup report: a text string containing the radiology reports mode: which of the pyConText objects are we using: disease, quality, or historical. modFilters: """ context = self.context.get(mode) targets = self.targets.get(mode) modifiers = self.modifiers.get(mode) if modFilters == None : modFilters = ['indication','pseudoneg','probable_negated_existence', 'definite_negated_existence', 'probable_existence', 'definite_existence', 'historical'] context.reset() sentences = helpers.sentenceSplitter(report) count = 0 for s in sentences: context.setTxt(s) context.markItems(modifiers, mode="modifier") context.markItems(targets, mode="target") context.pruneMarks() context.dropMarks('Exclusion') context.applyModifiers() context.commit() count += 1 context.computeDocumentGraph() context.dropInactiveModifiers() model = pyConTextSql() model.populate(context,modFilters) return model
def analyzePEReport(self, report, mode, modFilters = None ): """given an individual radiology report, creates a pyConTextSql object that contains the context markup report: a text string containing the radiology reports mode: ??? modFilters: """ context = self.context.get(mode) targets = self.targets.get(mode) modifiers = self.modifiers.get(mode) if modFilters == None : modFilters = ['indication','pseudoneg','probable_negated_existence', 'definite_negated_existence', 'probable_existence', 'definite_existence', 'historical'] context.reset() terms = itemData.itemData(targets) sentences = helpers.sentenceSplitter(report) count = 0 for s in sentences: context.setTxt(s) if( modifiers ): context.markModifiers(modifiers) context.markTargets(terms) context.pruneMarks() context.dropMarks('Exclusion') context.applyModifiers() context.commit() count += 1 model = pycontextSql() model.populate(context,modFilters) return model
def analyzePEReport(self, report, mode, modFilters=None): """given an individual radiology report, creates a pyConTextSql object that contains the context markup report: a text string containing the radiology reports mode: ??? modFilters: """ context = self.context.get(mode) targets = self.targets.get(mode) modifiers = self.modifiers.get(mode) if modFilters == None: modFilters = [ 'indication', 'pseudoneg', 'probable_negated_existence', 'definite_negated_existence', 'probable_existence', 'definite_existence', 'historical' ] context.reset() terms = itemData.itemData(targets) sentences = helpers.sentenceSplitter(report) count = 0 for s in sentences: context.setTxt(s) if (modifiers): context.markModifiers(modifiers) context.markTargets(terms) context.pruneMarks() context.dropMarks('Exclusion') context.applyModifiers() context.commit() count += 1 model = pycontextSql() model.populate(context, modFilters) return model
def analyzePEReport(self, report, mode, modFilters=None): """given an individual radiology report, creates a pyConTextSql object that contains the context markup report: a text string containing the radiology reports mode: ??? modFilters: """ try: fo = open("pedoc%d_%s.txt" % (self.currentCase, mode), "w") context = self.context.get(mode) targets = self.targets.get(mode) modifiers = self.modifiers.get(mode) if modFilters == None: modFilters = [ 'indication', 'pseudoneg', 'probable_negated_existence', 'definite_negated_existence', 'probable_existence', 'definite_existence', 'historical' ] context.reset() terms = itemData.itemData(targets) sentences = helpers.sentenceSplitter(report) count = 0 for s in sentences: context.setTxt(s) if (modifiers): context.markModifiers(modifiers) context.markTargets(terms) fo.write("Original markup\n%s\n" % context.__str__()) context.pruneMarks() fo.write("Pruned markup\n%s\n" % context.__str__()) context.dropMarks('Exclusion') fo.write("Post Exclusion\n%s\n" % context.__str__()) context.applyModifiers() fo.write("Post modifiers\n%s\n" % context.__str__()) fo.write("*" * 42 + "\n") pnxobj = pnx.pyConTextGraph(context) pnxobj.drawGraph("pedoc%d_%s_%s" % (self.currentCase, context.getCurrentSentenceNumber(), mode), format="png") #print context context.commit() count += 1 model = pycontextSql(db=self.dbn) model.populate(context, modFilters) fo.close() return model except Exception, error: print "failed in analyzePEReport", error
def analyzePEReport(self, report, mode, modFilters = None ): """given an individual radiology report, creates a pyConTextSql object that contains the context markup report: a text string containing the radiology reports mode: ??? modFilters: """ try: fo = open("pedoc%d_%s.txt"%(self.currentCase, mode),"w") context = self.context.get(mode) targets = self.targets.get(mode) modifiers = self.modifiers.get(mode) if modFilters == None : modFilters = ['indication','pseudoneg','probable_negated_existence','definite_negated_existence', 'probable_existence', 'definite_existence', 'historical'] context.reset() terms = itemData.itemData(targets) sentences = helpers.sentenceSplitter(report) count = 0 for s in sentences: context.setTxt(s) if( modifiers ): context.markModifiers(modifiers) context.markTargets(terms) fo.write("Original markup\n%s\n"%context.__str__()) context.pruneMarks() fo.write("Pruned markup\n%s\n"%context.__str__()) context.dropMarks('Exclusion') fo.write("Post Exclusion\n%s\n"%context.__str__()) context.applyModifiers() fo.write("Post modifiers\n%s\n"%context.__str__()) fo.write("*"*42+"\n") pnxobj = pnx.pyConTextGraph(context) pnxobj.drawGraph("pedoc%d_%s_%s"%(self.currentCase,context.getCurrentSentenceNumber(),mode), format="png") #print context context.commit() count += 1 model = pycontextSql(db=self.dbn) model.populate(context,modFilters) fo.close() return model except Exception, error: print "failed in analyzePEReport", error