Conquest and UIDs

  • How does conquest generate UIDs?


    Does it generate UIDs that are unique per installation?


    In other words, if two separate installations have been configured to generate new UIDs and send studies to the same destination DB, is there risk of conflict of UIDs?


    Regards.

  • Hi,


    Conquest uses the UIDPrefix in dicom.ini. The windows GUI inititalises it as:


    '1.2.826.0.1.3680043.2.135.' + IntToStr(t.Date) + '.' + IntToStr(t.Time);


    Where "1.2.826.0.1.3680043.2.135" is the root provided to NKI


    I.e. the install date and time (in ms) makes each server unique, with a very limited change of collision.


    The linux install does not do this!


    From there, uids are generated as follows:


    Append . and one digit(6 or 7 depening on source file) and then:


    #ifdef WIN32

    sprintf(oString, "%s.%u.%d.%u", UIDPrefix, (unsigned int)time(NULL), GetTickCount()%1000, (UIDPostfix++)%100);

    #else

    sprintf(oString, "%s.%u.%u", UIDPrefix, (unsigned int)time(NULL), (UIDPostfix++)%10000);

    #endif


    I.e., it combines the prefix with a time and a counter.


    Marcel

Participate now!

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