-
Notifications
You must be signed in to change notification settings - Fork 244
Anonymize Data on Store
Vrinda edited this page Oct 10, 2024
·
3 revisions
Depending on your application requirements, anonymize DICOM dataset attribute values based on Supported De-identification Profiles when DICOM objects are stored to the archive from external systems.
The anonymized values of attributes in DICOM dataset is only present in the database. It is not coerced in the DICOM files stored on the storage system.
This howto will provide configuration, test and verification steps for :
Additionally, refer
Create an LDIF file for following coercion
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
and import it into LDAP using ldapmodify command line utility
ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f config.ldif
Send test study to archive using storescu tool.
storescu -b DEIDENT_NEW -c DCM4CHEE@localhost:11112 ~/work/testdata/DICOM/modality/CT/CT2
In archive server log at $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]
In archive UI
DCM4CHEE 5 Documentation