Examples of FrequencyUnitAnnotation


Examples of org.apache.ctakes.drugner.type.FrequencyUnitAnnotation

        FrequencyUnitToken fut = (FrequencyUnitToken) frequencyUnitTokenItr.next();

        begSegFUT = fut.getStartOffset();
        endSegFUT = fut.getEndOffset();
        FrequencyUnitAnnotation ma = new FrequencyUnitAnnotation(jcas,
            begSegFUT, endSegFUT);
        ma.setPeriod(new Float(fut.getFrequencyUnitQuantity()).floatValue());
        ma.addToIndexes();

      }
      // The frequencyFSM can take advantage of the frequencyUnit to
      // establish conditions via the override
      Set frequencyTokenSet = iv_frequencyFSM.execute(baseTokenList,
          frequencyUnitTokenSet, rangeTokenSet);
      boolean foundFrequency = false;
      Iterator frequencyTokenItr = frequencyTokenSet.iterator();
      int begSegFT = 0, endSegFT = 0;
      while (frequencyTokenItr.hasNext())
      {

        FrequencyToken ft = (FrequencyToken) frequencyTokenItr.next();
        begSegFT = ft.getStartOffset();
        endSegFT = ft.getEndOffset();
        FrequencyAnnotation ma = new FrequencyAnnotation(jcas, begSegFT,
            endSegFT);
        ma.addToIndexes();

      }

      /* Check again if confidence was found during frequency check */

      Set durationTokenSet = iv_durationFSM.execute(baseTokenList,
          rangeTokenSet);
      Iterator durationTokenItr = durationTokenSet.iterator();

      int begSegDU = 0, endSegDU = 0;
      while (durationTokenItr.hasNext())
      {
        DurationToken du = (DurationToken) durationTokenItr.next();
        begSegDU = du.getStartOffset();
        endSegDU = du.getEndOffset();
        DurationAnnotation ma = new DurationAnnotation(jcas, begSegDU, endSegDU);
        // dm.setDurationElement(jcas, begSegDU, endSegDU);
        ma.addToIndexes();
        // loadandAppend("./frequencyTable.csv", ma.getCoveredText(),
        // true);
      }

    } catch (Exception e)
View Full Code Here

Examples of org.apache.ctakes.drugner.type.FrequencyUnitAnnotation

          boolean onlyNeedOneFrequencyUnit = false;


          while (frequencyUnitItr.hasNext() && !onlyNeedOneFrequencyUnit)
          {
            FrequencyUnitAnnotation fua = (FrequencyUnitAnnotation) frequencyUnitItr.next();
            if (holdFrequencyUnitBeginOffset != fua.getBegin()
                && holdFrequencyUnitEndOffset != fua.getEnd()
                && relatedStatus != null)
            {
              double curFrequencyUnitValue = new Float(fua.getPeriod()).doubleValue();

              boolean findLowValue = true;
              if (relatedStatus[0].compareTo(DrugChangeStatusToken.INCREASE) == 0)
              {
                if (curFrequencyUnitValue > frequencyUnitValue)
                {
                  frequencyUnitValue = curFrequencyUnitValue;
                  frequencyUnitText = dm.getFrequencyUnitElement();
                }
              } else if (relatedStatus[0] == null
                  || relatedStatus[0].compareTo(DrugChangeStatusToken.DECREASE) == 0)
              {
                if (findLowValue)
                  frequencyUnitValue = curFrequencyUnitValue;
                if (curFrequencyUnitValue <= frequencyUnitValue)
                {
                  frequencyUnitValue = curFrequencyUnitValue;
                  frequencyUnitText = dm.getFrequencyUnitElement();
                }
                findLowValue = false;
              }
            } else
            {
              if (fua.getPeriod() == FrequencyUnitToken.QUANTITY_PRN)
                foundPRN = true;
              else
              {
                frequencyUnitText = dm.getFrequencyUnitElement();

                if (!maxExists)
                {
                  onlyNeedOneStrength = true;
                }

              }
            }

            holdFrequencyUnit.add(fua);
            holdFrequencyUnitBeginOffset = fua.getBegin();
            holdFrequencyUnitEndOffset = fua.getEnd();
          }

        }
        if (recurseNER != null && recurseNER.getDrugChangeStatus() != null
            && relatedStatus[0] != null  && dm.changeStatus == null)
View Full Code Here

Examples of org.apache.ctakes.drugner.type.FrequencyUnitAnnotation

          lastLocation[0] = nea.getBegin();
          lastLocation[1] = nea.getEnd();
        }      }
    } else if (elementType == FrequencyUnitAnnotation.type) {
      while (neItr.hasNext()&& wantMuliple) {
        FrequencyUnitAnnotation nea = (FrequencyUnitAnnotation) neItr.next();

        if (nea.getBegin()>=begin && nea.getEnd() <= end ) {
          if (!highest) wantMuliple = false;
          lastLocation[0] = nea.getBegin();
          lastLocation[1] = nea.getEnd();
        }      }
    } else if (elementType == DosagesAnnotation.type) {
      while (neItr.hasNext()&& wantMuliple) {
        DosagesAnnotation nea = (DosagesAnnotation) neItr.next();

        if (nea.getBegin()>=begin && nea.getEnd() <= end ) {
          if (!highest) wantMuliple = false;
          lastLocation[0] = nea.getBegin();
          lastLocation[1] = nea.getEnd();
        }
      }
    }

    return lastLocation;
View Full Code Here

Examples of org.apache.ctakes.drugner.type.FrequencyUnitAnnotation

          location[counter][1]= lastLocation[1];
          counter++;
        }      }
    } else if (elementType == FrequencyUnitAnnotation.type) {
      while (neItr.hasNext()) {
        FrequencyUnitAnnotation nea = (FrequencyUnitAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (nea.getBegin()>=begin && nea.getEnd() <= end && (counter == || (counter> 0 && lastLocation[0] !=  location[counter - 1][0]))) {
          location[counter][0]= lastLocation[0];
          location[counter][1]= lastLocation[1];
          counter++;
        }
      }
    }    else if (elementType == DosagesAnnotation.type) {
      while (neItr.hasNext()) {
        DosagesAnnotation nea = (DosagesAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (nea.getBegin()>=begin && nea.getEnd() <= end && (counter == || (counter> 0 && lastLocation[0] !=  location[counter - 1][0]))) {
          location[counter][0]= lastLocation[0];
          location[counter][1]= lastLocation[1];
          counter++;
        }
      }
    }else if (elementType == RouteAnnotation.type) {
      while (neItr.hasNext()) {
        RouteAnnotation nea = (RouteAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (nea.getBegin()>=begin && nea.getEnd() <= end) {
          location[counter][0]= lastLocation[0];
          location[counter][1]= lastLocation[1];
          counter++;
        }
      }
    } else if (elementType == FormAnnotation.type) {
      while (neItr.hasNext()) {
        FormAnnotation nea = (FormAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (nea.getBegin()>=begin && nea.getEnd() <= end && (counter == || (counter> 0 && lastLocation[0] !=  location[counter - 1][0]))) {
          location[counter][0]= lastLocation[0];
          location[counter][1]= lastLocation[1];
          counter++;
        }
      }
    }   
    else if (elementType == DurationAnnotation.type) {
      while (neItr.hasNext()) {
        DurationAnnotation nea = (DurationAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (nea.getBegin()>=begin && nea.getEnd() <= end && (counter == || (counter> 0 && lastLocation[0] !=  location[counter - 1][0]))) {
          location[counter][0]= lastLocation[0];
          location[counter][1]= lastLocation[1];
          counter++;
        }
      }

    }
    else if (elementType == DrugChangeStatusAnnotation.type) {
      while (neItr.hasNext()) {
        DrugChangeStatusAnnotation nea = (DrugChangeStatusAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (nea.getBegin()>=begin && nea.getEnd() <= end && (counter == || (counter> 0 && lastLocation[0] !=  location[counter - 1][0]))) {
          location[counter][0]= lastLocation[0];
          location[counter][1]= lastLocation[1];
          counter++;
        }
      }

    } else if (elementType == MedicationMention.type) {
      while (neItr.hasNext()) {
        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];
            counter++;
          }

        }
      }
    } else if (elementType == PunctuationToken.type) {
      while (neItr.hasNext()) {
        boolean foundPair = false;
        PunctuationToken nea = (PunctuationToken) neItr.next();
        if (nea.getCoveredText().compareTo("(")==0)
          lastLocation[0] = nea.getBegin();
        else if (nea.getCoveredText().compareTo(")")==0) {
          lastLocation[1] = nea.getEnd();
          foundPair = true;
        }
        if (nea.getBegin()>=begin && nea.getEnd() <= end && foundPair && (counter == || (counter> 0 && lastLocation[0] !=  location[counter - 1][0]))) {
          location[counter][0]= lastLocation[0];
          location[counter][1]= lastLocation[1];
          counter++;
        }
      }
View Full Code Here

Examples of org.apache.ctakes.drugner.type.FrequencyUnitAnnotation

      // }
    }
    neItr = FSUtil.getAnnotationsIteratorInSpan(jcas,
        FrequencyUnitAnnotation.type, begin, end);
    while (neItr.hasNext()) {
      FrequencyUnitAnnotation nea = (FrequencyUnitAnnotation) neItr.next();
      // if (nea.getBegin() >= begin && nea.getEnd() <= end) {
      numElements++;
      // }
    }
    neItr = FSUtil.getAnnotationsIteratorInSpan(jcas,
View Full Code Here

Examples of org.apache.ctakes.drugner.type.FrequencyUnitAnnotation

          counter++;
        }      }
    } else if (elementType == FrequencyUnitAnnotation.type) {
      int holdBeginElement = 0, holdEndElement = 0;
      while (neItr.hasNext()) {
        FrequencyUnitAnnotation nea = (FrequencyUnitAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (holdBeginElement < nea.getBegin() && nea.getBegin()>=begin && nea.getEnd() <= end && nea.getEnd() > holdEndElement) {
          holdBeginElement = location[counter][0]= lastLocation[0];
          holdEndElement = location[counter][1]= lastLocation[1];
          counter++;
        }
      }
    }    else if (elementType == DosagesAnnotation.type) {
      int holdBeginElement = 0, holdEndElement = 0;
      while (neItr.hasNext()) {
        DosagesAnnotation nea = (DosagesAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (holdBeginElement < nea.getBegin() && nea.getBegin()>=begin && nea.getEnd() <= end && nea.getEnd() > holdEndElement) {
          holdBeginElement = location[counter][0]= lastLocation[0];
          holdEndElement = location[counter][1]= lastLocation[1];
          counter++;
        }
      }
    }else if (elementType == RouteAnnotation.type) {
      int holdBeginElement = 0, holdEndElement = 0;
      while (neItr.hasNext()) {
        RouteAnnotation nea = (RouteAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (holdBeginElement < nea.getBegin() && nea.getBegin()>=begin && nea.getEnd() <= end && nea.getEnd() > holdEndElement) {
          holdBeginElement = location[counter][0]= lastLocation[0];
          holdEndElement = location[counter][1]= lastLocation[1];
          counter++;
        }
      }
    } else if (elementType == FormAnnotation.type) {
      int holdBeginElement = 0, holdEndElement = 0;
      while (neItr.hasNext()) {
        FormAnnotation nea = (FormAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (holdBeginElement < nea.getBegin() && nea.getBegin()>=begin && nea.getEnd() <= end && nea.getEnd() > holdEndElement) {
          holdBeginElement = location[counter][0]= lastLocation[0];
          holdEndElement = location[counter][1]= lastLocation[1];
          counter++;
        }
      }
    }   
    else if (elementType == DurationAnnotation.type) {
      int holdBeginElement = 0, holdEndElement = 0;
      while (neItr.hasNext()) {
        DurationAnnotation nea = (DurationAnnotation) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (holdBeginElement < nea.getBegin() && nea.getBegin()>=begin && nea.getEnd() <= end && nea.getEnd() > holdEndElement) {
          holdBeginElement = location[counter][0]= lastLocation[0];
          holdEndElement = location[counter][1]= lastLocation[1];
          counter++;
        }
      }

    }
    else if (elementType == NewlineToken.type) {
      int holdBeginElement = 0;
      while (neItr.hasNext()) {
        NewlineToken nea = (NewlineToken) neItr.next();
        lastLocation[0] = nea.getBegin();
        lastLocation[1] = nea.getEnd();
        if (holdBeginElement < nea.getBegin() && nea.getBegin()>=begin && nea.getEnd() <= end) {
          holdBeginElement = location[counter][0]= lastLocation[0];
          location[counter][1]= lastLocation[1];
          counter++;
        }
      }

    } else if (elementType == MedicationMention.type) {
      int holdEndElement = 0;
      while (neItr.hasNext()) {
        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];
            counter++;
          } else if (counter > 0 && holdEndElement > lastLocation[1]) {
            holdEndElement = location[counter-1][1] = lastLocation[1];
          }

        }
      }
    } else if (elementType == PunctuationToken.type) {
      while (neItr.hasNext()) {
        int holdBeginElement = 0;
        boolean foundPair = false;
        PunctuationToken nea = (PunctuationToken) neItr.next();
        if (nea.getCoveredText().compareTo("(")==0 || nea.getCoveredText().compareTo("[")==0)
          lastLocation[0] = nea.getBegin();
        else if (nea.getCoveredText().compareTo(")")==0 || nea.getCoveredText().compareTo("]")==0) {
          lastLocation[1] = nea.getEnd();
          foundPair = true;
        }
        if (holdBeginElement < nea.getBegin() && nea.getBegin()>=begin && nea.getEnd() <= end && foundPair) {
          location[counter][0]= lastLocation[0];
          location[counter][1]= lastLocation[1];
          counter++;
        }
      }
View Full Code Here

Examples of org.apache.ctakes.drugner.type.FrequencyUnitAnnotation

    }
    } 
      Iterator frequencyUnitTokenItr = FSUtil.getAnnotationsIteratorInSpan(jcas,
          FrequencyUnitAnnotation.type, beginPos, endPos);
      while (frequencyUnitTokenItr.hasNext()){
        FrequencyUnitAnnotation focusToken = (FrequencyUnitAnnotation) frequencyUnitTokenItr.next();
        String localFreq = null;
        if ((localFreq = findFrequencyUnitElement(jcas,
                focusToken.getBegin(), focusToken.getEnd())) == null) {
          frequencyUnit = new FrequencyUnitElement(focusToken
              .getCoveredText(), focusToken.getBegin(),
              focusToken.getEnd());
        } else if (frequencyUnit == null
            && findMaxValue == true) {
          // Need a way to find the largest frequency and/or convert
          // it to factor daily dosage
          setFrequencyUnitElement(localFreq, focusToken.getBegin(),
              focusToken.getEnd());
        }
      }
      Iterator strengthUnitTokenItr = FSUtil.getAnnotationsIteratorInSpan(jcas, StrengthUnitAnnotation.type, beginPos, endPos);
      while (strengthUnitTokenItr.hasNext()){
        StrengthUnitAnnotation focusToken = (StrengthUnitAnnotation) strengthUnitTokenItr.next();
        setStrengthUnitElement(focusToken.getCoveredText(),
            focusToken.getBegin(), focusToken.getEnd());
      }
      Iterator strengthTokenItr = FSUtil.getAnnotationsIteratorInSpan(jcas, StrengthAnnotation.type, beginPos, endPos);
      while (strengthTokenItr.hasNext()){
        StrengthAnnotation focusToken = (StrengthAnnotation) strengthTokenItr.next();
        

            String localStrength = null;
            if ((localStrength = findStrengthElement(jcas, focusToken
                .getBegin(), focusToken.getEnd())) == null) {
              strength = new StrengthElement(focusToken.getCoveredText(),
                  focusToken.getBegin(), focusToken.getEnd());
            } else {
              if (strength != null) {
                // check for range and compare
                int spacePosition = strength.getStrengthMention()
                    .indexOf(" ");
                int spacePos = localStrength
                .indexOf(" ");
                if (spacePosition > 0 && spacePos > 0
                    && parseDoubleValue(strength
                        .getStrengthMention().substring(0,
                            spacePosition)) < parseDoubleValue(localStrength
                        .substring(0, localStrength
                            .indexOf(" ")))&& findMaxValue == true) {
                  setStrengthElement(localStrength, focusToken
                      .getBegin(), focusToken.getEnd());
                } else {
                  String stringRange = strength.getStrengthMention();
                  int hyphPosition = 0;
                  if ((stringRange.length() > 0)
                      && (stringRange.indexOf('-') > 0)) {
                    hyphPosition = stringRange.indexOf('-');
                    Double firstValue = new Double(
                        parseDoubleValue(stringRange
                            .subSequence(0, hyphPosition)));
                    Double secondValue = new Double(
                        parseDoubleValue(stringRange
                            .substring(hyphPosition + 2)));
                    if (firstValue.doubleValue() >= secondValue
                        .doubleValue() && findMaxValue == true) {
                      setStrengthElement(firstValue.toString(),
                          focusToken.getBegin(), focusToken
                              .getEnd());
                    } else {
                      setStrengthElement(firstValue.toString(),
                          focusToken.getBegin(), focusToken
                              .getEnd());
                    }
                  }
                }
              } else if ((localStrength.length() > 0)
                  && (localStrength.indexOf('-') > 0)) {

                int hyphPosition = 0;

                hyphPosition = localStrength.indexOf('-');
                Double firstValue = new Double(
                    parseDoubleValue(localStrength.subSequence(0,
                        hyphPosition)));
                Double secondValue = new Double(
                    parseDoubleValue(localStrength
                        .substring(hyphPosition + 2)));
                if (firstValue.doubleValue() >= secondValue
                    .doubleValue() && findMaxValue == true) {
                  setStrengthElement(firstValue.toString(),
                      focusToken.getBegin(), focusToken.getEnd());
                } else {
                  setStrengthElement(firstValue.toString(),
                      focusToken.getBegin(), focusToken.getEnd());
                }

                setStrengthElement(localStrength,
                    focusToken.getBegin(), focusToken.getEnd());
              } else {
                setStrengthElement(localStrength,
                    focusToken.getBegin(), focusToken.getEnd());
              }
            }
      }
      Iterator formTokenItr = FSUtil.getAnnotationsIteratorInSpan(jcas, FormAnnotation.type, beginPos, endPos);
      while (formTokenItr.hasNext()){
        FormAnnotation focusToken = (FormAnnotation) formTokenItr.next();
        String localForm = null;
        if ((localForm = findFormElement(jcas, focusToken.getBegin(),
            focusToken.getEnd())) == null) {
          form = new FormElement(focusToken.getCoveredText(),
              focusToken.getBegin(), focusToken.getEnd());
        } else {
          setFormElement(localForm, focusToken.getBegin(), focusToken
              .getEnd());
        }
      }
      Iterator routeTokenItr = FSUtil.getAnnotationsIteratorInSpan(jcas, RouteAnnotation.type, beginPos, endPos);
      while (routeTokenItr.hasNext()){
        RouteAnnotation focusToken = (RouteAnnotation) routeTokenItr.next();
        String localRoute = null;
        if ((localRoute = findRouteElement(jcas, focusToken.getBegin(),
            focusToken.getEnd())) == null) {
          route = new RouteElement(focusToken.getCoveredText(),
              focusToken.getBegin(), focusToken.getEnd());
        } else {
          setRouteElement(localRoute, focusToken.getBegin(),
              focusToken.getEnd());
        }
      }
      Iterator durationTokenItr = FSUtil.getAnnotationsIteratorInSpan(jcas, DurationAnnotation.type, beginPos, endPos);
      while (durationTokenItr.hasNext()){
        DurationAnnotation focusToken = (DurationAnnotation) durationTokenItr.next();
        String localDuration = null;
        if ((localDuration = findDurationElement(jcas, focusToken
            .getBegin(), focusToken.getEnd())) == null) {
          duration = new DurationElement(focusToken.getCoveredText(),
              focusToken.getBegin(), focusToken.getEnd());
        } else {
          setDurationElement(localDuration, focusToken.getBegin(),
              focusToken.getEnd());
        }
      }

     
 
View Full Code Here

Examples of org.apache.ctakes.drugner.type.FrequencyUnitAnnotation

    Iterator firItr = FSUtil.getAnnotationsIteratorInSpan(jcas,
        FrequencyUnitAnnotation.type, beginOffset, endOffset + 1);

    while (firItr.hasNext()) {

      FrequencyUnitAnnotation da = (FrequencyUnitAnnotation) firItr
          .next();
      if (da.getBegin() == beginOffset && da.getPeriod() > holdLargestPeriod) {
        holdLargestPeriod = da.getPeriod();
        int posHyph = da.getCoveredText().lastIndexOf('-');
        String lastTerm = da.getCoveredText();
        int szString = lastTerm.toString().length();
        if (posHyph > 0) {
          lastTerm = lastTerm.substring(posHyph + 1, szString);
        }

        if (da.getPeriod() == FrequencyUnitToken.QUANTITY_ONE) {

          return FrequencyUnitElement.DAILY;
        } else if (da.getPeriod() == FrequencyUnitToken.QUANTITY_TWO) {

          if (frequency != null
              && (frequency.getBeginOffset() != beginOffset && frequency
                  .getEndOffset() != endOffset)) {
            if ((dosage == null
                || (dosage != null
                    && convertFromTextToNum(
                        dosage.getDosage()).compareTo(
                        "1") == 0 && (dosage
                    .getBeginOffset() != beginOffset && dosage
                    .getEndOffset() != endOffset)))
                    && (changeStatus != null  && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.OTHER) != 0)
                    &&  (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASEFROM) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASEFROM) != 0))) {
              setFrequencyElement(
                  frequency.getFrequencyMention(), frequency
                      .getBeginOffset(), frequency
                      .getEndOffset());
            } else {
              double updateFreq = new Double(frequency
                  .getFrequencyMention()).doubleValue() * 2.0;
              setFrequencyElement(String.valueOf(updateFreq), beginOffset,
                  endOffset);
            }
          } else {

            setFrequencyElement("2.0", beginOffset, endOffset);
          }
          return FrequencyUnitElement.DAILY;
        } else if (da.getPeriod() == FrequencyUnitToken.QUANTITY_THREE) {
          if (frequency != null
              && (frequency.getBeginOffset() != beginOffset && frequency
                  .getEndOffset() != endOffset)) {
            if ((dosage == null
                || (dosage != null
                    && convertFromTextToNum(
                        dosage.getDosage()).compareTo(
                        "1") == 0 && (dosage
                    .getBeginOffset() != beginOffset && dosage
                    .getEndOffset() != endOffset)))
                    && (changeStatus != null  && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.OTHER) != 0)
                    &&  (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASEFROM) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASEFROM) != 0))){
              setFrequencyElement(
                  frequency.getFrequencyMention(), frequency
                      .getBeginOffset(), frequency
                      .getEndOffset());
            } else {
              double updateFreq = new Double(frequency
                  .getFrequencyMention()).doubleValue() * 3.0;
              setFrequencyElement(String.valueOf(updateFreq), beginOffset,
                  endOffset);
            }
          } else {
            setFrequencyElement("3.0", beginOffset, endOffset);
          }
          return FrequencyUnitElement.DAILY;
        } else if (da.getPeriod() == FrequencyUnitToken.QUANTITY_FOUR) {

          if (frequency != null
              && (frequency.getBeginOffset() != beginOffset && frequency
                  .getEndOffset() != endOffset)) {
            if ((dosage == null
                || (dosage != null
                    && convertFromTextToNum(
                        dosage.getDosage()).compareTo(
                        "1") == 0 && (dosage
                    .getBeginOffset() != beginOffset && dosage
                    .getEndOffset() != endOffset)))
                    && (changeStatus != null  && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.OTHER) != 0)
                    &&  (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASEFROM) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASEFROM) != 0))) {
              setFrequencyElement(
                  frequency.getFrequencyMention(), frequency
                      .getBeginOffset(), frequency
                      .getEndOffset());
            } else {
              double updateFreq = new Double(frequency
                  .getFrequencyMention()).doubleValue() * 4.0;
              setFrequencyElement(String.valueOf(updateFreq), beginOffset,
                  endOffset);
            }
          } else {
            setFrequencyElement("4.0", beginOffset, endOffset);
          }
          return FrequencyUnitElement.DAILY;
        } else if (da.getPeriod() == FrequencyUnitToken.QUANTITY_FIVE) {
          if (frequency != null
              && (frequency.getBeginOffset() != beginOffset && frequency
                  .getEndOffset() != endOffset)) {
            if ((dosage == null
                || (dosage != null
                    && convertFromTextToNum(
                        dosage.getDosage()).compareTo(
                        "1") == 0 && (dosage
                    .getBeginOffset() != beginOffset && dosage
                    .getEndOffset() != endOffset)))
                    && (changeStatus != null  && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.OTHER) != 0)
                    &&  (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASEFROM) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASEFROM) != 0))){
              setFrequencyElement(
                  frequency.getFrequencyMention(), frequency
                      .getBeginOffset(), frequency
                      .getEndOffset());
            } else {
              double updateFreq = new Double(frequency
                  .getFrequencyMention()).doubleValue() * 5.0;
              setFrequencyElement(String.valueOf(updateFreq), beginOffset,
                  endOffset);
            }
          } else {
            setFrequencyElement("5.0", beginOffset, endOffset);
          }
          return FrequencyUnitElement.DAILY;
        } else if (da.getPeriod() == FrequencyUnitToken.QUANTITY_SIX) {
          if (frequency != null
              && (frequency.getBeginOffset() != beginOffset && frequency
                  .getEndOffset() != endOffset)) {
            if ((dosage == null
                || (dosage != null
                    && convertFromTextToNum(
                        dosage.getDosage()).compareTo(
                        "1") == 0 && (dosage
                    .getBeginOffset() != beginOffset && dosage
                    .getEndOffset() != endOffset)))
                    && (changeStatus != null  && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.OTHER) != 0)
                    &&  (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASEFROM) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASEFROM) != 0))) {
              setFrequencyElement(
                  frequency.getFrequencyMention(), frequency
                      .getBeginOffset(), frequency
                      .getEndOffset());
            } else {
              double updateFreq = new Double(frequency
                  .getFrequencyMention()).doubleValue() * 6.0;
              setFrequencyElement(String.valueOf(updateFreq), beginOffset,
                  endOffset);
            }
          } else {
            setFrequencyElement("6.0", beginOffset, endOffset);

          }
          return FrequencyUnitElement.DAILY;
        } else if (da.getPeriod() == FrequencyUnitToken.QUANTITY_SEVEN) {
          if (frequency != null
              && (frequency.getBeginOffset() != beginOffset && frequency
                  .getEndOffset() != endOffset)) {
            if ((dosage == null
                || (dosage != null
                    && convertFromTextToNum(
                        dosage.getDosage()).compareTo(
                        "1") == 0 && (dosage
                    .getBeginOffset() != beginOffset && dosage
                    .getEndOffset() != endOffset)))
                    && (changeStatus != null  && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.OTHER) != 0)
                    &&  (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASEFROM) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASEFROM) != 0))){
              setFrequencyElement(
                  frequency.getFrequencyMention(), frequency
                      .getBeginOffset(), frequency
                      .getEndOffset());
            } else {
              double updateFreq = new Double(frequency
                  .getFrequencyMention()).doubleValue() * 7.0;
              setFrequencyElement(String.valueOf(updateFreq), beginOffset,
                  endOffset);
            }
          } else {
            setFrequencyElement("7.0", beginOffset, endOffset);
          }
          return FrequencyUnitElement.DAILY;
        } else if (da.getPeriod() == FrequencyUnitToken.QUANTITY_EIGHT) {
          if (frequency != null
              && (frequency.getBeginOffset() != beginOffset && frequency
                  .getEndOffset() != endOffset)) {
            if ((dosage == null
                || (dosage != null
                    && convertFromTextToNum(
                        dosage.getDosage()).compareTo(
                        "1") == 0 && (dosage
                    .getBeginOffset() != beginOffset && dosage
                    .getEndOffset() != endOffset)))
                    && (changeStatus != null  && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.OTHER) != 0)
                    &&  (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.DECREASEFROM) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASE) != 0)
                    && (changeStatus.getDrugChangeStatus().compareTo(DrugChangeStatusToken.INCREASEFROM) != 0))) {
              setFrequencyElement(
                  frequency.getFrequencyMention(), frequency
                      .getBeginOffset(), frequency
                      .getEndOffset());
            } else {
              double updateFreq = new Double(frequency
                  .getFrequencyMention()).doubleValue() * 8.0;
              setFrequencyElement(String.valueOf(updateFreq), beginOffset,
                  endOffset);
            }
          } else {
            setFrequencyElement("8.0", beginOffset, endOffset);
          }

          return FrequencyUnitElement.DAILY;
        } else if (da.getPeriod() == new Float(
            FrequencyUnitToken.QUANTITY_EVERY_OTHER_DAY)
            .floatValue()) {
          return FrequencyUnitElement.EVERYOTHERDAY;
        } else if (da.getPeriod() == new Float(
            FrequencyUnitToken.QUANTITY_WEEKLY).floatValue()) {
          return FrequencyUnitElement.WEEKLY;
        } else if (da.getPeriod() == new Float(
            FrequencyUnitToken.QUANTITY_MONTHLY).floatValue()) {
          return FrequencyUnitElement.MONTHLY;
        } else if (da.getPeriod() == FrequencyUnitToken.QUANTITY_PRN) {
          return FrequencyUnitElement.ASNEEDED;
        }
        return lastTerm;

      }
View Full Code Here

Examples of org.apache.ctakes.drugner.type.FrequencyUnitAnnotation

        FrequencyUnitToken fut = (FrequencyUnitToken) frequencyUnitTokenItr.next();

        begSegFUT = fut.getStartOffset();
        endSegFUT = fut.getEndOffset();
        FrequencyUnitAnnotation ma = new FrequencyUnitAnnotation(jcas,
            begSegFUT, endSegFUT);
        ma.setPeriod(new Float(fut.getFrequencyUnitQuantity()).floatValue());
        ma.addToIndexes();

      }
      // The frequencyFSM can take advantage of the frequencyUnit to
      // establish conditions via the override
      Set frequencyTokenSet = iv_frequencyFSM.execute(baseTokenList,
          frequencyUnitTokenSet, rangeTokenSet);
      boolean foundFrequency = false;
      Iterator frequencyTokenItr = frequencyTokenSet.iterator();
      int begSegFT = 0, endSegFT = 0;
      while (frequencyTokenItr.hasNext())
      {

        FrequencyToken ft = (FrequencyToken) frequencyTokenItr.next();
        begSegFT = ft.getStartOffset();
        endSegFT = ft.getEndOffset();
        FrequencyAnnotation ma = new FrequencyAnnotation(jcas, begSegFT,
            endSegFT);
        ma.addToIndexes();

      }

      /* Check again if confidence was found during frequency check */

      Set durationTokenSet = iv_durationFSM.execute(baseTokenList,
          rangeTokenSet);
      Iterator durationTokenItr = durationTokenSet.iterator();

      int begSegDU = 0, endSegDU = 0;
      while (durationTokenItr.hasNext())
      {
        DurationToken du = (DurationToken) durationTokenItr.next();
        begSegDU = du.getStartOffset();
        endSegDU = du.getEndOffset();
        DurationAnnotation ma = new DurationAnnotation(jcas, begSegDU, endSegDU);
        // dm.setDurationElement(jcas, begSegDU, endSegDU);
        ma.addToIndexes();
        // loadandAppend("./frequencyTable.csv", ma.getCoveredText(),
        // true);
      }

    } catch (Exception e)
View Full Code Here

Examples of org.apache.ctakes.drugner.type.FrequencyUnitAnnotation

          boolean onlyNeedOneFrequencyUnit = false;


          while (frequencyUnitItr.hasNext() && !onlyNeedOneFrequencyUnit)
          {
            FrequencyUnitAnnotation fua = (FrequencyUnitAnnotation) frequencyUnitItr.next();
            if (holdFrequencyUnitBeginOffset != fua.getBegin()
                && holdFrequencyUnitEndOffset != fua.getEnd()
                && relatedStatus != null)
            {
              double curFrequencyUnitValue = new Float(fua.getPeriod()).doubleValue();

              boolean findLowValue = true;
              if (relatedStatus[0].compareTo(DrugChangeStatusToken.INCREASE) == 0)
              {
                if (curFrequencyUnitValue > frequencyUnitValue)
                {
                  frequencyUnitValue = curFrequencyUnitValue;
                  frequencyUnitText = dm.getFrequencyUnitElement();
                }
              } else if (relatedStatus[0] == null
                  || relatedStatus[0].compareTo(DrugChangeStatusToken.DECREASE) == 0)
              {
                if (findLowValue)
                  frequencyUnitValue = curFrequencyUnitValue;
                if (curFrequencyUnitValue <= frequencyUnitValue)
                {
                  frequencyUnitValue = curFrequencyUnitValue;
                  frequencyUnitText = dm.getFrequencyUnitElement();
                }
                findLowValue = false;
              }
            } else
            {
              if (fua.getPeriod() == FrequencyUnitToken.QUANTITY_PRN)
                foundPRN = true;
              else
              {
                frequencyUnitText = dm.getFrequencyUnitElement();

                if (!maxExists)
                {
                  onlyNeedOneStrength = true;
                }

              }
            }

            holdFrequencyUnit.add(fua);
            holdFrequencyUnitBeginOffset = fua.getBegin();
            holdFrequencyUnitEndOffset = fua.getEnd();
          }

        }
        if (recurseNER != null && recurseNER.getDrugChangeStatus() != null
            && relatedStatus[0] != null  && dm.changeStatus == null)
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.