I am trying to understand DICOM modality worklist information model and its associated matching and return key attributes. In the DICOM specs (DICOM PS3.4 2022d - Service Class Specifications -> K.6.1.2.2 Modality Worklist Attributes) some return key types have the value 1C which according to the specification are treated as Type 1 attributes if a "certain condition" is met. Some of the conditions for these type of attributes are clearly written on the specification but some are not clear to me.
For example according to the specification Scheduled Procedure Step Description (0040,0007) is of type 1C with a remark that "Either Scheduled Procedure Step Description (0040,0007) or the Scheduled Protocol Code Sequence (0040,0008) or both shall be supported by the SCP". By the same token, Scheduled Protocol Code Sequence (0040,0008) is also of type 1C in this information model with the same remark as Scheduled Procedure Step Description.
So my understanding on the type of these 2 attributes is the "certain condition" is if either of the two have a value then the other one will not be required or in other words if one doesn't have a value then the other will be required to have a value (the "certain condition" being the absence of a value in one of these attributes acting as a condition for the other to be required). Is my interpretation correct or am I missing it?
As mentioned, a 1C
or 2C
type for a DICOM tag in a DICOM IOD (Information Object Description) means that the tag is mandatory if a certain condition is fulfilled. In the case of 1C, the tag must also have a value in this case (similar to type 1). All data element types are described in the DICOM standard, PS3.5.
The conditions are described in the remark section of the respective tag in a free format, but these descriptions mostly follow certain patterns. Unfortunately, there is no formal definition of the condition format, so it cannot be parsed automatically reliably. Nevertheless, certain phrases are used in most condition descriptions. In your case, the condition is:
Either the Scheduled Procedure Step Description (0040,0007) or the Scheduled Protocol Code Sequence (0040,0008) or both shall be supported by the SCP.
The pattern: Either the <Tag name> (xxxx,xxxx) or the <tag name> (xxxx,xxxx) or both shall be <something>
, where <something>
can be "present", "absent", "supported" or similar, appears several times in the standard, as do other phrases. It means what the original poster has already guessed: that it is mandatory that at least one of both tags must be present (and have a value in the case of 1C).
The fact that the described tag itself is part of that description is not uncommon and probably also due to the fact that the authors of the standard try to use standard phrases (at least that is what I suppose they do).
Sidenote:
The reason why I'm fairly familiar with the phrases used in these conditions is that I have tried to parse these conditions automatically from the available DocBook version of the DICOM standard (as I'm sure others also have). As I wrote, this is not reliable though.