Site-wide anonymization

44 views
Skip to first unread message

elijah....@gmail.com

unread,
Sep 23, 2021, 5:26:45 PM9/23/21
to xnat_discussion
Hello,

I've been using the following excerpt for project level anonymization, which does accurately modify the DICOM headers as expected, when archiving an image from the prearchive.

(0008,1030) := project
(0010,0010) := subject
(0010,0020) := session

However, when I use the same script in the site-wide anonymization field, reviewing and archiving (and changing the subject/session) does not seem to modify the headers when the project level anonymization has been disabled.

I was expecting the site-wide anonymization to behave like the project level anonymization, but I suspect I'm misunderstanding something about their differences in point of activation or something.

Moore, Charlie

unread,
Sep 23, 2021, 5:46:12 PM9/23/21
to xnat_di...@googlegroups.com
Hi Eli,

You can see https://wiki.xnat.org/documentation/how-to-use-xnat/image-session-upload-methods-in-xnat/where-dicom-anonymization-happens-in-xnat for more information, but that is indeed the expected behavior. If you're doing a CSTORE of DICOM to XNAT, site anonymization runs in the prearchive when the images are received. In contrast, project anonymization runs when you actually archive the images. XNAT does this because site anonymization is going to happen for all images coming into an XNAT, so we want to do it as soon as possible to minimize sensitive information. However, we don't run project anonymization until you actually archive the data because the user might change the project for the session in the prearchive. If we had already run project-level anonymization at that point, we wouldn't be able to "go back" to the pre-anon state.

One way to get the site-level anonymization process to likely work how you want would be to include the appropriate project/subject/session metadata in the images before they get sent. This may be impossible for your workflow depending on exactly what it is, but if that is possible, you could:
  1. Include project/subject/session in the headers in the images. As you've probably seen, with the default identification process, one major way in which XNAT attempts to pull project/subject/session is from exactly those fields you've mentioned anonymizing below. There are various other headers that XNAT can use, and as of 1.8, it can even be an arbitrary header. I can add more details if the "modify data before send" isn't already a non-starter.
  2. When XNAT properly extracts the project/subject/session metadata from the headers in fields other​ than (0008,1030), (0010,0010), (0010,0020), it should be early enough in the process that site anonymization should anonymize those fields based on the exacted values from elsewhere.

That's a little bit of a text dump, but I hope it's helpful.

Thanks,
Charlie

From: xnat_di...@googlegroups.com <xnat_di...@googlegroups.com> on behalf of elijah....@gmail.com <elijah....@gmail.com>
Sent: Thursday, September 23, 2021 4:26 PM
To: xnat_discussion <xnat_di...@googlegroups.com>
Subject: [XNAT Discussion] Site-wide anonymization
 

* External Email - Caution *

--
You received this message because you are subscribed to the Google Groups "xnat_discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xnat_discussi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/xnat_discussion/ab79dfe7-76eb-4a8f-810e-92e1347e1de8n%40googlegroups.com.

 


The materials in this message are private and may contain Protected Healthcare Information or other information of a sensitive nature. If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return mail.

elijah....@gmail.com

unread,
Sep 23, 2021, 6:22:32 PM9/23/21
to xnat_discussion
Hey Charlie,

Very informative, thanks. Unfortunately, modifying the data before transmission is a non-starter, though I do understand the benefits of anonymizing before something hits the prearchive.

A "default project level anonymization" setting would be very helpful for our use case. Right now we are (hopefully remembering to) copy and paste project level scripts to new projects as they get created.

elijah....@gmail.com

unread,
Sep 29, 2021, 4:16:36 PM9/29/21
to xnat_discussion
Or another feature that would be useful is the ability to have "Template" projects that we could use to create projects where the prearchive settings and anonymization scripts, etc, are already set up.

-Eli

akluiber

unread,
Sep 30, 2021, 11:54:34 AM9/30/21
to xnat_discussion
I agree, this would be a great feature.

Herrick, Rick

unread,
Sep 30, 2021, 1:29:54 PM9/30/21
to xnat_di...@googlegroups.com

We actually have a feature request for exactly this sort of thing:

 

https://issues.xnat.org/browse/XNAT-3573

 

Now it’s just a matter of actually writing the code!

 

-- 

Rick Herrick

XNAT Architect/Developer

Computational Imaging Laboratory

Washington University School of Medicine

Reply all
Reply to author
Forward
0 new messages