48 lines
1.5 KiB
JavaScript
Executable File
48 lines
1.5 KiB
JavaScript
Executable File
/**
|
|
* Parses resulting data from a QIDO call into a set of Study MetaData
|
|
*
|
|
* @param resultData
|
|
* @returns {Array} An array of Study MetaData objects
|
|
*/
|
|
function resultDataToStudies(resultData) {
|
|
var studies = [];
|
|
|
|
resultData.forEach(function(studyRaw) {
|
|
var study = studyRaw.toObject();
|
|
studies.push({
|
|
studyInstanceUid: study[0x0020000D],
|
|
// 00080005 = SpecificCharacterSet
|
|
studyDate: study[0x00080020],
|
|
studyTime: study[0x00080030],
|
|
accessionNumber: study[0x00080050],
|
|
referringPhysicianName: study[0x00080090],
|
|
// 00081190 = URL
|
|
patientName: study[0x00100010],
|
|
patientId: study[0x00100020],
|
|
patientBirthdate: study[0x00100030],
|
|
patientSex: study[0x00100040],
|
|
imageCount: study[0x00201208],
|
|
studyId: study[0x00200010],
|
|
studyDescription: study[0x00081030],
|
|
modalities: study[0x00080061]
|
|
});
|
|
});
|
|
return studies;
|
|
}
|
|
|
|
|
|
Services.DIMSE.Studies = function(filter) {
|
|
console.log('Services.DIMSE.Studies');
|
|
var parameters = {
|
|
0x00100010: filter.patientName,
|
|
0x00100020: filter.patientId,
|
|
0x00080050: filter.accessionNumber,
|
|
0x00081030: filter.studyDescription,
|
|
0x00100040: "",
|
|
0x00201208: "",
|
|
0x00080061: ""
|
|
};
|
|
|
|
var results = DIMSE.retrieveStudies(parameters);
|
|
return resultDataToStudies(results);
|
|
}; |