IOD (Information Object Definition)
The DICOM Information Model defines the structure and organization of information that are related to the communication of medical images.
An IOD (Information Object Definition) is an object-oriented abstract data model used to specify information about real-world objects. An IOD provides communicating application entities with a common view of the information to be exchanged.
An IOD does not represent a specific instance of a real-world object, but a class of real-world objects that share the same properties.
Cloverleaf provides a standard IOD as a root-level format definition.
iods folder
This folder contains the IOD definitions. For example:
Prologue
who: 18265
date: Tue Mar 03 15:13:16 2015
version: 4.0
type: iod
name: RT Image IOD
ldlvers: 2014
end_prologue
{MODULE Patient} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 0}
{MODULE Clinical_Trial_Subject} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 0}
{MODULE General_Study} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 0}
{MODULE Patient_Study} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 0}
……
modules folder
This folder contains Module definitions. For example:
Prologue
who: 18265
date: Tue Mar 03 15:13:17 2015
version: 4.0
type: mod
name: Patient Module
ldlvers: 2014
end_prologue
{FIELD 0010,0010} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 0}
{FIELD 0010,0020} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 0}
{MACRO Issuer_of_Patient_ID} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 0}
{FIELD 0010,0030} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 0}
……
macros folder
This folder contains Module definitions. For example:
Prologue
who: 18265
date: Tue Mar 03 15:13:15 2015
version: 4.0
type: mac
name: Issuer of Patient ID Macro
ldlvers: 2014
end_prologue
{FIELD 0010,0021} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 0}
{FIELD 0010,0024} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 0}
{FIELD FFFE,E000} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 1}
{FIELD 0040,0032} {REQD 0} {REPEAT 0} {REPCNT 0} {LEVEL 2}
……
Addressing
Cloverleaf supports using IOD,MODULE, and MACRO in the message address instead of each particular data element. For example:
1(0).C_STORE_MR_IOD(0).MR_Image(0).Image_Pixel(0).Image_Pixel(0).0028,0101(0)
When the exact position of the data element in an incoming message is unknown, then use an address without any fixed index before the data element. In this way, the engine searches the data element in the particular level for it.