The de-identification logging service provides improved support for managing patient data by providing a way to re-identify data when necessary.
This article explains how to query the log to find relevant data and then use that information to re-identify data. For more information on how the service works and how to configure it, see the De-Identification Logging Service Overview article.
There are a few ways you can set up de-identification in Flywheel. Most Flywheel environments will need to create a de-id profile that is used each time you upload data. However, in this example we will use the DICOM Uploader to drag and drop DICOMs into Flywheel.
To upload a test dataset and de-identify it:
Sign in to Flywheel.
In the left menu, choose Upload DICOM.
Choose a project from the dropdown menu. If you do not see any projects, your user does not have permission to upload data. Contact your institution's Flywheel administrator for help.
Select files to upload.
Tip: Hold down the Shift key to select more than 1 file.
Click Upload. Note that the De-Identify Data setting is enabled and cannot be disabled. Once the files are uploaded continue to the next section to query the database.
If you are unable to upload files and receive the “Unable to log de-identified data” or “Unable to resolve de-identification ID. Acquisition was not uploaded” errors that means Flywheel cannot reach the de-identification logging service. Verify that the database is up and running.
Now that you have uploaded de-identified data, go back to the de-identification logging service database to search for the data you just uploaded. There are two ways to query the log to find data:
By using the DICOM tag keywords
By using the de-id log id
If you know identifiable information from the source dataset, you can search on a DICOM tag keyword and value to return the de-id log id. For example, the query below uses the PatientName to find the id:
sqlite> SELECT id FROM deid_log WHERE PatientName = ‘John Doe’; 65774D086757457C9DCF96E762803606
Once you have the de-id log id, you can cross-reference the id to locate relevant data in Flywheel.
You can also filter data using DICOM tag keywords. For example, this query uses the timestamp to find a SeriesInstanceUID:
sqlite> SELECT SeriesInstanceUID FROM deid_log WHERE timestamp < '2006-08-31'; 1.2.840.1136126.96.36.1994044785528.20060823223142485052
Alternatively, if you already know the de-id log id, you can use that to search for data. This can be used in cases where you need to re-identify Flywheel data[c]. You can use the method described in the section above to search for the de-id log based on a DICOM tag keyword.
If your de-identification logging service is down, you will not be able to upload any data to Flywheel until it is back up. You will see these error messages if you attempt to upload a file while the service is down.
The following error messages appear if the de-identification service is down when you upload a DICOM:
Unable to log de-identified data
Unable to resolve de-identification ID. Acquisition was not uploaded
The CLI will return an HTTP error code such as “500 Service Unavailable”.