Unable to save measurements in V3

Unable to save measurements

  • Hello! I am new to OHIF and recenlty started exploring it. I am using OHIF v3 and got a docker build running by following this tutorial [Nginx + Image Archive] in the docs. Everything seems to be running, the images are being loaded from Orthanc but while trying to save some measurements I am getting an error. This is what I have in the logs.
[DICOMSR] Error while saving the measurements: Cannot read properties of undefined (reading '0')
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'length')
    at showStructuredReportDisplaySetInActiveViewport (app.bundle.b4a38b9bece7b0d9c81e.js:36916:50)
    at Interpreter.exec (app.bundle.b4a38b9bece7b0d9c81e.js:170035:16)
    at Interpreter.execute (app.bundle.b4a38b9bece7b0d9c81e.js:169454:14)
    at Interpreter.update (app.bundle.b4a38b9bece7b0d9c81e.js:169480:12)
    at app.bundle.b4a38b9bece7b0d9c81e.js:169360:15
    at Scheduler.process (app.bundle.b4a38b9bece7b0d9c81e.js:169031:7)
    at Scheduler.schedule (app.bundle.b4a38b9bece7b0d9c81e.js:169010:10)
    at Interpreter.send (app.bundle.b4a38b9bece7b0d9c81e.js:169354:23)
    at _a.id (app.bundle.b4a38b9bece7b0d9c81e.js:170280:15)

What might be going on here?

this config file addressed the “cannot read properties of undefined” console error

window.config = {
routerBasename: ‘/’,
extensions: ,
modes: ,
showStudyList: true,
maxNumberOfWebWorkers: 4,
showLoadingIndicator: true,
dataSources: [
{
friendlyName: ‘Orthanc Server’,
namespace: ‘@ohif/extension-default.dataSourcesModule.dicomweb’,
sourceName: ‘dicomweb’,
configuration: {
name: ‘Orthanc’,
wadoUriRoot: ‘[external Orthanc URL]/wado’,
qidoRoot: ’ [external Orthanc URL]/dicom-web’,
wadoRoot: ’ [external Orthanc URL]/dicom-web’,
qidoSupportsIncludeField: false,
supportsReject: false,
imageRendering: ‘wadouri’,
thumbnailRendering: ‘wadouri’,
enableStudyLazyLoad: true,
supportsFuzzyMatching: false,
supportsWildcard: true,
staticWado: true,
singlepart: ‘bulkdata,video,pdf’,
},
},
{
friendlyName: ‘dicom json’,
namespace: ‘@ohif/extension-default.dataSourcesModule.dicomjson’,
sourceName: ‘dicomjson’,
configuration: {
name: ‘json’,
},
},
{
friendlyName: ‘dicom local’,
namespace: ‘@ohif/extension-default.dataSourcesModule.dicomlocal’,
sourceName: ‘dicomlocal’,
configuration: {},
},
],
httpErrorHandler: error => {
// This is 429 when rejected from the public idc sandbox too often.
console.warn(error.status);

// Could use services manager here to bring up a dialog/modal if needed.
console.warn('test, navigate to https://ohif.org/');

},
defaultDataSourceName: ‘dicomweb’,
hotkeys: [
{
commandName: ‘incrementActiveViewport’,
label: ‘Next Viewport’,
keys: [‘right’],
},
{
commandName: ‘decrementActiveViewport’,
label: ‘Previous Viewport’,
keys: [‘left’],
},
{ commandName: ‘rotateViewportCW’, label: ‘Rotate Right’, keys: [‘r’] },
{ commandName: ‘rotateViewportCCW’, label: ‘Rotate Left’, keys: [‘l’] },
{ commandName: ‘invertViewport’, label: ‘Invert’, keys: [‘i’] },
{
commandName: ‘flipViewportHorizontal’,
label: ‘Flip Horizontally’,
keys: [‘h’],
},
{
commandName: ‘flipViewportVertical’,
label: ‘Flip Vertically’,
keys: [‘v’],
},
{ commandName: ‘scaleUpViewport’, label: ‘Zoom In’, keys: [‘+’] },
{ commandName: ‘scaleDownViewport’, label: ‘Zoom Out’, keys: [‘-’] },
{ commandName: ‘fitViewportToWindow’, label: ‘Zoom to Fit’, keys: [‘=’] },
{ commandName: ‘resetViewport’, label: ‘Reset’, keys: [‘space’] },
{ commandName: ‘nextImage’, label: ‘Next Image’, keys: [‘down’] },
{ commandName: ‘previousImage’, label: ‘Previous Image’, keys: [‘up’] },
{
commandName: ‘previousViewportDisplaySet’,
label: ‘Previous Series’,
keys: [‘pagedown’],
},
{
commandName: ‘nextViewportDisplaySet’,
label: ‘Next Series’,
keys: [‘pageup’],
},
{
commandName: ‘setToolActive’,
commandOptions: { toolName: ‘Zoom’ },
label: ‘Zoom’,
keys: [‘z’],
},
// ~ Window level presets
{
commandName: ‘windowLevelPreset1’,
label: ‘W/L Preset 1’,
keys: [‘1’],
},
{
commandName: ‘windowLevelPreset2’,
label: ‘W/L Preset 2’,
keys: [‘2’],
},
{
commandName: ‘windowLevelPreset3’,
label: ‘W/L Preset 3’,
keys: [‘3’],
},
{
commandName: ‘windowLevelPreset4’,
label: ‘W/L Preset 4’,
keys: [‘4’],
},
{
commandName: ‘windowLevelPreset5’,
label: ‘W/L Preset 5’,
keys: [‘5’],
},
{
commandName: ‘windowLevelPreset6’,
label: ‘W/L Preset 6’,
keys: [‘6’],
},
{
commandName: ‘windowLevelPreset7’,
label: ‘W/L Preset 7’,
keys: [‘7’],
},
{
commandName: ‘windowLevelPreset8’,
label: ‘W/L Preset 8’,
keys: [‘8’],
},
{
commandName: ‘windowLevelPreset9’,
label: ‘W/L Preset 9’,
keys: [‘9’],
},
],
};