NAME
    Dicom::UID::Generator - DICOM UID generator.

SYNOPSIS
     use Dicom::UID::Generator;

     my $obj = Dicom::UID::Generator->new(%params);
     my $uid = $obj->create_series_instance_uid;
     my $uid = $obj->create_sop_instance_uid;
     my $uid = $obj->create_study_instance_uid;
     my $uid = $obj->create_uid($prefix);

METHODS
    "new(%params)"
             Constructor.

            *       "library_number"

                     DICOM library number.
                     Default value is undef.

            *       "model_number"

                     Device model number.
                     Default value is undef.

            *       "serial_number"

                     Device serial number.
                     Default value is undef.

            *       "timezone"

                     Time zone for time in UID..
                     Default value is 'Europe/Prague'.

            *       "uid_counter"

                     UID counter number for part of final UID.
                     Default value is 0.

    "create_series_instance_uid()"
             Get DICOM Series Instance UID.
             Returns string.

    "create_sop_instance_uid()"
             Get DICOM SOP Instance UID.
             Returns string.

    "create_study_instance_uid()"
             Get DICOM Study Instance UID.
             Returns string.

    "create_uid($prefix)"
             Get DICOM UID defined by prefix.
             Returns string.

ERRORS
     new():
             From Class::Utils::set_params():
                     Unknown parameter '%s'.

EXAMPLE
     use strict;
     use warnings;

     use Dicom::UID::Generator;

     # Object.
     my $obj = Dicom::UID::Generator->new(
           'library_number' => 999,
           'model_number' => '001',
           'serial_number' => 123,
     );

     # Get Series Instance UID.
     my $series_instance_uid = $obj->create_series_instance_uid;

     # Get Study Instance UID.
     my $study_instance_uid = $obj->create_study_instance_uid;

     # Get SOP Instance UID.
     my $sop_instance_uid = $obj->create_sop_instance_uid;

     # Print out.
     print "Study Instance UID: $study_instance_uid\n";
     print "Series Instance UID: $series_instance_uid\n";
     print "SOP Instance UID: $sop_instance_uid\n";

     # Output like:
     # Study Instance UID: 999.001.123.1.2.976.20160825112022726.2
     # Series Instance UID: 999.001.123.1.3.976.20160825112022647.1
     # SOP Instance UID: 999.001.123.1.4.976.20160825112022727.3

     # Comments:
     # 999 is DICOM library number.
     # 001 is device model number.
     # 123 is device serial number.
     # 1.2, 1.3, 1.4 are hardcoded resolutions of DICOM UID type.
     # 976 is PID of process.
     # 20160825112022726 is timestamp.
     # last number is number of 'uid_counter' parameter.

DEPENDENCIES
    Class::Utils, DateTime::HiRes, English, Readonly,

SEE ALSO
    Task::Dicom
        Install the Dicom modules.

REPOSITORY
    <https://github.com/michal-josef-spacek/Dicom-UID-Generator>

AUTHOR
    Michal Josef Špaček <mailto:skim@cpan.org>

    <http://skim.cz>

LICENSE AND COPYRIGHT
    © Michal Josef Špaček 2016

    BSD 2-Clause License

VERSION
    0.02

