Updates for allergy processing

Added V2 criticality to serialization
diff --git a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SectionSwitch.java b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SectionSwitch.java
index 7eab864..6588a53 100644
--- a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SectionSwitch.java
+++ b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SectionSwitch.java
@@ -40,10 +40,12 @@
 import org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSectionEntriesOptional;
 import org.openhealthtools.mdht.uml.cda.consol.AllergiesSectionEntriesOptional;
 import org.openhealthtools.mdht.uml.cda.consol.AllergyObservation;
+import org.openhealthtools.mdht.uml.cda.consol.AllergyObservation2;
 import org.openhealthtools.mdht.uml.cda.consol.AllergyProblemAct;
 import org.openhealthtools.mdht.uml.cda.consol.ChiefComplaintAndReasonForVisitSection;
 import org.openhealthtools.mdht.uml.cda.consol.ComplicationsSection;
 import org.openhealthtools.mdht.uml.cda.consol.CoverageActivity;
+import org.openhealthtools.mdht.uml.cda.consol.CriticalityObservation;
 import org.openhealthtools.mdht.uml.cda.consol.DischargeMedication;
 import org.openhealthtools.mdht.uml.cda.consol.DischargeMedicationsSectionEntriesOptional2;
 import org.openhealthtools.mdht.uml.cda.consol.FamilyHistorySection;
@@ -1318,6 +1320,33 @@
 				offset = SpreadsheetSerializer.appendCode(row, offset, allergyProblemAct.getSection(), null, null);
 			}
 
+			// SeverityObservation criticality = null;
+
+			CD criticalityCode = null;
+
+			if (allergyObservation instanceof AllergyObservation2) {
+
+				AllergyObservation2 allergyObservation2 = (AllergyObservation2) allergyObservation;
+
+				CriticalityObservation criticalityObservation = allergyObservation2.getCriticalityObservation();
+				if (criticalityObservation != null) {
+
+					for (ANY any : criticalityObservation.getValues()) {
+						if (any instanceof CD) {
+							criticalityCode = (CD) any;
+						}
+					}
+
+					offset = SpreadsheetSerializer.appendCode(
+						row, offset, allergyProblemAct.getSection(), criticalityCode, criticalityObservation.getText());
+
+				} else {
+					offset = SpreadsheetSerializer.appendCode(row, offset, allergyProblemAct.getSection(), null, null);
+				}
+			} else {
+				offset = SpreadsheetSerializer.appendCode(row, offset, allergyProblemAct.getSection(), null, null);
+			}
+
 			if (checkForNotes) {
 				boolean hasNotes = false;
 				Act note = null;
diff --git a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SheetHeaderUtil.java b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SheetHeaderUtil.java
index d23c697..3b0b83d 100644
--- a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SheetHeaderUtil.java
+++ b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SheetHeaderUtil.java
@@ -35,6 +35,7 @@
 
 		offset = addCodeHeader(row2, offset, "Reaction");
 		offset = addCodeHeader(row2, offset, "Severity");
+		offset = addCodeHeader(row2, offset, "Criticality");
 		row2.createCell(offset++).setCellValue(replaceSpace("Clinical Notes"));
 		row2.createCell(offset++).setCellValue(replaceSpace("Location"));
 		row2.getSheet().setColumnHidden(offset - 1, hideColumns);