PatientID conflicts with QA data

  • Hello, sorry, me again.


    I am setting up a DICOM server for diagnostic radiology physics quality assurance images. I now have mechanisms for QA images to be sent via DICOM or placed in 'incoming', where they are then placed in a nice human navigable structure (site/unit/year/month/day+patientname/series/UID).


    The issue I need to address now is inconsistencies in the database. I could run this as a null database server, but I'd like to have the option of using the web interface to quickly review the images, and I like to dream of a time when I can get my QA image analysis tools to find images by a database lookup rather than pointing to a directory and indexing them each time.


    Our current practice is to name our QA patients 'Physics^TypeOfTest' with ID 'phy12345' or similar and date of birth as today's date, or exactly 100 years ago. This therefore causes conflicts when importing into conquest; in particular one patient ID with different dates of birth. It is this I need to resolve.


    I can see that patient ID is central to the way the database is designed and maintained, and I assume from looking through the documentation the patient ID must be unique (with date of birth and maybe name) in conquest. Is this the case?


    Should I be modifying the PatientID on import, or forcing the team to use a different ID each time (which we sometimes do anyway for similar reasons on other systems, ie 'phy1234520161202a')? Or just ignore the error messages as we don't tend to rely on patient ID or date of birth anyway when analysing the data.


    In an ideal world I would store the site and unit (ie one particular scanner) in the database, then write a new web interface search that allows search on these terms and completely ignores the patient ID and date of birth :D


    As always I appreciate any pointers or help that you can offer me.


    Kind regards


    Ed

  • Hi Ed,


    the best way to let the system ignore the patientID is to create a new patientID out of the StudyInstanceUID for every incoming image. This will guarantee that no parts of a study will have a different patientID.


    E.g.,


    [lua]
    ImportConverter0 = Data.PatientID = 'PAT'..crc(tostring(Data.PatientID))


    Note that if you change the patient ID, you should never write data back to where it came from.


    Marcel

  • For the benefit of anyone who comes here later, the proposed converter should have been:


    Code
    [lua]
    ImportConverter0 = Data.PatientID = 'PAT'..crc(tostring(Data.StudyInstanceUID))


    This will create a checksum from the study instance UID that is always the same for the same study, but different between studies.

Participate now!

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