Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

OpenSpecimen supports printing labels for specimen and visit labels. On configuring printing, OpenSpecimen generates and writes the labels as CMD or CSV files on the file system. OpenSpecimen does not actually print the labels. It only writes the required data in the CMD file format understood by the printer automation software like Bartender, NiceLabel, etc. The print software Printer software like NiceLabel/Bartender can be configured to process read and print these CMD files in an automated fashion.

...

For configuring the printing into the in OpenSpecimen please refer configuration section.

Info
titleJSON files to a database table

It also writes the JSON files to a database table which can also be used to print labels. The CMD files is the most preferred and used method.


Below is the block diagram of the workflow:

...

Q: Which printer software should we use?

A: BarTender Automation Edition is most recommendedand NiceLabel are two well known options. You are free to choose any other option as long as they support automated printing. Most of them follow similar approaches and should work with OpenSpecimen.

https://www.seagullscientific.com/label-software/barcode-label-design-and-printing/bartender-automation-edition/

Q: OpenSpecimen requires the automation license running on a server or can it work with the desktop version?

A: It doesn't matter on which server/desktop the automation software is running.  As long as the automation software is able to read the files generated by the OpenSpecimen software, it could be on any server.

Q: Does any user that would like to print labels from OpenSpecimen would need a separate printer?

A: No. There could be a single printer for multiple users based on the group/network requirements. If using multiple printers that , it can be configured in the automation software to read the labels and send them to different printers as per the requirement.

...

A: One can create different rules based on the collection site, IP address. For each rule you can specify a different directory for property 'CmdFilesDirOutput Directory'. Then configure the automation software to link the different directories with an appropriate printerprinters.

Q: Can only one user print per CP or do we create multiple lines for each person who would print in that CP?

...

A: No. This is same as above. However, historically, this has been used to specify the path of printer label design template

Q: How to handle printing from remote sites?

For sites which will operate OpenSpecimen remotely from multiple geographical locations, below are the options to handle printing:

Option 1: Via shared folder on the cloud like DropBox

For example, when user prints from 'Site A', OpenSpecimen sends label information into DropBox/SharedFolderA. BarTender is installed on a cloud server which is listening to this DropBox folders. The printers should also be accessible on the cloud so that BarTender is able to route the printing job to specific printer. 

Option 2: Download printed labels file CSV from OpenSpecimen UI

By enabling 'Download Labels Print File' in 'Settings' of OpenSpecimen, users can download the CSV with labels information to be printed. This CSV can be manually fed to printer to print labels. Refer to 'Download specimen labels print file' section in 'Print Rules' wiki page for more details. 

Q. Bartender Videos

Refer to the files below for help setting up a File Integration:
https://support.seagullscientific.com/hc/en-us/articles/227353867-Print-Document-Using-a-Data-File-Integration-Video-6-31-
https://support.seagullscientific.com/hc/en-us/articles/227354787-Print-Document-Using-Print-Command-Script-Video-9-40-

Also, we have two webinar with additional information:
https://support.seagullscientific.com/hc/en-us/articles/115004072388-Building-a-file-integration-using-a-CSV-file-38-26-
https://support.seagullscientific.com/hc/en-us/articles/115003215107-Building-a-file-integration-using-Print-Command-Script-27-58- 

Q Sample output files

  1. Sample file in CSV format.
  2. Sample file in CMD format.

...

Step 1: Configure what needs to be printed on the specimen label

OpenSpecimen uses print_rules.csv to decide on how specimen label content should be formatted and printed. The default rules shipped with OpenSpecimen prints specimen label, type and location. The printing rules can be customized based on CP, specimen type among other attributes as explained in below table.

This can be configured in OpenSpecimen from Settings → BioSpecimen → Specimen Label Print Rules

Please make sure that the customized rules file should be present on the OpenSpecimen application server.

Rules are matched in sequential fashion and stopped at first matching rule. Users are notified with an error message when none of the rules match specimen whose label is to be printed.

...

Short title of collection protocol(CP).

Default value is *, meaning any CP

...

Collection site of visit.

Default value is *, meaning any visit site

...

Specimen class.

Default value is *, meaning any specimen class

...

Example 1: Fluid

Example 2: Cells

...

Specimen type.

Default value is *, meaning any specimen type

...

Example 1: Whole Blood

Example 2: Cryopreserved Cells

...

Login name of OpenSpecimen user who will be printing labels.

Default value is *, meaning any user.

...

Specifies IP address range, using CIDR notation, of workstations of users who will be issuing print label requests.

Default value is *, meaning any workstation

...

Example 1: 192.168.2.0/24 matches IPv4 addresses in range 192.168.2.0 to 192.168.2.255

Example 2: 2001:db8::/48 matches IPv6 addresses in range 2001:db8:0:0:0:0:0:0 to 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff

...

Type of label depending on how and where it will be used e.g. Cap, Slide. If specified, value of this field is written to both database table and cmd file. The printer software can read this type and print labels accordingly.

Default value is *, meaning don't care

...

A name of the design template to use for printing labels. This value is of interest to printer software in deciding how label content should be arranged and printed.

Default value is *, meaning don't care

...

Example: Cryovial Cap Label

Name of design template configured in printer software. In this instance, name specifies label design suitable for printing labels to be used for cryovial caps

...

Specifies list of comma-separated attribute names of Participant, Visit or Specimen records that needs to be printed on labels. For detailed list of available tokens, please refer below table

Default value: specimen_label,specimen_type,specimen_location

...

Name of the printer. The printer name and their network addresses are configured in printer software to direct the label printing to appropriate printer

...

rosy, daisy

rosy and daisy are symbolic names that can be configured in printer software to send requests to printers configured at IP address 192.168.2.110 and 192.168.2.220 respectively

...

Absolute path of directory on local filesystem that OpenSpecimen uses to generate cmd files. This should be a shared directory that is accessible to OpenSpecimen as well as printer software (like Bartender or Nice Label)

Default value is * indicating do not generate cmd files

...

The format of data content in cmd file. Supported values are "key-value" and "csv".

Default value is * indicating do not generate cmd files

Current command line formats are tested with Bartender and Nice Label software. If you use some other software and face any issue, please let us know.

...

NOTE: The fields are case sensitive. Use "cvs" and "key-value".

...

ALIQUOTS, PARENT, or DERIVATIVE

Once the print rules file is created, users can update OpenSpecimen to use new rules file as below: 

...

Step 2: Configure what needs to be printed on the visit label

Similar to specimen print rules file, visit uses visit_print_rules.csv to decide on how visit label content should be formatted and printed. The default rules shipped with OpenSpecimen prints vist name, date and collection protocol(CP) short title. The printing rules can be customised based on CP, site among other attributes as specified in rule.

Rule file format is same as specimen label rule file except two specimen related fields SpecimenClass and SpecimenType.

Users can create and update new rules file as below: 

...

Step 3: Configure printer software to read generated labels

There are 2 options:

...

Specimen Label Print Tokens

Following table lists specimen print tokens that are shipped with OpenSpecimen. Use below tokens to include their corresponding value in printed labels

...

Abdomen, NOS

...

specimen_mpi

(New in OS v4.1.4)

...

In US locale, 03-15-2016

Default: 15-03-2016

...

Rosy0105 (3 x 4)

Rosy0105 is container name. 3 is row number and 4 is column number

...

2.5, 7000000

(Need to improve this token to output unit)

...

10

(Need to improve this token to output unit)

...

In US locale, 03-15-2016

Default: 15-03-2016

...

Adopters can implement custom print tokens by extending class AbstractLabelTmplToken and providing implementation for following methods:

  • getName() - returns unique name of token. Example: "specimen_requirement_code"
  • getReplacement(Specimen s) - returns string to be included in printed label

The custom token implementation class needs to be registered with specimenPrintLabelTokensRegistrar bean

uses print rules to decide the contents of the specimen label. Refer to Print Rules for more details. 

Step 2: Configure printer software to read generated labels

Based on print rules, label files are creates as CMD or CSV files and saved in directory identified by 'Output Directory' value specified in the rules.

Printer software like Bartender/NiceLabel can be configured to poll the 'Output Directory' at periodic intervals for new files and print labels. 

Sample Specimen Label Formats 

...

Example 3: Label printed with site name, barcode and specimen label

Visit Label Print Tokens

Following table lists visit print tokens that are shipped with OpenSpecimen. Use below tokens to include their corresponding value in printed labels.

...

In US locale, 03-15-2016

...