• Hi,

    does anybody have experience with anonymization? I would like to build a (semi-reversible, i.e, it must be possible to locate the original from the processed data) anonymization option into the server and would like some guidance. I would like to add scripting commands to do this.


  • Hello Marcel.

    My company works for a research institude and there they have decided to create "customer number" for all their customers.
    So in theory, there is a master database with proper personal ID and this "customer number"

    When the "patient" is taken for examination the proper "patient names", age etc.. and this "customer number" is fed through MWM and used during the Patients visit. It was deemed nessecary to have the real name during patients visit to reduce risk of "patient mixup"

    Then when images are sent from the modality, they are sent to a "id remove" workstation that copyes the "customer number" over the patients name, patient age and sex is left as is, but birthdate is changed to 1 jan on the birth year and address etc is removed.

    After this there is no way to connect the data to a specific person, unless you have the Master database to link the images to patient.
    You still have the patients age and sex, that can be relevant for scientific research.

    Similar could be done in many ways, such as adding a "decode" table to conquest, so when you anonymize a patient, the real name and ID would be put into this table, along with a "number" that would be used to overwrite the name and ID on the images.

    Hope this helps.

    Best regards

  • Hello again.

    Kept thinking a little, it could actually be nice to have this as an option, so when conquest recieves images, it would anonymize them on store.

    Then you could have option on transmitt to "restore" real patient id's (maybe per known dicom providers)

    (The research institude we work for occationally has to send images out with real patient names, (if the participants are actually sick))

    Just dreaming up all sorts of things....

    Best regards


  • Anonymization should be more than replacing the patients name.
    Some other information may or may be not for publishing:

      (0008,1010) StationName
      (0008,0070) Manufacturer
      (0008,0080) InstitutionName
      (0008,0081) InstitutionAddress
      (0008,0090) ReferringPhysiciansName
      (0008,0090) ReferringPhysiciansName
      (0008,1090) ManufacturersModelName
      (0008,1050) PerformingPhysiciansName
      Some comments (i.e. "please inform Doc X") or private tags

    The anonymisation must suppress tags from a configurable list of tags.

  • Hi,

    The next version (1.4.14a) will have a script file "anonymize_script.cq" , that has the same syntax and function as an importconverter, i.e., it can modify any dicom tag. Furthermore it will update all UID's, including those in deep sequences.

    As for Steini, the same new functions that do the anonimization ("newuids except", and "set gggg,eeee to"), can be called from an importconverter. The link between the original UIDs and new UIDs is kept in table UIDmods. So in priciple, it could be possible to make the process reversible. The same could be made to hold true for the patientID.

    To de-anonymize on retrieve, you need to take a query object, anonymize it (so that the right patient is found), and de-anonimize the results on retrieve. The anonymization of the query object will be possible in 1.4.14a (with command QueryConverter0), but there is nothing yet for de-anonymization.


  • Marcel,

    How does one call the "newuids" from an importconverter?

    I'd like to create a Conquest instance that will generate new suids for every image that comes in.


  • Marcel,

    I can't get that to work in as much as when I send a study to it from the PACS, then try to send the study back as a teaching study, the PACS rejects it because it recognized the uids.

    Also, when I watch the server status, ImportConverter0 doesn't appear to generate any activity.


Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!