fix(DicomJSONDataSource): Fix series filtering (#4092)

This commit is contained in:
Igor Octaviano authored and GitHub committed 2024-05-09 16:10:56 -04:00
1 parent e341ebe9d6
commit 2de102c73c
2 files changed
+21 -12

No files matched your search

@@ -169,7 +169,7 @@ function createDicomJSONApi(dicomJsonConfig) {
return getDirectURL(dicomJsonConfig, params);
},
series: {
metadata: async ({ StudyInstanceUID, madeInClient = false, customSort } = {}) => {
metadata: async ({ filters, StudyInstanceUID, madeInClient = false, customSort } = {}) => {
if (!StudyInstanceUID) {
throw new Error('Unable to query for SeriesMetadata without StudyInstanceUID');
}
@@ -183,6 +183,18 @@ function createDicomJSONApi(dicomJsonConfig) {
series = study.series;
}
const seriesKeys = [
'SeriesInstanceUID',
'SeriesInstanceUIDs',
'seriesInstanceUID',
'seriesInstanceUIDs',
];
const seriesFilter = seriesKeys.find(key => filters[key]);
if (seriesFilter) {
const seriesUIDs = filters[seriesFilter];
series = series.filter(s => seriesUIDs.includes(s.SeriesInstanceUID));
}
const seriesSummaryMetadata = series.map(series => {
const seriesSummary = {
StudyInstanceUID: study.StudyInstanceUID,