diff --git a/extensions/cornerstone-dicom-seg/src/commandsModule.ts b/extensions/cornerstone-dicom-seg/src/commandsModule.ts index 6845716f0b5..c73abc7b8a3 100644 --- a/extensions/cornerstone-dicom-seg/src/commandsModule.ts +++ b/extensions/cornerstone-dicom-seg/src/commandsModule.ts @@ -225,6 +225,7 @@ const commandsModule = ({ // If DisplaySet of the segmentation exists, then over write it. const displaySet = displaySetService.getDisplaySetByUID(segmentationId); const defaultDataSource = dataSource ?? extensionManager.getActiveDataSource()[0]; + const shouldOverWrite = !!displaySet?.StudyInstanceUID && !!displaySet.SeriesInstanceUID; let reportName: string, selectedDataSource: string, @@ -263,11 +264,11 @@ const commandsModule = ({ SeriesNumber: series ? undefined : 1 + priorSeriesNumber, predecessorImageId: series, // Use Series and SOP instancesUIDs if displaySet of the segmentation already exists. - ...(displaySet && { + ...(shouldOverWrite && { SeriesInstanceUID: displaySet.SeriesInstanceUID, - SOPInstanceUID: displaySet.instances[0].SOPInstanceUID, + SOPInstanceUID: displaySet.instances?.[0].SOPInstanceUID, SeriesNumber: displaySet.SeriesNumber, - Manufacturer: displaySet.instances[0].Manufacturer, + Manufacturer: displaySet.instances?.[0].Manufacturer, }), }, }; diff --git a/extensions/default/src/Actions/createReportAsync.tsx b/extensions/default/src/Actions/createReportAsync.tsx index 502e72ae135..46e442768ca 100644 --- a/extensions/default/src/Actions/createReportAsync.tsx +++ b/extensions/default/src/Actions/createReportAsync.tsx @@ -25,7 +25,8 @@ async function createReportAsync({ .getDisplaySetsForSeries(SeriesInstanceUID) ?.find(ds => ds.instances.some(instance => instance.SOPInstanceUID === SOPInstanceUID)); - const shouldOverWrite = displaySet && displaySet.Modality === 'SEG'; + const shouldOverWrite = + displaySet?.StudyInstanceUID && displaySet.SeriesInstanceUID && displaySet.Modality === 'SEG'; if (!naturalizedReport) { return; diff --git a/extensions/default/src/commandsModule.ts b/extensions/default/src/commandsModule.ts index dcbbd4fbe8a..b400f9cf824 100644 --- a/extensions/default/src/commandsModule.ts +++ b/extensions/default/src/commandsModule.ts @@ -654,10 +654,10 @@ const commandsModule = ({ const deidSeriesUIDs = params.getAll('SeriesInstanceUIDs'); const studyDisplaySets = displaySetService.getDisplaySetsBy(ds => - deidStudyUIDs.includes(ds.instance.DeidStudyInstanceUID) + deidStudyUIDs.includes(ds.instance?.DeidStudyInstanceUID) ); const displaySets = studyDisplaySets.filter( - ds => !deidSeriesUIDs.length || deidSeriesUIDs.includes(ds.instance.DeidSeriesInstanceUID) + ds => !deidSeriesUIDs.length || deidSeriesUIDs.includes(ds.instance?.DeidSeriesInstanceUID) ); // If the series filtered displaysets are empty, then use study filtered displaysets.