MERAQuery

MLModule

genre

MERA

author

Wolf Spindler

package

FMEstable/ReleaseMeVis

dll

MLMERA

definition

MLMERA.def

see also

MERAVolumeInspector, MERACrawler

keywords

query, search, index, find, volume, storage

Purpose

MERAQuery performs a query on an index and a volume storage which have been created with MERACrawler. It allows searching for DICOM tags or values, as well as joined queries. Queries can be defined completely with the Query tab as well as manually in User Command.

Windows

Default Panel

../../../Projects/MERA/Modules/mhelp/Images/Screenshots/MERAQuery._default.png

Parameter Fields

Field Index

# Result Ids: Integer

editMode07: Enum

keyType09: Enum

#Queries: Integer

editMode08: Enum

Max # Volume Ids: Integer

Absolute Volume Storage Directory: String

editMode09: Enum

Preload Cache Directory: String

Also On Value: Bool

Index of First Id: Integer

Report: String

condition00: Enum

intValue00: Integer

Report Buffer Size: Integer

condition01: Enum

intValue01: Integer

Run Query (Ctrl R): Trigger

condition02: Enum

intValue02: Integer

Run User Command (Ctrl U): Trigger

condition03: Enum

intValue03: Integer

Stop: Trigger

condition04: Enum

intValue04: Integer

tagId00: String

condition05: Enum

intValue05: Integer

tagId01: String

condition06: Enum

intValue06: Integer

tagId02: String

condition07: Enum

intValue07: Integer

tagId03: String

condition08: Enum

intValue08: Integer

tagId04: String

condition09: Enum

intValue09: Integer

tagId05: String

dateValue00: String

intValue200: Integer

tagId06: String

dateValue01: String

intValue201: Integer

tagId07: String

dateValue02: String

intValue202: Integer

tagId08: String

dateValue03: String

intValue203: Integer

tagId09: String

dateValue04: String

intValue204: Integer

timeValue00: String

dateValue05: String

intValue205: Integer

timeValue01: String

dateValue06: String

intValue206: Integer

timeValue02: String

dateValue07: String

intValue207: Integer

timeValue03: String

dateValue08: String

intValue208: Integer

timeValue04: String

dateValue09: String

intValue209: Integer

timeValue05: String

dateValue200: String

isRunning: Bool

timeValue06: String

dateValue201: String

isTagIdValid00: Bool

timeValue07: String

dateValue202: String

isTagIdValid01: Bool

timeValue08: String

dateValue203: String

isTagIdValid02: Bool

timeValue09: String

dateValue204: String

isTagIdValid03: Bool

timeValue200: String

dateValue205: String

isTagIdValid04: Bool

timeValue201: String

dateValue206: String

isTagIdValid05: Bool

timeValue202: String

dateValue207: String

isTagIdValid06: Bool

timeValue203: String

dateValue208: String

isTagIdValid07: Bool

timeValue204: String

dateValue209: String

isTagIdValid08: Bool

timeValue205: String

disablePerformanceChecks: Bool

isTagIdValid09: Bool

timeValue206: String

doubleValue00: Double

joinCondition00: Enum

timeValue207: String

doubleValue01: Double

joinCondition01: Enum

timeValue208: String

doubleValue02: Double

joinCondition02: Enum

timeValue209: String

doubleValue03: Double

joinCondition03: Enum

User Command: String

doubleValue04: Double

joinCondition04: Enum

value00: String

doubleValue05: Double

joinCondition05: Enum

value01: String

doubleValue06: Double

joinCondition06: Enum

value02: String

doubleValue07: Double

joinCondition07: Enum

value03: String

doubleValue08: Double

joinCondition08: Enum

value04: String

doubleValue09: Double

joinMode00: Enum

value05: String

doubleValue200: Double

joinMode01: Enum

value06: String

doubleValue201: Double

joinMode02: Enum

value07: String

doubleValue202: Double

joinMode03: Enum

value08: String

doubleValue203: Double

joinMode04: Enum

value09: String

doubleValue204: Double

joinMode05: Enum

value200: String

doubleValue205: Double

joinMode06: Enum

value201: String

doubleValue206: Double

joinMode07: Enum

value202: String

doubleValue207: Double

joinMode08: Enum

value203: String

doubleValue208: Double

keyType00: Enum

value204: String

doubleValue209: Double

keyType01: Enum

value205: String

editMode00: Enum

keyType02: Enum

value206: String

editMode01: Enum

keyType03: Enum

value207: String

editMode02: Enum

keyType04: Enum

value208: String

editMode03: Enum

keyType05: Enum

value209: String

editMode04: Enum

keyType06: Enum

Volume Ids: String

editMode05: Enum

keyType07: Enum

editMode06: Enum

keyType08: Enum

Visible Fields

Absolute Volume Storage Directory

name: absoluteVolumeStorageDirectory, type: String

The absolute directory path to the MERA volume storage.

#Queries

name: numberOfQueryRows, type: Integer, default: 1

The number of query rows to be shown. If more than one query row is enabled than also joinMode00 and joinCondition00 inputs are displayed to decide how the queries shall be composed.

Run Query (Ctrl R)

name: query, type: Trigger

Runs the query with the current settings and displays a report in Report.

User Command

name: userCommand, type: String

An input for a user defined SQLite command which can be run by notifying Run User Command (Ctrl U). Note that such commands may become incompatible in the case of changes of the data base backend of MERA. For details about SQLite see https://www.sqlitetutorial.net and https://www.sqlitetutorial.net/sqlite-commands.

For SQLite commands the structures and the names of data bases, tables, and columns need to be known:

  • Each search term, as defined under Search a, corresponds to its own data base and has an associated value.

  • The number of keys which can be used in a command is identical to the number of selected query rows in #Queries.

  • The data bases are automatically opened and attached before, and closed after running the user command. They are those ones selected by keyType00 etc. under Search a. If DICOM tags are selected then the with Tag ID tagId00 etc. describe the specific tag data base.

  • The SQLite names of the data bases are main, DB2, …, DB9 corresponding to the ten query rows.

  • Each data base contains only one single table with the name KeyValuesPair containing the columns VolumeId and Value.

For own commands a good way to start is to copy the SELECT command output from Report after Run Query (Ctrl R) into User Command and press Run User Command (Ctrl U).

An example query: search ids of volumes with Modality NM whose PatientName tags contain Anonym.

  • Use two #Queries.

  • In the Query tab configure one row with DICOMTag Value Flat with tag id Modality and the second one with tag id PatientName.

The data base names will be main and DB2, each one contains a single table named KeyValuesPair. Each table has the two columns VolumeId and Value. In the table in main, the Value column contains the content of the modality tags such as CT, NM, etc. In the table in DB2, the Value column contains the content of PatientName tags such as LastName^First, Musterman^Manfred, etc. In both cases the VolumeId columns contain the ids of the volumes which contain these tags and which can be used in the MERAVolumeInspector to inspect these volumes.

Then the query could look like

SELECT main.KeyValuesPair.VolumeId FROM main.KeyValuesPair WHERE main.KeyValuesPair.Value = 'NM'
INTERSECT
SELECT DB2.KeyValuesPair.VolumeId FROM DB2.KeyValuesPair WHERE DB2.KeyValuesPair.Value GLOB '*Anonym*'

If names are not ambiguous their names can be shortened:

SELECT VolumeId FROM main.KeyValuesPair WHERE Value = 'NM'
INTERSECT
SELECT VolumeId FROM DB2.KeyValuesPair WHERE Value GLOB '*Anonym*'

Pressing Run User Command (Ctrl U) loads the data bases, runs the command, logs the found volume ids in Report and sets Volume Ids according to the settings in Index of First Id and Max # Volume Ids.

Another more complex example: Search all Ids of volumes from the same study in which there is at least one NM and one PT volume. For this purpose use two #Queries and configure the first query row with DICOMTag Value Flat with tag id Modality and the second one with tag id StudyInstanceUID. Note that such queries can take longer on larger data bases since multiple INNER JOIN commands are executed:

SELECT Mod1.VolumeId, Mod2.VolumeId, N1.VolumeId, N1.Value, N2.Value
FROM main.KeyValuesPair AS Mod1
INNER JOIN main.KeyValuesPair AS Mod2 ON (Mod1.Value = 'NM') AND (Mod2.Value = 'PT')
INNER JOIN DB2.KeyValuesPair AS N1 ON (Mod1.VolumeId = N1.VolumeId)
INNER JOIN DB2.KeyValuesPair AS N2 ON (Mod2.VolumeId = N2.VolumeId) AND (N1.value = N2.Value) AND (Mod2.VolumeId=N2.VolumeId)
GROUP BY N1.value

Run User Command (Ctrl U)

name: runUserCommand, type: Trigger

Run the user command defined in User Command.

Also On Value

name: selectAlsoOnValue, type: Bool, default: FALSE

If multiple query rows are used and join mode is neither LEFT nor INNER, then SELECT runs only on the VolumeId but not on the value; if this checkbox is enabled then SELECT runs on VolumeId, Value. Note that this may lead to different results since join commands such as INTERSECT then also include the value in their calculation.

Stop

name: stop, type: Trigger

Longer queries can be interrupted by pressing this button.

Volume Ids

name: volumeIds, type: String, persistent: no

Lists the ids of all volumes found in the most recent query in a format that it can be connected to a MERAVolumeInspector.volumeIndexList of MERAVolumeInspector.

Index of First Id

name: queryResultsStart, type: Integer, default: 0, maximum: :field:`numUniqueQueryResults`

The index of the first found Volume Id to be shown in Volume Ids.

Max # Volume Ids

name: maxNumQueryResults, type: Integer, default: 500

The maximum number of found volume ids to be passed to the Volume Ids output; note that very large values may degrade performance.

# Result Ids

name: numUniqueQueryResults, type: Integer, persistent: no

A read-only field displaying the number of found volume ids.

Report Buffer Size

name: maxReportSize, type: Integer, default: 20000

The maximum size of characters in Report; note that very large values may degrade performance.

Report

name: report, type: String, persistent: no

Displays information about the most recently run Run Query (Ctrl R).

Preload Cache Directory

name: preloadCacheDirectory, type: String

If large and optimally fast local disk space is available then setting up a cache directory on it is recommended. This can speed up query launch time tremendously especially for slower network connections to the data MERA volume storage. If left empty then no caching is performed.

Hidden Fields

keyType00

name: keyType00, type: Enum, default: DICOMTagValue_Flat

Selects which type of key the query shall be performed:

  • DICOMTagValue_Flat: The query and its conditions operate on values of DICOM tags with id tagId00 where only top-level tags from DICOM trees are queried.

  • DICOMTagValue: The query and its conditions operate on values of DICOM tags with id tagId00 where all tags from DICOM tress are queried (may be significantly slower in a few cases).

  • XImageExtent: The x-extent if the volume is a valid image, empty otherwise.

  • YImageExtent: The y-extent if the volume is a valid image, empty otherwise.

  • ZImageExtent: The z-extent if the volume is a valid image, empty otherwise.

  • CImageExtent: The c-extent if the volume is a valid image, empty otherwise.

  • TImageExtent: The t-extent if the volume is a valid image, empty otherwise.

  • UImageExtent: The u-extent if the volume is a valid image, empty otherwise.

  • XPageExtent: The x-page-extent if the volume is a valid image, empty otherwise.

  • YPageExtent: The y-extent of pages if the volume is a valid image, empty otherwise.

  • ZPageExtent: The z-extent of pages if the volume is a valid image, empty otherwise.

  • CPageExtent: The c-extent of pages if the volume is a valid image, empty otherwise.

  • TPageExtent: The t-extent of pages if the volume is a valid image, empty otherwise.

  • UPageExtent: The u-extent of pages if the volume is a valid image, empty otherwise.

  • NumberOfVoxelsInImage:Number of voxels of the image if the volume is a valid image, empty otherwise.

  • NumberOfVoxelsPerPage: Number of voxels per image page if the volume is a valid image, empty otherwise.

  • NumberOfBytesInImage: Number of bytes the entire image would allocate in memory if the volume is a valid image, empty otherwise.

  • NumberOfBytesPerPage: Number of bytes an image page would allocate in memory if the volume is a valid image, empty otherwise.

  • MinimumVoxelValue: Maximum voxel value of the image if the volume is a valid image, empty otherwise.

  • MaximumVoxelValue: Maximum voxel value of the image if the volume is a valid image, empty otherwise.

  • CDimensionInfos: Space separated list of color-dimension information of the image if the volume is a valid image, empty otherwise.

  • TDimensionInfos: Space separated list of time-dimension information of the image if the volume is a valid image, empty otherwise.

  • UDimensionInfos: Space separated list of u-dimension information of the image if the volume is a valid image, empty otherwise.

  • FirstDateAsLinearSecond: First time dimension information value as Linear Second with each day=86400 seconds if the volume is a valid image, empty otherwise.

  • HasScalarVoxelType: [YES or NO] if the image has scalar voxels and if the volume is a valid image, empty otherwise.

  • SizeOfVoxelInBytes: Size of a voxel in bytes if the volume is a valid image, empty otherwise.

  • FileFormat: A coding for the file format if unique.

  • VoxelSizeX: Extent of a voxel in mm in x-dimension if the volume is a valid image, empty otherwise.

  • VoxelSizeY: Extent of a voxel in mm in y-dimension if the volume is a valid image, empty otherwise.

  • VoxelSizeZ: Extent of a voxel in mm in z-dimension if the volume is a valid image, empty otherwise.

  • VoxelVolume: Volume of a voxel in mm^3 if the volume is a valid image, empty otherwise.

  • HasFloatingPointVoxelType: [YES or NO] if the image has floating point voxels and if the volume is a valid image, empty otherwise.

  • IsDecomposedEnhancedMF: [YES or NO] if the DICOM file was decomposed from an enhanced Multi-frame file or not.

  • HasValidImage: [YES or NO] if the volume has a valid image or not.

  • IsClassicMultiFrame: [YES or NO] if the volume is a classic multi-frame file or not.

  • HasMeVisSMFSequence: [YES or NO] if the volume contains a MeVis Structured Multi-Frame sequence or not.

  • NumEntriesInCDimensionInfos: Number of entries in CDimensionInfos if the volume is a valid image, empty otherwise.

  • NumEntriesInTDimensionInfos: Number of entries in TDimensionInfos if the volume is a valid image, empty otherwise.

  • NumEntriesInUDimensionInfos: Number of entries in UDimensionInfos if the volume is a valid image, empty otherwise.

  • DataTypeOfVoxels: Data type of voxels as string if the volume is a valid image, empty otherwise.

  • HumanReadableImageOrientation: Approximated human readable image orientation if the volume is a valid image, empty otherwise.

  • LicenseInformation: LicenseInformation from config file if available, otherwise not set.

  • Keywords: Keywords from config file if available, otherwise not set.

  • Readme: Readme information from config file if available, otherwise not set.

  • FirstFilename: First file name associated to the volume data.

  • HasIssues: [YES, NO] if the volume has issues or not.

tagId00

name: tagId00, type: String, default: Modality

The id of a DICOM tag to be queried needed if field searched key is DICOMTagValue or DICOMTagValue_Flat, otherwise insensitive. The id must have either have the format (JKLM,OPQR) where the JKLMOPQR are hexadecimal digits, or the case sensitive name of a DICOM tag such as Modality or PatientName. A correct input value is indicated by a checked isTagIdValid00.

isTagIdValid00

name: isTagIdValid00, type: Bool, persistent: no

isTagIdValid00 is checked if the value of tagId00 is valid, otherwise it will be unchecked.

condition00

name: condition00, type: Enum, default: EqualsCS

condition00 selects which condition must be fulfilled to get a query result.

Values:

Title

Name

Description

​equals CS

​EqualsCS

​The case sensitive value must match exactly.

​not equals CS

​NotEqualsCS

​The case sensitive value must not match exactly.

​wildcard matches CS

​WildCardCS

​The case sensitive value must match exactly whereby wildcards such as * (for none or multiple characters) and ? (for exactly a single character) can be used, for example “He*o” will match “Hello”.

​is like

​Like

​The case insensitive value must match whereby wildcards such as % (for none or multiple characters) and _ (for exactly a single character) can be used, for example “he%o” will match “Hello”; note that case insensitivity only is used for ASCII characters, all other are still compared case sensitively.

​is not like

​NotLike

​The case insensitive value must not match whereby wildcards such as % (for none or multiple characters) and _ (for exactly a single character) can be used, for example “hi%o” will match “Hello” while “he%o” will not match; note that case insensitivity only is used for ASCII characters, all other are still compared case sensitively.

​is smaller

​Smaller

​An alphanumerical smaller operation.

​is larger

​Larger

​An alphanumerical larger operation.

​is smaller or equal

​SmallerOrEqual

​An alphanumerical smaller or equal operation.

​is larger or equal

​LargerOrEqual

​An alphanumerical larger or equal operation.

​is between

​Between

​If selected then a second value01 input is displayed and an alphanumerical in-range check is performed such that the found value must be alphanumerically inside [value00, value01] to match.

​not wildcard matches CS

​NotWildCardCS

​The case sensitive value must not match whereby wildcards such as * (for none or multiple characters) and ? (for exactly a single character) can be used, for example “He*o” will match “Hello”.

​regular expression

​RegExp

​The given extended regular expression matches; see https://pubs.opengroup.org/onlinepubs/007908799/xbd/re.html#tag_007_004 for extended regular expressions.

​inverted regular expression

​InvertedRegExp

​The given extended regular expression does not match; see https://pubs.opengroup.org/onlinepubs/007908799/xbd/re.html#tag_007_004 for extended regular expressions.

editMode00

name: editMode00, type: Enum, default: String

Determines the input data format for the inputs value00 and value01.

Values:

Title

Name

Description

​String

​String

​The value inputs value00 and value01 are used directly for value specifications.

​Double

​Double

​Double inputs doubleValue00 doubleValue01 are used used to fill value00 and value01.

​Int

​Int

​Integer inputs intValue00 and intValue01 are used used to fill value00 and value01.

​Date

​Date

​Date inputs dateValue00 and dateValue01 are used used to fill value00 and value01.

​Time

​Time

​Time inputs timeValue00 and timeValue01 are used used to fill value00 and value01.

​Date Time

​DateTime

​Date and time inputs dateValue00, timeValue00, dateValue01, and timeValue01 are used used to fill value00 and value01.

value00

name: value00, type: String, default: MR

The actual first value used for the query. It may be filled from specialized input fields doubleValue00, intValue00, dateValue00, and/or timeValue00 according to editMode00.

doubleValue00

name: doubleValue00, type: Double, default: 0

Used as input for value00 if editMode00 is Double.

intValue00

name: intValue00, type: Integer, default: 0

Used as input for value00 if editMode00 is Int.

dateValue00

name: dateValue00, type: String, default: 19700101

Used as input for value00 if editMode00 is Date or DateTime.

timeValue00

name: timeValue00, type: String, default: 000000.0000

Used as input for value00 if editMode00 is Time or DateTime.

value200

name: value200, type: String, default: MR

The actual second value used for the query which is only used if condition00 needs two arguments (for example Between). It may be filled from specialized input fields doubleValue200, intValue200, dateValue200, and/or timeValue200 according to editMode00.

doubleValue200

name: doubleValue200, type: Double, default: 0

Used as input for value200 if editMode00 is Double and condition00 requires two arguments (for example Between).

intValue200

name: intValue200, type: Integer, default: 0

Used as input for value200 if editMode00 is Int and condition00 requires two arguments (for example Between).

dateValue200

name: dateValue200, type: String, default: 19700101

Used as input for value200 if editMode00 is Date or DateTime and condition00 requires two arguments (for example Between).

timeValue200

name: timeValue200, type: String, default: 000000.0000

Used as input for value200 if editMode00 is Time or DateTime and condition00 requires two arguments (for example Between).

keyType01

name: keyType01, type: Enum, default: DICOMTagValue_Flat

See documentation of the analogue keyType00 of the first query row.

tagId01

name: tagId01, type: String, default: Modality

See documentation of the analogue tagId00 of the first query row.

isTagIdValid01

name: isTagIdValid01, type: Bool, persistent: no

See documentation of the analogue isTagIdValid00 of the first query row.

condition01

name: condition01, type: Enum, default: EqualsCS

See documentation of the analogue condition00 of the first query row.

editMode01

name: editMode01, type: Enum, default: String

See documentation of the analogue editMode00 of the first query row.

value01

name: value01, type: String, default: MR

See documentation of the analogue value00 of the first query row.

doubleValue01

name: doubleValue01, type: Double, default: 0

See documentation of the analogue doubleValue00 of the first query row.

intValue01

name: intValue01, type: Integer, default: 0

See documentation of the analogue intValue00 of the first query row.

dateValue01

name: dateValue01, type: String, default: 19700101

See documentation of the analogue dateValue00 of the first query row.

timeValue01

name: timeValue01, type: String, default: 000000.0000

See documentation of the analogue timeValue00 of the first query row.

value201

name: value201, type: String, default: MR

See documentation of the analogue value200 of the first query row.

doubleValue201

name: doubleValue201, type: Double, default: 0

See documentation of the analogue doubleValue200 of the first query row.

intValue201

name: intValue201, type: Integer, default: 0

See documentation of the analogue intValue200 of the first query row.

dateValue201

name: dateValue201, type: String, default: 19700101

See documentation of the analogue dateValue200 of the first query row.

timeValue201

name: timeValue201, type: String, default: 000000.0000

See documentation of the analogue timeValue200 of the first query row.

keyType02

name: keyType02, type: Enum, default: DICOMTagValue_Flat

See documentation of the analogue keyType00 of the first query row.

tagId02

name: tagId02, type: String, default: Modality

See documentation of the analogue tagId00 of the first query row.

isTagIdValid02

name: isTagIdValid02, type: Bool, persistent: no

See documentation of the analogue isTagIdValid00 of the first query row.

condition02

name: condition02, type: Enum, default: EqualsCS

See documentation of the analogue condition00 of the first query row.

editMode02

name: editMode02, type: Enum, default: String

See documentation of the analogue editMode00 of the first query row.

value02

name: value02, type: String, default: MR

See documentation of the analogue value00 of the first query row.

doubleValue02

name: doubleValue02, type: Double, default: 0

See documentation of the analogue doubleValue00 of the first query row.

intValue02

name: intValue02, type: Integer, default: 0

See documentation of the analogue intValue00 of the first query row.

dateValue02

name: dateValue02, type: String, default: 19700101

See documentation of the analogue dateValue00 of the first query row.

timeValue02

name: timeValue02, type: String, default: 000000.0000

See documentation of the analogue timeValue00 of the first query row.

value202

name: value202, type: String, default: MR

See documentation of the analogue value200 of the first query row.

doubleValue202

name: doubleValue202, type: Double, default: 0

See documentation of the analogue doubleValue200 of the first query row.

intValue202

name: intValue202, type: Integer, default: 0

See documentation of the analogue intValue200 of the first query row.

dateValue202

name: dateValue202, type: String, default: 19700101

See documentation of the analogue dateValue200 of the first query row.

timeValue202

name: timeValue202, type: String, default: 000000.0000

See documentation of the analogue timeValue200 of the first query row.

keyType03

name: keyType03, type: Enum, default: DICOMTagValue_Flat

See documentation of the analogue keyType00 of the first query row.

tagId03

name: tagId03, type: String, default: Modality

See documentation of the analogue tagId00 of the first query row.

isTagIdValid03

name: isTagIdValid03, type: Bool, persistent: no

See documentation of the analogue isTagIdValid00 of the first query row.

condition03

name: condition03, type: Enum, default: EqualsCS

See documentation of the analogue condition00 of the first query row.

editMode03

name: editMode03, type: Enum, default: String

See documentation of the analogue editMode00 of the first query row.

value03

name: value03, type: String, default: MR

See documentation of the analogue value00 of the first query row.

doubleValue03

name: doubleValue03, type: Double, default: 0

See documentation of the analogue doubleValue00 of the first query row.

intValue03

name: intValue03, type: Integer, default: 0

See documentation of the analogue intValue00 of the first query row.

dateValue03

name: dateValue03, type: String, default: 19700101

See documentation of the analogue dateValue00 of the first query row.

timeValue03

name: timeValue03, type: String, default: 000000.0000

See documentation of the analogue timeValue00 of the first query row.

value203

name: value203, type: String, default: MR

See documentation of the analogue value200 of the first query row.

doubleValue203

name: doubleValue203, type: Double, default: 0

See documentation of the analogue doubleValue01 of the first query row.

intValue203

name: intValue203, type: Integer, default: 0

See documentation of the analogue intValue200 of the first query row.

dateValue203

name: dateValue203, type: String, default: 19700101

See documentation of the analogue dateValue200 of the first query row.

timeValue203

name: timeValue203, type: String, default: 000000.0000

See documentation of the analogue timeValue200 of the first query row.

keyType04

name: keyType04, type: Enum, default: DICOMTagValue_Flat

See documentation of the analogue keyType00 of the first query row.

tagId04

name: tagId04, type: String, default: Modality

See documentation of the analogue tagId00 of the first query row.

isTagIdValid04

name: isTagIdValid04, type: Bool, persistent: no

See documentation of the analogue isTagIdValid00 of the first query row.

condition04

name: condition04, type: Enum, default: EqualsCS

See documentation of the analogue condition00 of the first query row.

editMode04

name: editMode04, type: Enum, default: String

See documentation of the analogue editMode00 of the first query row.

value04

name: value04, type: String, default: MR

See documentation of the analogue value00 of the first query row.

doubleValue04

name: doubleValue04, type: Double, default: 0

See documentation of the analogue doubleValue00 of the first query row.

intValue04

name: intValue04, type: Integer, default: 0

See documentation of the analogue intValue00 of the first query row.

dateValue04

name: dateValue04, type: String, default: 19700101

See documentation of the analogue dateValue00 of the first query row.

timeValue04

name: timeValue04, type: String, default: 000000.0000

See documentation of the analogue timeValue00 of the first query row.

value204

name: value204, type: String, default: MR

See documentation of the analogue value200 of the first query row.

doubleValue204

name: doubleValue204, type: Double, default: 0

See documentation of the analogue doubleValue200 of the first query row.

intValue204

name: intValue204, type: Integer, default: 0

See documentation of the analogue intValue200 of the first query row.

dateValue204

name: dateValue204, type: String, default: 19700101

See documentation of the analogue dateValue01 of the first query row.

timeValue204

name: timeValue204, type: String, default: 000000.0000

See documentation of the analogue timeValue200 of the first query row.

keyType05

name: keyType05, type: Enum, default: DICOMTagValue_Flat

See documentation of the analogue keyType00 of the first query row.

tagId05

name: tagId05, type: String, default: Modality

See documentation of the analogue tagId00 of the first query row.

isTagIdValid05

name: isTagIdValid05, type: Bool, persistent: no

See documentation of the analogue isTagIdValid00 of the first query row.

condition05

name: condition05, type: Enum, default: EqualsCS

See documentation of the analogue condition00 of the first query row.

editMode05

name: editMode05, type: Enum, default: String

See documentation of the analogue editMode00 of the first query row.

value05

name: value05, type: String, default: MR

See documentation of the analogue value00 of the first query row.

doubleValue05

name: doubleValue05, type: Double, default: 0

See documentation of the analogue doubleValue00 of the first query row.

intValue05

name: intValue05, type: Integer, default: 0

See documentation of the analogue intValue00 of the first query row.

dateValue05

name: dateValue05, type: String, default: 19700101

See documentation of the analogue dateValue00 of the first query row.

timeValue05

name: timeValue05, type: String, default: 000000.0000

See documentation of the analogue timeValue00 of the first query row.

value205

name: value205, type: String, default: MR

See documentation of the analogue value200 of the first query row.

doubleValue205

name: doubleValue205, type: Double, default: 0

See documentation of the analogue doubleValue200 of the first query row.

intValue205

name: intValue205, type: Integer, default: 0

See documentation of the analogue intValue200 of the first query row.

dateValue205

name: dateValue205, type: String, default: 19700101

See documentation of the analogue dateValue200 of the first query row.

timeValue205

name: timeValue205, type: String, default: 000000.0000

See documentation of the analogue timeValue200 of the first query row.

keyType06

name: keyType06, type: Enum, default: DICOMTagValue_Flat

See documentation of the analogue keyType00 of the first query row.

tagId06

name: tagId06, type: String, default: Modality

See documentation of the analogue tagId00 of the first query row.

isTagIdValid06

name: isTagIdValid06, type: Bool, persistent: no

See documentation of the analogue isTagIdValid00 of the first query row.

condition06

name: condition06, type: Enum, default: EqualsCS

See documentation of the analogue condition00 of the first query row.

editMode06

name: editMode06, type: Enum, default: String

See documentation of the analogue editMode00 of the first query row.

value06

name: value06, type: String, default: MR

See documentation of the analogue value00 of the first query row.

doubleValue06

name: doubleValue06, type: Double, default: 0

See documentation of the analogue doubleValue00 of the first query row.

intValue06

name: intValue06, type: Integer, default: 0

See documentation of the analogue intValue00 of the first query row.

dateValue06

name: dateValue06, type: String, default: 19700101

See documentation of the analogue dateValue00 of the first query row.

timeValue06

name: timeValue06, type: String, default: 000000.0000

See documentation of the analogue timeValue00 of the first query row.

value206

name: value206, type: String, default: MR

See documentation of the analogue value200 of the first query row.

doubleValue206

name: doubleValue206, type: Double, default: 0

See documentation of the analogue doubleValue200 of the first query row.

intValue206

name: intValue206, type: Integer, default: 0

See documentation of the analogue intValue200 of the first query row.

dateValue206

name: dateValue206, type: String, default: 19700101

See documentation of the analogue dateValue200 of the first query row.

timeValue206

name: timeValue206, type: String, default: 000000.0000

See documentation of the analogue timeValue200 of the first query row.

keyType07

name: keyType07, type: Enum, default: DICOMTagValue_Flat

See documentation of the analogue keyType00 of the first query row.

tagId07

name: tagId07, type: String, default: Modality

See documentation of the analogue tagId00 of the first query row.

isTagIdValid07

name: isTagIdValid07, type: Bool, persistent: no

See documentation of the analogue isTagIdValid00 of the first query row.

condition07

name: condition07, type: Enum, default: EqualsCS

See documentation of the analogue condition00 of the first query row.

editMode07

name: editMode07, type: Enum, default: String

See documentation of the analogue editMode00 of the first query row.

value07

name: value07, type: String, default: MR

See documentation of the analogue value00 of the first query row.

doubleValue07

name: doubleValue07, type: Double, default: 0

See documentation of the analogue doubleValue00 of the first query row.

intValue07

name: intValue07, type: Integer, default: 0

See documentation of the analogue intValue00 of the first query row.

dateValue07

name: dateValue07, type: String, default: 19700101

See documentation of the analogue dateValue00 of the first query row.

timeValue07

name: timeValue07, type: String, default: 000000.0000

See documentation of the analogue timeValue00 of the first query row.

value207

name: value207, type: String, default: MR

See documentation of the analogue value200 of the first query row.

doubleValue207

name: doubleValue207, type: Double, default: 0

See documentation of the analogue doubleValue200 of the first query row.

intValue207

name: intValue207, type: Integer, default: 0

See documentation of the analogue intValue200 of the first query row.

dateValue207

name: dateValue207, type: String, default: 19700101

See documentation of the analogue dateValue200 of the first query row.

timeValue207

name: timeValue207, type: String, default: 000000.0000

See documentation of the analogue timeValue200 of the first query row.

keyType08

name: keyType08, type: Enum, default: DICOMTagValue_Flat

See documentation of the analogue keyType00 of the first query row.

tagId08

name: tagId08, type: String, default: Modality

See documentation of the analogue tagId00 of the first query row.

isTagIdValid08

name: isTagIdValid08, type: Bool, persistent: no

See documentation of the analogue isTagIdValid00 of the first query row.

condition08

name: condition08, type: Enum, default: EqualsCS

See documentation of the analogue condition00 of the first query row.

editMode08

name: editMode08, type: Enum, default: String

See documentation of the analogue editMode00 of the first query row.

value08

name: value08, type: String, default: MR

See documentation of the analogue value00 of the first query row.

doubleValue08

name: doubleValue08, type: Double, default: 0

See documentation of the analogue doubleValue00 of the first query row.

intValue08

name: intValue08, type: Integer, default: 0

See documentation of the analogue intValue00 of the first query row.

dateValue08

name: dateValue08, type: String, default: 19700101

See documentation of the analogue dateValue00 of the first query row.

timeValue08

name: timeValue08, type: String, default: 000000.0000

See documentation of the analogue timeValue00 of the first query row.

value208

name: value208, type: String, default: MR

See documentation of the analogue value200 of the first query row.

doubleValue208

name: doubleValue208, type: Double, default: 0

See documentation of the analogue doubleValue200 of the first query row.

intValue208

name: intValue208, type: Integer, default: 0

See documentation of the analogue intValue200 of the first query row.

dateValue208

name: dateValue208, type: String, default: 19700101

See documentation of the analogue dateValue200 of the first query row.

timeValue208

name: timeValue208, type: String, default: 000000.0000

See documentation of the analogue timeValue200 of the first query row.

keyType09

name: keyType09, type: Enum, default: DICOMTagValue_Flat

See documentation of the analogue keyType00 of the first query row.

tagId09

name: tagId09, type: String, default: Modality

See documentation of the analogue tagId00 of the first query row.

isTagIdValid09

name: isTagIdValid09, type: Bool, persistent: no

See documentation of the analogue isTagIdValid00 of the first query row.

condition09

name: condition09, type: Enum, default: EqualsCS

See documentation of the analogue condition00 of the first query row.

editMode09

name: editMode09, type: Enum, default: String

See documentation of the analogue editMode00 of the first query row.

value09

name: value09, type: String, default: MR

See documentation of the analogue value00 of the first query row.

doubleValue09

name: doubleValue09, type: Double, default: 0

See documentation of the analogue doubleValue00 of the first query row.

intValue09

name: intValue09, type: Integer, default: 0

See documentation of the analogue intValue00 of the first query row.

dateValue09

name: dateValue09, type: String, default: 19700101

See documentation of the analogue dateValue00 of the first query row.

timeValue09

name: timeValue09, type: String, default: 000000.0000

See documentation of the analogue timeValue00 of the first query row.

value209

name: value209, type: String, default: MR

See documentation of the analogue value200 of the first query row.

doubleValue209

name: doubleValue209, type: Double, default: 0

See documentation of the analogue doubleValue200 of the first query row.

intValue209

name: intValue209, type: Integer, default: 0

See documentation of the analogue intValue200 of the first query row.

dateValue209

name: dateValue209, type: String, default: 19700101

See documentation of the analogue dateValue200 of the first query row.

timeValue209

name: timeValue209, type: String, default: 000000.0000

See documentation of the analogue timeValue200 of the first query row.

joinMode00

name: joinMode00, type: Enum, default: UNION

If #Queries is larger than one then joinMode00 is displayed to decide how the first and the second query row shall operate together or how their results shall be composed; invisible if #Queries is 1.

Values:

Title

Name

Description

​UNION

​UNION

​All results of all queries row are composed to one result and duplicate results are listed only once.

​INNER

​INNER

​Those entries where the search of the first query row and the one of the second query match according joinCondition00 are added to the result. For example, if joinCondition00 is equals CS, and if in both query rows DICOMTag values are searched, then all entries are returned where the values case sensitively matches. This mode only uses joinCondition00 to combine results from the first and second query row, thus the condition, value and edit mode fields of the first and second query rows are insensitive.

​LEFT

​LEFT

​The left join includes the unmatched entries of the first query row left relation along with the matched columns in the result. This mode only uses joinCondition00 to combine results from the first and second query row, thus the condition, value and edit mode fields of the first and second query rows are insensitive.

​INTERSECT

​INTERSECT

​Only results which exist in both, the first and the second query, are returned.

​EXCEPT

​EXCEPT

​Results which exist only in one of both, the first or the second query, are returned.

​UNION ALL

​UNION ALL

​All results of all queries row are composed to one result and multiple results are listed multiply.

joinCondition00

name: joinCondition00, type: Enum, default: EqualsCS

Visibly only if #Queries is larger than 1 and only sensitive only if joinMode00 is not UNION. It determines the condition to use for the join operations between the first and the second query row. See condition00 field for the meaning of the modes.

joinMode01

name: joinMode01, type: Enum, default: UNION

See documentation of the analogue joinMode00 of the first join query row.

joinCondition01

name: joinCondition01, type: Enum, default: EqualsCS

See documentation of the analogue joinCondition00 of the first join query row.

joinMode02

name: joinMode02, type: Enum, default: UNION

See documentation of the analogue joinMode00 of the first join query row.

joinCondition02

name: joinCondition02, type: Enum, default: EqualsCS

See documentation of the analogue joinCondition00 of the first join query row.

joinMode03

name: joinMode03, type: Enum, default: UNION

See documentation of the analogue joinMode00 of the first join query row.

joinCondition03

name: joinCondition03, type: Enum, default: EqualsCS

See documentation of the analogue joinCondition00 of the first join query row.

joinMode04

name: joinMode04, type: Enum, default: UNION

See documentation of the analogue joinMode00 of the first join query row.

joinCondition04

name: joinCondition04, type: Enum, default: EqualsCS

See documentation of the analogue joinCondition00 of the first join query row.

joinMode05

name: joinMode05, type: Enum, default: UNION

See documentation of the analogue joinMode00 of the first join query row.

joinCondition05

name: joinCondition05, type: Enum, default: EqualsCS

See documentation of the analogue joinCondition00 of the first join query row.

joinMode06

name: joinMode06, type: Enum, default: UNION

See documentation of the analogue joinMode00 of the first join query row.

joinCondition06

name: joinCondition06, type: Enum, default: EqualsCS

See documentation of the analogue joinCondition00 of the first join query row.

joinMode07

name: joinMode07, type: Enum, default: UNION

See documentation of the analogue joinMode00 of the first join query row.

joinCondition07

name: joinCondition07, type: Enum, default: EqualsCS

See documentation of the analogue joinCondition00 of the first join query row.

joinMode08

name: joinMode08, type: Enum, default: UNION

See documentation of the analogue joinMode00 of the first join query row.

joinCondition08

name: joinCondition08, type: Enum, default: EqualsCS

See documentation of the analogue joinCondition00 of the first join query row.

isRunning

name: isRunning, type: Bool, persistent: no

Internally used field to make indicate that a query is currently processed and which makes GUI sections (in)sensitive.

disablePerformanceChecks

name: disablePerformanceChecks, type: Bool, default: FALSE

This is a hidden field which allows to disable performance warnings and preventing very long queries, for example if the module shall operate in automatic or batch mode. It is recommended to leave this flag disabled when working in interactive mode.