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,17 +262,19 @@ 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();
series.instances.forEach(instance => { if (series.instances) {
if (instance?.metadata?.SOPInstanceUID) { series.instances.forEach(instance => {
const { metadata, url } = instance; if (instance?.metadata?.SOPInstanceUID) {
const existingInstances = instanceMap.get(metadata.SOPInstanceUID) || []; const { metadata, url } = instance;
existingInstances.push({ ...metadata, url }); const existingInstances = instanceMap.get(metadata.SOPInstanceUID) || [];
instanceMap.set(metadata.SOPInstanceUID, existingInstances); existingInstances.push({ ...metadata, url });
} instanceMap.set(metadata.SOPInstanceUID, existingInstances);
}); }
});
}
displaySet.images.forEach(instance => { displaySet.images.forEach(instance => {
const NumberOfFrames = instance.NumberOfFrames || 1; const NumberOfFrames = instance.NumberOfFrames || 1;