ohif-viewer/Packages/ohif-studies/imports/server/services/remote/studies.js
2017-10-25 22:18:42 -02:00

54 lines
2.1 KiB
JavaScript

import { OHIF } from 'meteor/ohif:core';
import { remoteGetValue } from '../../lib/remoteGetValue';
function resultDataToStudies(resultData) {
const studies = [];
resultData.forEach(function(study) {
studies.push({
studyInstanceUid: remoteGetValue(study['0020,000d']),
// 00080005 = SpecificCharacterSet
studyDate: remoteGetValue(study['0008,0020']),
studyTime: remoteGetValue(study['0008,0030']),
accessionNumber: remoteGetValue(study['0008,0050']),
referringPhysicianName: remoteGetValue(study['0008,0090']),
// 00081190 = URL
patientName: remoteGetValue(study['0010,0010']),
patientId: remoteGetValue(study['0010,0020']),
patientBirthdate: remoteGetValue(study['0010,0030']),
patientSex: remoteGetValue(study['0010,0040']),
studyId: remoteGetValue(study['0020,0010']),
numberOfStudyRelatedSeries: parseFloat(remoteGetValue(study['0020,1206'])),
numberOfStudyRelatedInstances: parseFloat(remoteGetValue(study['0020,1208'])),
studyDescription: remoteGetValue(study['0008,1030']),
modalities: remoteGetValue(study['0008,0061'])
});
});
return studies;
}
OHIF.studies.services.REMOTE.Studies = function(server, filter) {
const parameters = {
studyInstanceUID: filter.studyInstanceUid || '',
PatientName: filter.patientName ? filter.patientName : '',
PatientID: filter.patientId,
AccessionNumber: filter.accessionNumber ? filter.accessionNumber : '',
StudyDescription: '',
StudyDate: '',
StudyTime: '',
ReferringPhysicianName: '',
PatientBirthDate: '',
PatientSex: '',
StudyID: '',
NumberOfStudyRelatedSeries: '',
NumberOfStudyRelatedInstances: '',
ModalitiesInStudy: ''
};
const remote = new OrthancRemote(server.root, server.sourceAE);
const data = remote.findStudies(server.modality, parameters);
return resultDataToStudies(data.results);
};