Updates to serialization
diff --git a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/ProcessSectionSwitch.java b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/ProcessSectionSwitch.java
index 1f0c416..8975817 100644
--- a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/ProcessSectionSwitch.java
+++ b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/ProcessSectionSwitch.java
@@ -497,7 +497,7 @@
 				Row row2 = sheet.createRow(0);
 				int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
 				offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
-				offset = SheetHeaderUtil.createObservationHeader(row1, row2, offset);
+				offset = SheetHeaderUtil.createObservationHeaderWithClinicalNotes(row1, row2, offset);
 			}
 			Row row = sheet.createRow(sheet.getPhysicalNumberOfRows());
 			int offset = SpreadsheetSerializer.serializePatient(row, 0, this.documentMetadata, patientRole);
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 ebae0a0..f9b7130 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
@@ -229,7 +229,7 @@
 
 			int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
 			offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
-			offset = SheetHeaderUtil.createObservationHeader(row1, row2, offset);
+			offset = SheetHeaderUtil.createObservationHeaderWithClinicalNotes(row1, row2, offset);
 			emptySectionOffset.put(sheet.getSheetName(), offset);
 		}
 
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 09c769d..2cda844 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
@@ -280,6 +280,22 @@
 		return offset;
 	}
 
+	static int createObservationHeaderWithClinicalNotes(Row row1, Row row2, int offset) {
+		row2.createCell(offset++).setCellValue(replaceSpace("ID"));
+		row2.createCell(offset++).setCellValue(replaceSpace("Date"));
+		row2.createCell(offset++).setCellValue(replaceSpace("Location"));
+		row2.getSheet().setColumnHidden(offset - 1, hideColumns);
+		offset = addCodeHeader(row2, offset, "Observation");
+		row2.createCell(offset++).setCellValue(replaceSpace("Value"));
+		row2.createCell(offset++).setCellValue(replaceSpace("Location"));
+		row2.getSheet().setColumnHidden(offset - 1, hideColumns);
+		row2.createCell(offset++).setCellValue(replaceSpace("Clinical Notes"));
+		row2.createCell(offset++).setCellValue(replaceSpace("Location"));
+		row2.getSheet().setColumnHidden(offset - 1, hideColumns);
+		offset = addSectionHeader(row2, offset);
+		return offset;
+	}
+
 	static int createObservationHeaderWithAuthor(Row row1, Row row2, int offset) {
 		row2.createCell(offset++).setCellValue(replaceSpace("ID"));
 		row2.createCell(offset++).setCellValue(replaceSpace("Date"));
@@ -337,6 +353,9 @@
 		row2.createCell(offset++).setCellValue(replaceSpace("Prescription"));
 		row2.createCell(offset++).setCellValue(replaceSpace("Location"));
 		row2.getSheet().setColumnHidden(offset - 1, hideColumns);
+		row2.createCell(offset++).setCellValue(replaceSpace("Clinical Notes"));
+		row2.createCell(offset++).setCellValue(replaceSpace("Location"));
+		row2.getSheet().setColumnHidden(offset - 1, hideColumns);
 		row2.createCell(offset++).setCellValue(replaceSpace("Organization"));
 		row2.createCell(offset++).setCellValue(replaceSpace("Author"));
 		offset = addSectionHeader(row2, offset);
@@ -527,6 +546,9 @@
 		row2.createCell(offset++).setCellValue(replaceSpace("Range"));
 		row2.createCell(offset++).setCellValue(replaceSpace("Location"));
 		row2.getSheet().setColumnHidden(offset - 1, hideColumns);
+		row2.createCell(offset++).setCellValue(replaceSpace("Clinical Notes"));
+		row2.createCell(offset++).setCellValue(replaceSpace("Location"));
+		row2.getSheet().setColumnHidden(offset - 1, hideColumns);
 		offset = addSectionHeader(row2, offset);
 		return offset;
 
diff --git a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SpreadsheetSerializer.java b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SpreadsheetSerializer.java
index 9e961c7..818c18e 100644
--- a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SpreadsheetSerializer.java
+++ b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/SpreadsheetSerializer.java
@@ -1115,7 +1115,7 @@
 				int offset = serializePatient(row, 0, organizationAndSoftware, patientRole);
 				offset = SpreadsheetSerializer.serializeEnounterID(row, offset, organizer, encounters);
 				offset = serializeOrganizer(row, offset, organizer, false, false);
-				offset = serializeObservation(row, offset, observation, true, false, true);
+				offset = serializeObservation(row, offset, observation, true, false, true, true);
 				serializeSectionAndFileName(
 					row, offset, observation.getSection(), organizationAndSoftware.completePath);
 				offset = appendValidation(row, offset, observation);
@@ -1915,7 +1915,7 @@
 		if (checkForNotes) {
 			boolean hasNotes = false;
 			Act note = null;
-			for (Act act : observation.getActs()) {
+			for (Act act : procedureActivityAct.getActs()) {
 				if (act instanceof NoteActivity) {
 					hasNotes = true;
 					note = act;
@@ -2004,7 +2004,7 @@
 		if (checkForNotes) {
 			boolean hasNotes = false;
 			Act note = null;
-			for (Act act : observation.getActs()) {
+			for (Act act : procedureActivityObservation.getActs()) {
 				if (act instanceof NoteActivity) {
 					hasNotes = true;
 					note = act;
@@ -2058,7 +2058,7 @@
 		if (checkForNotes) {
 			boolean hasNotes = false;
 			Act note = null;
-			for (Act act : observation.getActs()) {
+			for (Act act : procedureActivityProcedure.getActs()) {
 				if (act instanceof NoteActivity) {
 					hasNotes = true;
 					note = act;
@@ -2348,7 +2348,7 @@
 		if (checkForNotes) {
 			boolean hasNotes = false;
 			Act note = null;
-			for (Act act : observation.getActs()) {
+			for (Act act : substanceAdministration.getActs()) {
 				if (act instanceof NoteActivity) {
 					hasNotes = true;
 					note = act;