Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com

Autogenerate specimens barcode

Introduction

In v5.0, specimen barcodes can be auto-generated.

How to auto-generate specimen barcode?

OpenSpecimen will auto-generate barcodes if format is configured at either system or CP level. There are two barcode tokens to generate the barcode.

 Click here to expand...

Note: The value for the field 'Specimen Barcoding' should be set to 'Enabled' in order to display the barcode field on the user interface. For more details refer to the 'Enable Barcoding' section of the wiki page.

TokenDescriptionExample
CP_UID(n)

Unique barcode within the CP.

(n): Optionally specify the number of digits. 

E.g. %CP_UID(8)% will generate 000000001, 000000002, etc.
SYS_UID(n)

Unique identifier across all CP.

(n): Optionally specify the number of digits. 

e.g. %SYS_UID(4)% Barcodes - 0001, 0002, 0003 ...Irrespective of CP.

Configure format at CP level

 Click here to view the steps...
  1. Go to the home page and click on 'Collection Protocols' card.

  2. Click on 'View Details' icon of the specific protocol where auto-barcoding needs to be enabled. 

  3. Click on 'Settings' tab on the left and select 'Label Format and Print' option. 

  4. Click on 'Edit' and then 'Show advanced settings'

  5. Enable specimen barcoding under miscellaneous settings

  6. Specify the format in 'Barcode Format' field

Configure format at the system level

 Click here to view the steps...
  1. Go to the home page and click on 'Settings' card
  2. Click on ‘BioSpecimen’ module and select property ‘Specimen Barcode Format’

  3. Enter the specimen barcode under the 'New Value' field and click on 'Update' button


How to reset barcode sequences?

When a new center starts using OpenSpecimen, the legacy data might be in other sources like Excel, different DB etc. Once the legacy data is imported, the sequences of new specimen barcodes need to start from the last number of legacy data. This is achieved using SQLs.

 Click here to view SQLs...


TokenSQL to reset sequence
SYS_UID(n)
insert into key_seq_generator
  (key_value, key_sequence_id, key_type)
values
('SYS_UID', <max_number>,'SPMN_BARCODE');

Note: If in the table, a record already exists for 'SYS_ID' and 'SPMN_BARCODE' then update the row with key_sequence_id using below sql.

update 
  key_seq_generator 
set 
  key_sequence_id = <new_value>
where 
  key_type = 'SPMN_BARCODE' and 
  key_value = ‘SYS_UID’;

CP_UID(n)
insert into key_seq_generator
(key_value, key_sequence_id, key_type)
values
('CP_UID_<CP_ID>', <max_number>,'SPMN_BARCODE');

Note: If in the table, a record already exists for 'SYS_ID' and 'SPMN_BARCODE' then update the row with key_sequence_id using below sql.

update 
  key_seq_generator 
set 
  key_sequence_id = <new_value>
where 
  key_type = 'SPMN_BARCODE' and 
  key_value = 'CP_UID_<CP_ID>';


Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com