modifier.addToIndexes();
idAnnotationMap.put(annotation.id, modifier);
} else if ("Form".equals(annotation.type)) {
String value = stringSlots.remove("form_values");
MedicationForm attribute = new MedicationForm(jCas);
attribute.setValue(value);
attribute.addToIndexes();
MedicationFormModifier modifier = new MedicationFormModifier(jCas, coveringSpan.begin, coveringSpan.end);
modifier.setNormalizedForm(attribute);
modifier.addToIndexes();
idAnnotationMap.put(annotation.id, modifier);
} else if ("Frequency".equals(annotation.type)) {
KnowtatorAnnotation unit = annotationSlots.remove("frequency_unit");
KnowtatorAnnotation number = annotationSlots.remove("frequency_number");
MedicationFrequency attribute = new MedicationFrequency(jCas);
if (unit != null) {
String unitString = unit.stringSlots.get("frequency_unit_values");
attribute.setUnit(unitString);
}
if (number != null) {
String numberString = number.stringSlots.get("frequency_number_normalization");
attribute.setNumber(numberString);
}
attribute.addToIndexes();
MedicationFrequencyModifier modifier = new MedicationFrequencyModifier(jCas, coveringSpan.begin, coveringSpan.end);
modifier.setNormalizedForm(attribute);
modifier.addToIndexes();
idAnnotationMap.put(annotation.id, modifier);
} else if ("Frequency number".equals(annotation.type)) {
// already handled in "Frequency" above
stringSlots.remove("frequency_number_normalization");
} else if ("Frequency unit".equals(annotation.type)) {
// already handled in "Frequency" above
stringSlots.remove("frequency_unit_values");
} else if ("Route".equals(annotation.type)) {
String value = stringSlots.remove("route_values");
MedicationRoute attribute = new MedicationRoute(jCas);
attribute.setValue(value);
attribute.addToIndexes();
MedicationRouteModifier modifier = new MedicationRouteModifier(jCas, coveringSpan.begin, coveringSpan.end);
modifier.setNormalizedForm(attribute);
modifier.addToIndexes();
idAnnotationMap.put(annotation.id, modifier);
} else if ("Status change".equals(annotation.type)) {
String value = stringSlots.remove("change_status_value");
MedicationStatusChange attribute = new MedicationStatusChange(jCas);
attribute.setValue(value);
attribute.addToIndexes();
MedicationStatusChangeModifier modifier = new MedicationStatusChangeModifier(jCas, coveringSpan.begin, coveringSpan.end);
modifier.setNormalizedForm(attribute);
modifier.addToIndexes();
idAnnotationMap.put(annotation.id, modifier);
} else if ("Strength".equals(annotation.type)) {
KnowtatorAnnotation unit = annotationSlots.remove("strength_unit");
KnowtatorAnnotation number = annotationSlots.remove("strength_number");
MedicationStrength attribute = new MedicationStrength(jCas);
if (unit != null) {
KnowtatorAnnotation.Span unitSpan = unit.getCoveringSpan();
String unitString = text.substring(unitSpan.begin, unitSpan.end);
attribute.setUnit(unitString);
}
if (number != null) {
KnowtatorAnnotation.Span numberSpan = number.getCoveringSpan();
String numberString = text.substring(numberSpan.begin, numberSpan.end);
attribute.setNumber(numberString);
}
attribute.addToIndexes();
MedicationStrengthModifier modifier = new MedicationStrengthModifier(jCas, coveringSpan.begin, coveringSpan.end);
modifier.setNormalizedForm(attribute);
modifier.addToIndexes();
idAnnotationMap.put(annotation.id, modifier);
} else if ("Strength number".equals(annotation.type)) {
// already handled in "Strength" above
} else if ("Strength unit".equals(annotation.type)) {
// already handled in "Strength" above
} else if ("device_class".equals(annotation.type)) {
String code = stringSlots.remove("associatedCode");
ProcedureDevice attribute = new ProcedureDevice(jCas);
attribute.setValue(code);
ProcedureDeviceModifier modifier = new ProcedureDeviceModifier(jCas, coveringSpan.begin, coveringSpan.end);
modifier.setNormalizedForm(attribute);
modifier.addToIndexes();
idAnnotationMap.put(annotation.id, modifier);
} else if ("method_class".equals(annotation.type)) {
String code = stringSlots.remove("associatedCode");
ProcedureMethod attribute = new ProcedureMethod(jCas);
attribute.setValue(code);
ProcedureMethodModifier modifier = new ProcedureMethodModifier(jCas, coveringSpan.begin, coveringSpan.end);
modifier.setNormalizedForm(attribute);
modifier.addToIndexes();
idAnnotationMap.put(annotation.id, modifier);
} else if ("severity_class".equals(annotation.type)) {
Severity attribute = new Severity(jCas);
attribute.setValue(stringSlots.remove("severity_normalization"));
attribute.addToIndexes();
SeverityModifier modifier = new SeverityModifier(jCas, coveringSpan.begin, coveringSpan.end);
modifier.setTypeID(CONST.MODIFIER_TYPE_ID_SEVERITY_CLASS);
modifier.setNormalizedForm(attribute);
modifier.addToIndexes();
idAnnotationMap.put(annotation.id, modifier);