← Навигация по документации

Обзор

В зависимости от требований приложения выполняется анонимизация значений атрибутов DICOM-набора данных на основе Supported De-identification Profiles при сохранении DICOM-объектов в архив из внешних систем.

Анонимизированные значения атрибутов в DICOM-наборе данных присутствуют только в базе данных. В DICOM-файлах, хранящихся в системе хранения, они не принуждаются.

Это практическое руководство описывает настройку, тестирование и проверку для : - New Archive Attribute Coercion

Дополнительно см. - Important Notes. - Where to configure Archive Attribute Coercion rules

Принуждение с использованием New Archive Attribute Coercion

Настройка

Через UI архива

С помощью Apache LDAP Directory Studio / LDIF-скриптов

Создайте LDIF-файл для следующего принуждения

version: 1

dn: cn=coerce-c-store-rq - allModalities2vna - anonymize - new,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: add
objectClass: dcmArchiveAttributeCoercion2
cn: coerce-c-store-rq - allModalities2vna - anonymize - new
dcmDIMSE: C_STORE_RQ
dcmURI: deidentify:RetainDeviceIdentityOption,RetainUIDsOption
dicomTransferRole: SCU
dcmProperty: SendingApplicationEntityTitle=DEIDENT_NEW
dcmRulePriority: 1

и импортируйте его в LDAP с помощью утилиты командной строки ldapmodify

ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f config.ldif

Тест

Отправьте тестовое исследование в архив с помощью инструмента storescu.

storescu -b DEIDENT_NEW -c DCM4CHEE@localhost:11112 ~/work/testdata/DICOM/modality/CT/CT2

Проверка

В журнале сервера архива $WILDFLY_HOME/standalone/log/server.log

15:08:13,611 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-1) Accept connection Socket[addr=/127.0.0.1,port=33505,localport=11112]
15:08:13,645 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2) >> A-ASSOCIATE-RQ
15:08:13,646 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2) << A-ASSOCIATE-AC
15:08:13,694 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2) >> 1:C-STORE-RQ[pcid=5, prior=0
  cuid=1.2.840.10008.5.1.4.1.1.2 - CT Image Storage
  iuid=1.3.12.2.1107.5.8.1.12345678.199508041416590861483 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
15:08:13,757 INFO  [org.dcm4chee.arc.coerce.impl.DeIdentificationCoercionProcessor] (EE-ManagedExecutorService-default-Thread-16) Deidentified attributes by coercion ArchiveAttributeCoercion2[cn=coerce-c-store-rq - allModalities2vna - anonymize - new, priority=1, DIMSE=C_STORE_RQ, role=SCU, cuids=[], conditions={SendingApplicationEntityTitle=DEIDENT_NEW}, uri=deidentify:RetainDeviceIdentityOption,RetainUIDsOption, description=null, onFailure=RETHROW, sufficient=false, attributeUpdatePolicy=MERGE, mergeAttributes=[], deviceCoercionParam=null, otherCoercionParams={}]
15:08:13,821 INFO  [org.dcm4chee.arc.patient.impl.PatientServiceEJB] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2): No Patient ID in received object
15:08:13,826 INFO  [org.dcm4chee.arc.patient.impl.PatientServiceEJB] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2): Create Patient[pk=183, id=PatientID[pk=182, id=P-00000001, issuer=TESTISS], name=null]
15:08:13,829 INFO  [org.dcm4chee.arc.store.impl.StoreServiceEJB] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2): Create Study[pk=145, uid=1.3.12.2.1107.5.8.1.12345678.199508041416590859569, id=*]
15:08:13,833 INFO  [org.dcm4chee.arc.store.impl.StoreServiceEJB] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2): Create Series[pk=174, uid=1.3.12.2.1107.5.8.1.12345678.199508041416590860429, no=0, mod=CT]
15:08:13,837 INFO  [org.dcm4chee.arc.store.impl.StoreServiceEJB] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2): Create Instance[pk=360, uid=1.3.12.2.1107.5.8.1.12345678.199508041416590861483, class=1.2.840.10008.5.1.4.1.1.2, no=1]
15:08:13,838 INFO  [org.dcm4chee.arc.store.impl.StoreServiceEJB] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2): Create Location[pk=613, systemID=fs1, path=2023/04/22/5E9204E8/5E9C00D5/5E9C75E8, tsuid=1.2.840.10008.1.2, size=529512, status=OK, objectType=DICOM_FILE]
15:08:13,877 INFO  [org.dcm4chee.arc.store.impl.StoreServiceImpl] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2): Updated DB in 120 ms
15:08:13,884 INFO  [org.dcm4chee.arc.patient.impl.PatientServiceEJB] (EE-ManagedExecutorService-default-Thread-16) No duplicate record with equal Patient ID found Patient[pk=183, id=PatientID[pk=182, id=P-00000001, issuer=TESTISS], name=null]
15:08:13,888 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2) << 1:C-STORE-RSP[pcid=5, status=0H
  cuid=1.2.840.10008.5.1.4.1.1.2 - CT Image Storage
  iuid=1.3.12.2.1107.5.8.1.12345678.199508041416590861483 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
15:08:13,891 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2) >> A-RELEASE-RQ
15:08:13,891 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-16) DCM4CHEE<-DEIDENT_NEW(2) << A-RELEASE-RP
15:08:13,942 INFO  [org.dcm4che3.net.Association] (EE-ManagedScheduledExecutorService-default-Thread-5) DCM4CHEE<-DEIDENT_NEW(2): close Socket[addr=view-localhost/127.0.0.1,port=33505,localport=11112]

В UI архива