Legacy Archive Attribute Coercion Application of multiple coercions using one coercion rule - dcm4che/dcm4chee-arc-light GitHub Wiki
Content
- Configuration Specifics
- Configurations common to all coercion types
- Configurations specific to Merging from MWL coercion type
- Configurations specific to Merge attributes coercion type
- Configurations specific to Nullify attributes coercion type
- Configurations specific to Nullify Issuer of Patient ID coercion type
- Configurations specific to Supplement Issuer of Patient ID Format coercion type
- Configurations specific to Supplementing from Device coercion type
- Configurations specific to De-identify or Anonymize attributes coercion type
- Configurations specific to Retrieve object attributes as Received coercion type
- Configurations specific to Coerce attributes from leading archive coercion type
- Configurations specific to Use Calling AE Title as coercion type
- Configurations specific to Trim ISO 2022 Character Set coercion type
- Use Cases
Using a Legacy Archive Attribute Coercion, multiple coercions can be applied on an incoming / outgoing dataset which follows a pre-defined cascaded sequence of application of these coercions based on configured fields in the rule.
Note : Not every field in a Legacy Archive Attribute Coercion can be used for every DIMSE transaction / Role.
Configurations Specifics
Configurations common to all coercion types
DIMSE
-
DICOM Message Element on which the Attribute Coercion shall be applied
-
Configurable values
Value Meaning C_STORE_RQ
Applicable to objects stored / retrieved using C_STORE / STOW / WADO C_FIND_RQ
Applicable to C-FIND / QIDO request datasets C_FIND_RSP
Applicable to C-FIND / QIDO response datasets N_CREATE_RQ
Applicable to N-CREATE request datasets
- Coercions are applied when datasets match specified Conditions.
-
Identifies applicable Attribute Update Policy
-
Default value MERGE
-
Configurable values
Value Meaning PRESERVE
Nullifies attributes in the new dataset which are not present in the original dataset SUPPLEMENT
Attributes not present in original dataset will be supplemented MERGE
Attribute values will be written from new dataset OVERWRITE
Attribute values will be nullified in original dataset if these were null in new dataset
Configurations specific to Coercing attributes from XSL coercion type
Can be applicable in all Use Cases
- Ensures customized stylesheet transformation is applied to the coerced dataset
- Specify
<path-to-custom.xsl>
Configurations specific to Merging from MWL coercion type
Applicable only in Coerce incoming C-STORE requests on receive of studies to archive - Use case
Following configurations are common to merging attributes from local as well as external MWL SCP.
-
Value Meaning AccessionNumber
Only Accession Number from DICOM images' dataset considered for querying MWLs. StudyInstanceUID
Only Study Instance UID from DICOM images' dataset considered for querying MWLs. PatientID
Patient ID and Accession Number from DICOM images' dataset considered for querying MWLs. If Accession Number not available in object attributes, only Patient ID considered for querying MWLs. PatientIDOnly
Only Patient ID from DICOM images' dataset considered for querying MWLs. PatientIDAccessionNumber
Patient ID and Accession Number from DICOM images' dataset considered for querying MWLs. If Accession Number not available in object attributes, fall back to Study Instance UID. ScheduledProcedureStepID
Scheduled Procedure Step ID and Study Instance UID from DICOM images' dataset considered for querying MWLs. Note : Scheduled Procedure Step ID is taken from Request Attributes Sequence from DICOM images' dataset
Merge attributes from local MWL SCP
Until v5.29.2
- Merge Local MWL SCP(s)
Version 5.30.0 onwards
Merge attributes from external MWL SCP
Configurations specific to Merge attributes coercion type
Can be applicable in all Use Cases
Merge Attribute(s) in format {attributeID}={value} wherein specified {attributeID} can be a Keyword or Tag number, some examples :
PatientID=JMS{PatientID}
PatientID={PatientID,slice,3}
IssuerOfPatientID={00100010,hash}-{00100030}
{attributeID} inside {value} will be replaced by the value of that attribute in the original dataset.
Refer various Attributes Formatting Options on Coercion that can be used.
Configurations specific to Nullify attributes coercion type
Can be applicable in all Use Cases
Nullify Attribute Tag(s) : To nullify an attribute, just specify the DICOM attribute as a hex string, f.e.
00080050
: nullifiesAccession Number
in the dataset7FE00010
: nullifiesPixel Data
in the dataset
Configurations specific to Nullify Issuer of Patient ID coercion type
Can be applicable in following Use Cases :
- Coerce incoming C-STORE requests on receive of studies to archive
- Coerce incoming (MWL) C-FIND requests to archive
- Coerce incoming (MWL) C-FIND responses to archive and outgoing (MWL) C-FIND requests from archive
Issuer of Patient IDs : Applicable only if Nullify Issuer of Patient ID is set to
- MATCHING
- NON_MATCHING
Configurations specific to Supplement Issuer of Patient ID Format coercion type
Can be applicable in following Use Cases :
- Coerce incoming C-STORE requests on receive of studies to archive
- Coerce incoming (MWL) C-FIND requests to archive
- Coerce incoming (MWL) C-FIND responses to archive and outgoing (MWL) C-FIND requests from archive
- Format of Issuer of Patient ID (0010,0021) derived from other attributes,
f.e.
{00100010,hash}-{00100030}
: implies use hash value ofPatient Name (0010,0010)
andPatient Birth Date (0010,0030)
separated by a-
. - To nullify existing values of
Issuer of Patient ID (0010,0021)
in received objects before supplementing with Issuer of Patient ID Format, configure Nullify Issuer of Patient ID with(-out) Issuer of Patient ID accordingly. - Else if Nullify Issuer of Patient ID with(-out) Issuer of Patient ID are not configured, coercion by Issuer of Patient ID Format is appended to existing value of
Issuer of Patient ID (0010,0021)
DICOM attribute value.
Some examples : Assume Issuer of Patient ID Format is configured as {00100010,hash}-{00100030}
and your setup has :
Nullify Issuer of Patient ID | Issuer of Patient IDs | Issuer of Patient ID (0010,0021) in dataset | Resulting coerced value |
---|---|---|---|
- | - | Issuer1 |
Issuer1-730FB623-19650412 |
- | - | - | 730FB623-19650412 |
ALWAYS |
- | Issuer1 |
730FB623-19650412 |
ALWAYS |
- | - | 730FB623-19650412 |
MATCHING |
Issuer1 |
Issuer1 |
730FB623-19650412 |
MATCHING |
Issuer2 |
Issuer1 |
Issuer1-730FB623-19650412 |
NOT_MATCHING |
Issuer1 |
Issuer1 |
Issuer1-730FB623-19650412 |
NOT_MATCHING |
Issuer1 |
Issuer2 |
730FB623-19650412 |
Configurations specific to Supplementing from device coercion type
Can be applicable in following Use Cases :
- Coerce incoming C-STORE requests on receive of studies to archive
- Coerce incoming (MWL) C-FIND requests to archive
- Coerce incoming (MWL) C-FIND responses to archive and outgoing (MWL) C-FIND requests from archive
- Coerce incoming MPPS N-CREATE requests to archive
Refer Supplement Dataset Attributes from Device for general understanding on this coercion type.
Configurations specific to De-identify or anonymize attributes coercion type
Applicable only in Coerce outgoing C-STORE requests on sending studies from archive - Use Case
Supported De-identification Profiles :
- BasicApplicationConfidentialityProfile
- RetainLongitudinalTemporalInformationFullDatesOption
- RetainDeviceIdentityOption
- RetainInstitutionIdentityOption
- RetainUIDsOption
- (proprietary)
RetainPatientIDHashOption
Configurations specific to Retrieving object attributes as received coercion type
Applicable only in Coerce outgoing C-STORE requests on sending studies from archive - Use Case
Configurations specific to Coerce attributes from leading archive coercion type
Can be applicable in following Use Cases :
- Coerce incoming C-STORE requests on receive of studies to archive
- Coerce outgoing (MWL) C-FIND responses sent from archive
Configurations specific to Use Calling AE Title as coercion type
Can be applicable in following Use Cases :
- Coerce incoming C-STORE requests on receive of studies to archive
- Coerce incoming (MWL) C-FIND requests to archive
- Coerce incoming (MWL) C-FIND responses to archive and outgoing (MWL) C-FIND requests from archive
Configurations specific to Trim ISO 2022 Character Set coercion type
Can be applicable in following Use Cases :
- Coerce incoming C-STORE requests on receive of studies to archive
- Coerce incoming (MWL) C-FIND requests to archive
- Coerce incoming (MWL) C-FIND responses to archive and outgoing (MWL) C-FIND requests from archive
Refer Trim ISO 2022 Character Sets using Coercions for general understanding on this coercion type.
Use Cases
Applicable coercions for each DIMSE transaction / Role is explained in detail in following links.
- Coerce incoming C-STORE requests on receive of studies to archive
- Coerce outgoing C-STORE requests on sending studies from archive
- Coerce incoming (MWL) C-FIND requests to archive
- Coerce outgoing (MWL) C-FIND responses sent from archive
- Coerce incoming (MWL) C-FIND responses to archive and outgoing (MWL) C-FIND requests from archive
- Coerce incoming MPPS N-CREATE requests to archive