Updates to SocialHistory Observation
Added author and organization to the serialzation
modified the naming for observation
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 c674864..470d0f8 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
@@ -138,7 +138,7 @@
Row row2 = sheet.createRow(0);
int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
- offset = SheetHeaderUtil.createSocialHistoryHeader(row1, row2, offset);
+ offset = SheetHeaderUtil.createObservationHeader(row1, row2, offset);
}
Row row = sheet.createRow(sheet.getPhysicalNumberOfRows());
int offset = SpreadsheetSerializer.serializePatient(row, 0, this.documentMetadata, patientRole);
@@ -162,7 +162,7 @@
Row row2 = sheet.createRow(0);
int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
- offset = SheetHeaderUtil.createSocialHistoryHeader(row1, row2, offset);
+ offset = SheetHeaderUtil.createObservationHeader(row1, row2, offset);
}
Row row = sheet.createRow(sheet.getPhysicalNumberOfRows());
int offset = SpreadsheetSerializer.serializePatient(row, 0, this.documentMetadata, patientRole);
@@ -186,12 +186,12 @@
Row row2 = sheet.createRow(0);
int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
- offset = SheetHeaderUtil.createSocialHistoryHeader(row1, row2, offset);
+ offset = SheetHeaderUtil.createObservationHeader(row1, row2, offset);
}
Row row = sheet.createRow(sheet.getPhysicalNumberOfRows());
int offset = SpreadsheetSerializer.serializePatient(row, 0, this.documentMetadata, patientRole);
offset = SpreadsheetSerializer.serializeEnounterID(row, offset, observation, encounters);
- offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, false);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
@@ -235,12 +235,12 @@
Row row2 = sheet.createRow(0);
int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
- offset = SheetHeaderUtil.createSocialHistoryHeader(row1, row2, offset);
+ offset = SheetHeaderUtil.createObservationHeader(row1, row2, offset);
}
Row row = sheet.createRow(sheet.getPhysicalNumberOfRows());
int offset = SpreadsheetSerializer.serializePatient(row, 0, this.documentMetadata, patientRole);
offset = SpreadsheetSerializer.serializeEnounterID(row, offset, observation, encounters);
- offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, false);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
@@ -259,7 +259,7 @@
Row row2 = sheet.createRow(0);
int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
- offset = SheetHeaderUtil.createSocialHistoryHeader(row1, row2, offset);
+ offset = SheetHeaderUtil.createObservationHeader(row1, row2, offset);
}
Row row = sheet.createRow(sheet.getPhysicalNumberOfRows());
int offset = SpreadsheetSerializer.serializePatient(row, 0, this.documentMetadata, patientRole);
@@ -306,7 +306,7 @@
Row row2 = sheet.createRow(0);
int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
- offset = SheetHeaderUtil.createSocialHistoryHeader(row1, row2, offset);
+ offset = SheetHeaderUtil.createObservationHeader(row1, row2, offset);
}
Row row = sheet.createRow(sheet.getPhysicalNumberOfRows());
int offset = SpreadsheetSerializer.serializePatient(row, 0, this.documentMetadata, patientRole);
@@ -353,7 +353,7 @@
Row row2 = sheet.createRow(0);
int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
- offset = SheetHeaderUtil.createSocialHistoryHeader(row1, row2, offset);
+ offset = SheetHeaderUtil.createObservationHeader(row1, row2, offset);
}
Row row = sheet.createRow(sheet.getPhysicalNumberOfRows());
int offset = SpreadsheetSerializer.serializePatient(row, 0, this.documentMetadata, patientRole);
@@ -480,7 +480,7 @@
Row row2 = sheet.createRow(0);
int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
- offset = SheetHeaderUtil.createSocialHistoryHeader(row1, row2, offset);
+ offset = SheetHeaderUtil.createObservationHeader(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 3ef88d6..f8c332a 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.createSocialHistoryHeader(row1, row2, offset);
+ offset = SheetHeaderUtil.createObservationHeader(row1, row2, offset);
emptySectionOffset.put(sheet.getSheetName(), offset);
}
@@ -809,7 +809,7 @@
int offset = SheetHeaderUtil.createPatientHeader(row1, row2, 0);
offset = SheetHeaderUtil.createEncounterIDHeader(row1, row2, offset);
- offset = SheetHeaderUtil.createSocialHistoryHeader(row1, row2, offset);
+ offset = SheetHeaderUtil.createObservationHeaderWithAuthor(row1, row2, offset);
emptySectionOffset.put(sheet.getSheetName(), offset);
}
@@ -1036,7 +1036,7 @@
offset = SpreadsheetSerializer.serializeEnounterID(row, offset, sa, encounters);
- offset = SpreadsheetSerializer.serializeObservation(row, offset, sa, false);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, sa, false, true);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, sa.getSection(), fileName);
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 6332b57..dbcb92f 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
@@ -233,7 +233,7 @@
return offset;
}
- static int createSocialHistoryHeader(Row row1, Row row2, int offset) {
+ static int createObservationHeader(Row row1, Row row2, int offset) {
row2.createCell(offset++).setCellValue(replaceSpace("ID"));
row2.createCell(offset++).setCellValue(replaceSpace("Date"));
row2.createCell(offset++).setCellValue(replaceSpace("Location"));
@@ -246,6 +246,21 @@
return offset;
}
+ static int createObservationHeaderWithAuthor(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("Organization"));
+ row2.createCell(offset++).setCellValue(replaceSpace("Author"));
+ offset = addSectionHeader(row2, offset);
+ return offset;
+ }
+
static int createAdvanceDirectivesHeader(Row row1, Row row2, int offset) {
row2.createCell(offset++).setCellValue(replaceSpace("ID"));
row2.createCell(offset++).setCellValue(replaceSpace("Date"));
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 c72bedd..489f17d 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
@@ -1313,31 +1313,22 @@
}
static int serializeObservation(Row row, int offset, Observation resultObservation) {
- return serializeObservation(row, offset, resultObservation, true);
+ return serializeObservation(row, offset, resultObservation, true, false);
}
/**
* @param row
* @param offset
- * @param resultObservation
+ * @param observation
* @return
*/
- static int serializeObservation(Row row, int offset, Observation resultObservation, boolean referenceRange) {
+ static int serializeObservation(Row row, int offset, Observation observation, boolean referenceRange,
+ boolean author) {
- /*
- *
- * row2.createCell(offset++).setCellValue("ID");
- * row2.createCell(offset++).setCellValue("Test");
- * row2.createCell(offset++).setCellValue("Description");
- * row2.createCell(offset++).setCellValue("Result");
- * // undo to go back to two rows for headers row1.getSheet().addMergedRegion(new CellRangeAddress(0, 0, secondColumn, offset));
- * row2.createCell(offset++).setCellValue("Range");
- *
- */
Cell cell = row.createCell(offset++);
StringBuffer sb = new StringBuffer();
- for (II ii : resultObservation.getIds()) {
+ for (II ii : observation.getIds()) {
sb.append(CDAValueUtil.getKey2(ii));
}
@@ -1347,7 +1338,7 @@
cell = row.createCell(offset++);
sb = new StringBuffer();
- IVL_TS ivlts = resultObservation.getEffectiveTime();
+ IVL_TS ivlts = observation.getEffectiveTime();
if (ivlts != null) {
@@ -1391,10 +1382,9 @@
// currently only adding status code to result observations
if (referenceRange) {
- if (resultObservation.getStatusCode() != null &&
- !StringUtils.isEmpty(resultObservation.getStatusCode().getCode())) {
- row.createCell(offset++).setCellValue(resultObservation.getStatusCode().getCode());
- row.createCell(offset++).setCellValue(CDAUtil.getDomainPath(resultObservation.getStatusCode()));
+ if (observation.getStatusCode() != null && !StringUtils.isEmpty(observation.getStatusCode().getCode())) {
+ row.createCell(offset++).setCellValue(observation.getStatusCode().getCode());
+ row.createCell(offset++).setCellValue(CDAUtil.getDomainPath(observation.getStatusCode()));
} else {
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");
@@ -1402,12 +1392,12 @@
}
offset = SpreadsheetSerializer.appendCodeShowNullFlavor(
- row, offset, resultObservation.getSection(), resultObservation.getCode(), resultObservation.getText());
+ row, offset, observation.getSection(), observation.getCode(), observation.getText());
String value = "";
String valueLocation = "";
- for (ANY any : resultObservation.getValues()) {
- value = CDAValueUtil.getAnyValue(resultObservation.getSection(), any);
+ for (ANY any : observation.getValues()) {
+ value = CDAValueUtil.getAnyValue(observation.getSection(), any);
valueLocation = CDAUtil.getDomainPath(any);
}
if (value.length() < 1000) {
@@ -1420,12 +1410,12 @@
String referenceRangeValue = "";
ANY anyRangeValue = null;
- for (ReferenceRange rr : resultObservation.getReferenceRanges()) {
+ for (ReferenceRange rr : observation.getReferenceRanges()) {
if (rr.getObservationRange() != null && rr.getObservationRange().getValue() != null) {
anyRangeValue = rr.getObservationRange().getValue();
referenceRangeValue = CDAValueUtil.getAnyValue(
- resultObservation.getSection(), rr.getObservationRange().getValue());
+ observation.getSection(), rr.getObservationRange().getValue());
}
}
@@ -1436,6 +1426,11 @@
}
+ if (author) {
+ offset = SpreadsheetSerializer.appendOrganizationAndAuthor(row, offset, observation.getAuthors());
+
+ }
+
return offset;
}