Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

DICOM Attribute Filter

The Attribute filter defines which attributes of the DICOM header are written into the BLOB field of patient/study/series/instance level and are therefore accessible during C-FIND.

Update Strategy

The behavior how the extracted attributes in the BLOB fields are updated by received objects of the same entity (Patient/Study/Series/Instance) can be controlled by the value of the attribute update-strategy of the <patient>, <study>, <series>, <instance> element. Enumerated values are

update-strategy

Behavior

overwrite

Attributes extracted from new received objects replace current stored attributes in the BLOB field (=default for attributes on instance level)

overwrite-merge

Attributes extracted from new received objects replace current stored attributes in the BLOB field. Current stored attributes not contained by the new received attributes will remain in the BLOB field.

coerce

Stored attributes in the BLOB field extracted from the first received object of the entity will not be altered on receive of other objects of that entity with different attributes

coerce-merge

Stored attributes with non-empty value in the BLOB field will not be altered on received of other objects of that entity with different attribute values. Attributes extracted from the new received objects not already contained or with an empty value in the BLOB field, will be added in the BLOB field (=default for attributes on patient/study/series level)

Case-sensitivity of matching string attributes

Case-sensitivity of matching string attributes can be controlled by the value of the attribute case-sensitive="true"|"false" of element <tag>. Default: "true". Only effective, for string attributes, for which matching is supported. For supported matching string attributes in sequence items, the tag of the sequence attribute shall be specified by an additional seq attribute of <tag>.

Supported matching string attributes

<patient>
  <attr tag="00100010"/> <!-- Patient's Name -->
  <attr tag="00100020"/> <!-- Patient ID -->
  <attr tag="00100021"/> <!-- Issuer of Patient ID -->
  <attr tag="00100040"/> <!-- Patient's Sex -->
<patient>
<study>
  <attr tag="00080050"/> <!-- Accession Number -->
  <attr tag="00080090"/> <!-- Referring Physician Name -->
  <attr tag="00081030"/> <!-- Study Description -->
  <attr tag="0020000D"/> <!-- Study Instance UID -->
  <attr tag="00200010"/> <!-- Study ID -->
  <attr tag="0032000A"/> <!-- Study Status ID -->
</study>
<series>
  <attr tag="00080060"/> <!-- Modality -->
  <attr tag="00080070"/> <!-- Manufacturer -->
  <attr tag="00080080"/> <!-- Institution Name -->
  <attr tag="00081010"/> <!-- Station Name -->
  <attr tag="0008103E"/> <!-- Series Description -->
  <attr tag="00081040"/> <!-- Institutional Department Name -->
  <attr tag="00081050"/> <!-- Performing Physician Name -->
  <attr tag="00081090"/> <!-- Manufacturer Model Name -->
  <attr tag="00180015"/> <!-- Body Part Examined -->
  <attr tag="0020000E"/> <!-- Series Instance UID -->
  <attr tag="00200011"/> <!-- Series Number -->
  <attr seq="00400275" tag="00321032"/> <!-- Requesting Physician -->
  <attr seq="00400275" tag="00321033"/> <!-- Requesting Service -->
  <attr seq="00400275" tag="00400009"/> <!-- Scheduled Procedure Step ID -->
  <attr seq="00400275" tag="00401001"/> <!-- Requested Procedure ID -->
</series>
<instance>
  <attr tag="00080016"/> <!-- SOP Class UID -->
  <attr tag="00080018"/> <!-- SOP Instance UID -->
  <attr tag="00200013"/> <!-- Instance Number -->
  <attr seq="0040A073" tag="0040A075"/> <!-- Verifying Observer Name -->
  <attr tag="0040A491"/> <!-- Completion Flag -->
  <attr tag="0040A493"/> <!-- Verification Flag -->
</instance>

Custom matching Attributes

It supports the configuration of up to 3 additional matching key on PATIENT, STUDY, SERIES and INSTANCE Level, configurable in conf/dcm4chee-attribute-filter.xml by new XML attribute field of <attr> element, which defines which DB column shall be mapped to this attribute to support it as matching key in DICOM Queries. Possible values for attribute field depends on the entity level:| Level | field value1 | field value2 | field value3 |

<patient>

patientCustomAttribute1

patientCustomAttribute2

patientCustomAttribute3

<study>

studyCustomAttribute1

studyCustomAttribute2

studyCustomAttribute3

<seriest>

seriesCustomAttribute1

seriesCustomAttribute2

seriesCustomAttribute3

<instance>

instanceCustomAttribute1

instanceCustomAttribute2

instanceCustomAttribute3

Example:

<dcm4chee-attribute-filter>
 [..]
 <series>
  [..]
   <attr tag="00180010" field="seriesCustomAttribute1"/> <\!-\- Contrast/Bolus Agent \-->
  [..]
 </series>
 [..]
</dcm4chee-attribute-filter>

will configure support of (0018,0010) Contrast/Bolus Agentas matching key on SERIES level

It is also possible to add private Attributes to custom_fields on study/series/instance level by:

  1. Using the absolute tag value and also adding an entry for the corresponding Private Creator ID in conf/dcm4chee-attribute-filter.xml. E.g.:
    <study>
    :
    <attr tag="00990010"/> <!-- Private Creator ID -->
    <attr tag="00991015" field="studyCustomAttribute1"/> <!-- Private Attribute -->
    :
    </study>
    
  2. Objects must not be stored with Implicit VR Little Endian - except, if the private attribute is added by a configured C-STORE RQ coercion in conf/dcm4chee-ae/MOD_AET/cstorerq.xsl. E.g.:
    <xsl:template match="/dataset">
    <dataset>
    <xsl:variable name="bodypartexamined" select="normalize-space(attr[@tag='00180015'])"/>
    <xsl:if test="$bodypartexamined">
    <attr tag="00990010" vr="LO">DCM4CHEE</attr>
    <attr tag="00991015" vr="CS">
    <xsl:value-of select="$bodypartexamined"/>
    </attr>
    </xsl:if>
    </dataset>
    </xsl:template>
    
  3. Also Queries must be encoded with Explicit VR. E.g.:
    (0008,0020) DA #0 \[\] Study Date
    (0008,0030) TM #0 \[\] Study Time
    (0008,0050) SH #0 \[\] Accession Number
    (0008,0052) CS #6 [STUDY] Query/Retrieve Level
    (0020,000D) UI #0 \[\] Study Instance UID
    (0020,0010) SH #0 \[\] Study ID
    (0020,1206) IS #0 \[\] Number of Study Related Series
    (0020,1208) IS #0 \[\] Number of Study Related Instances
    (0099,0010) LO #8 [DCM4CHEE] Private Creator Data Element
    (0099,1015) CS #8 [ABDOMEN] Private Attribute
    
    Attention: At default configuration, only Transfer Syntax: Implicit VR Little Endian is accepted by the Query Retrieve Service of dcm4chee-archive for Standard Query Retrieve Services (QueryRetrieveSCP.AcceptedTransferSyntaxForStandardSOPClasses=ImplicitVRLittleEndian)!
  • No labels