Updates to serializiation
expadend translation
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 470d0f8..01e6abe 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
@@ -143,7 +143,7 @@
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);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, true, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
@@ -167,7 +167,7 @@
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);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, true, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
@@ -191,7 +191,7 @@
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, false);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, false, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
@@ -240,7 +240,7 @@
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, false);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, true, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
@@ -264,7 +264,7 @@
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);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, true, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
@@ -311,7 +311,7 @@
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);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, true, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
@@ -358,7 +358,7 @@
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);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, true, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
@@ -485,7 +485,7 @@
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);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, true, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
@@ -660,7 +660,7 @@
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);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, true, false, false);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), file.getName());
}
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 e7af201..5d3a48d 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
@@ -1036,7 +1036,7 @@
offset = SpreadsheetSerializer.serializeEnounterID(row, offset, sa, encounters);
- offset = SpreadsheetSerializer.serializeObservation(row, offset, sa, false, true);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, sa, false, true, true);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, sa.getSection(), fileName);
@@ -1076,7 +1076,7 @@
int offset = SpreadsheetSerializer.serializePatient(row, 0, documentMetadata, patientRole);
offset = SpreadsheetSerializer.serializeEnounterID(row, offset, observation, encounters);
offset = SpreadsheetSerializer.serializeOrganizer(row, offset, organizer, false, true);
- offset = SpreadsheetSerializer.serializeObservation(row, offset, observation);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, false, false, true);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.getSection(), fileName);
}
@@ -1091,7 +1091,7 @@
Row row = sheet.createRow(sheet.getPhysicalNumberOfRows());
int offset = SpreadsheetSerializer.serializePatient(row, 0, documentMetadata, patientRole);
offset = SpreadsheetSerializer.serializeEnounterID(row, offset, observation, encounters);
- offset = SpreadsheetSerializer.serializeObservation(row, offset, observation);
+ offset = SpreadsheetSerializer.serializeObservation(row, offset, observation, false, false, true);
SpreadsheetSerializer.serializeSectionAndFileName(row, offset, observation.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 0497537..0f4adf9 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
@@ -225,8 +225,18 @@
row2.createCell(offset++).setCellValue(replaceSpace("Date"));
row2.createCell(offset++).setCellValue(replaceSpace("Location"));
row2.getSheet().setColumnHidden(offset - 1, hideColumns);
- offset = addCodeHeader(row2, offset, "Panel");
- offset = addCodeHeader(row2, offset, "Specimen");
+ if (GenerateCDADataHandler.exportCDTranslations) {
+ offset = addExtendedCodeHeader(row2, offset, "Panel");
+ } else {
+ offset = addCodeHeader(row2, offset, "Panel");
+ }
+
+ if (GenerateCDADataHandler.exportCDTranslations) {
+ offset = addExtendedCodeHeader(row2, offset, "Specimen");
+ } else {
+ offset = addCodeHeader(row2, offset, "Specimen");
+ }
+
row2.createCell(offset++).setCellValue(replaceSpace("Organization"));
row2.createCell(offset++).setCellValue(replaceSpace("Author"));
row2.createCell(offset++).setCellValue(replaceSpace("ID"));
@@ -236,7 +246,11 @@
row2.createCell(offset++).setCellValue(replaceSpace("Status"));
row2.createCell(offset++).setCellValue(replaceSpace("Location"));
row2.getSheet().setColumnHidden(offset - 1, hideColumns);
- offset = addCodeHeader(row2, offset, "Test");
+ if (GenerateCDADataHandler.exportCDTranslations) {
+ offset = addExtendedCodeHeader(row2, offset, "Test");
+ } else {
+ offset = addCodeHeader(row2, offset, "Test");
+ }
row2.createCell(offset++).setCellValue(replaceSpace("Result"));
row2.createCell(offset++).setCellValue(replaceSpace("Location"));
row2.getSheet().setColumnHidden(offset - 1, hideColumns);
@@ -265,7 +279,13 @@
row2.createCell(offset++).setCellValue(replaceSpace("Date"));
row2.createCell(offset++).setCellValue(replaceSpace("Location"));
row2.getSheet().setColumnHidden(offset - 1, hideColumns);
- offset = addCodeHeader(row2, offset, "Observation");
+
+ if (GenerateCDADataHandler.exportCDTranslations) {
+ offset = addExtendedCodeHeader(row2, offset, "Observation");
+ } else {
+ offset = addCodeHeader(row2, offset, "Observation");
+ }
+
row2.createCell(offset++).setCellValue(replaceSpace("Value"));
row2.createCell(offset++).setCellValue(replaceSpace("Location"));
row2.getSheet().setColumnHidden(offset - 1, hideColumns);
@@ -474,7 +494,11 @@
row2.createCell(offset++).setCellValue(replaceSpace("Date"));
row2.createCell(offset++).setCellValue(replaceSpace("Location"));
row2.getSheet().setColumnHidden(offset - 1, hideColumns);
- offset = addCodeHeader(row2, offset, "Panel");
+ if (GenerateCDADataHandler.exportCDTranslations) {
+ offset = addExtendedCodeHeader(row2, offset, "Panel");
+ } else {
+ offset = addCodeHeader(row2, offset, "Panel");
+ }
row2.createCell(offset++).setCellValue(replaceSpace("Organization"));
row2.createCell(offset++).setCellValue(replaceSpace("Author"));
row2.createCell(offset++).setCellValue(replaceSpace("Vital Sign ID"));
@@ -485,7 +509,12 @@
row2.createCell(offset++).setCellValue(replaceSpace("Location"));
row2.getSheet().setColumnHidden(offset - 1, hideColumns);
- offset = addCodeHeader(row2, offset, "Vital Sign");
+ if (GenerateCDADataHandler.exportCDTranslations) {
+ offset = addExtendedCodeHeader(row2, offset, "Vital Sign");
+ } else {
+ offset = addCodeHeader(row2, offset, "Vital Sign");
+ }
+
row2.createCell(offset++).setCellValue(replaceSpace("Result"));
row2.createCell(offset++).setCellValue(replaceSpace("Location"));
row2.getSheet().setColumnHidden(offset - 1, hideColumns);
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 372abd8..576cadd 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
@@ -1031,7 +1031,7 @@
offset = serializePatient(row, offset, organizationAndSoftware, patientRole);
offset = SpreadsheetSerializer.serializeEnounterID(row, offset, sa, encounters);
offset = serializeOrganizer(row, offset, sa, true, false);
- offset = serializeObservation(row, offset, resultObservation);
+ offset = serializeObservation(row, offset, resultObservation, true, false, true);
offset = serializeSectionAndFileName(
row, offset, sa.getSection(), organizationAndSoftware.completePath);
offset = appendValidation(row, offset, sa);
@@ -1080,7 +1080,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);
+ offset = serializeObservation(row, offset, observation, true, false, true);
serializeSectionAndFileName(
row, offset, observation.getSection(), organizationAndSoftware.completePath);
offset = appendValidation(row, offset, observation);
@@ -1318,9 +1318,9 @@
return offset++;
}
- static int serializeObservation(Row row, int offset, Observation resultObservation) {
- return serializeObservation(row, offset, resultObservation, true, false);
- }
+ // static int serializeObservation(Row row, int offset, Observation resultObservation) {
+ // return serializeObservation(row, offset, resultObservation, true, false, false);
+ // }
/**
* @param row
@@ -1329,7 +1329,7 @@
* @return
*/
static int serializeObservation(Row row, int offset, Observation observation, boolean referenceRange,
- boolean author) {
+ boolean author, boolean exportTranslation) {
Cell cell = row.createCell(offset++);
@@ -1397,8 +1397,13 @@
}
}
- offset = SpreadsheetSerializer.appendCodeShowNullFlavor(
- row, offset, observation.getSection(), observation.getCode(), observation.getText());
+ if (exportTranslation) {
+ offset = SpreadsheetSerializer.appendExtendedCode(
+ row, offset, observation.getSection(), observation.getCode(), observation.getText(), false);
+ } else {
+ offset = SpreadsheetSerializer.appendCodeShowNullFlavor(
+ row, offset, observation.getSection(), observation.getCode(), observation.getText());
+ }
String value = "";
String valueLocation = "";
@@ -1501,25 +1506,39 @@
cell.setCellValue(sb.toString());
row.createCell(offset++).setCellValue(CDAUtil.getDomainPath(ivlts));
- offset = SpreadsheetSerializer.appendCode(
- row, offset, resultOrganizer.getSection(), resultOrganizer.getCode(), null);
+ if (GenerateCDADataHandler.exportCDTranslations) {
+ offset = SpreadsheetSerializer.appendExtendedCode(
+ row, offset, resultOrganizer.getSection(), resultOrganizer.getCode(), null, true);
+ } else {
+ offset = SpreadsheetSerializer.appendCode(
+ row, offset, resultOrganizer.getSection(), resultOrganizer.getCode(), null);
+ }
if (serializeSubject) {
if (resultOrganizer.getSubject() != null && resultOrganizer.getSubject().getRelatedSubject() != null) {
- offset = SpreadsheetSerializer.appendCode(
- row, offset, resultOrganizer.getSection(),
- resultOrganizer.getSubject().getRelatedSubject().getCode(), null);
- } else {
- offset = SpreadsheetSerializer.appendCode(row, offset, resultOrganizer.getSection(), null, null);
- }
- // resultOrganizer.getSubject().get
+ if (GenerateCDADataHandler.exportCDTranslations) {
+ offset = SpreadsheetSerializer.appendExtendedCode(
+ row, offset, resultOrganizer.getSection(),
+ resultOrganizer.getSubject().getRelatedSubject().getCode(), null, false);
+ } else {
+ offset = SpreadsheetSerializer.appendCode(
+ row, offset, resultOrganizer.getSection(),
+ resultOrganizer.getSubject().getRelatedSubject().getCode(), null);
+ }
+
+ } else {
+
+ if (GenerateCDADataHandler.exportCDTranslations) {
+ offset = SpreadsheetSerializer.appendExtendedCode(
+ row, offset, resultOrganizer.getSection(), null, null, false);
+ } else {
+ offset = SpreadsheetSerializer.appendCode(row, offset, resultOrganizer.getSection(), null, null);
+ }
+
+ }
}
- // row.createCell(offset++).setCellValue(
- // getValueAsString(resultOrganizer.getSection(), resultOrganizer.getCode()));
- // place holder encounter description
- // row.createCell(offset++).setCellValue(getValue(resultOrganizer.getSection(), ));
if (serializeSpecimen) {
CD specimenCode = null;
@@ -1528,13 +1547,18 @@
if (specimen.getSpecimenRole() != null &&
specimen.getSpecimenRole().getSpecimenPlayingEntity() != null) {
specimenCode = specimen.getSpecimenRole().getSpecimenPlayingEntity().getCode();
-
break;
}
-
}
- offset = SpreadsheetSerializer.appendCode(row, offset, resultOrganizer.getSection(), specimenCode, null);
+ if (GenerateCDADataHandler.exportCDTranslations) {
+ offset = SpreadsheetSerializer.appendExtendedCode(
+ row, offset, resultOrganizer.getSection(), specimenCode, null, false);
+ } else {
+ offset = SpreadsheetSerializer.appendCode(
+ row, offset, resultOrganizer.getSection(), specimenCode, null);
+
+ }
}
offset = SpreadsheetSerializer.appendOrganizationAndAuthor(row, offset, resultOrganizer.getAuthors());
return offset;
@@ -2546,8 +2570,38 @@
} else {
offset = SpreadsheetSerializer.appendCode(row, offset, section, cd, text);
}
- if (cd.getTranslations().size() >= 1) {
- offset = SpreadsheetSerializer.appendCode(row, offset, section, cd.getTranslations().get(0), null);
+ if (cd != null) {
+
+ if (cd.getTranslations().size() >= 1) {
+ offset = SpreadsheetSerializer.appendCode(row, offset, section, cd.getTranslations().get(0), null);
+ } else {
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ }
+ if (cd.getTranslations().size() >= 2) {
+ offset = SpreadsheetSerializer.appendCode(row, offset, section, cd.getTranslations().get(1), null);
+ } else {
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ }
+ if (cd.getTranslations().size() >= 3) {
+ offset = SpreadsheetSerializer.appendCode(row, offset, section, cd.getTranslations().get(2), null);
+ } else {
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ row.createCell(offset++).setCellValue("");
+ }
} else {
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");
@@ -2555,20 +2609,12 @@
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");
- }
- if (cd.getTranslations().size() >= 2) {
- offset = SpreadsheetSerializer.appendCode(row, offset, section, cd.getTranslations().get(1), null);
- } else {
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");
- }
- if (cd.getTranslations().size() >= 3) {
- offset = SpreadsheetSerializer.appendCode(row, offset, section, cd.getTranslations().get(2), null);
- } else {
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");
row.createCell(offset++).setCellValue("");