Атрибуты полученного DICOM-объекта могут быть перезаписаны с использованием таблиц стилей XSLT перед их сохранением в архив. В зависимости от требований можно настроить одну или несколько XSL-таблиц стилей. Для этого необходимо создать Attribute Coercions (принуждения атрибутов). Они могут быть настроены либо на уровне Archive Device, либо на уровне расширения Archive AE. Следует отметить, что таблицы стилей всегда должны соответствовать Native DICOM Model
Attribute Coercion можно создать на : - Уровне Archive Device — чтобы применять принуждение атрибутов для экземпляров, получаемых любым Application Entity Архива :
Перейдите в Menu->Configuration, затем на странице Devices нажмите Edit у устройства dcm4chee-arc. Перейдите в
Extensions и Edit extension у Device Extension. Снова перейдите в его Extensions и Edit extension у Archive Device.
Перейдите в его Child objects и выберите + Add a new Attribute Coercion напротив поля Attribute Coercion. Введите
значения для Name, выберите значения для DIMSE и DICOM Transfer Role, при необходимости добавьте одно или несколько
необязательных значений и нажмите Save.
ИЛИ
Перейдите в Menu->Configuration, затем на странице Devices нажмите Edit у устройства dcm4chee-arc. Перейдите в его
Child Objects и выберите Application Entity из выпадающего списка Network AEs. Перейдите в Extensions и
Edit extension у Network AE Extension. Снова перейдите в его Extensions и Edit extension у Archive Network AE.
Перейдите в его Child objects и выберите + Add a new Attribute Coercion напротив поля Attribute Coercion. Введите
значения для Name, выберите значения для DIMSE и DICOM Transfer Role, при необходимости добавьте одно или несколько
необязательных значений и нажмите Save.
Например, чтобы принуждать атрибуты при сохранении объектов в архив, создайте LDIF-файл для добавления атрибутов на : - уровне Archive Device (напр.):
version: 1
# Пример конфигурации Attribute Coercion
dn: cn=Default Attribute Coercion,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmArchiveAttributeCoercion
cn: Default Attribute Coercion
dcmDIMSE: C_STORE_RQ
dicomTransferRole: SCU
dcmURI: /path-to-custom-stylesheet.xsl
ИЛИ
version: 1
# Пример конфигурации Attribute Coercion
dn: cn=Default Attribute Coercion,dicomAETitle=DCM4CHEE,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmArchiveAttributeCoercion
cn: Default Attribute Coercion
dcmDIMSE: C_STORE_RQ
dicomTransferRole: SCU
dcmURI: /path-to-custom-stylesheet.xsl
и импортируйте его на LDAP-сервер с помощью утилиты командной строки ldapadd или функции LDIF Import... в Apache Directory Studio
dicomDeviceName=dcm4chee-arc) или на
уровне Application Entity (напр.: dicomAETitle=DCM4CHEE) в конфигурации Архива.где таблица стилей path-to-custom-stylesheet.xsl содержит различные принуждения, которые требуется применить к одному
или нескольким DICOM-атрибутам входящих получаемых объектов.
Описание атрибутов можно посмотреть в Archive Attribute Coercion.
Перейдите на вкладку Control на странице Configuration в UI архива и перезагрузите конфигурацию.
В зависимости от ваших требований в примере конфигурации
архива предусмотрены различные примеры Attribute Coercions. Их можно использовать как есть или изменять под свои нужды.
Таблица стилей может располагаться в файловой системе или на http-сервере. В приведённых ниже примерах используется
${jboss.server.temp.url}/dcm4chee-arc/<stylesheet>.xsl, поскольку по умолчанию они упакованы в vendor data.
Если добавляется какая-либо пользовательская таблица стилей, также обновите Vendor Data.
Пример таблицы стилей Merge from MWL
Соответствующая конфигурация LDAP будет :
dn: cn=Merge MWL,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmDIMSE: C_STORE_RQ
dcmProperty: SendingApplicationEntityTitle=MERGE_MWL
dicomTransferRole: SCU
dcmMergeMWLMatchingKey: StudyInstanceUID
dcmMergeMWLTemplateURI: ${jboss.server.temp.url}/dcm4chee-arc/mwl2series.xsl
objectClass: dcmArchiveAttributeCoercion
dcmNoKeywords: TRUE
cn: Merge MWL
Значения атрибутов во входящих DICOM-объектах могут быть скорректированы так, чтобы они соответствовали DICOM Value Representation. Приведённая ниже примерная таблица стилей корректирует атрибуты в наборе данных, находящиеся только на корневом уровне и не внутри вложенных наборов данных
Пример таблицы стилей Correct VR
Приведённая ниже таблица показывает корректировки, которые будут применены для соответствующих VR и форматов, если использовать пример таблицы стилей.
| VR | Формат | Корректировка |
|---|---|---|
| AS | nnnD, nnnW, nnnM, nnnY | nullify |
| CS | [0-9A-Z_ ]{0,16} | nullify |
| DA | YYYYMMDD | nullify |
| DS | Decimal String | nullify |
| DT | YYYYMMDDHHMMSS.FFFFFF&ZZXX | nullify |
| IS | Integer String | nullify |
| LO | <= 64 chars | truncate |
| SH | <= 16 chars | truncate |
| TM | HHMMSS.FFFFFF | nullify |
Соответствующая конфигурация LDAP будет :
dn: cn=Correct VR,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmArchiveAttributeCoercion
cn: Correct VR
dcmDIMSE: C_STORE_RQ
dicomTransferRole: SCP
dcmProperty: ReceivingApplicationEntityTitle=CORRECT_VR
dcmNoKeywords: TRUE
dcmURI: ${jboss.server.temp.url}/dcm4chee-arc/correct-vr.xsl
Пример таблицы стилей Ensure Patient ID
Соответствующая конфигурация LDAP будет :
dn: cn=Ensure PID,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmDIMSE: C_STORE_RQ
dcmProperty: SendingApplicationEntityTitle=ENSURE_PID
dicomTransferRole: SCU
objectClass: dcmArchiveAttributeCoercion
dcmNoKeywords: TRUE
dcmURI: ${jboss.server.temp.url}/dcm4chee-arc/ensure-pid.xsl
cn: Ensure PID
Пример таблицы стилей Nullified Patient Name
Соответствующая конфигурация LDAP будет :
dn: cn=Nullify PN,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmDIMSE: C_STORE_RQ
dcmProperty: ReceivingApplicationEntityTitle=NULLIFY_PN
dicomTransferRole: SCP
objectClass: dcmArchiveAttributeCoercion
dcmNoKeywords: TRUE
dcmURI: ${jboss.server.temp.url}/dcm4chee-arc/nullify-pn.xsl
cn: Nullify PN