LT-73 Export selected studies from study list to local
- Query to get metadata of the selected studies to export - Download and zip the queried dicom files - Show and update the progress dialog while querying and exporting studies
This commit is contained in:
1 parent
a24387b28b
commit
efa236f4cd
6 files changed
+140
-1
No files matched your search
+3
-1
@@ -24,7 +24,9 @@
|
||||
</a>
|
||||
<a class="disabled"><i class="fa fa-trash fa-lg"></i> Delete</a>
|
||||
<a class="disabled"><i class="fa fa-send-o fa-lg"></i> Send</a>
|
||||
<a class="disabled"><i class="fa fa-exchange fa-lg"></i> Export</a>
|
||||
<a id="exportSelectedStudies" type="button"
|
||||
title="Export Selected Studies">
|
||||
<i class="fa fa-exchange fa-lg"></i> Export</a>
|
||||
<a class="disabled"><i class="fa fa-download fa-lg"></i> Download</a>
|
||||
<a class="disabled"><i class="fa fa-photo fa-lg"></i> View Series Details</a>
|
||||
</li>
|
||||
|
||||
+35
@@ -5,6 +5,7 @@ var defaultTemplate = 'studyContextMenu';
|
||||
Template.lesionTrackerWorklistContextMenu.replaces(defaultTemplate);
|
||||
|
||||
Worklist.functions['removeTimepointAssociations'] = removeTimepointAssociations;
|
||||
Worklist.functions['exportSelectedStudies'] = exportSelectedStudies;
|
||||
|
||||
/**
|
||||
* Removes all present study / timepoint associations from the Clinical Trial
|
||||
@@ -72,4 +73,38 @@ function removeTimepointAssociations() {
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Exports all selected studies on the worklist
|
||||
*/
|
||||
function exportSelectedStudies() {
|
||||
var selectedStudies = WorklistSelectedStudies.find({}, {
|
||||
sort: {
|
||||
studyDate: 1
|
||||
}
|
||||
}).fetch() || [];
|
||||
|
||||
if (selectedStudies.length < 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
var studiesToExport = [];
|
||||
var numberOfStudiesToQuery = selectedStudies.length;
|
||||
|
||||
progressDialog.show("Querying Studies...", numberOfStudiesToQuery);
|
||||
|
||||
selectedStudies.forEach(function(selectedStudy) {
|
||||
getStudyMetadata(selectedStudy.studyInstanceUid, function(study) {
|
||||
studiesToExport.push(study);
|
||||
|
||||
var numberOfStudiesQueried = studiesToExport.length;
|
||||
|
||||
progressDialog.update(numberOfStudiesQueried);
|
||||
|
||||
if (numberOfStudiesQueried === numberOfStudiesToQuery) {
|
||||
exportStudies(studiesToExport);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user