Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
    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