fix: Guard series.instances in DicomJSONDataSource to prevent TypeError (OHI-2114) (#5312)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Alireza <ar.sedghi@gmail.com>
This commit is contained in:
devin-ai-integration[bot] 2025-08-08 10:28:42 -04:00 committed by GitHub
parent 96862d64fc
commit f1d158bbe8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -262,9 +262,10 @@ function createDicomJSONApi(dicomJsonConfig) {
const { StudyInstanceUID, SeriesInstanceUID } = displaySet; const { StudyInstanceUID, SeriesInstanceUID } = displaySet;
const study = findStudies('StudyInstanceUID', StudyInstanceUID)[0]; const study = findStudies('StudyInstanceUID', StudyInstanceUID)[0];
const series = study.series.find(s => s.SeriesInstanceUID === SeriesInstanceUID) || []; const series = study.series.find(s => s.SeriesInstanceUID === SeriesInstanceUID) || {};
const instanceMap = new Map(); const instanceMap = new Map();
if (series.instances) {
series.instances.forEach(instance => { series.instances.forEach(instance => {
if (instance?.metadata?.SOPInstanceUID) { if (instance?.metadata?.SOPInstanceUID) {
const { metadata, url } = instance; const { metadata, url } = instance;
@ -273,6 +274,7 @@ function createDicomJSONApi(dicomJsonConfig) {
instanceMap.set(metadata.SOPInstanceUID, existingInstances); instanceMap.set(metadata.SOPInstanceUID, existingInstances);
} }
}); });
}
displaySet.images.forEach(instance => { displaySet.images.forEach(instance => {
const NumberOfFrames = instance.NumberOfFrames || 1; const NumberOfFrames = instance.NumberOfFrames || 1;