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

 # Pragmas.
 use strict;
 use warnings;

 # Modules.
 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/tupinek/Dicom-UID-Generator

AUTHOR

Michal Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

 © Michal Špaček 2016
 BSD 2-Clause License

VERSION

0.01