From f1d158bbe81fd9f6052ce23c8588c9c93d76360c Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 8 Aug 2025 10:28:42 -0400 Subject: [PATCH] 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 --- .../default/src/DicomJSONDataSource/index.js | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/extensions/default/src/DicomJSONDataSource/index.js b/extensions/default/src/DicomJSONDataSource/index.js index fa4fd60fc..18949f6e6 100644 --- a/extensions/default/src/DicomJSONDataSource/index.js +++ b/extensions/default/src/DicomJSONDataSource/index.js @@ -262,17 +262,19 @@ function createDicomJSONApi(dicomJsonConfig) { const { StudyInstanceUID, SeriesInstanceUID } = displaySet; 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(); - series.instances.forEach(instance => { - if (instance?.metadata?.SOPInstanceUID) { - const { metadata, url } = instance; - const existingInstances = instanceMap.get(metadata.SOPInstanceUID) || []; - existingInstances.push({ ...metadata, url }); - instanceMap.set(metadata.SOPInstanceUID, existingInstances); - } - }); + if (series.instances) { + series.instances.forEach(instance => { + if (instance?.metadata?.SOPInstanceUID) { + const { metadata, url } = instance; + const existingInstances = instanceMap.get(metadata.SOPInstanceUID) || []; + existingInstances.push({ ...metadata, url }); + instanceMap.set(metadata.SOPInstanceUID, existingInstances); + } + }); + } displaySet.images.forEach(instance => { const NumberOfFrames = instance.NumberOfFrames || 1;