2019-08-13 15:36:46 -04:00
|
|
|
import { MODULE_TYPES, utils } from '@ohif/core';
|
2019-04-16 12:00:06 -04:00
|
|
|
|
|
|
|
|
// TODO: Should probably use dcmjs for this
|
|
|
|
|
const SOP_CLASS_UIDS = {
|
|
|
|
|
BASIC_TEXT_SR: '1.2.840.10008.5.1.4.1.1.88.11',
|
|
|
|
|
ENHANCED_SR: '1.2.840.10008.5.1.4.1.1.88.22',
|
|
|
|
|
COMPREHENSIVE_SR: '1.2.840.10008.5.1.4.1.1.88.33',
|
|
|
|
|
PROCEDURE_LOG_STORAGE: '1.2.840.10008.5.1.4.1.1.88.40',
|
|
|
|
|
MAMMOGRAPHY_CAD_SR: '1.2.840.10008.5.1.4.1.1.88.50',
|
|
|
|
|
CHEST_CAD_SR: '1.2.840.10008.5.1.4.1.1.88.65',
|
2019-08-13 15:36:46 -04:00
|
|
|
X_RAY_RADIATION_DOSE_SR: '1.2.840.10008.5.1.4.1.1.88.67',
|
2019-04-16 12:00:06 -04:00
|
|
|
};
|
|
|
|
|
|
2020-03-09 19:03:23 +00:00
|
|
|
const sopClassUIDs = Object.values(SOP_CLASS_UIDS);
|
2019-04-16 12:00:06 -04:00
|
|
|
|
|
|
|
|
// TODO: Handle the case where there is more than one SOP Class Handler for the
|
|
|
|
|
// same SOP Class
|
|
|
|
|
const OHIFDicomHtmlSopClassHandler = {
|
|
|
|
|
id: 'OHIFDicomHtmlSopClassHandler',
|
2019-06-12 16:09:35 -04:00
|
|
|
type: MODULE_TYPES.SOP_CLASS_HANDLER,
|
2020-03-09 19:03:23 +00:00
|
|
|
sopClassUIDs,
|
2019-04-16 12:00:06 -04:00
|
|
|
getDisplaySetFromSeries(series, study, dicomWebClient, authorizationHeaders) {
|
|
|
|
|
const instance = series.getFirstInstance();
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
plugin: 'html',
|
2020-03-09 19:03:23 +00:00
|
|
|
Modality: 'SR',
|
|
|
|
|
displaySetInstanceUID: utils.guid(),
|
2019-04-16 12:00:06 -04:00
|
|
|
wadoRoot: study.getData().wadoRoot,
|
|
|
|
|
wadoUri: instance.getData().wadouri,
|
2020-03-09 19:03:23 +00:00
|
|
|
SOPInstanceUID: instance.getSOPInstanceUID(),
|
|
|
|
|
SeriesInstanceUID: series.getSeriesInstanceUID(),
|
|
|
|
|
StudyInstanceUID: study.getStudyInstanceUID(),
|
2019-08-13 15:36:46 -04:00
|
|
|
authorizationHeaders,
|
2019-04-16 12:00:06 -04:00
|
|
|
};
|
2019-08-13 15:36:46 -04:00
|
|
|
},
|
2019-04-16 12:00:06 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default OHIFDicomHtmlSopClassHandler;
|