297 lines
18 KiB
JSON
297 lines
18 KiB
JSON
{
|
|
"OrthancExplorer2" : {
|
|
// enables or disables the plugin completely
|
|
"Enable": true,
|
|
|
|
// Prefix URL of the OE2 application (and API)
|
|
// A value of '/my-ui' means that the app will be available under /my-ui/app/
|
|
// and the api will be available under /my-ui/api/...
|
|
// Should start and end with a '/'
|
|
"Root" : "/ui/",
|
|
|
|
// Whether OE2 shall replace the default Orthanc Explorer interface ('/' URL will redirect to OE2)
|
|
"IsDefaultOrthancUI": true,
|
|
|
|
// Base theme for the UI (before custom CSS are applied).
|
|
// Allowed values: "light", "dark"
|
|
"Theme": "light",
|
|
|
|
// Path to custom CSS file or logo.
|
|
// The custom CSS are applied after these default files and they are loaded after all other CSS.
|
|
// You may actually override any CSS value or variable from the application.
|
|
// - https://github.com/orthanc-server/orthanc-explorer-2/blob/master/WebApplication/src/assets/css/defaults-dark.css
|
|
// - https://github.com/orthanc-server/orthanc-explorer-2/blob/master/WebApplication/src/assets/css/defaults-light.css
|
|
// "CustomCssPath": "/home/my/path/to/custom.css",
|
|
// "CustomLogoUrl": "https://my.company/logo.png",
|
|
// "CustomLogoPath": "/home/my/path/to/logo.png",
|
|
// "CustomFavIconPath": "/home/my/path/to/favicon.ico", // note: this can be a .png, .svg or .ico file
|
|
|
|
// Custom Window/Tab Title
|
|
// "CustomTitle": "Orthanc Explorer 2",
|
|
|
|
// This block of configuration is transmitted as is to the frontend application.
|
|
// Make sure not to store any secret here
|
|
"UiOptions" : {
|
|
// note: all the "Enable..." variables can be set to false by the user-profile (if using the authorization plugin)
|
|
|
|
"EnableStudyList": true, // Enables the access to the study list (TODO)
|
|
"EnableUpload": true, // Enables the upload menu/interface
|
|
"EnableDicomModalities": true, // Enables the 'DICOM Modalities' interface in the side menu
|
|
"EnableDeleteResources": true, // Enables the delete button for Studies/Series/Instances
|
|
"EnableDownloadZip": true, // Enables the download zip button for Studies/Series
|
|
"EnableDownloadDicomDir": false, // Enables the download DICOM DIR button for Studies/Series
|
|
"EnableDownloadDicomFile": true, // Enables the download DICOM file button for Instances
|
|
"EnableAnonymization": true, // Enables the anonymize button
|
|
"EnableModification": true, // Enables the modify button
|
|
"EnableSendTo": true, // Enables the 'SendTo' button for Studies/Series/Instances
|
|
"EnableApiViewMenu": false, // Enables the API button to open API routes for Studies/Series/Instances (developer mode)
|
|
"EnableSettings": true, // Enables the settings menu/interface
|
|
"EnableLinkToLegacyUi": true, // Enables a link to the legacy Orthanc UI
|
|
"EnableChangePassword": true, // Enables the 'change password' button in the side bar. Only applicable if Keycloak is enabled
|
|
"EnableViewerQuickButton": true, // Enables a button in the study list to directly open a viewer
|
|
"EnableReportQuickButton": false, // Enables a button in the study list to directly open a PDF report if available in the study
|
|
|
|
"EnableEditLabels": true, // Enables labels management (create/delete/assign/unassign)
|
|
"AvailableLabels": [], // If not empty, this list prevents the creation of new labels and only allows add/remove of the listed labels.
|
|
// This configuration may be overriden when you use Keycloak and an auth-service that implements roles/permissions API.
|
|
"EnableLabelsCount": true, // Enables display of study count next to the each label (this might slow down the UI)
|
|
|
|
"EnableShares": false, // Enables sharing studies. See "Tokens" section below.
|
|
"DefaultShareDuration": 0, // [in days]. 0 means no expiration date,
|
|
"ShareDurations": [0, 7, 15, 30, 90, 365], // The share durations proposed in the UI
|
|
|
|
"EnableAddSeries": true, // Enables the "Add series" button
|
|
"AddSeriesDefaultTags": { // Default tag values when adding a new series of each type ("pdf", "image" or "stl")
|
|
"pdf" : {
|
|
"SeriesDescription": "Report",
|
|
"Modality": "DOC",
|
|
"SeriesDate": "$TODAY$" // Allowed keywords: $TODAY$, $STUDY_DATE$, $FILE_DATE$
|
|
},
|
|
"image" : {
|
|
"SeriesDescription": "Picture",
|
|
"Modality": "XC",
|
|
"SeriesDate": "$TODAY$"
|
|
},
|
|
"stl" : {
|
|
"SeriesDescription": "Model",
|
|
"Modality": "M3D",
|
|
"SeriesDate": "$TODAY$"
|
|
}
|
|
},
|
|
|
|
"EnabledMammographyPlugin": false,
|
|
|
|
// If both OHIF viewer configurations are enabled, only the v3 is taken into account
|
|
"EnableOpenInOhifViewer": false, // Enables a "open in OHIF viewer" button. Note: OHIF can not be used together with KeyCloak (https://community.ohif.org/t/ohif-orthanc-token-to-access-a-single-study/727)
|
|
"OhifViewerPublicRoot" : "http://to-be-defined/", // must end with a '/'. e.g: "http://ohif.my.site/" means that link to OHIF will look like http://ohif.my.site/Viewer/1.2.3.444.5555....
|
|
"EnableOpenInOhifViewer3": false, // Enables a "open in OHIF viewer" button. If the OHIF plugin is loaded, the default value is 'true'
|
|
"OhifViewer3PublicRoot" : "/ohif/", // must end with a '/'. e.g: "http://ohif.my.site/" means that link to OHIF will look like http://ohif.my.site/viewer?StudyInstanceUIDs=1.2.3.444.5555....
|
|
|
|
"EnableOpenInMedDreamViewer": false, // Enables a "open in MedDream viewer" button
|
|
"MedDreamViewerPublicRoot" : "http://to-be-defined/", // must end with a '/'. e.g: "http://meddream.my.site/Viewer/" means that link to MedDream will look like http://meddream.my.site/?study=1.2.3.444.5555....
|
|
|
|
// Defines which icons is used by which enabled viewer.
|
|
// Allowed keys: "meddream", "osimis-web-viewer", "stone-webviewer", "ohif", "ohif-vr", "ohif-tmtv"
|
|
// Allowed values: CSS class that defines the viewer icons (only from bootstrap icons)
|
|
"ViewersIcons" : {
|
|
"osimis-web-viewer": "bi bi-eye",
|
|
"stone-webviewer": "bi bi-eye-fill",
|
|
"ohif": "bi bi-grid",
|
|
"ohif-vr": "bi bi-grid-1x2",
|
|
"ohif-tmtv": "bi bi-grid-3x3-gap",
|
|
"ohif-seg": "fa-solid fa-shapes fa-button",
|
|
"ohif-micro": "fa-solid fa-microscope fa-button",
|
|
"meddream": "bi bi-columns-gap",
|
|
"volview": "bi bi-box",
|
|
"wsi": "fa-solid fa-microscope fa-button"
|
|
},
|
|
// Defines the order in which the viewer icons should appear in the interface
|
|
// OHIF viewers modes that are not listed here, won't appear in the interface.
|
|
"ViewersOrdering" : [
|
|
// "osimis-web-viewer", // now deprecated
|
|
"stone-webviewer",
|
|
"ohif",
|
|
"ohif-vr",
|
|
"ohif-tmtv",
|
|
"ohif-seg",
|
|
// "ohif-micro", // currently disabled, this is still experimental in OHIF
|
|
"meddream",
|
|
"volview",
|
|
"wsi"
|
|
],
|
|
|
|
"MaxStudiesDisplayed": 100, // The maximum number of studies displayed in the study list.
|
|
// From v 1.7.0, this option is not used anymore in the local study list when using
|
|
// a DB backend that supports ExtendedFind (SQLite and PostgreSQL)
|
|
// but is still used in the DicomWeb queries.
|
|
"PageLoadSize": 50, // The number of items that are loaded when scrolling the study or instance list.
|
|
// Only applicable with a DB backend that supports ExtendedFind.
|
|
|
|
"MaxMyJobsHistorySize": 5, // The maximum number of jobs appearing under 'my jobs' in side bar (0 = unlimited)
|
|
|
|
"StudyListSearchMode": "search-as-you-type",// mode to trigger a search in the StudyList. Accepted values: 'search-as-you-type' or 'search-button'
|
|
"StudyListSearchAsYouTypeMinChars": 3, // minimum number of characters to enter in a text search field before it starts searching the DB
|
|
"StudyListSearchAsYouTypeDelay": 400, // Delay [ms] between the last key stroke and the trigger of the search
|
|
"StudyListContentIfNoSearch": "most-recents", // Defines what to show if no search criteria has been entered
|
|
// Allowed values: "empty", "most-recents"
|
|
// From v 1.7.0, this option is always considered as "most-recents" when using
|
|
// a DB backend that supports ExtendedFind (SQLite and PostgreSQL)
|
|
|
|
// Default settings are ok for "small" Orthanc Databases. For large databases, it is recommended to use these settings:
|
|
// "StudyListSearchMode": "search-button"
|
|
// "StudyListContentIfNoSearch": "empty"
|
|
|
|
"ShowOrthancName": true, // display the Orthanc Name in the side menu
|
|
|
|
// The list of tags to be displayed in the upload dialog result list
|
|
// (the first N defined tags in the list are displayed on the UI)
|
|
// Allowed values are: "StudyDate", "AccessionNumber", "PatientID",
|
|
// "PatientName", "PatientBirthDate", "StudyDescription"
|
|
"UploadReportTags" : [
|
|
"PatientName",
|
|
"StudyDescription",
|
|
"PatientID",
|
|
"AccessionNumber",
|
|
"StudyDate"
|
|
],
|
|
"UploadReportMaxTags" : 2, // See above, the max number of tags displayed in the upload report
|
|
|
|
// The ordered list of columns to display in the study list.
|
|
// Allowed values are:
|
|
// - Dicom Tags: "StudyDate", "AccessionNumber", "PatientID"
|
|
// "PatientName", "PatientBirthDate", "StudyDescription"
|
|
// - special columns:
|
|
// - "modalities": the list of modalities in the study
|
|
// - "seriesCount": the number of series in the study
|
|
// - "instancesCount": the number of instances in the study
|
|
// - "seriesAndInstancesCount": a combined value with the number of series/instances in the study
|
|
"StudyListColumns" : [
|
|
"PatientBirthDate",
|
|
"PatientName",
|
|
"PatientID",
|
|
"StudyDescription",
|
|
"StudyDate",
|
|
"modalities",
|
|
"AccessionNumber",
|
|
"seriesAndInstancesCount"
|
|
],
|
|
|
|
// The list of patient level tags that are displayed in the study details and in the modification dialog.
|
|
// Note that these tags must be defined in the Orthanc main dicom tags (https://orthanc.uclouvain.be/book/faq/main-dicom-tags.html)
|
|
"PatientMainTags" : [
|
|
"PatientID",
|
|
"PatientName",
|
|
"PatientBirthDate",
|
|
"PatientSex",
|
|
"OtherPatientIDs"
|
|
],
|
|
|
|
// The list of study level tags that are displayed in the study details and in the modification dialog.
|
|
// Note that these tags must be defined in the Orthanc main dicom tags (https://orthanc.uclouvain.be/book/faq/main-dicom-tags.html)
|
|
"StudyMainTags" : [
|
|
"StudyDate",
|
|
"StudyTime",
|
|
"StudyDescription",
|
|
"AccessionNumber",
|
|
"StudyID",
|
|
"StudyInstanceUID",
|
|
"RequestingPhysician",
|
|
"ReferringPhysicianName",
|
|
"InstitutionName"
|
|
],
|
|
|
|
// The list of series level tags that are displayed in the study details and in the modification dialog.
|
|
// Note that these tags must be defined in the Orthanc main dicom tags (https://orthanc.uclouvain.be/book/faq/main-dicom-tags.html)
|
|
"SeriesMainTags" : [
|
|
"SeriesDate",
|
|
"SeriesTime",
|
|
"SeriesDescription",
|
|
"SeriesNumber",
|
|
"BodyPartExamined",
|
|
"ProtocolName",
|
|
"SeriesInstanceUID"
|
|
],
|
|
|
|
// The modalities to display in the Modalities filter dropdown in the Study List
|
|
"ModalitiesFilter": [
|
|
"CR", "CT", "DOC", "DR", "DX", "KO", "MG", "MR", "NM", "OT", "PR", "PT", "PX", "RTDOSE", "RTSTRUCT", "RTPLAN", "SEG", "SR", "US", "XA", "XC"
|
|
],
|
|
|
|
// Defines the list of languages available in the language picker
|
|
// ex: "AvailableLanguages" : ["en", "fr"],
|
|
// ex: "AvailableLanguages" : [] -> this won't show the language picker at all and force usage of the DefaultLanguage
|
|
"AvailableLanguages": ["en", "de", "es", "fr", "it", "ka", "ru", "si", "uk", "zh"],
|
|
|
|
// Force the default language. If null (default), the language is the language from the visitor's browser.
|
|
// ex: "DefaultLanguage" : "en"
|
|
"DefaultLanguage" : null,
|
|
|
|
// Should DicomTags be translated (true) or shall we use the English symbolic name whatever the selected language (false)
|
|
// if true: "PatientID" is displayed as e.g "ID Patient" in french
|
|
// if false: "PatientID" is displayed as "PatientID" in all languages
|
|
"TranslateDicomTags" : true,
|
|
|
|
// Display format for dates in the study list based on these definitions: https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
|
|
// example: "dd/MM/yyyy" for European Format,
|
|
// "yyyyMMdd" for DICOM format
|
|
"DateFormat": "yyyyMMdd",
|
|
|
|
// PatientName transformation for display. This requires a Regex for capturing and one expression for formatting.
|
|
// If PatientNameFormatting is not defined, no transformation occurs (this is the default behaviour).
|
|
// The Regex is a Javascript regex and is applied this way:
|
|
// FormattedName = PatientName.replace(new RegExp(PatientNameCapture), PatientNameFormatting);
|
|
// in example, to capture carets separated names and re-order them, one would use:
|
|
// FormattedName = PatientName.replace(new RegExp("([^\\^]+)\\^?([^\\^]+)?\\^?([^\\^]+)?\\^?([^\\^]+)?\\^?([^\\^]+)?"), '$1 $3 $2');
|
|
"PatientNameCapture" : "([^\\^]+)\\^?([^\\^]+)?\\^?([^\\^]+)?\\^?([^\\^]+)?\\^?([^\\^]+)?",
|
|
// "PatientNameFormatting": "$1 $3 $2"
|
|
|
|
// modifications dialog options
|
|
"Modifications": {
|
|
// Modes define options to the /modify route:
|
|
// "modify-keep-uids" is equivalent to KeepSource=True and Keep=["StudyInstanceUID", "SeriesInstanceUID", "SOPInstanceUID"]
|
|
// "modify-new-uids" is equivalent to KeepSource=False
|
|
// "duplicate" is equivalent to KeepSource=True
|
|
// "AllowedModes" and "DefaultMode" apply to studies modification
|
|
"AllowedModes": ["modify-new-uids", "modify-keep-uids", "duplicate"],
|
|
"DefaultMode": "modify-new-uids",
|
|
|
|
// same configurations for Series (introduced in 1.2.0)
|
|
"SeriesAllowedModes": ["modify-new-uids", "modify-keep-uids", "duplicate"],
|
|
"SeriesDefaultMode": "modify-new-uids"
|
|
|
|
},
|
|
|
|
// List of tags that are used to identify studies belonging to the same patient.
|
|
// This appears as "This patient has {count} studies in total" in the study details.
|
|
// ex: "ShowSamePatientStudiesFilter" : ["PatientID", "PatientBirthDate", "PatientSex"]
|
|
"ShowSamePatientStudiesFilter" : [
|
|
"PatientID"
|
|
]
|
|
},
|
|
|
|
"Shares" : {
|
|
"TokenService" : {
|
|
"Url": "http://change-me:8000/shares",
|
|
"Username": "change-me",
|
|
"Password": "change-me"
|
|
},
|
|
"Type": "osimis-viewer-publication" // allowed values: "osimis-viewer-publication", "meddream-viewer-publication", "stone-viewer-publication"
|
|
},
|
|
|
|
// When using Keycloak for user management
|
|
"Keycloak" : {
|
|
"Enable": false,
|
|
"Url": "http://change-me:8080/",
|
|
"Realm": "change-me",
|
|
"ClientId": "change-me"
|
|
},
|
|
|
|
|
|
// this section is only relevant if the authorization plugin is enabled and user-profile based permissions are implemented
|
|
"Tokens" : {
|
|
"InstantLinksValidity": 200, // the duration, in seconds an 'instant' token is valid (e.g. used to download a study, open a study in a viewer)
|
|
"ShareType": "stone-viewer-publication" // allowed values: "stone-viewer-publication", "osimis-viewer-publication", "meddream-viewer-publication"
|
|
//"RequiredForLinks": false // experimental, set it to false when using basic-auth together with the auth-plugin (https://discourse.orthanc-server.org/t/user-based-access-control-with-label-based-resource-access/5454)
|
|
}
|
|
}
|
|
} |