private boolean findNextParenRelativeToNE(int spanLength, int[][] elementSpan, MedicationMention nea, int priorDrugEnd, int startOffset) { boolean patternFound = false; for (int l = startOffset; l < spanLength && !patternFound; l++) { if (elementSpan[l][0] != -1 && elementSpan[l][0] < nea.getBegin() && elementSpan[l][1] > priorDrugEnd) { patternFound = true; } } return patternFound; }
private boolean findNextParenRelativeToNE(int spanLength, int[][] elementSpan, MedicationMention nea, int priorDrugEnd, int startOffset) { boolean patternFound = false; for (int l = startOffset; l < spanLength && !patternFound; l++) { if (elementSpan[l][0] != -1 && elementSpan[l][0] < nea.getBegin() && elementSpan[l][1] > priorDrugEnd) { patternFound = true; } } return patternFound; }
private int [] findNextDrugEntityPost(int spanLength, int[][] elementSpan, MedicationMention nea, int endPhrase) { boolean patternFound = false; int [] locationPre = {-1,-1}; for (int l = 0; l < spanLength && !patternFound; l++) { if (elementSpan[l][0] != -1 && elementSpan[l][0] > nea.getBegin() && elementSpan[l][0] < endPhrase) { patternFound = true; locationPre = elementSpan[l]; } } return locationPre; }
private boolean findNextParenRelativeToNE(int spanLength, int[][] elementSpan, MedicationMention nea, int priorDrugEnd) { boolean patternFound = false; for (int l = 0; l <= spanLength && !patternFound; l++) { if (elementSpan[l][0] != -1 && elementSpan[l][0] < nea.getBegin() && elementSpan[l][1] > priorDrugEnd) { patternFound = true; } } return patternFound; }
private boolean findNextParenRelativeToNE(int spanLength, int[][] elementSpan, MedicationMention nea, int priorDrugEnd) { boolean patternFound = false; for (int l = 0; l <= spanLength && !patternFound; l++) { if (elementSpan[l][0] != -1 && elementSpan[l][0] < nea.getBegin() && elementSpan[l][1] > priorDrugEnd) { patternFound = true; } } return patternFound; }
private int [] findNextDrugEntityPost(int spanLength, int[][] elementSpan, MedicationMention nea, int endPhrase) { boolean patternFound = false; int [] locationPre = {-1,-1}; for (int l = 0; l < spanLength && !patternFound; l++) { if (elementSpan[l][0] != -1 && elementSpan[l][0] > nea.getBegin() && elementSpan[l][0] < endPhrase) { patternFound = true; locationPre = elementSpan[l]; } } return locationPre; }
private int [] findNextDrugEntityPre(int spanLength, int[][] elementSpan, MedicationMention nea, int priorDrugEnd) { int numElementsInSpan = 0, targetForNewSpan = 0 ; int [] locationPre = {-1,-1}; for (int l = 0; l < spanLength ; l++) { if (elementSpan[l][0] != -1 && elementSpan[l][1] < nea.getBegin() && elementSpan[l][0] > priorDrugEnd) { numElementsInSpan ++; targetForNewSpan = elementSpan[l][0]; } if (l == 2) locationPre[1] = targetForNewSpan; locationPre[0] = numElementsInSpan; } return locationPre; }
private int [] findNextDrugEntityPre(int spanLength, int[][] elementSpan, MedicationMention nea, int priorDrugEnd) { int numElementsInSpan = 0, targetForNewSpan = 0 ; int [] locationPre = {-1,-1}; for (int l = 0; l < spanLength ; l++) { if (elementSpan[l][0] != -1 && elementSpan[l][1] < nea.getBegin() && elementSpan[l][0] > priorDrugEnd) { numElementsInSpan ++; targetForNewSpan = elementSpan[l][0]; } if (l == 2) locationPre[1] = targetForNewSpan; locationPre[0] = numElementsInSpan; } return locationPre; }
private int anchorEndofline (int [][] elementSpan, int elementSpanLength, int endPhrase, MedicationMention nea) { return findNextDrugEntityPost( elementSpanLength, elementSpan, nea, endPhrase)[1] - nea.getBegin(); }
private int anchorEndofline (int [][] elementSpan, int elementSpanLength, int endPhrase, MedicationMention nea) { return findNextDrugEntityPost( elementSpanLength, elementSpan, nea, endPhrase)[1] - nea.getBegin(); }
/** * Return true if exists more than one drug and reason within the span, otherwise return false * @param jcas * @param begin * @param end * @return */ private boolean multipleDrugsInSpan(JCas jcas, int begin, int end) { Iterator neItr = FSUtil.getAnnotationsIteratorInSpan(jcas, MedicationMention.type, begin, end); int numDrugs=0; int beginOffset=0; while (neItr.hasNext()) { MedicationMention nea = (MedicationMention) neItr.next(); if((nea.getTypeID()==1 || nea.getTypeID()==0) && beginOffset != nea.getBegin()) numDrugs++; beginOffset = nea.getBegin(); } if(numDrugs>1) return true; else return false; }
/** * Return true if exists more than one drug and reason within the span, otherwise return false * @param jcas * @param begin * @param end * @return */ private boolean multipleDrugsInSpan(JCas jcas, int begin, int end) { Iterator neItr = FSUtil.getAnnotationsIteratorInSpan(jcas, MedicationMention.type, begin, end); int numDrugs=0; int beginOffset=0; while (neItr.hasNext()) { MedicationMention nea = (MedicationMention) neItr.next(); if((nea.getTypeID()==1 || nea.getTypeID()==0) && beginOffset != nea.getBegin()) numDrugs++; beginOffset = nea.getBegin(); } if(numDrugs>1) return true; else return false; }
private int [] findElementRelativeToNE (int [][] elementSpan, int [][] parenthesisSpan, int elementSpanLength, int parenthesisSpanLength, int priorDrugEnd, int startWithParenNum, int endPhrase, MedicationMention nea) { int [] caseType = {0,0}; int [] endLocationPreSpan = findNextDrugEntityPre( elementSpanLength, elementSpan, nea, priorDrugEnd); int [] endLocationPostSpan = {0,0}; int [] emptyState = {-1,-1}; boolean patternFoundPost = false; if (-1 != (endLocationPostSpan[1] = findNextDrugEntityPost( elementSpanLength, elementSpan, nea, endPhrase)[1])) { patternFoundPost = true; caseType[1] = endLocationPostSpan[1] - nea.getBegin(); } else if (emptyState[1] != (endLocationPreSpan)[1]) { caseType[1] = endLocationPreSpan[1] - nea.getBegin(); } if (patternFoundPost && findNextClosestRightParenRelativeToElement( parenthesisSpanLength, parenthesisSpan, nea, endLocationPostSpan[1], startWithParenNum)) { caseType[1] = 1; } caseType[0] = endLocationPreSpan[0]; return caseType; }
private int [] findElementRelativeToNE (int [][] elementSpan, int [][] parenthesisSpan, int elementSpanLength, int parenthesisSpanLength, int priorDrugEnd, int startWithParenNum, int endPhrase, MedicationMention nea) { int [] caseType = {0,0}; int [] endLocationPreSpan = findNextDrugEntityPre( elementSpanLength, elementSpan, nea, priorDrugEnd); int [] endLocationPostSpan = {0,0}; int [] emptyState = {-1,-1}; boolean patternFoundPost = false; if (-1 != (endLocationPostSpan[1] = findNextDrugEntityPost( elementSpanLength, elementSpan, nea, endPhrase)[1])) { patternFoundPost = true; caseType[1] = endLocationPostSpan[1] - nea.getBegin(); } else if (emptyState[1] != (endLocationPreSpan)[1]) { caseType[1] = endLocationPreSpan[1] - nea.getBegin(); } if (patternFoundPost && findNextClosestRightParenRelativeToElement( parenthesisSpanLength, parenthesisSpan, nea, endLocationPostSpan[1], startWithParenNum)) { caseType[1] = 1; } caseType[0] = endLocationPreSpan[0]; return caseType; }
if ((keepTrackOfDupBegin == neAnnot.getBegin()) && (keepTrackOfDupEnd == neAnnot.getEnd())) if ((neAnnot.getBegin() >= seg.getBegin()) && (neAnnot.getEnd() <= seg.getEnd()) && !gotDup) { keepTrackOfDupBegin = neAnnot.getBegin(); keepTrackOfDupEnd = neAnnot.getEnd(); if (neAnnot.getBegin() >= ca.getBegin() && neAnnot.getEnd() <= ca .getEnd()) { if (ssAnnot.getSubSectionBodyBegin() <= neAnnot.getBegin() && ssAnnot.getSubSectionBodyEnd() >= neAnnot.getEnd())
if ((keepTrackOfDupBegin == neAnnot.getBegin()) && (keepTrackOfDupEnd == neAnnot.getEnd())) if ((neAnnot.getBegin() >= seg.getBegin()) && (neAnnot.getEnd() <= seg.getEnd()) && !gotDup) { keepTrackOfDupBegin = neAnnot.getBegin(); keepTrackOfDupEnd = neAnnot.getEnd(); if (neAnnot.getBegin() >= ca.getBegin() && neAnnot.getEnd() <= ca .getEnd()) { if (ssAnnot.getSubSectionBodyBegin() <= neAnnot.getBegin() && ssAnnot.getSubSectionBodyEnd() >= neAnnot.getEnd())
MedicationMention nea = (MedicationMention) neItr.next(); if(nea.getTypeID()==1 || nea.getTypeID()==0) { lastLocation[0]= nea.getBegin(); lastLocation[1] = nea.getEnd(); if ((counter == 0 || lastLocation[0] != location[counter-1][0]) && (nea.getBegin()>=begin && nea.getEnd() <= end)) { location[counter][0]= lastLocation[0]; location[counter][1]= lastLocation[1];
MedicationMention nea = (MedicationMention) neItr.next(); if(nea.getTypeID()==1 || nea.getTypeID()==0) { lastLocation[0]= nea.getBegin(); lastLocation[1] = nea.getEnd(); if ((counter == 0 || lastLocation[0] != location[counter-1][0]) && (nea.getBegin()>=begin && nea.getEnd() <= end)) { location[counter][0]= lastLocation[0]; location[counter][1]= lastLocation[1];
MedicationMention nea = (MedicationMention) neItr.next(); if(nea.getTypeID()==1 || nea.getTypeID()==0) { lastLocation[0]= nea.getBegin(); lastLocation[1] = nea.getEnd(); if ((counter == 0 || lastLocation[0] != location[counter-1][0]) && (nea.getBegin()>=begin && nea.getEnd() <= end)) { location[counter][0]= lastLocation[0]; holdEndElement = location[counter][1] = lastLocation[1];
MedicationMention nea = (MedicationMention) neItr.next(); if(nea.getTypeID()==1 || nea.getTypeID()==0) { lastLocation[0]= nea.getBegin(); lastLocation[1] = nea.getEnd(); if ((counter == 0 || lastLocation[0] != location[counter-1][0]) && (nea.getBegin()>=begin && nea.getEnd() <= end)) { location[counter][0]= lastLocation[0]; holdEndElement = location[counter][1] = lastLocation[1];