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);