hematrax print server interface programming guide version 3.0

192
HemaTrax Print Server Interface Programming Guide Version 3.0 THIS INFORMATION IS SUBJECT TO CHANGE WITHOUT NOTICE Document Date: 8 AUGUST 2007 by Lawrence Cullen Copyright © 2007 by Digi-Trax Corporation All rights reserved.

Upload: others

Post on 03-Feb-2022

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server

Interface Programming Guide

Version 3.0

THIS INFORMATION IS SUBJECT TO CHANGE WITHOUT NOTICE

Document Date: 8 AUGUST 2007

byLawrence Cullen

Copyright © 2007by Digi-Trax Corporation

All rights reserved.

Page 2: HemaTrax Print Server Interface Programming Guide Version 3.0

(This page intentionally blank)

2

Page 3: HemaTrax Print Server Interface Programming Guide Version 3.0

"Thank you for choosing HemaTrax Print Server for yourABC Codabar and ISBT-128 labeling requirements."

Larry CullenV.P. Software Development

Digi-Trax Corporation

Page 4: HemaTrax Print Server Interface Programming Guide Version 3.0

Table of ContentsHEMATRAX PRINT SERVER OVERVIEW............................................................................................ 1

VERSION NOTIFICATION......................................................................................................................... 3

VERSION 3.0 RELEASE NOTES................................................................................................................ 3

MATCH UNIT WITH RECIPIENT........................................................................................................................... 3PATIENT WRIST BAND...................................................................................................................................... 3ABO-RH LABEL.............................................................................................................................................3FACILITY, FACILITY/PRODUCT, FULL FACE AND TIME & DATE/TEST LABELS.......................................................... 4PRODUCT LABEL DATABASE.............................................................................................................................. 4

Expanded Product Code Range..............................................................................................................4ICCBBA Product Description Text Adopted.......................................................................................... 4Product Label Database Corrections.....................................................................................................4

HEMATRAX PRINT ENGINE................................................................................................................................5Donation Identification Number Font Size Change............................................................................... 5Product Name Typeface Point Size Reduction....................................................................................... 5Manufacturing Caution and Product Name Text Height Matched........................................................ 5Therapeutic Donation.............................................................................................................................6Recovered Plasma Section 351 Public Health Service Act Text Added.................................................6Recovered and Source Plasma FDA Text Moved...................................................................................6Special Test Results................................................................................................................................ 6FDA Required Text in the Full Face Label First Quadrant Changed................................................... 7

PRINT SERVER SETTINGS................................................................................................................................... 7

PRINT SERVER FUNCTIONS.................................................................................................................... 9

DEVELOPMENT KIT COMPONENTS................................................................................................... 11

DNRTYP.TXT.................................................................................................................................................11DTISAM.DLL............................................................................................................................................ 11THIS IN-HOUSE DATABASE ENGINE IS DYNAMICALLY LOADED BY THE HEMATRAX PRINT SERVER AND USED TO ACCESS AND UPDATE THE HEMATRAX PRODUCT LABEL TABLES.........................................................................................11HEMATRAXLIB.DLL...................................................................................................................................... 11HTCLIENT.EXE..............................................................................................................................................11HTPRTSRVR.EXE...........................................................................................................................................12PCODE.DEF, PCODE.I00, PCODE.I01, AND PCODE.TBL......................................................................................12

INSTALLATION..........................................................................................................................................13

HEMATRAX PRINT SERVER.................................................................................................................. 15

PRINT SERVER START............................................................................................................................ 16

MANUAL PRINT SERVER INSTALLATION........................................................................................ 17

PRINT SERVER SETTINGS......................................................................................................................18

AUTOLOGOUS DONOR..................................................................................................................................... 19LABEL COMPLIANCE AUTHORITY......................................................................................................................19U.S. DATE & TIME FORMAT.......................................................................................................................... 19EXPIRATION DATES THAT HAVE EXPIRED........................................................................................................... 19SAVE............................................................................................................................................................19

HEMATRAX MAIN WINDOW TABBED PAGES................................................................................. 21

2

Page 5: HemaTrax Print Server Interface Programming Guide Version 3.0

HEMATRAX PRINT SERVER CLIENT CONNECTION..................................................................... 23

CLOSE PRINT SERVER COMMUNICATION...................................................................................... 25

PRINT CODABAR AUTOLOGOUS LABEL...........................................................................................27

CODABAR AUTOLOGOUS LABEL EXAMPLE......................................................................................................... 31

DELETE ALTERNATIVE PRODUCT ROW.......................................................................................... 33

GET DONATION TYPE/USE CODES......................................................................................................35

GET PRODUCT INFORMATION............................................................................................................ 37

GET PRODUCT MATCHES...................................................................................................................... 41

GET PORT....................................................................................................................................................43

GET X,Y OFFSET........................................................................................................................................47

PRINT MATCH UNIT / INTENDED RECIPIENT LABEL...................................................................49

MATCH WITH UNIT / INTENDED RECIPIENT LABEL EXAMPLE...............................................................................52

ONE WAY PRINT FULL FACE LABEL..................................................................................................53

ONE WAY FULL FACE LABEL EXAMPLE............................................................................................................ 62

ONE WAY PRINT FACILITY / PRODUCT............................................................................................ 63"<Unknown Value 1>".............................................................................................................................. 66

FACILITY PRODUCT LABEL EXAMPLES...............................................................................................................67

ONE WAY PRINT PRODUCT / DATE LABEL...................................................................................... 69

ONE WAY PRODUCT/DATE LABEL EXAMPLE...................................................................................................... 73

ONE WAY PRINT PRODUCT LABEL.................................................................................................... 75

ONE WAY PRODUCT LABEL EXAMPLE............................................................................................................... 77

PRINT ABO-RH LABEL............................................................................................................................ 79

ABO-RH LABEL EXAMPLE.............................................................................................................................82

PRINT ABO-RH/DATE LABEL................................................................................................................ 83

ABO-RH/DATE & TIME LABEL EXAMPLE...................................................................................................... 89

PRINT CODABAR ABO-RH LABEL....................................................................................................... 91

CODABAR ABO-RH LABEL EXAMPLE..............................................................................................................95

PRINT CODABAR DONATION ID LABEL............................................................................................97

PRINT CODABAR EXPIRATION DATE LABEL..................................................................................99

PRINT CODABAR PRODUCT LABEL................................................................................................. 101

CODABAR PRODUCT LABEL EXAMPLE............................................................................................................. 102

PRINT DATE/TIME LABEL....................................................................................................................103

DATE/TIME LABEL EXAMPLE.........................................................................................................................107

PRINT FACILITY LABEL....................................................................................................................... 109

3

Page 6: HemaTrax Print Server Interface Programming Guide Version 3.0

FACILITY LABEL EXAMPLE............................................................................................................................ 110

PRINT INSTRUCTION LABEL.............................................................................................................. 111

INSTRUCTION LABEL EXAMPLE.......................................................................................................................112

PRINT INTENDED RECIPIENT INFORMATION LABEL................................................................113

ISBT-128 INTENDED RECIPIENT LABEL EXAMPLE...........................................................................................115

PRINT UNIT ID SET LABEL...................................................................................................................117

PRINT PATIENT WRISTBAND..............................................................................................................119

PRINT WALLET ID CARD......................................................................................................................125

DONOR WALLET ID CARD EXAMPLE............................................................................................................. 128

SET PORT...................................................................................................................................................129

SET PRODUCT INFORMATION........................................................................................................... 133

SET X,Y OFFSET...................................................................................................................................... 137

VERSION INFORMATION..................................................................................................................... 139

ERROR CONDITION RESPONSES....................................................................................................... 141

ERROR NUMBERS AND DESCRIPTIONS.......................................................................................... 142

DONATION ID FORMAT FILE STRUCTURES.................................................................................. 149

CODABAR DIN FORMAT...............................................................................................................................149ISBT 128 DIN FORMAT.............................................................................................................................150

HEMATRAX WEIGHTED PRODUCT CODES....................................................................................153

DONATION TYPE DEFINITION FILE................................................................................................. 157

FILE DESCRIPTION........................................................................................................................................ 157FILE ACCESS............................................................................................................................................... 157FILE RECORD STRUCTURE............................................................................................................................. 157

Donation Type Description................................................................................................................ 157Product Code 6th Character.............................................................................................................. 157ABO-Rh Label Intended Use Text...................................................................................................... 157Product Label Bar Code Interpretation Line Text ............................................................................ 158

OTHER FILE INFORMATION............................................................................................................................ 158Biohazard Status ................................................................................................................................158Donor Type ........................................................................................................................................ 158

PRINTER INDEPENDENT LABEL FORMAT LANGUAGE............................................................. 161

BASIC PILF REQUIREMENTS......................................................................................................................... 161Label Dimensions............................................................................................................................... 162Format Begin and End Commands.................................................................................................... 163Absolute Offset....................................................................................................................................163Bar Code or Text Rotation..................................................................................................................163Bar Code or Text Starting Coordinates..............................................................................................163Character Dimensions and Pitch....................................................................................................... 163Text Fields.......................................................................................................................................... 164Number of Labels................................................................................................................................164

4

Page 7: HemaTrax Print Server Interface Programming Guide Version 3.0

PILF LANGUAGE SPECIFICATION.....................................................................................................165

PILF LABEL FORMAT STANDARDS.................................................................................................................165PILF Label Orientation...................................................................................................................... 165PILF X,Y Home Position.................................................................................................................... 165PILF Unit of Measure.........................................................................................................................165PILF Command Prefix........................................................................................................................165PILF Command Format..................................................................................................................... 166

PILF COMMANDS........................................................................................................................................166Absolute X,Y Offset............................................................................................................................. 166Bar Code Data....................................................................................................................................166Bar Code Height.................................................................................................................................167Bar Code Bar Ratio............................................................................................................................ 167Bar Code Symbology.......................................................................................................................... 167Bar Code Bar Width........................................................................................................................... 168Box...................................................................................................................................................... 168Centering Begin..................................................................................................................................168Centering End.....................................................................................................................................169Character Font................................................................................................................................... 169Character Height................................................................................................................................ 169Character Pitch.................................................................................................................................. 169Character Width................................................................................................................................. 170Format Begin......................................................................................................................................170Format End.........................................................................................................................................170Graphic Symbol.................................................................................................................................. 170Horizontal Line...................................................................................................................................171Print Number of Labels...................................................................................................................... 171Reverse Box........................................................................................................................................ 171Rotate..................................................................................................................................................172Relative X Coordinate........................................................................................................................ 173Relative Y Coordinate.........................................................................................................................173Text Data............................................................................................................................................ 173Vertical Line....................................................................................................................................... 173

PILF FORMAT EXAMPLES.............................................................................................................................174Example of Text Rotation................................................................................................................... 174Example of Text Centering and Bar Codes........................................................................................ 175Example of Boxes and Lines...............................................................................................................176

SOFTWARE LICENSE AGREEMENT..................................................................................................177

INDEX......................................................................................................................................................... 179

5

Page 8: HemaTrax Print Server Interface Programming Guide Version 3.0

6

Page 9: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Print Server Overview

HemaTrax Print Server Overview

The HemaTrax Print Server is a Window's service and has been formally validated with three of the Microsoft's Windows operating system platforms (Windows 2000, Windows 2003 Server and Windows XP Pro). Any system that supports a TCP/IP network connection and is running any of the Microsoft Windows operating systems already mentioned, is a candidate for hosting the HemaTrax Print Server. The HemaTrax Print Server service takes advantage of the universal connectivity provided by Transmission Control Protocol over Internet Protocol (TCP/IP). The print server recognizes and responds to a series of function requests from a client system attached to the same network. The set of functions provided by the print server gives a client program the ability to print all four quadrants of the ISBT-128 whole blood and blood component labels. These label quadrants can be printed as portions of a quadrant, as individual quadrants, in combinations of quadrants and as a full face label. The print server also supports the printing of a select group of the ABC Codabar compliant labels as defined in the 1985 Guidelines.

The print server ships with the HemaTrax Product Label table which is based on the ICCBBA supplied ISBT-128 product text files. The HemaTrax database has been developed solely by Digi-Trax Corporation and is designed specifically for printing blood product labels and searching for blood products based on their known characteristics. The server program provides for full maintenance access to a centralized HemaTrax Product Label table so that label text changes can be made remotely and take effect immediately.

The server software supports up to thirty-two blood bank label printers attached either through the network or serial ports of the computer hosting the print server service program. These printers may be attached to the printer server directly with RS-232C asynchronous serial lines to the native serial ports of the print server machine or via the Ethernet network directly or through serial terminal servers, such as the EtherLite-II or TS-2,4,8,etc. products from Digi International. Direct serial line connections allow the printers to be located up to a hundred feet from the print server, while direct network and network serial terminal servers allow for connections very distant from the server. The print server program has been written to take advantage of the significant features available only on Digi-Trax Enhanced printers. All of the Digi-Trax Enhanced blood bank printers have been engineered to provide quick printing of the special symbols and scalable outline fonts used in blood banks and transfusion services.

Digi-Trax Corporation provides the Microsoft Windows hosted HemaTrax Print Server service program, supporting dlls and product label table. The blood bank software developer writes a client function that opens a socket connection over which messages are sent and received to and from the print server. The label printing functionality added by investing in the creation of this interface should

HTServer_V3_0.odt -1- Copyright © 2007 by Digi-Trax Services, Inc.

Page 10: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Print Server Overview

easily outweigh the cost of the development time. By using our server it is possible to add full ISBT-128 and select ABC Codabar labeling capabilities to an application within six weeks. Starting with the Version 1.70 release of the HemaTrax Print Server, Codabar ABO-Rh and Product labeling is supported as a standard feature. The Version 2.2 release extended support for additional Codabar labeling functions and included the Codabar Unit ID number label and the Codabar Expiration Date label. You can save a full man-year of development time for such a project, while significantly improving the functionality and value of your existing blood bank application.

Note: The HemaTrax Print Server requires a Winsock 2.0 compliant TCP/IP stack. (The stack must support a Winsock version of at least 2.0).

HTServer_V3_0.odt -2- Copyright © 2007 by Digi-Trax Services, Inc.

Page 11: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Version Notification

Version Notification

This section of the guide serves to draw attention to the service additions and changes that have been made in this version release of the print server. Throughout the document the use of yellow highlighting has been used to also draw attention to important changes and information that should be carefully considered by the implementor.

Version 3.0 Release Notes

This version supersedes the Version 2.21 release of the HemaTrax Print Server and adds several new features. The Printer Independent Label Format (PILF) language makes its appearance in this release. PILF provides a powerful new label formatting capability that formerly was embedded in the print server and was inaccessible to the LIS developer.

NEWMatch Unit with RecipientThe "MUR" label request message is a new label printing capability which allows HemaTrax to produce the label described in the Technical Bulletin 8 document available from the ICCBBA web site. This label is used to match a unit being pulled from inventory to the intended recipient information label.

NEWPatient Wrist BandThe "PWB" label request message is a new label printing capability which allows the HemaTrax Print Server to produce a wrist band label. See the Technical Bulletin 8 document available from the ICCBBA web site for more information about the wrist band. A PILF structured format file must exist in the "FORMAT" directory in order to take advantage of this capability. No format file had been developed when the product release was made. The formats can be created with a standard ASCII text editor using the PILF commands covered at the back of this manual.

ABO-Rh LabelThe DnrTyp.txt file has been corrected in this release to include the text "FOR LABORATORY RESEARCH USE ONLY" at the bottom of the quadrant when ever the donation type code "R" or "r" is selected for this label quadrant. See "Appendix D Donation Type" on page 76, Table 7 of the US Industry Consensus Standard (Version 2.0.0, November 2005) for more information.

HTServer_V3_0.odt -3- Copyright © 2007 by Digi-Trax Services, Inc.

Page 12: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Version Notification

All labels that include the biohazard symbol no longer print the word "BIOHAZARDOUS" or "BIOHAZARD" centered and immediately below the biohazard graphic. Now the word "BIOHAZARD" is appended with a leading comma and space to the end of the intended use text that normally appears at the bottom of the ABO-Rh label quadrant. See "Appendix D Donation Type" in the US Consensus Standards document for details.

Note: The use of the word "BIOHAZARDOUS" in the US Consensus Standard document is in error, it should read as "BIOHAZARD".

Facility, Facility/Product, Full Face and Time & Date/Test LabelsThe facility name and licensee name fields may now contain up to one hundred characters each. If the name length exceeds fifty characters the name will automatically wrap to a second line. Wrapping to a second line can be forced at any point by including the vertical bar character (|) in the name field text.

Product Label DatabaseThis release ships with an extended product label database. Details regarding the impact of these changes follow:

Expanded Product Code RangeWith this release label designs for ICCBBA product codes in the range from E0001 to E5607 are included in the HemaTrax product label database.

ICCBBA Product Description Text AdoptedThe full ICCBBA product description is now used in place of the HemaTrax text description formerly used. This means that for some U.S. products such as Source Plasma for example, the description will appear as Apheresis PLASMA For Further Manufacture. Other such products include Source Leukocytes and Recovered Plasma.

Product Label Database CorrectionsSeveral product codes have had their label verbiage corrected to comply with FDA labeling requirements.

Eliminated the Use of Period Punctuation Characters in Label TextThe use of the period character "." to terminate text or for abbreviations has been eliminated in the latest release of the database that ships with this version of the print server.

HTServer_V3_0.odt -4- Copyright © 2007 by Digi-Trax Services, Inc.

Page 13: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Version Notification

Elimination of the Use of the Degree SymbolThe use of the degree symbol, "°", in the storage temperature text on the label has been eliminated.

Correction to RBC,, Low Volume Anticoagulant Adjusted ProductsPreviously in the HemaTrax product label database a low volume Red Blood Cell product with an adjusted anticoagulant volume had additional information text that wasn't exactly correct. For example the text for product code E5253 read as follows:

Approx. _____ mL plus _____ mL CPDStore at 1 to 6°C.

The HemaTrax product label database has been corrected to now contain the following:

_____ mL from _____ mL Whole Bloodcontaining approx _____ mL CPDStore at 1 to 6 C

HemaTrax Print EngineAn updated version of the print engine library (HemaTraxLIB.dll, Version 6.0) has been introduced to support new label formatting logic. Details of these changes follow:

Donation Identification Number Font Size ChangeThe FDA has requested and the ATAG recently voted to no longer display the six digit sequence number portion of the DIN in a larger point size than the rest of the interpretation line appearing below the DIN bar code. The feeling is that the entire number is important and that emphasis shouldn't be placed on any fraction of the number. This change has been implemented in this release.

Product Name Typeface Point Size ReductionThe font point size of the product name has been reduced slightly. Of course this reduces the size of all text that must match the height of the product name. This change has been made to compensate for space constraint issues raised by the need to match manufacturing caution statement text height to the product name text height.

Manufacturing Caution and Product Name Text Height MatchedFormerly the text, such as "CAUTION: FOR USE IN MANUFACTURING NON-INJECTABLE PRODUCTS ONLY" was printed in a slightly shorter text height than the product name. This has been corrected. by reducing the height of the product name text as indicated in the paragraph immediately above. If the cautionary text were to

HTServer_V3_0.odt -5- Copyright © 2007 by Digi-Trax Services, Inc.

Page 14: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Version Notification

have been increased to match the product name text height, then this would have caused label space problems for certain products.

Therapeutic DonationCertain logic changes have been introduced to handle printing of required text on the product label when a therapeutic donation is made as follows:

All Therapeutic DonationsAll therapeutic blood donation product labels will include a space at the bottom of the label for the donor's disease diagnosis. See page 56, Figure 25 of the US Industry Consensus Standard (Version 2.0.0, November 2005) for more information about this label format.

Therapeutic Exchange PlasmaWhen the donation type is "T", the product is an apheresis plasma for further manufacture and the label compliance authority is the FDA, the product will automatically be displayed on the label as "THERAPEUTIC EXCHANGE PLASMA". See page 56, Figure 25 of the US Industry Consensus Standard (Version 2.0.0, November 2005) for more information about this label format.

Recovered Plasma Section 351 Public Health Service Act Text AddedThe text, "Not for Use in Products Subject to License Under Section 351 of the Public Health Service Act" has been added to the information printed for recovered plasma products. Note: This information is now printed in the fourth quadrant ( area typically displaying expiration date & time and special test results ).

Recovered and Source Plasma FDA Text MovedCertain FDA required text that formerly was printed at the bottom of quadrant three (product label) has been moved to quadrant four for all recovered and source plasma products. See pages 54 and 55, Figure 24 of the US Industry Consensus Standard (Version 2.0.0, November 2005) for illustrations of these formats. So, when one of these products is printed on a printer loaded with 2"x2" (single quadrant) labels, the printer will issue two labels, a product label and a second label to be placed in quadrant four ( date and time ) the displays the testing and the Section 351 text if it is applicable.

Special Test ResultsCertain changes have been made to support newly adopted code schemes in label quadrant four. These changes are as follows:

CMV Negative "1aaaa" Parsing RemovedThe HemaTrax Print Server no longer enforces the "1aaaa" code restriction in the five character test result code. Now any thing may be encoded in the five character code

HTServer_V3_0.odt -6- Copyright © 2007 by Digi-Trax Services, Inc.

Page 15: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Version Notification

passed. ICCBBA/ATAG have settled on the use of the "N0008" five character code to indicate a CMV Negative tested unit.

Two Line Test Interpretation LinesThe HemaTrax Print Server now supports two line test result interpretation lines as illustrated On page 56, Figure 26 of the US Industry Consensus Standard (Version 2.0.0, November 2005).

FDA Required Text in the Full Face Label First Quadrant ChangedFormerly the FDA required text shown immediately below was printed for all transfusable/injectable products:

PROPERLY IDENTIFY INTENDED RECIPIENTSee Circular of information for indications,

contraindications, cautions and methods of infusion.This product may transmit infectious agents.

Rx ONLY

The print engine has been modified to print this text as follows:

Properly Identify Intended RecipientSee Circular of Information for indications,

contraindications, cautions and methods of infusion.This product may transmit infectious agents.

Rx Only

In the event that the first four lines of this text must be changed, the library that opens operations will look in its resident directory for a text file named "PIIRSeeCircular.txt" which it will use as a source of alternative content. It will center this text automatically within the label window as is done currently. The "Rx Only" text is still supplied under program control when necessary.

Print Server SettingsThe panel to allow an alternate source of data files and settings from another server has been removed. This feature has not worked properly since the Version 2.0 release when the HemaTrax Print Server became a Windows service. Work will be done to make this a viable option in a future release.

HTServer_V3_0.odt -7- Copyright © 2007 by Digi-Trax Services, Inc.

Page 16: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Version Notification

(This page intentionally blank.)

HTServer_V3_0.odt -8- Copyright © 2007 by Digi-Trax Services, Inc.

Page 17: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Print Server Functions

Print Server Functions

The following list provides the three character function request codes and associated function descriptions used in the HemaTrax print server interface. These function codes are sent to the HemaTrax Print Server which then operates upon them, returns requested information and prints various ISBT-128 blood product label combinations.

BYE Disconnect from Print ServerCAL Print Codabar Autologous LabelDAP Delete Alternative Product Label Record GDU Get Donation Type/Use codesGPI Get Product Information GPM Get Product Matches on HemaTrax Product CodeGPT Get Port (Ethernet & Serial communications) GXY Get X,Y OffsetMUR Match Unit to Intended Recipient labelNOP No Operation (Connection debugging use)OFF One way Print Full Face label OFP One way Print Facility/Product label OPD One way Print Product/Date label OPR One way Print Product label PAB Print ABO-Rh label PAD Print ABO-Rh/Date label PCA Print Codabar ABO-Rh/Exp. Date/Facility label PCD Print Codabar Donation ID LabelPCE Print Codabar Expiration Date (/Time) LabelPCP Print Codabar Product label PDT Print Date/Time label PFC Print Facility label PIN Print Instruction label PIR Print Intended Recipient Information label PUN Print Unit ID Set label PWB Print Wrist Band label PWC Print Wallet Id Card SPI Set Product InfoSPT Set Port (Ethernet & Serial communications) SXY Set X,Y Offset VER Version info for the Print Server, HemaTraxLIB.dll, DTiSAM.DLL and

PCode.tbl

Many function codes are followed by a data record in the form of an ASCII text string. The fields (columns) of this text string are delimited using the "quotation

HTServer_V3_0.odt -9- Copyright © 2007 by Digi-Trax Services, Inc.

Page 18: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Print Server Functions

mark-comma" format. Each field (column) of a data structure record (row) will be enclosed in quotation marks and separated from any following field (column) with a comma. An empty field (column) is denoted by two quotation marks one immediately followed by another. The end of a record (row) is terminated with the carriage return character ( hexadecimal 0D) or alternatively the carriage-return line feed character combination (hexadecimal 0D 0A).

In the examples that follow the carriage return character code is identified as <cr>. The contents of the TCP/IP message are denoted in this document by printing them in the Courier Font.

For those function requests which do not return information to the client, the server indicates successful function completion by returning ACK<cr> in response to the function request.

In all cases, if the function has encountered an error condition, then the first three characters of the response will be ERR. The exact contents of the error condition responses is covered in the "Error Numbers and Descriptions" section of this guide.

HTServer_V3_0.odt -10- Copyright © 2007 by Digi-Trax Services, Inc.

Page 19: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Development Kit Components

Development Kit Components

The HemaTrax print server is built on top of the HemaTraxLIB.dll which supplies all of the functions to access and maintain the blood products database, format the full range of ISBT-128 and select group of ABC Codabar labels, and drive the supported printers. The print server also uses the DTiSAM.DLL ( an in-house developed database engine ) to create and maintain the database tables and indexes. The server ships with the HemaTrax product label definition, indexes, and table (PCode.def,.i00,.i01,.tbl), which are based on the ICCBBA ISBT-128 product text files.

The development kit consists of a CD-ROM which when installed will create a directory containing the following files:

DnrTyp.txtDTiSAM.DLLHemaTraxLIB.dllHTClient.EXEHTClient_V2_2.pdfHTPrtSrvr.EXEHTPrtSrvrSettings.EXEHTServer_V2_2.pdfPCode.defPCode.i00PCode.i01PCode.tbl

DnrTyp.txtThis is a text file that contains donation type and intended use descriptions and codes commonly used for the product and ABO-Rh labels. The contents of this file can be accessed through the HemaTrax server.

DTiSAM.DLLThis in-house database engine is dynamically loaded by the HemaTrax Print Server and used to access and update the HemaTrax product label tables.

HemaTraxLIB.dllThis is the HemaTrax print engine library which is dynamically linked with the HemaTrax Print Server service at run-time. This library contains all of the functions needed to access the HemaTrax product database, format labels and drive the supported printers on serial COM ports or network connections. The required version for this release of the print server is Version 6.0 or greater.

HTClient.exeThis client program runs on Windows 2000, 2003 Server and XP systems with the Winsock.dll Version 2.0 or greater. This client provides a means to establish

HTServer_V3_0.odt -11- Copyright © 2007 by Digi-Trax Services, Inc.

Page 20: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Development Kit Components

various printer definitions used by the server as well as provide comprehensive server and printer testing.

HTPrtSrvr.exeThis is the HemaTrax Print Server service program that implements all of the ISBT-128 and ABC Codabar labeling capabilities This program file along with the following files should be located in a common directory space on the hosting system: DnrTyp.txt, DTiSAM.DLL, HemaTraxLIB.DLL, PCode.def, PCode.i00, PCode.i01, and PCode.tbl.

PCode.def, PCode.i00, PCode.i01, and PCode.tblThese files comprise the HemaTrax product label database and are used by the HemaTrax Print Server to supply product label information to the LIS application and for the content of the printed product labels.

HTServer_V3_0.odt -12- Copyright © 2007 by Digi-Trax Services, Inc.

Page 21: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Installation

Installation

HemaTrax Print ServerInstallation Instructions

Important Note

The person installing the software must be logged on to the target Windows computer as the administrator before attempting to install. This software has been tested and validated specifically with the Windows 2000, Windows 2003 Server and Windows XP Pro operating systems.

Installation Instructions

1. Insert the supplied installation CD-ROM into the CD-ROM drive of the Windows machine that will be hosting the HemaTrax Print Server application.

2. With the installation Wizard displayed follow the on screen instructions to install the software.

3. After a few seconds the installation Wizard should automatically execute and display the initial installation window. If this does not happen, then navigate to the primary directory of the CD-ROM and double click on the "setup.exe" file.

4. Use the Adobe Acrobat Reader to read the "HTServer_V3_x.pdf" file located on the supplied installation CD-ROM or you may click on the "HemaTrax Print Server Manual" entry located on the "HemaTrax Print Server" Program Menu entry. At the end of the installation process the "HemaTrax Print Server Settings" program was automatically run to allow the initial Print Server settings to be established. These settings can be displayed and changed at any time by using the "HemaTrax Print Server Settings" selection available from the "HemaTrax Print Server" program menu.

If you should encounter any problems with the installation you can obtain telephone assistance from Digi-Trax Corporation by calling:

In Illinois: (847) 613-2100Outside Illinois: (800) 356-6126

HTServer_V3_0.odt -13- Copyright © 2007 by Digi-Trax Services, Inc.

Page 22: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Installation

(This page intentionally blank)

HTServer_V3_0.odt -14- Copyright © 2007 by Digi-Trax Services, Inc.

Page 23: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Print Server Menu

HemaTrax Print Server

To see if the HemaTrax Print Server is loaded , started, or stopped it is necessary to select the Window's Control Panel - Administrative Tools - Services icon path to obtain a view of the loaded services and their status. An illustration of the Windows 2000 Services window is shown immediately below.

The "Services" window allows one to view the current status of, or to "start" or "stop" the displayed services, including the HemaTrax Print Server.

The "Services" window does not allow one to add or edit printer definitions or to query the product database maintained by the HemaTrax Print Server. That level of access and control can only be obtained through the HemaTrax Client Utility (HTClient.exe) program, which is provided as part of the installation. Alternatively, that level of access and control may be possible through the user interface provided by the LIS application software.

HTServer_V3_0.odt -15- Copyright © 2007 by Digi-Trax Services, Inc.

Page 24: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Print Server Menu

Print Server Start

When the HemaTrax Print Server service is started, the program initially looks in the Windows registry to determine where its printer definitions and database tables are located. Specifically the program looks for the following registry path:

HKEY_LOCAL_MACHINE\SOFTWARE\

Digi-Trax Corporation\HemaTrax Print Server\

Version 3.0

In the 'Version 3.0' key a string value named "Path" is defined. The "Path" value represents the target drive and the fully defined directory/subdirectory path where the HemaTrax Print Server program and its primary files and subdirectories are located. This registry path and string value is created as part of the installation process. Without this entry a default Windows system directory path would be provided to the starting service and program start up would fail.

An example of the "Path" value as it could be represented in the registry key defined above is:

Path REG_SZ C:\Program Files\HemaTrax Print Server

Using the directory path retrieved from the registry, the print server program next opens an initialization file called "HTPrintServer.ini". The initialization file contains:

1. the service listening port number (which defaults to 5500), an alternate data file server path

2. a user name and password to access the alternate server path3. four flags which determine how the print server will treat:

• the donor type for autologous donations• whether the compliance authority is the FDA• which date/time bar code structure will be used• whether or not the server will test for invalid expiration dates

The print server program next calls the HTOpen function of the HemaTraxLIB dll. If the call to the HTOpen function is not successful then a warning message will be posted to the event log and the service will not start. If the call to the HTOpen function is successful, then the release date of the HemaTrax product label table will be read and saved. The server will then open a TCP/IP socket with the specified port and begin listening for messages.

HTServer_V3_0.odt -16- Copyright © 2007 by Digi-Trax Services, Inc.

Page 25: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Print Server Menu

Manual Print Server Installation

It is not typically necessary to perform a manual installation of the HemaTrax Print Server as this task should be performed automatically by the installation wizard. The procedure for manually installing the HemaTrax Print Service is given here in the event that this becomes necessary.

Manual installation is performed from the command prompt. With the Windows command prompt console displayed, use the "CD" (Change Directory) command to navigate to the directory where the "HTPrtSrvr.exe" file is stored. At the command prompt enter the command shown immediately below:

HTPrtSrvr /install

After a second or two a Windows message box should appear indicating that the installation was successful. An example is shown immediately below:

The process of installing a service does not cause the service to be started. Starting the service may be accomplished by either restarting windows or by selecting the Window's Control Panel - Administrative Tools - Services icon path to obtain a view of the loaded services and their status. From the Services window you may start, pause, stop or resume services.

HTServer_V3_0.odt -17- Copyright © 2007 by Digi-Trax Services, Inc.

Page 26: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Print Server Menu

Print Server Settings

During the installation process a window was displayed which allowed various print server settings to be made. The print server's listening port and various other settings were possible at that point. At rare times it may be desirable to change these settings. The program called "HTPrtSrvrSettings.exe" is installed with the server for this very purpose. Using this application the user may access the 'HTPrintServer.ini' file and change any of the settings stored there.

Once these settings have been saved, the HemaTrax print server service must be stopped and then restarted before the changes will take effect.

The window shown below appears when the "HTPrtSrvrSettings.exe" file is executed:

Listening Port Number

This is the port number that the client side must use in combination with the IP address in order to establish the TCP/IP socket connection to the server. It is important to select a port number which will not interfere with other "well-known" port numbers. All "well-known" port numbers fall in the range (1 – 1023); their use should be avoided. Some examples of "well-known" port numbers are: 69 – for UDP datagrams and 80 – HTTP Web Server. These "well-known" port numbers are assigned by the Internet Assigned Numbers Authority (IANA). When assigning a port number for the HemaTrax Print Server it is best to choose a number in the range ( 5001 – 10000). The HemaTrax Print Server defaults to a listening port address of 5500 automatically if one is not specifically assigned.

HTServer_V3_0.odt -18- Copyright © 2007 by Digi-Trax Services, Inc.

Page 27: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Print Server Menu

Autologous Donor

By checking the 'Add "AUTOLOGOUS DONOR" as a valid donor type on the full face label.' check box the print server is directed to print AUTOLOGOUS DONOR on the full face label instead of the generally accepted "VOLUNTEER DONOR" text. This feature has been provided for those previous customers that have a applied for this labeling variance with the FDA.

Label Compliance Authority

By checking the 'FDA is the label compliance authority.' check box the print server is directed to include certain FDA/U.S. Consensus Standard label text adopted specifically for labeling blood in the United States.

U.S. Date & Time Format

By checking the 'Use the U.S. Date & Time bar code format.' check box the print server is directed to use the U.S. Consensus Standard specification for formatting the bar code and text of the collection date and expiration date on the date and time label quadrant in place of the ICCBBA ISBT-128 standard specifications.

Expiration Dates that have Expired

By checking the 'Do NOT allow printing of expiration dates on labels that have already expired' check box the print server will prohibit the printing of ISBT-128 Date & Time quadrant labels that carry dates that have already expired (based on the current server system date).

Save

For any settings to take effect, the Save button must be clicked. The HemaTrax Print Server must then be stopped and restarted. In order to stop and restart the print server, use the Windows provided Control Panel / Administrative Tools / Services utility path.

HTServer_V3_0.odt -19- Copyright © 2007 by Digi-Trax Services, Inc.

Page 28: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Print Server Menu

(This page intentionally blank)

HTServer_V3_0.odt -20- Copyright © 2007 by Digi-Trax Services, Inc.

Page 29: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Main Window Tabbed Pages

HemaTrax Main Window Tabbed Pages

With all HemaTrax Print Server versions prior to the Version 2.0 release a window was displayed with two tabbed pages showing Server Activity and Printer Settings. Now that the print server is a true windows service running in the background, this window is no longer provided.

Much of the functionality provided by the server window of previous releases is now provided by the HTClient.exe program. For more information on the operation of that program consult the HTClient User Guide.

HTServer_V3_0.odt -21- Copyright © 2007 by Digi-Trax Services, Inc.

Page 30: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Main Window Tabbed Pages

(This page intentionally blank)

HTServer_V3_0.odt -22- Copyright © 2007 by Digi-Trax Services, Inc.

Page 31: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Print Server Client Connection

HemaTrax Print Server Client Connection

When the server detects a new client connection it automatically sends the following unsolicited message to the client:

HemaTrax Print Server Connected

The client will typically establish a socket connection, read the unsolicited message and then make any number of requests to the print server. When the client program has completed its activities with the print server it will then disconnect by sending the BYE command and then closing the socket connection.

The print server does not place any restriction on the length of time that a client may stay connected. The print server does not itself place any restrictions on the number of simultaneous client connections that may be active at any one point in time.

HTServer_V3_0.odt -23- Copyright © 2007 by Digi-Trax Services, Inc.

Page 32: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Print Server Client Connection

(This page intentionally blank)

HTServer_V3_0.odt -24- Copyright © 2007 by Digi-Trax Services, Inc.

Page 33: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0BYE (Close Print Server Communication)

Close Print Server Communication

BYEUsing the BYE command is a clean way to terminate an open communications session with the print server. This is the preferred way to terminate a session as opposed to just closing the socket connection. The server doesn't respond to this message in any way, other than to close the current socket between the client and itself.

HTServer_V3_0.odt -25- Copyright © 2007 by Digi-Trax Services, Inc.

Page 34: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0BYE (Close Print Server Communication)

(This page intentionally blank)

HTServer_V3_0.odt -26- Copyright © 2007 by Digi-Trax Services, Inc.

Page 35: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0CAL (Print Codabar Autologous Label)

Print Codabar Autologous Label

CALSending the request to print a Codabar autologous label as shown below, causes the server to print the requested number of autologous labels on the printer attached to the port number specified.

CAL, "<Port Number>", "<Exp. Month>", "<Exp. Day>", "<Exp. Year>", "<Exp. Hour>", "<Exp. Minute>", "<Patient Name>", "<ABO-Rh Text>", "<Collection Date Text>", "<Hospital Name>", "<Patient ID>", "<Licensee Name>", "<Licensee City State Zip Code>", "<License Number>", "<Processing Message>", "<Facility Name>", "<Facility City State Zip Code>", "<Registration Number>", "<Bar Code Flag>", "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<Exp. Month>"This is a three ASCII character field that holds the month of product expiration value as a three character name string. The valid entries are as follows:

Code Exp. Month Encoded"JAN" January"FEB" February"MAR" March"APR" April"MAY" May"JUN" June"JUL" July"AUG" August"SEP" September

HTServer_V3_0.odt -27- Copyright © 2007 by Digi-Trax Services, Inc.

Page 36: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0CAL (Print Codabar Autologous Label)

Code Exp. Month Encoded"OCT" October"NOV" November"DEC" December

"<Exp. Day>"This is a one or two ASCII numeric character field that holds the day-of-month product expiration value, expressed as numeric characters. The valid range for this field is ( 1 – 31).

"<Exp. Year>"This is a four ASCII numeric character field that holds the year of product expiration value, expressed as numeric characters. The valid range for this field is ( 1980 – 9999 ).

"<Exp. Hour>"This is a one or two ASCII numeric character field that holds the hour of expiration value (24 hour clock). The valid range for this field is ( 00 – 23).

"<Exp. Minute>"This is a two ASCII numeric character field that holds the minute of expiration value. The valid range for this field is ( 00 – 59).

"<Patient Name>"This is an ASCII string with a maximum of 24 characters that holds the patient's name. The server will truncate any strings longer than the maximum length.

"<ABO-Rh Text>"This is an ASCII string with a maximum of 14 characters that holds text indicating the patient's blood group and Rh factor. The server will truncate any strings longer than the maximum length.

"<Collection Date Text>"This is an ASCII string with a maximum of 14 characters that holds text of the collection date. The server will truncate any strings longer than the maximum length.

"<Hospital Name>"This is an ASCII string with a maximum of 24 characters that holds the name of the hospital. The server will truncate any strings longer than the maximum length.

"<Patient ID>"

HTServer_V3_0.odt -28- Copyright © 2007 by Digi-Trax Services, Inc.

Page 37: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0CAL (Print Codabar Autologous Label)

This is an ASCII string with a maximum of 16 characters that holds the patient ID number. The server will truncate any strings longer than the maximum length.

"<Licensee Name>"This is an ASCII character field that holds the optional central licensee name. The maximum field length is seventy-two characters. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds thirty-six characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space. If no licensee name is specified, then an empty place holder must be specified by sending two adjacent quotes with no intervening space. For example, "".

"<Licensee City State Zip Code>"This is an ASCII character field that holds the optional central licensee city, state and zip code (location) information. This field becomes required when a Licensee Name has been specified. This field may be up to thirty-six characters in length. If no licensee city, state, zip code is specified, then an empty place holder must be specified by sending two adjacent quotes with no intervening space. For example, "".

"<License Number>"This is a three or four ASCII numeric character field that holds the optional facility or central licensee license number text. This license number, when specified, is printed immediately below either the licensee city, state and zip code line (if a licensee has been specified) or the facility city, state and zip code line. If no license number is specified, then an empty place holder must be specified by sending two adjacent quotes with no intervening space. For example, "".

"<Processing Message>"This is an ASCII character field that holds the processing message. This message is typically, "Collected and processed by". This text will appear immediately above the facility name. The processing message may be up to thirty-six characters in length.

"<Facility Name>"This is an ASCII character field that holds the processing facility name that appears at the below the ABO-Rh label. This text will appear immediately below the Processing Message text described above. The maximum field length is seventy-two characters. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds thirty-six characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

HTServer_V3_0.odt -29- Copyright © 2007 by Digi-Trax Services, Inc.

Page 38: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0CAL (Print Codabar Autologous Label)

"<Facility City State Zip Code>"This is an ASCII character field that holds the processing facility city, state and zip code (location). This text appears immediately below the facility name. The facility city state zip code line may be up to thirty-six characters in length.

"<Registration Number>"This is an ASCII character field that holds the facility registration number text. This registration number text, when specified, is printed immediately below the facility city, state and zip code line in the bottom third of the date and time label quadrant. The registration number must be a length in the range eight to eleven characters. The first character in the registration number must be either a "0" (zero) or a "1" (one). The first digit indicates whether or not the unit id numbers encode as purely numeric or as alphanumeric respectively. The remaining digits represent the assigned registration number.

"<Bar Code Flag>"This is a one ASCII alpha character field that indicates whether or not the expiration date is to be bar coded on the label. If the field is completely absent or set to "T" then the expiration date will be bar coded. If this field is set to "F" then the expiration date will NOT be bar coded.

"<Number of Labels>"This is a one to four ASCII numeric character field that specifies the number of labels that are to be printed.

HTServer_V3_0.odt -30- Copyright © 2007 by Digi-Trax Services, Inc.

Page 39: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0CAL (Print Codabar Autologous Label)

Codabar Autologous Label ExampleThe label in the illustration shown immediately below is typical of the Codabar Autologous label produced by this HemaTrax Print Server function. In the example shown the fields that have been specified are: Expiration Month, Expiration Day, Expiration Year, Patient Name, ABO-Rh text, Collection Date, Hospital Name, Patient ID, License Number, Processing Message, Facility Name, Facility Location and Registration Number.

Example: Codabar Autologous Label

HTServer_V3_0.odt -31- Copyright © 2007 by Digi-Trax Services, Inc.

Page 40: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0CAL (Print Codabar Autologous Label)

HTServer_V3_0.odt -32- Copyright © 2007 by Digi-Trax Services, Inc.

Page 41: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0DAP Delete Alternative Product Row

Delete Alternative Product Row

DAPSending DAP,"<ICCBBA product code>"<cr> to the HemaTrax Print Server indicates that the client program is requesting the deletion of the alternative product label table record whose ICCBBA product code key matches the one passed in the request. A valid five character ICCBBA product code must be passed. The server will respond to a successful record deletion with "ACK"<cr>.

The server maintains a table named "AltPCode.tbl" in the "Data" subdirectory. When ever ICCBBA product records are either added or modified this alternative product label table receives the new or changed records. When ever a product code is requested the alternative product label table is searched first so that records in this table will take precedence over any matching record in the standard PCode.tbl that is supplied with the software.

After a record is deleted from the alternative product label table, the next request for that record will fail on the alternative table, but may be successful if the requested ICCBBA code is found in the PCode.tbl originally supplied with the software.

HTServer_V3_0.odt -33- Copyright © 2007 by Digi-Trax Services, Inc.

Page 42: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0DAP Delete Alternative Product Row

HTServer_V3_0.odt -34- Copyright © 2007 by Digi-Trax Services, Inc.

Page 43: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GDU Get Donation Type/Use Codes

Get Donation Type/Use CodesGDUSending GDU<cr> to the HemaTrax print server requests the list of Donation Type / Intended Use codes and descriptions. The server will respond to this request by returning a list as a carriage-return terminated string. The string is quotation-mark/comma delimited and each record in the string is separated from the next by the vertical line character "|" (hexadecimal 7C). The structure of the data returned is as follows:

"<description>","<code>"|"<description>","<code>"|… "<description>","<code>"<cr>

Where:

"<description>"This is an ASCII text description, up to eighty bytes in size, of the donation type/intended use code that follows.

"<code>"This is a single ASCII character that represents the specific ICCBBA defined donation type/intended use code.

There is a maximum of sixty (60) "<description>","<code>" records that may be returned. The receiving buffer must be at least 5,220 bytes in length to accommodate the largest possible number of characters that might be returned.

An example of the information returned is shown immediately below:

"Not Specified","0"|"Autologous Use Only","1"|"Autologous Use Only, Biohazardous","X"|"Autologous Use Only, Eligible for Crossover","A"|"Directed Donor Use Only","2"|"Directed Donor Use Only, Biohazardous","3"|"Directed Donation, Eligible for Crossover","D"|"Directed Donor Use Only, Medical Exception","E"|"Directed Donor Use Only, Limited Exposure","L"|"Designated Donor","4"|"Dedicated Donor","5"|"Emergency Use Only","!"|"Paid Homologous Donation","P"|"Paid Directed Collection,Eligible for Crossover","d"|"Paid Research Collection","r"|"Paid Source Collection","s"|"Volunteer Allogeneic Donation","V"|"Volunteer Research Donation","R"|"Volunteer Source Donation","S"|"Volunteer Therapeutic Collection","T"<cr>

See the section entitled "Donation Type Definition File" for more information.

HTServer_V3_0.odt -35- Copyright © 2007 by Digi-Trax Services, Inc.

Page 44: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GDU Get Donation Type/Use Codes

(This page intentionally blank)

HTServer_V3_0.odt -36- Copyright © 2007 by Digi-Trax Services, Inc.

Page 45: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GPI Get Product Information

Get Product InformationGPISending GPI,"<ICCBBA product code>"<cr> to the HemaTrax print server indicates that the client program is requesting the HemaTrax product label database record whose ICCBBA product code matches the one passed in the request. A valid ICCBBA product code must be passed. The server will respond to a successful request by returning the following string:

"<ICCBBA Product Code>", "<HemaTrax Product Code>", "<Product Description>", "<Modifier>", "<Component Class>", "<Additive Solution>", "<Attributes>", "<Mfr Caution>", "<Additional Attributes>", "<Other Information>", "<Unknown Code1>", "<Volume Prompt1>", "<Volume Low1>", "<Volume High1>", "<Unknown Code2>", "<Volume Prompt2>", "<Volume Low2>", "<Volume High2>", "<Unknown Code3>", "<Volume Prompt3>", "<Volume Low3>", "<Volume High3>", "<Unknown Code4>", "<Volume Prompt4>", "<Volume Low4>", "<Volume High4>", "<Not USA Flag>", "<Product Life>", "<Product Life Unit>", "<Collection Date Flag>"<cr>

Where:

"<ICCBBA Product Code>" This is a five character ASCII field that holds the ICCBBA product code for which information is sought. At the time of this writing all ICCBBA product codes began with the letter "E" and were followed by four numerals.

"<HemaTrax Product Code>"This is a twelve character ASCII field that holds the weighted HemaTrax product code. For more information about this code, refer to the section entitled "HemaTrax Weighted Product Codes" at the end of this guide.

"<Product Description>"This ASCII field that holds an abbreviated product description up to one hundred twenty eight characters long. The minimum entry must be at least ten characters in length and is used to represent the specific product in displays to be read by the user. This description should be specific enough to differentiate this product from all others in the database. This is not the official product title used on the printed label. See the product descriptions used in the ICCBBA product database for an idea of what information should be contained in this entry.

"<Modifier>"This is a forty character ASCII field that holds the component class modifier. Modifiers include the following: DEGLYCEROLIZED, DEGLYCEROLIZED REJUVENATED, FROZEN, FROZEN REJUVENATED, LIQUID, REJUVENATED, THAWED and WASHED. This text does appear on the product label.

HTServer_V3_0.odt -37- Copyright © 2007 by Digi-Trax Services, Inc.

Page 46: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GPI Get Product Information

"<Component Class>"This is a forty character ASCII field that holds the proper product name text that will be printed on the product label. Component classes include the following: APHERESIS CRYOPRECIPITATE, APHERESIS FRESH FROZEN PLASMA, APHERESIS GRANULOCYTES, APHERESIS GRANULOCYTES-PLATELETS, APHERESIS LEUKOCYTES, APHERESIS PLASMA, APHERESIS RED BLOOD CELLS, CRYOPRECIPITATE, FRESH FROZEN PLASMA, GRANULOCYTES, LEUKOCYTES, PLASMA, PLATELETS, PLATELET-RICH BUFFY COAT, PLATELET-RICH PLASMA, POOLED CRYOPRECIPITATE, POOLED GRANULOCYTES, POOLED PLASMA, POOLED PLATELETS, RED BLOOD CELLS and WHOLE BLOOD. (This is not intended to be a complete list of the currently available component classes).

"<Additive Solution>"This is a forty character ASCII field that holds the text indicating the inclusion of an additive solution in the blood product and which will appear on the printed label. Some of the additive solutions are: ADENINE-SALINE (AS-1) ADDED, ADENINE-SALINE (AS-2) ADDED, ADENINE-SALINE (AS-3) ADDED and ADENINE-SALINE (AS-5) ADDED.

"<Attributes>"This is a one hundred character ASCII field that holds product attributes that will be printed on the product label. Per the U.S. Industry Consensus Standard Specification these attributes are to be listed in the reverse order with respect to the sequence in which these procedures have been performed with the exception of unit division and irradiation. Multiple attributes are separated one from the other with the vertical bar character "|".

"<Mfr Caution>"This is a sixty-five character ASCII field that holds the text for a manufacturing cautionary notice that may appear printed on the printed product label.

"<Additional Attributes>"This is a five hundred character ASCII field that contains the additional attribute information that will be printed on the product label. This information includes, but is not limited to: number of units in a pooled product, product volume, anticoagulant type and volume, and storage temperature. A vertical bar character "|" in this text forces a hard line break in the text when it is printed.

"<Other Information>"This is a five hundred character ASCII field that contains other information that is to be printed at the bottom of the product label. This might included disease antigen testing information such as appears on plasma products.

HTServer_V3_0.odt -38- Copyright © 2007 by Digi-Trax Services, Inc.

Page 47: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GPI Get Product Information

"<Unknown Code1>""<Unknown Code2>""<Unknown Code3>""<Unknown Code4>"This is a single ASCII character field. This character is used as a code to indicate the type of unknown value that follows in the following response value field. These codes and their meanings are listed immediately below:

Code Meaning of Unknown Code"0" No unknown value"1" Original draw volume in mLs"2" Unit volume in mLs or Split volume"3" Anticoagulant volume in mLs"4" HES volume in mEq"5" Number of units in pool "6" Anticoagulant abbreviation (CPD, CPDA-

1, etc.)"7" Additive solution volume in mLs"8" Plasma added volume in mLs

"<Volume Prompt1>""<Volume Prompt2>""<Volume Prompt3>""<Volume Prompt4>"This is a forty character ASCII field that holds one of four volume/measure prompts. If this field is empty then there are no other unknown volumes or measures beyond this. This field (column) contains text that would be presented to a user to request a specific entry for some unknown information that needs to be included on a label. Unknowns are typically volumes, but may also be anticoagulant types, etc.

"<Volume Low1>""<Volume Low2>""<Volume Low3>""<Volume Low4>"This is an eight character ASCII field that holds one of four volume/measure numeric low range values. If this field is empty it indicates that the user may enter any text at the prompt. A numeric text entry indicates that a numeric entry must be made in response to the prompt and that the value of the entry must be numerically greater than or equal to this field value.

"<Volume High1>""<Volume High2>""<Volume High3>"

HTServer_V3_0.odt -39- Copyright © 2007 by Digi-Trax Services, Inc.

Page 48: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GPI Get Product Information

"<Volume High4>"This is an eight character ASCII field that holds one of four volume/measure numeric high range values. If this field is empty it indicates that there is no high range value. A text entry for this field indicates that a numeric entry must be made in response to the prompt and that the value of the entry must be numerically less than this field value.

"<Not USA Flag>"This is a single character ASCII field that indicates whether or not the product defined here is recognized in the United States. An "F" represents False indicating that the product is recognized and "T" represents True indicating that the product is not recognized.

"<Product Life>"This is a three character ASCII field that represents the integer product shelf life value. If this field is empty, then the shelf life for this product is not known.

"<Product Life Unit>"This is a single character ASCII field that indicates the unit of time measure relating to the integer product shelf life value mentioned above. This character will be one of the following:

Code TimeD DaysH HoursY Years

"<Collection Date Flag>"This is a single character ASCII field that indicates if this product takes a collection date instead of an expiration date. An "F" represents False indicating that the product requires an expiration date and "T" represents True indicating that the product takes a collection date.

HTServer_V3_0.odt -40- Copyright © 2007 by Digi-Trax Services, Inc.

Page 49: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GPM Get Product Matches

Get Product Matches

GPMThis request provides for a filter search based on the weighted HemaTrax Product Code. To start a search on the HemaTrax weighted product code the request to be sent takes the following form:

GPM,"<HEMATRAX Product Code>"<cr>

The server will respond to a successful request by returning the following string:

"<ICCBBA Product Code>"{,"<ICCBBA Product Code>"…}<cr>Where:

"<HemaTrax Product Code>"This is a twelve character ASCII field that holds the weighted HemaTrax product code and is passed to the server for database lookup. For more information about this code, refer to the section entitled "HemaTrax Weighted Product Codes" at the end of this guide. One or more character positions in the code may contain the ? (question mark) character which serves as an ambiguous matching character. As an example, if the HemaTrax Product code is specified as "220012301?0?", this indicates that only RED BLOOD CELL products (22) with NO MODIFIER (00), with CP2D anticoagulant (12), AS-3 additive solution (3), stored at 1 to 6°C (01), all volumes (?), with NO MANUFACTURING CAUTION (0), and any of the following characteristics will be returned:

Not Irradiated or Opened SystemIrradiated and/or Opened System

"<ICCBBA Product Code>"This is one or more five character ICCBBA product codes whose product characteristics match those specified by the HemaTrax Product code. Detailed information for each of the ICCBBA codes returned in the list can be individually looked up by use of the GPI function discussed previously.

HTServer_V3_0.odt -41- Copyright © 2007 by Digi-Trax Services, Inc.

Page 50: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GPM Get Product Matches

(This page intentionally blank)

HTServer_V3_0.odt -42- Copyright © 2007 by Digi-Trax Services, Inc.

Page 51: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GPT Get Port

Get Port

GPTSending the following to the HemaTrax Print Server indicates that the client program is requesting the current communications parameters for the "<Port Number>" communications port:

GPT,"<Port Number>"<cr>

The server will respond to this request by returning the following string:

"<Port Number>","<Port Description>","<Printer Model Code>","<Baud Rate>","<CRC Flag>","<Form Code>"<cr>Where:

"<Port Number>" This is the defined port number that is being requested. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port definition for port number 2. This definition could be for a serially connected printer attached to any COMx port available on the server host machine or it could be an Ethernet ready printer attached to the network.

"<Port Description>"This is an ASCII character string up to sixteen characters long. This string holds either the serial port or dotted IP address designation for the printer. If the printer is attached to a serial port ( or Etherlite/TS Terminal Server ) then the port description will read as "COM' followed immediately by a one or two digit number in the range ( 1 to 32 ) indicating the serial port to which the printer is attached. If the printer is an Ethernet ready printer then the port description string will hold the dotted static IP address assigned to the printer.

"<Printer Model Code>"This is an ASCII character code that indicates which printer manufacturer/model is attached to the specified port. The codes returned are as follows:

Code Printer Model Description"0" None Specified"1" SATO America BB-8450 (M8450)

Digi-Trax Enhanced"2" SATO America BB-412 (CL412, CL412e)

Digi-Trax Enhanced

HTServer_V3_0.odt -43- Copyright © 2007 by Digi-Trax Services, Inc.

Page 52: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GPT Get Port

Code Printer Model Description"3" Zebra Technologies 105Se, Z4M

Digi-Trax Enhanced 300 dpi models

"<Baud Rate>"This is an integer value, expressed in ASCII text, that represents the transmission speed that the specified serial port is designated to transmit and receive at. An example of this is shown immediately below:

"9600" Represents a baud rate of 9,600 bits per second (960 bytes/sec.)

"<CRC Flag>"This is a single ASCII character indicating if Cyclic Redundancy Check (transmission error detection) protocol is being used with the serial printer attached to the specified port. The codes returned are as follows:

"T" CRC protocol is being used (True)"F" CRC protocol is not being used (False)

"<Form Code>"This is an integer value, expressed in ASCII text, that represents the numeric value assigned to the form type that is currently loaded in the printer attached to the specified port number. The codes returned are as follows:

Code Label Form Code Description"0" No form loaded in printer"1" Facility Name & Address labels

(2.0" W x 0.75" H)"2" ABO-Rh,Date/Time,Product labels

(2.0" W x 2.0" H)"3" Facility/Product labels

(2.0" W x 3.25" H)"4" Intended Recipient Information labels

(2.5" W x 1" H)"5" ABO-Rh/Date & Time, Match Unit/Intended

Recipient, Product/Date & Time labels (4.0" W x 2.0" H)

"6" Full Face labels(4" W x 4.0" H)

"7" Donor Wallet ID Cards

HTServer_V3_0.odt -44- Copyright © 2007 by Digi-Trax Services, Inc.

Page 53: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GPT Get Port

Code Label Form Code Description(3.375" W x 2.125" H)

"8" Unit ID Sets"9" Codabar ABO-Rh labels

(1.75" W x 3.0" H)"10" Codabar Product labels

(2.3" W x 1.0" H)

Examples of request transmissions and typical responses follow:

Transmitted: GPT,"1"<cr>

Received: "1","COM1","2","9600","T","6"<cr>

Transmitted: GPT,"2"<cr>

Received: "2","192.168.1.115","3","","F","5"<cr>

HTServer_V3_0.odt -45- Copyright © 2007 by Digi-Trax Services, Inc.

Page 54: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GPT Get Port

(This page intentionally blank)

HTServer_V3_0.odt -46- Copyright © 2007 by Digi-Trax Services, Inc.

Page 55: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GXY Get X,Y Offset

Get X,Y Offset

GXYSending the following request causes the server to find the current X,Y print coordinate offset values for the port number specified:

GXY,"<Port Number>"<cr>

The X,Y coordinates are reported back in the following response format:

"<Port Number>","<X Offset Value>","<Y Offset Value>"<cr>where:

"<Port Number>"This is the port number that is being requested. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the printer definition for port number 2.

"<X Offset Value>"This is an ASCII character field that expresses the horizontal offset in decimal format in millimeters from the upper left corner of the printable area of the label. An example could be : "2.35" (meaning that the image is currently shifted to the right by 2.35 mm).

"<Y Offset Value>"This is an ASCII character field that expresses the vertical offset in decimal format in millimeters from the upper left corner of the printable area of the label. An example could be : "4.35" (meaning that the image is shifted down from the top most position on the label by 4.35 mm).

HTServer_V3_0.odt -47- Copyright © 2007 by Digi-Trax Services, Inc.

Page 56: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0GXY Get X,Y Offset

(This page intentionally blank)

HTServer_V3_0.odt -48- Copyright © 2007 by Digi-Trax Services, Inc.

Page 57: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0MUR Print Match Unit / Intended Recipient Label

Print Match Unit / Intended Recipient Label

MUR Added in Version 3.0

Sending the request to print a match unit and intended recipient label as shown below, causes the server to print the requested label on the printer attached to the port number specified.

MUR, "<Port Number>", "<Unit Number>", "<ICCBBA Product Code>", "<Match Unit Line 1>", "<Match Unit Line 2>", "<Patient Name>", "<Patient Birth Month>", "<Patient Birth Day>", "<Patient Birth Year>", "<Patient ID Number>", "<Intended Recipient Line 1>", "<Intended Recipient Line 2>" <cr>

Where:

"<Port Number>"This is the port number that is assigned to the a printer definition. The printer definition indicates the type of printer and where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition.

"<Unit Number>"This is an ASCII text field that is up to sixteen characters in length. The first five characters are the unique facility registration number assigned by the International Council for Commonality in Blood Bank Automation (ICCBBA).

The next two characters represent the last two digits of the collection year.

The next six digits are the sequential accession number for the unit id number of the blood collection.

The next two digits are the flag digits (typically 00).

Important Note: The flag digits that are passed are ignored and replaced with "11" in the unit number being bar coded on the Match With Unit portion of the label.

The next optional character represents the manual entry check digit. If the manual entry check digit is supplied it will be ignored and not printed on the label per the example given in ICCBBA Technical Bulletin 8, January 2006.

HTServer_V3_0.odt -49- Copyright © 2007 by Digi-Trax Services, Inc.

Page 58: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0MUR Print Match Unit / Intended Recipient Label

Some valid unit numbers and the printed results are given in the table that follows:

Unit Number Sent Result on Match with Unit Label

"W123406123456" is printed as the interpretation line. The bar code will automatically contain "11" for the flag digits.

"W1234061234561"is printed as the interpretation line. The bar code will automatically contain "11" for the flag digits.

"W123406123456001"is printed as the interpretation line. The bar code will contain the flag digits "11".

"<ICCBBA Product Code>" This is an eight character ASCII field that holds the five character ICCBBA product code, the one character donation type/intended use code, and the two character unit division code for the primary and secondary unit divisions. See the GDU function request for more information regarding the donation type/intended use code.

"<Match Unit Line 1>" and "<Match Unit Line 2>"These are ASCII text fields that may each be up to sixty (60) characters in length and contain additional information that will be printed as two lines of text centered at the bottom of the upper (MATCH WITH UNIT) label.

"<Patient Name>"This is an ASCII text field that may be up to forty (40) characters in length and contains the intended recipient's name. The recipient name will be printed as text and centered and just below the "INTENDED RECIPIENT" title at the top of the lower (INTENDED RECIPIENT) label.

HTServer_V3_0.odt -50- Copyright © 2007 by Digi-Trax Services, Inc.

Page 59: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0MUR Print Match Unit / Intended Recipient Label

"<Patient Birth Month>"This is a required ASCII numeric string one or two digits in length and in the value range ( "1" to "12" ). This field represents the numeric month of the year in which the recipient was born. This entry will be included in the birth date bar code and will print as the three character upper case alphabetic representation ("JAN", "FEB", "MAR", etc.) of the month below the recipient birth date bar code.

"<Patient Birth Day>"This is a required ASCII numeric string one or two digits in length and in the value range ( "1" to "31" ). This field represents the numeric month of the year in which the recipient was born. This entry will be included in the birth date bar code and will print as one or two digit numeric day in front of the birth month and below the recipient birth date bar code.

"<Patient Birth Year>"This is a required ASCII numeric string four digits in length. This field represents the year in which the recipient was born. This entry will be included in the birth date bar code and will print as the four digit year following the birth month text below the recipient birth date bar code.

"<Patient ID Number>"This is a required ASCII text field that may be from one to eighteen characters in length. This entry will be encoded in the patient identification bar code.

Note: The position of this bar code differs from that shown in the ICCBBA Technical Bulletin 8 document. In the HemaTrax version of the label the patient identification number bar code, being variable in length, follows the date of birth bar code, which is fixed length, instead of preceding it.

"<Intended Recipient Line 1>" and "<Intended Recipient Line 2>"These are ASCII text fields that may each be up to sixty (60) characters in length and contain additional information that will be printed as two lines of text centered at the bottom of the lower (INTENDED RECIPIENT) label.

HTServer_V3_0.odt -51- Copyright © 2007 by Digi-Trax Services, Inc.

Page 60: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0MUR Print Match Unit / Intended Recipient Label

Match With Unit / Intended Recipient Label ExampleThe label shown immediately below illustrates the output produced by the HemaTrax Print Server when the Match With Unit / Intended Recipient label is requested.

Illustration of Match With Unit / Intended Recipient label

HTServer_V3_0.odt -52- Copyright © 2007 by Digi-Trax Services, Inc.

Page 61: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFF One way Print Full Face Label

One way Print Full Face Label

OFFSending the request to print a full face label as shown below, causes the server to print the requested number of full face labels on the printer attached to the port number specified.

OFF, "<Port Number>", "<Unit Number>", "<Facility Name 1>", "<Facility City State Zip Code 1>", "<Licensee Name 1>", "<Licensee City State Zip Code 1>", "<Registration Number 1>", "<License Number 1>", "<ICCBBA Product Code>", "<Donation Type/Intended Use Code>", "<Unit Division Codes>", "<Unknown Code 1>", "<Unknown Value 1>", "<Unknown Code 2>", "<Unknown Value 2>", "<Unknown Code 3>", "<Unknown Value 3>", "<Unknown Code 4>", "<Unknown Value 4>", "<Blood Type Code>", "<Donation Code>", "<Kell Test Code>","<Anti-C/Anti-c Test Code>","<Anti-E/Anti-e Test Code>","<Miltenberger Test Code>", "<Month>", "<Day>", "<Year>", "<Hour>", "<Minute>", "<Eye Read Time Flag>", "<Collection Date Flag>", "<Test Code>", "<Test Message>", "<Processing Message>", "<Facility Name 2>", "<Facility City State Zip Code 2>", "<Licensee Name 2>", "<Licensee City State Zip Code 2>", "<Registration Number 2>", "<License Number 2>", "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is assigned to the printer definition where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Beginning with the Version 2.0 release the port number is unrelated to any specific serial COM port number.

"<Unit Number>"This is an ASCII text field that is up to sixteen characters in length. The first five characters are the unique facility registration number assigned by the International Council for Commonality in Blood Bank Automation (ICCBBA). The next two characters represent the last two digits of the collection year. The next six digits are the sequential accession number for the unit id number of the blood collection. The next two digits are the flag digits (typically 00). The flag digits may optionally be followed by a character that represents the manual entry check digit. If the manual entry check digit is appended to the end of the unit number, it will be printed in a box at the end of the unit number. Some valid unit numbers and the printed results are given in the table that follows:

Unit Number Sent Result on the Full Face Label"" No donation ID bar code or interpretation line is

printed

HTServer_V3_0.odt -53- Copyright © 2007 by Digi-Trax Services, Inc.

Page 62: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFF One way Print Full Face Label

Unit Number Sent Result on the Full Face Label

"W123406123456" is printed as the interpretation line. The bar code will automatically contain "00" for the flag digits.

"W1234061234561" is printed as the interpretation line. The bar code will automatically contain "00" for the flag digits.

"W123406123456001"is printed as the interpretation line. The bar code will contain the flag digits passed ( in this case they are "00").

Note: The Print Server doesn't test the check character passed for validity.

"<Facility Name 1>"This is an ASCII character field, up to one hundred characters in length, that holds the original collection and processing facility name that will appear at the middle third of the upper left-hand full face label quadrant. This text will appear below the unit number described above accept when a collection date has been specified, then the facility name will print below the collection date. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Facility City State Zip Code 1>"This is an ASCII character field, up to forty characters in length, that holds the original collection and processing facility city, state and zip code. This text, when specified, appears below <Facility Name 1> in the upper-left-hand full face label quadrant.

"<Licensee Name 1>"This is an ASCII character field, up to forty characters in length, that holds the optional central licensee name associated with the original collection and processing facility. This licensee name, when specified, is printed above the original collection and processing facility name in the upper-left-hand full face label quadrant.

"<Licensee City State Zip Code 1>"

HTServer_V3_0.odt -54- Copyright © 2007 by Digi-Trax Services, Inc.

Page 63: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFF One way Print Full Face Label

This is an ASCII character field, up to forty characters in length, that holds the optional central licensee city, state and zip code. This licensee city, state and zip code text, when specified, is printed immediately after the licensee name in the upper-left-hand full face label quadrant.

"<Registration Number 1>"This is an ASCII character field, seven to ten digits long, that holds the original collection and processing facility registration number text. This registration number text, when specified, is printed immediately below the facility city, state and zip code line in the upper left-hand full face label quadrant.

"<License Number 1>"This is an ASCII character field, up to four digits long, that holds the optional facility or central licensee license number text. This license number, when specified, is printed immediately below the registration number line as described immediately above.

"<ICCBBA Product Code>" This is a five character ASCII field that holds the ICCBBA product code for which information is sought. At the time of this writing all ICCBBA product codes began with the letter "E" and were followed by four numerals.

"<Donation Type/Intended Use Code>"This is a single ASCII character field that represent the donation type/intended use code for the unit to be labeled. See the GDU function request for more information regarding this code. If no donation type or use is to be specified, then this field must contain "0" (zero).

"<Divided Unit Division Codes>"This is a two ASCII character field that holds the unit division indication codes for the primary and secondary unit divisions. If there is no divisions then this field must contain "00" (zeros).

"<Unknown Code 1>""<Unknown Code 2>""<Unknown Code 3>""<Unknown Code 4>"Each field is a single ASCII character entry. This character is used as a code to indicate the type of unknown value that follows in the next field. These codes and their meanings are listed immediately below:

Code Meaning of Unknown Code"0" No unknown value"1" Original draw volume in mLs"2" Unit volume in mLs or Split volume"3" Anticoagulant volume in mLs

HTServer_V3_0.odt -55- Copyright © 2007 by Digi-Trax Services, Inc.

Page 64: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFF One way Print Full Face Label

Code Meaning of Unknown Code"4" HES volume in mEq"5" Number of units in pool "6" Anticoagulant abbreviation (CPD, CPDA-

1, etc.)"7" Additive solution volume in mLs"8" Plasma volume in mLs

"<Unknown Value 1>""<Unknown Value 2>""<Unknown Value 3>""<Unknown Value 4>"Each of these fields is a variable length ASCII character field that holds the unknown value for the unknown code that has been defined in the field prior to this one. The maximum length of this field is eight characters. The contents of this field is not checked to determine if it is alphabetic or numeric only. The content of this field is blindly inserted into the designated additional attribute text position of the product code label. If a specific unknown value type is missing and is designated for the product label, then a blank line will appear on the label where the unknown value can be hand written in later.

"<Blood Type Code>"This is a two character ASCII field that holds the integer code used to specify the blood group/Rh factor to be printed and bar coded in the upper right-hand quadrant. These codes are as follows:

Code ABO-Rh Description"00" None Specified (Added in

Version 1.7)"01" O Rh Negative"02" O Rh Positive"03" A Rh Negative"04" A Rh Positive"05" B Rh Negative"06" B Rh Positive"07" AB Rh Negative"08" AB Rh Positive"09" O (no Rh factor specified)

HTServer_V3_0.odt -56- Copyright © 2007 by Digi-Trax Services, Inc.

Page 65: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFF One way Print Full Face Label

Code ABO-Rh Description"10" A (no Rh factor specified)"11" B (no Rh factor specified)"12" AB (no Rh factor specified)"13" para-Bombay (Ah or Bah) Rh

Negative"14" para-Bombay (Ah or Bah) Rh

Positive"15" Bombay (Oh) Rh Negative"16" Bombay (Oh) Rh Positive"83" A POOLED Rh"84" B POOLED Rh"85" AB POOLED Rh"86" O POOLED Rh"87" POOLED ABO Rh Positive"88" POOLED ABO Rh Negative"89" POOLED ABO POOLED Rh"93" Autologous Collection"94" Biohazardous"95" Discard Unit "96" Quarantine"97" Do Not Transfuse Based On

Test Results"98" Fractionation Use Only"99" Research Use Only

Note: Specifying "00" for the blood type code causes the upper right hand quadrant of the full face label to be blank. (* Added in 1.7 version)

"<Donation Code>"This is a single ASCII character code that indicates the donation type / intended use. If no donation type or use is to be specified, then this field must contain "0" (zero). See the GDU function request for more information regarding this code.

Note: "FOR EMERGENCY USE ONLY" is specified by sending the exclamation mark "!" as the Donation Code.

HTServer_V3_0.odt -57- Copyright © 2007 by Digi-Trax Services, Inc.

Page 66: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFF One way Print Full Face Label

"<Kell Test Code>"This is a single ASCII character code that indicates whether this test has been performed and if performed, the results of the test. The code values and their meanings are as follows:

Code Kell Test Description"0" No Test"1" Negative"2" Positive

"<Anti-C/Anti-c Test Code>"This is a single ASCII character code that indicates whether this phenotype test has been performed and if performed, the results of the test. The code values and their meanings are as follows:

Code Anti-C Anti-c Description"0" No Test"1" Anti-C=Negative Anti-c=Positive"2" Anti-C=Positive Anti-c=Negative"3" Anti-C=Positive Anti-c=Positive

"<Anti-E/Anti-e Test Code>"is a single ASCII character code that indicates whether this phenotype test has been performed and if performed, the results of the test. The code values and their meanings are as follows:

Code Anti-E Anti-e Test Description"0" No Test"1" Anti-E=Negative Anti-e=Positive"2" Anti-E=Positive Anti-e=Negative"3" Anti-E=Positive Anti-e=Positive

"<Miltenberger Test Code>"is a single ASCII character code that indicates whether this test has been performed and if performed, the results of the test. The code values and their meanings are as follows:

HTServer_V3_0.odt -58- Copyright © 2007 by Digi-Trax Services, Inc.

Page 67: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFF One way Print Full Face Label

Code Miltenberger Test Description"0" No Test"1" Negative"2" Positive

"<Month>"is an ASCII character field that holds the numeric month value, expressed as one or two numeric characters. The valid range for this field is ( 0 – 12).

"<Day>"is an ASCII character field that holds the numeric day-of-month value, expressed as one or two numeric characters. The valid range for this field is ( 0 – 31).

"<Year>"is an ASCII character field that holds the numeric year value, expressed as four numeric characters. The valid range for this field is ( 0 – 9999 ).

Note: When the either the Month, Day or Year values are "0", then NO date or time information will appear in the Date/Time label quadrant.

"<Hour>"is an ASCII character field that holds the numeric hour of day value (24 hour clock), expressed as one or two numeric characters. The valid range for this field is ( 00 – 23).

"<Minute>"is an ASCII two character field that holds the numeric minute of hour value, expressed as numeric characters. The valid range for this field is ( 00 – 59).

"<Eye Read Time Flag>"is a single ASCII character that indicates whether or not the time is to be printed on the label in eye read format. "T" (True) indicates that the eye read time is to be printed, "F" (False) indicates that the time is not to be printed in eye read format. "<Collection Date Flag>"is a single ASCII character that indicates whether or not the date and time is to be treated as a collection data and time. "T" (True) indicates that it is a collection date and time, "F" (False) indicates that it is an expiration date and time.

IMPORTANT NOTE: When a collection date and time is specified, the bar code and attendant information will print in the middle third of the upper left-hand quadrant. The displaced facility text is moved down and licensee name and location is dispensed with. The familiar FDA statements regarding recipient identification, disease agent transmission, reference to the Circular of Information, and "Rx Only" are removed.

HTServer_V3_0.odt -59- Copyright © 2007 by Digi-Trax Services, Inc.

Page 68: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFF One way Print Full Face Label

"<Test Code>"is an ASCII character field, either five or twenty-one characters long, that holds an optional test result code. This test code, when specified, should be either five or twenty-one characters in length and conform to one of the test codes that have been settled on by the national standards organization.

When the test code is five characters a test code conforming to ICCBBA data structure 10 should be given.

When the test code is twenty-one characters long, then the test code should be prefixed with either the "=\" to indicate that data structure 12, "Special Testing: Red Blood Cell Antigens -- General" follows, or should be prefixed with "&{" to indicate that data structure 14, "Special Testing: Serologically-Determined Platelet HLA and Platelet Specific Antigens" follows. An eighteen digit number must follow the prefix. The eighteen digit number must be immediately followed by the appropriate manual entry check digit character.

"<Test Message>"is an ASCII character field, up to seventy-two characters long, that holds the optional test result message. For data structure 10 test codes the test message must fit on a single line and should probably contain no more than forty characters. For data structure 12 and 14 test codes, embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds thirty-six characters, the message will be automatically broken into two lines at the first convenient point within the message. The test message serves as the eye read interpretation of the five or twenty-one character test code described above. This message text should conform to one of the test code descriptions that have been settled on by the national standards organization. It is important to note here that neither superscripting nor subscripting is supported.

"<Processing Message>"is an ASCII character field, up to thirty characters in length, that holds the optional processing message that may appear at the bottom third of the date and time label quadrant. This text will appear immediately above the processing facility name.

"<Facility Name 2>"is an ASCII character field, up to one hundred characters in length, that holds the optional processing facility name that may appear at the bottom third of the date and time label quadrant. This text will appear immediately below the processing message text described above. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

HTServer_V3_0.odt -60- Copyright © 2007 by Digi-Trax Services, Inc.

Page 69: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFF One way Print Full Face Label

"<Facility City State Zip Code 2>"is an ASCII character field, up to forty characters in length, that holds the optional processing facility city, state and zip code. This text, when specified, appears immediately below the facility name in the lower third portion of the date and time label quadrant.

"<Licensee Name 2>"is an ASCII character field, up to one hundred characters in length, that holds the optional central licensee name. This licensee name, when specified, is printed immediately before the facility name in the lower third portion of the date and time label quadrant. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Licensee City State Zip Code 2>"is an ASCII character field, up to forty characters in length, that holds the optional central licensee city, state an zip code. This licensee city, state and zip code text, when specified, is printed immediately after the licensee name in the lower third portion of the date and time label quadrant.

"<Registration Number 2>"is an ASCII character field, seven to ten digits long, that holds the facility registration number text. This registration number text, when specified, is printed immediately below the facility city, state and zip code line in the bottom third of the date and time label quadrant.

"<License Number 2>"is an ASCII character field, up to four digits long, that holds the optional facility or central licensee license number text. This license number, when specified, is printed immediately below the facility registration number in the bottom third of the date and time label quadrant.

"<Number of Labels>"is an ASCII character field that holds an integer, expressed as up to four numeric characters, that specifies the number of labels that are to be printed.

HTServer_V3_0.odt -61- Copyright © 2007 by Digi-Trax Services, Inc.

Page 70: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFF One way Print Full Face Label

One way Full Face Label ExampleThe label in the illustration shown immediately below is typical of the labels produced by the HemaTrax Print Server when the product requires an expiration date.

Full face label with an expiration date

The label illustrated below is typical of those that require a collection date.

Full face label with collection date

HTServer_V3_0.odt -62- Copyright © 2007 by Digi-Trax Services, Inc.

Page 71: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFP One way Print Facility/Product

One way Print Facility / Product

OFPSending the request to print a facility label as shown below, causes the server to print the requested number of facility labels on the printer attached to the port number specified.

OFP,"<Port Number>", "<Collection Month>", "<Collection Day>", "<Collection Year>", "<Collection Hour>", "<Collection Minute>", "<Display Collection Time Flag>", "<Facility Name>", "<Facility City State Zip Code>", "<Licensee Name>", "<Licensee City State Zip Code>", "<Registration Number>", "<License Number>", "<ICCBBA Product Code>", "<Donation Type/Intended Use Code>", "<Unit Division Codes>", "<Unknown Code 1>", "<Unknown Value 1>", "<Unknown Code 2>", "<Unknown Value 2>", "<Unknown Code 3>", "<Unknown Value 3>", "<Unknown Code 4>", "<Unknown Value 4>", "<Number of Labels>"<cr>

Where:

"<Port Number>"is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<Collection Month>"is the ASCII numeric month of the date of product collection. If this value is passed as "" or "0", then no collection date is being specified for this product. If there is a collection date, then this string must contain a string value in the range "1" to "12".

IMPORTANT NOTE: When a collection date and time is specified the bar code and attendant information will print in the middle third of the upper left-hand quadrant. The displaced facility text is moved down and licensee name and location is dispensed with. The familiar FDA statements regarding recipient identification, disease agent transmission, reference to the Circular of Information, and "Rx ONLY" are removed.

"<Collection Day>"is the ASCII numeric day of the month of the date of product collection. If no collection date is being specified then this value should be passed as either "" or "0". If there is a collection date, then this value should be in the appropriate range for the month given.

HTServer_V3_0.odt -63- Copyright © 2007 by Digi-Trax Services, Inc.

Page 72: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFP One way Print Facility/Product

"<Collection Year>"is the ASCII numeric year of the date of product collection. If this value is passed as "" or "0", then no collection date is being specified for this product. If there is a collection date, then this string must contain a string value in the range "1980" to "9999".

"<Collection Hour>"is the ASCII numeric hour of the day of product collection. This value should be passed as "23" if no specific hour has been recorded. If no collection date is being specified then this value may be passed as "" or "0".

"<Collection Minute>"is the ASCII numeric minute of the hour of the day of product collection. This value should be passed as "59" if no specific hour has been recorded. If no collection date is being specified then this value may be passed as "" or "0".

"<Display Collection Time Flag>"is the ASCII logic character "T" for true or "F" for false and indicates whether or not the time of day is to be displayed in the ASCII text line displaying the date below the collection date bar code. The characters "Y" and "1" also indicate true. When this flag is true then the time is displayed after the collection date. The time is displayed in twenty four hour clock format with a colon (:) separating the hour and minutes.

"<Facility Name>"is an ASCII character field, up to one hundred characters in length, that holds the original collection and processing facility name that will appear in the middle of the first (upper left-hand) label quadrant. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Facility City State Zip Code>"is an ASCII character field, up to forty characters in length, that holds the processing facility city, state and zip code. This text, when specified, appears immediately below the facility name.

"<Licensee Name>"is an ASCII character field, up to one hundred characters in length, that holds the optional central licensee name. This licensee name, when specified, is printed above the facility name. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

HTServer_V3_0.odt -64- Copyright © 2007 by Digi-Trax Services, Inc.

Page 73: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFP One way Print Facility/Product

"<Licensee City State Zip Code>"is an ASCII character field, up to forty characters in length, that holds the optional central licensee city, state an zip code. This licensee city, state and zip code text, when specified, is printed immediately after the licensee name.

"<Registration Number>"is an ASCII character field, seven to ten digits long, that holds the facility registration number text. This registration number text, when specified, is printed immediately below the facility city, state and zip code line.

"<License Number>"is an ASCII character field, three or four digits long, that holds the optional facility or central licensee license number text. This license number, when specified, is printed immediately below the facility's registration number line.

"<ICCBBA Product Code>" is a five character ASCII field that holds the ICCBBA product code for which information is sought. At the time of this writing all ICCBBA product codes began with the letter "E" and were followed by four numerals.

"<Donation Type/Intended Use Code>"is a single ASCII character field that represent the donation type/intended use code for the unit to be labeled. See the GDU function request for more information regarding this code. If no donation type or use is to be specified, then this field must contain "0" (zero).

"<Divided Unit Division Codes>"is a two ASCII character field that holds the unit division indication codes for the primary and secondary unit divisions. If there is no divisions then this field must contain "00" (two zeros).

"<Unknown Code 1>""<Unknown Code 2>""<Unknown Code 3>""<Unknown Code 4>"each is a single ASCII character field. This character is used as a code to indicate the type of unknown value that follows in the next field. These codes and their meanings are listed immediately below:

Code Meaning of Unknown Code"0" No unknown value"1" Original draw volume in mLs"2" Unit volume in mLs or Split volume"3" Anticoagulant volume in mLs"4" HES volume in mEq

HTServer_V3_0.odt -65- Copyright © 2007 by Digi-Trax Services, Inc.

Page 74: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFP One way Print Facility/Product

Code Meaning of Unknown Code"5" Number of units in pool "6" Anticoagulant abbreviation (CPD, CPDA-

1, etc.)"7" Additive solution volume in mLs"8" Plasma volume in mLs

"<Unknown Value 1>""<Unknown Value 2>""<Unknown Value 3>""<Unknown Value 4>"each is a variable length ASCII character field that holds the unknown value for the unknown code that has been defined in the field prior to this one. The maximum length of this field is eight characters. The contents of this field is not checked to determine if it is alphabetic or numeric only. The content of this field is blindly inserted into the designated additional attribute text position of the product code label. If a specific unknown value type is missing and is designated for the product label, then a blank line will appear on the label where the unknown value can be hand written in later.

"<Number of Labels>"is an ASCII character field, one to four digits long, that holds an integer, expressed in numeric characters, that specifies the number of labels that are to be printed.

HTServer_V3_0.odt -66- Copyright © 2007 by Digi-Trax Services, Inc.

Page 75: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFP One way Print Facility/Product

Facility Product Label ExamplesThe following illustrations depict two possible label formats that may be printed using the OFP (One way Facility Product) print function.

Typical Facility Product Label

HTServer_V3_0.odt -67- Copyright © 2007 by Digi-Trax Services, Inc.

Page 76: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OFP One way Print Facility/Product

Facility Product Labelwith Collection Date and Time

Specified

HTServer_V3_0.odt -68- Copyright © 2007 by Digi-Trax Services, Inc.

Page 77: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OPD One way Print Product / Date Label

One way Print Product / Date Label

OPDSending the request to print a product/date and time label as shown below, causes the server to print the requested number of product/date and time labels on the printer attached to the port number specified.

OPD,"<Port Number>", "<ICCBBA Product code>", "<Donation Type/Intended Use>", "<Unit Division Codes>", "<Unknown Code 1>", "<Unknown Value 1>", "<Unknown Code 2>", "<Unknown Value 2>", "<Unknown Code 3>", "<Unknown Value 3>", "<Unknown Code 4>", "<Unknown Value 4>", "<Month>", "<Day>", "<Year>", "<Hour>", "<Minute>", "<Eye Read Time Flag>", "<Collection Date Flag>", "<Test Code>", "<Test Message>", "<Processing Message>", "<Facility Name>", "<Facility City State Zip Code>", "<Licensee Name>", "<Licensee City State Zip Code>", "<Registration Number>", "<License Number>", "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<ICCBBA Product Code>" This is a five character ASCII field that holds the ICCBBA product code for which information is sought. At the time of this writing all ICCBBA product codes began with the letter "E" and were followed by four numerals.

"<Donation Type/Intended Use Code>"This is a single ASCII character field that represent the donation type/intended use code for the unit to be labeled. If no type or use is to be specified, then this field must contain "0" (zero). See the GDU function request for more information regarding this code.

"<Divided Unit Division Codes>"This is a two ASCII character field that holds the unit division indication codes for the primary and secondary unit divisions. If there is no divisions then this field must contain "00" (zeros).

HTServer_V3_0.odt -69- Copyright © 2007 by Digi-Trax Services, Inc.

Page 78: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OPD One way Print Product / Date Label

"<Unknown Code 1>""<Unknown Code 2>""<Unknown Code 3>""<Unknown Code 4>"Each of these fields is a single ASCII character entry. This character is used as a code to indicate the type of unknown value that follows in the next field. These codes and their meanings are listed immediately below:

Code Meaning of Unknown Code"0" No unknown value"1" Original draw volume in mLs"2" Unit volume in mLs or Split volume"3" Anticoagulant volume in mLs"4" HES volume in mEq"5" Number of units in pool "6" Anticoagulant abbreviation (CPD, CPDA-

1, etc.)"7" Additive solution volume in mLs"8" Plasma volume in mLs

"<Unknown Value 1>""<Unknown Value 2>""<Unknown Value 3>""<Unknown Value 4>"Each of these fields is a ASCII string entry, holding from zero to eight characters, that provides the unknown value to be associated with the unknown code defined in the field prior to this one. The contents of this field is not checked to determine if it is alphabetic or numeric only. The content of this field is blindly inserted into the designated additional attribute text position of the product code label. If a specific unknown value type is missing and is designated for the product label, then a blank underscore line will appear on the label where the unknown value can be hand written later.

"<Month>"This is a one or two ASCII character field that holds the numeric month value, expressed as numeric characters. The valid range for this field is ( 0 – 12).

"<Day>"This is a one or two ASCII character field that holds the numeric day-of-month value, expressed as numeric characters. The valid range for this field is ( 0 – 31).

HTServer_V3_0.odt -70- Copyright © 2007 by Digi-Trax Services, Inc.

Page 79: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OPD One way Print Product / Date Label

"<Year>"This is an ASCII character field, four digits long, that holds the numeric year value, expressed as numeric characters. The valid range for this field is ( 0 – 9999 ).

Note: When the either the Month, Day or Year values are "0", then NO date or time information will appear in the Date/Time label quadrant.

"<Hour>"This is a one or two ASCII character field that holds the numeric hour of day value (24 hour clock), expressed as numeric characters. The valid range for this field is ( 00 – 23).

"<Minute>"This is a two ASCII character field that holds the numeric minute of hour value, expressed as numeric characters. The valid range for this field is ( 00 – 59).

"<Eye Read Time Flag>"This is a single ASCII character that indicates whether or not the time is to be printed on the label in eye read format. "T" (True) indicates that the eye read time is to be printed, "F" (False) indicates that the time is not to be printed in eye read format. "<Collection Date Flag>"This is a single ASCII character that indicates whether or not the date and time is to be treated as a collection data and time. "T" (True) indicates that it is a collection date and time, "F" (False) indicates that it is an expiration date and time.

IMPORTANT NOTE: When a collection date and time is specified, the bar code and attendant information is now designated to print in the middle third of the upper left-hand quadrant. This means that the collection date and time will no longer appear in the lower right-hand (fourth) quadrant as was the case with previous releases. This complies with the bar code location designated in the ICCBBA ISBT 128 Technical Specification Version 2.0.

"<Test Code>"This is an ASCII character field, either five or twenty-one characters long, that holds an optional test result code. This test code, when specified, should be either five or twenty-one characters in length and conform to one of the test codes that have been settled on by the national standards organization.

When the test code is five characters a test code conforming to ICCBBA data structure 10 should be given.

When the test code is twenty-one characters long, then the test code should be prefixed with either the "=\" to indicate that data structure 12, "Special Testing: Red Blood Cell Antigens -- General" follows, or should be prefixed with "&{" to indicate that data structure 14, "Special Testing: Serologically-Determined

HTServer_V3_0.odt -71- Copyright © 2007 by Digi-Trax Services, Inc.

Page 80: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OPD One way Print Product / Date Label

Platelet HLA and Platelet Specific Antigens" follows. An eighteen digit number must follow the prefix. The eighteen digit number must be immediately followed by the appropriate manual entry check digit character.

"<Test Message>"is an ASCII character field, up to seventy-two characters long, that holds the optional test result message. For data structure 10 test codes the test message must fit on a single line and should probably contain no more than forty characters. For data structure 12 and 14 test codes, embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds thirty-six characters, the message will be automatically broken into two lines at the first convenient point within the message. The test message serves as the eye read interpretation of the five or twenty-one character test code described above. This message text should conform to one of the test code descriptions that have been settled on by the national standards organization. It is important to note here that neither superscripting nor subscripting is supported.

"<Processing Message>"This is an ASCII character field, up to thirty characters long, that holds the optional further processing message that may appear at the bottom third of the date and time label quadrant. This text will appear immediately above the processing facility name.

"<Facility Name>"This is an ASCII character field, up to one hundred characters in length, that holds the optional further processing facility name that may appear at the bottom third of the date and time label quadrant. This text will appear immediately below the processing message text described above. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Facility City State Zip Code>"This is an ASCII character field, up to forty characters in length, that holds the optional further processing facility city, state and zip code. This text, when specified, appears immediately below the facility name in the lower third portion of the date and time label quadrant.

"<Licensee Name>"This is an ASCII character field, up to one hundred characters in length, that holds the optional central licensee name. This licensee name, when specified, is printed immediately before the facility name in the lower third portion of the date and time label quadrant. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar

HTServer_V3_0.odt -72- Copyright © 2007 by Digi-Trax Services, Inc.

Page 81: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OPD One way Print Product / Date Label

character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Licensee City State Zip Code>"This is an ASCII character field, up to forty characters in length, that holds the optional central licensee city, state an zip code. This licensee city, state and zip code text, when specified, is printed immediately after the licensee name in the lower third portion of the date and time label quadrant.

"<Registration Number>"This is a seven to ten ASCII numeric character field that holds the facility registration number text. This registration number text, when specified, is printed immediately below the facility city, state and zip code line in the bottom third of the date and time label quadrant.

"<License Number>"This is an ASCII character field, three or four digits long, that holds the optional facility or central licensee license number text. This license number, when specified, is printed immediately below the facility city, state and zip code line in the bottom third of the date and time label quadrant. When no license number is being specified then an empty field is passed as "".

"<Number of Labels>"This is a one to four digit ASCII character field that expresses the number of labels that are to be printed.

One way Product/Date Label ExampleThe label in the illustration shown immediately below is typical of the labels produced by this HemaTrax Print Server function.

One way Product/Date Label

HTServer_V3_0.odt -73- Copyright © 2007 by Digi-Trax Services, Inc.

Page 82: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OPD One way Print Product / Date Label

(This page intentionally blank)

HTServer_V3_0.odt -74- Copyright © 2007 by Digi-Trax Services, Inc.

Page 83: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OPR One way Print Product Label

One way Print Product Label

OPRSending the request to print a facility label as shown below, causes the server to print the requested number of facility labels on the printer attached to the port number specified.

OPR,"<Port Number>", "<ICCBBA Product code>", "<Donation Type/Intended Use>", "<Unit Division Codes>", "<Unknown Code 1>", "<Unknown Value 1>", "<Unknown Code 2>", "<Unknown Value 2>", "<Unknown Code 3>", "<Unknown Value 3>", "<Unknown Code 4>", "<Unknown Value 4>" "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<ICCBBA Product Code>" This is a five character ASCII field that holds the ICCBBA product code for which information is sought.

"<Donation Type/Intended Use Code>"This is a single ASCII character field that represents the donation type/intended use code for the unit to be labeled. If no type or use is to be specified, then this field must contain "0" (zero). See the GDU function request for more information regarding this code.

"<Divided Unit Division Codes>"This is a two ASCII character field that holds the unit division indication codes for the primary and secondary unit divisions. If there is no divisions then this field must contain "00" (zeros).

HTServer_V3_0.odt -75- Copyright © 2007 by Digi-Trax Services, Inc.

Page 84: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OPR One way Print Product Label

"<Unknown Code 1>""<Unknown Code 2>""<Unknown Code 3>""<Unknown Code 4>"Each of these fields is a single ASCII character entry. This character is used as a code to indicate the type of unknown value that follows in the next field. These codes and their meanings are listed immediately below:

Code Meaning of Unknown Code"0" No unknown value"1" Original draw volume in mLs"2" Unit volume in mLs or Split volume"3" Anticoagulant volume in mLs"4" HES volume in mEq"5" Number of units in pool "6" Anticoagulant abbreviation (CPD, CPDA-

1, etc.)"7" Additive solution volume in mLs"8" Plasma volume in mLs

"<Unknown Value 1>""<Unknown Value 2>""<Unknown Value 3>""<Unknown Value 4>"Each of these fields is a variable length ASCII character entry that holds the unknown value for the unknown code that has been defined in the field prior to this one. The maximum length of this field is eight characters. The contents of this field is not checked to determine if it is alphabetic or numeric. The content of this field is blindly inserted into the designated additional attribute text position of the product code label. If a specific unknown value type is missing and is designated for the product label, then a blank underscore line will appear on the label where the unknown value can be hand written in later.

"<Number of Labels>"This is an ASCII character field that holds an integer, expressed in numeric characters, that specifies the number of labels that are to be printed.

HTServer_V3_0.odt -76- Copyright © 2007 by Digi-Trax Services, Inc.

Page 85: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OPR One way Print Product Label

One way Product Label ExampleThe label in the illustration shown immediately below is typical of the one way product labels produced by this HemaTrax Print Server function.

Product Label Example

HTServer_V3_0.odt -77- Copyright © 2007 by Digi-Trax Services, Inc.

Page 86: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0OPR One way Print Product Label

(This page intentionally blank)

HTServer_V3_0.odt -78- Copyright © 2007 by Digi-Trax Services, Inc.

Page 87: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAB Print ABO-Rh Label

Print ABO-Rh Label

PABSending the request to print an ISBT 128 ABO-Rh label, as shown below, causes the server to print the requested number of ABO-Rh labels on the printer attached to the port number specified.

PAB,"<Port Number>","<Blood Type Code>","<Donation Code>","<Kell Test Code>","<Anti-C/Anti-c Test Code>","<Anti-E/Anti-e Test Code>","<Miltenberger Test Code>","<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition.

"<Blood Type Code>"This is a required two character ASCII field that holds the integer code used to specify the blood group/Rh factor to be printed and bar coded on the 2" X 2" single quadrant label. These codes are as follows:

Code ABO-Rh Description"00" None Specified (Added in

Version 1.7)"01" O Rh Negative"02" O Rh Positive"03" A Rh Negative"04" A Rh Positive"05" B Rh Negative"06" B Rh Positive"07" AB Rh Negative"08" AB Rh Positive"09" O (no Rh factor specified)"10" A (no Rh factor specified)"11" B (no Rh factor specified)

HTServer_V3_0.odt -79- Copyright © 2007 by Digi-Trax Services, Inc.

Page 88: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAB Print ABO-Rh Label

Code ABO-Rh Description"12" AB (no Rh factor specified)"13" para-Bombay (Ah or Bah) Rh

Negative"14" para-Bombay (Ah or Bah) Rh

Positive"15" Bombay (Oh) Rh Negative"16" Bombay (Oh) Rh Positive"83" A POOLED Rh"84" B POOLED Rh"85" AB POOLED Rh"86" O POOLED Rh"87" POOLED ABO Rh Positive"88" POOLED ABO Rh Negative"89" POOLED ABO POOLED Rh"93" Autologous Collection"94" Biohazardous"95" Discard Unit "96" Quarantine"97" Do Not Transfuse Based On

Test Results"98" Fractionation Use Only"99" Research Use Only

Note: Sending "00" for the blood type code causes the entire ABO-Rh label quadrant to be blank.

"<Donation Code>"This is a single ASCII character code that indicates the donation type / intended use. If no type or use is to be specified, then this field must contain "0" (zero). See the GDU function request for more information regarding this code.

Note: "FOR EMERGENCY USE ONLY" is specified by sending the exclamation mark "!" as the Donation Code.

HTServer_V3_0.odt -80- Copyright © 2007 by Digi-Trax Services, Inc.

Page 89: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAB Print ABO-Rh Label

"<Kell Test Code>"This is a single ASCII character code that indicates whether this test has been performed and if performed, the results of the test. If no test is to be specified, you must pass a value of "0". The code values and their meanings are as follows:

Code Kell Test Description"0" No Test"1" Negative"2" Positive

"<Anti-C/Anti-c Test Code>"This is a single ASCII character code that indicates whether this phenotype test has been performed and if performed, the results of the test. If no test is to be specified, you must pass a value of "0". The code values and their meanings are as follows:

Code Anti-C Anti-c Description"0" No Test"1" Anti-C=Negative Anti-c=Positive"2" Anti-C=Positive Anti-c=Negative"3" Anti-C=Positive Anti-c=Positive

"<Anti-E/Anti-e Test Code>"This is a single ASCII character code that indicates whether this phenotype test has been performed and if performed, the results of the test. If no test is to be specified, you must pass a value of "0". The code values and their meanings are as follows:

Code Anti-E Anti-e Test Description"0" No Test"1" Anti-E=Negative Anti-e=Positive"2" Anti-E=Positive Anti-e=Negative"3" Anti-E=Positive Anti-e=Positive

"<Miltenberger Test Code>"This is a single ASCII character code that indicates whether this test has been performed and if performed, the results of the test. If no test is to be specified,

HTServer_V3_0.odt -81- Copyright © 2007 by Digi-Trax Services, Inc.

Page 90: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAB Print ABO-Rh Label

you must pass a value of "0". The code values and their meanings are as follows:

Code Miltenberger Test Description"0" No Test"1" Negative"2" Positive

"<Number of Labels>"This is a required ASCII numeric character field, one to four digits long that specifies the number of labels that are to be printed.

ABO-Rh Label ExampleThe label in the illustration shown below is typical of the ISBT-128 ABO-Rh labels produced by this HemaTrax Print Server function.

ABO-Rh Label Example

HTServer_V3_0.odt -82- Copyright © 2007 by Digi-Trax Services, Inc.

Page 91: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAD Print ABO-Rh/Date Label

Print ABO-Rh/Date Label

PADSending the request to print an ABO-Rh/Date and Time label as shown below, causes the server to print the requested number of ABO-Rh/Date and Time labels on the printer attached to the port number specified.

PAD, "<Port Number>", "<Blood Type Code>", "<Donation Code>","<Kell Test Code>", "<Anti-C / Anti-c Test Code>", "<Anti-E / Anti-e Test Code>", "<Miltenberger Test Code>", "<Month>", "<Day>", "<Year>", "<Hour>","<Minute>","<Eye Read Time Flag>","<Collection Date Flag>","<Test Code>","<Test Message>", "<Processing Message>", "<Facility Name>", "<Facility City State Zip Code>", "<Licensee Name>", "<Licensee City State Zip Code>", "<Registration Number>","<License Number>", "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<Blood Type Code>"This is a required two character ASCII field that holds the integer code used to specify the blood group/Rh factor to be printed and bar coded on the 2" X 2" single quadrant label. These codes are as follows:

Code ABO-Rh Description"00" None Specified"01" O Rh Negative"02" O Rh Positive"03" A Rh Negative"04" A Rh Positive"05" B Rh Negative"06" B Rh Positive"07" AB Rh Negative"08" AB Rh Positive"09" O (no Rh factor specified)

HTServer_V3_0.odt -83- Copyright © 2007 by Digi-Trax Services, Inc.

Page 92: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAD Print ABO-Rh/Date Label

Code ABO-Rh Description"10" A (no Rh factor specified)"11" B (no Rh factor specified)"12" AB (no Rh factor specified)"13" para-Bombay (Ah or Bah) Rh

Negative"14" para-Bombay (Ah or Bah) Rh

Positive"15" Bombay (Oh) Rh Negative"16" Bombay (Oh) Rh Positive"83" A POOLED Rh"84" B POOLED Rh"85" AB POOLED Rh"86" O POOLED Rh"87" POOLED ABO Rh Positive"88" POOLED ABO Rh Negative"89" POOLED ABO POOLED Rh"93" Autologous Collection"94" Biohazardous"95" Discard Unit "96" Quarantine"97" Do Not Transfuse Based On

Test Results"98" Fractionation Use Only"99" Research Use Only

"<Donation Code>"This is a single ASCII character code that indicates the donation type / intended use. If no donation type or use is to be specified, then this field must contain "0" (zero). See the GDU function request for more information regarding this code.

Note: "FOR EMERGENCY USE ONLY" is specified by sending the exclamation mark "!" as the Donation Code.

HTServer_V3_0.odt -84- Copyright © 2007 by Digi-Trax Services, Inc.

Page 93: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAD Print ABO-Rh/Date Label

"<Kell Test Code>"This is a single ASCII character code that indicates whether this test has been performed and if performed, the results of the test. If no test is to be specified, you must pass a value of "0". The code values and their meanings are as follows:

Code Kell Test Description"0" No Test"1" Negative"2" Positive

"<Anti-C/Anti-c Test Code>"This is a single ASCII character code that indicates whether this phenotype test has been performed and if performed, the results of the test. If no test is to be specified, you must pass a value of "0". The code values and their meanings are as follows:

Code Anti-C Anti-c Description"0" No Test"1" Anti-C=Negative Anti-c=Positive"2" Anti-C=Positive Anti-c=Negative"3" Anti-C=Positive Anti-c=Positive

"<Anti-E/Anti-e Test Code>"This is a single ASCII character code that indicates whether this phenotype test has been performed and if performed, the results of the test. If no test is to be specified, you must pass a value of "0". The code values and their meanings are as follows:

Code Anti-E Anti-e Test Description"0" No Test"1" Anti-E=Negative Anti-e=Positive"2" Anti-E=Positive Anti-e=Negative"3" Anti-E=Positive Anti-e=Positive

"<Miltenberger Test Code>"This is a single ASCII character code that indicates whether this test has been performed and if performed, the results of the test. If no test is to be specified,

HTServer_V3_0.odt -85- Copyright © 2007 by Digi-Trax Services, Inc.

Page 94: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAD Print ABO-Rh/Date Label

you must pass a value of "0". The code values and their meanings are as follows:

Code Miltenberger Test Description"0" No Test"1" Negative"2" Positive

"<Month>"This is a one or two ASCII character field that holds the numeric month value, expressed as numeric characters. The valid range for this field is ( 0 – 12).

"<Day>"This is a one or two ASCII character field that holds the numeric day-of-month value, expressed as numeric characters. The valid range for this field is ( 0 – 31).

"<Year>"This is a four ASCII character field that holds the numeric year value, expressed as numeric characters. The valid range for this field is ( 0 – 9999 ).

Note: When the either the Month, Day or Year values are "0", then NO date or time information will appear in the Date/Time label quadrant.

"<Hour>"This is a one or two ASCII character field that holds the numeric hour of day value (24 hour clock), expressed as numeric characters. The valid range for this field is ( 00 – 23).

"<Minute>"This is a two ASCII character field that holds the numeric minute of hour value, expressed as numeric characters. The valid range for this field is ( 00 – 59).

"<Eye Read Time Flag>"This is a single ASCII character that indicates whether or not the time is to be printed on the label in eye read format. "T" (True) indicates that the eye read time is to be printed, "F" (False) indicates that the time is not to be printed in eye read format. "<Collection Date Flag>"This is a single ASCII character that indicates whether or not the date and time is to be treated as a collection data and time. "T" (True) indicates that it is a collection date and time, "F" (False) indicates that it is an expiration date and time.

IMPORTANT NOTE: When a collection date and time is specified the bar code and attendant information is now designated to print in the middle third of the upper left-hand

HTServer_V3_0.odt -86- Copyright © 2007 by Digi-Trax Services, Inc.

Page 95: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAD Print ABO-Rh/Date Label

quadrant. This means that the collection date and time will no longer appear in the lower right-hand (fourth) quadrant as was the case with previous releases.

"<Test Code>"This is an ASCII character field, either five or twenty-one characters long, that holds an optional test result code. This test code, when specified, should be either five or twenty-one characters in length and conform to one of the test codes that have been settled on by the national standards organization.

When the test code is five characters a test code conforming to ICCBBA data structure 10 should be given.

When the test code is twenty-one characters long, then the test code should be prefixed with either the "=\" to indicate that data structure 12, "Special Testing: Red Blood Cell Antigens -- General" follows, or should be prefixed with "&{" to indicate that data structure 14, "Special Testing: Serologically-Determined Platelet HLA and Platelet Specific Antigens" follows. An eighteen digit number must follow the prefix. The eighteen digit number must be immediately followed by the appropriate manual entry check digit character.

"<Test Message>"is an ASCII character field, up to seventy-two characters long, that holds the optional test result message. For data structure 10 test codes the test message must fit on a single line and should probably contain no more than forty characters. For data structure 12 and 14 test codes, embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds thirty-six characters, the message will be automatically broken into two lines at the first convenient point within the message. The test message serves as the eye read interpretation of the five or twenty-one character test code described above. This message text should conform to one of the test code descriptions that have been settled on by the national standards organization. It is important to note here that neither superscripting nor subscripting is supported.

"<Processing Message>"This is an ASCII character field, up to thirty characters long, that holds the optional further processing message that may appear at the bottom third of the date and time label quadrant. This text will appear immediately above the processing facility name.

"<Facility Name>"This is an ASCII character field, up to one hundred characters long, that holds the optional further processing facility name that may appear at the bottom third of the date and time label quadrant. This text will appear immediately below the processing message text described above. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty

HTServer_V3_0.odt -87- Copyright © 2007 by Digi-Trax Services, Inc.

Page 96: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAD Print ABO-Rh/Date Label

characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Facility City State Zip Code>"This is an ASCII character field, up to forty characters long, that holds the optional further processing facility city, state and zip code. This text, when specified, appears immediately below the facility name in the lower third portion of the date and time label quadrant.

"<Licensee Name>"This is an ASCII character field, up to one hundred characters long, that holds the optional central licensee name. This licensee name, when specified, is printed immediately before the facility name in the lower third portion of the date and time label quadrant. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Licensee City State Zip Code>"This is an ASCII character field, up to forty characters long, that holds the optional central licensee city, state an zip code. This licensee city, state and zip code text, when specified, is printed immediately after the licensee name in the lower third portion of the date and time label quadrant.

"<Registration Number>"This is an ASCII character field, seven digits long, that holds the facility registration number text. This registration number text, when specified, is printed immediately below the facility city, state and zip code line in the bottom third of the date and time label quadrant.

"<License Number>"This is an ASCII character field, three or four digits long, that holds the optional facility or central licensee license number text. This license number, when specified, is printed immediately below the facility city, state and zip code line in the bottom third of the date and time label quadrant.

"<Number of Labels>"This is a one to four ASCII numeric character field that specifies the number of labels that are to be printed.

HTServer_V3_0.odt -88- Copyright © 2007 by Digi-Trax Services, Inc.

Page 97: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAD Print ABO-Rh/Date Label

ABO-Rh/Date & Time Label ExampleThe label in the illustration shown immediately below is typical of the ISBT-128 ABO-Rh/Date & Time labels produced by this HemaTrax Print Server function. In the example shown all possible fields have been specified, including: (1) Expiration Month, Day and Year, (2) Licensee Name, Location and License Number, (3) Processing Message, (3) Facility Name, Location and Registration Number.

Label shown in its printing orientation

HTServer_V3_0.odt -89- Copyright © 2007 by Digi-Trax Services, Inc.

Page 98: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PAD Print ABO-Rh/Date Label

( This page intentionally blank)

HTServer_V3_0.odt -90- Copyright © 2007 by Digi-Trax Services, Inc.

Page 99: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCA Print Codabar ABO-Rh/Date Label

Print Codabar ABO-Rh Label

PCAThis function is only available in the "Plus" edition of the print server. Sending the request to print an ABO-Rh/Date and Time label as shown below, causes the server to print the requested number of ABO-Rh/Date and Time labels on the printer attached to the port number specified.

PCA, "<Port Number>", "<Blood Type Code>", "<Exp. Month>", "<Exp. Day>", "<Exp. Year>", "<Exp. Hour>", "<Exp. Minute>", "<Licensee Name>", "<Licensee City State Zip Code>", "<License Number>", "<Processing Message>", "<Facility Name>", "<Facility City State Zip Code>", "<Registration Number>", "<Bar Code Flag>", "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Beginning with Version 2.0, the port number is unrelated to any specific serial COM port number.

"<Blood Type Code>"This is a required two character ASCII field that holds the integer code used to specify the blood group/Rh factor to be printed and bar coded on the 1.75" X 3" single quadrant label. These codes are as follows:

Code Blood Type Encoded"01" O Rh Negative"02" O Rh Positive"03" A Rh Negative"04" A Rh Positive"05" B Rh Negative"06" B Rh Positive"07" AB Rh Negative"08" AB Rh Positive"09" For Further Manufacture"10" Biohazard"11" Not for Transfusion

HTServer_V3_0.odt -91- Copyright © 2007 by Digi-Trax Services, Inc.

Page 100: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCA Print Codabar ABO-Rh/Date Label

Code Blood Type Encoded"12" Emergency Use Only"13" For Autologous Use Only"14" Hold for Further

Processing"15" O (No Rh Factor)"16" A (No Rh Factor)"17" B (No Rh Factor)"18" AB (No Rh Factor)

"<Exp. Month>"This is a three ASCII character field that holds the month of product expiration value as a three character name string. The valid entries are as follows:

Code Exp. Month Encoded"JAN" January"FEB" February"MAR" March"APR" April"MAY" May"JUN" June"JUL" July"AUG" August"SEP" September"OCT" October"NOV" November"DEC" December

"<Exp. Day>"This is a one or two ASCII numeric character field that holds the day-of-month product expiration value, expressed as numeric characters. The valid range for this field is ( 1 – 31).

HTServer_V3_0.odt -92- Copyright © 2007 by Digi-Trax Services, Inc.

Page 101: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCA Print Codabar ABO-Rh/Date Label

"<Exp. Year>"This is a four ASCII numeric character field that holds the year of product expiration value, expressed as numeric characters. The valid range for this field is ( 1980 – 9999 ).

"<Exp. Hour>"This is a one or two ASCII numeric character field that holds the hour of expiration value (24 hour clock). The valid range for this field is ( 00 – 23).

"<Exp. Minute>"This is a two ASCII numeric character field that holds the minute of expiration value. The valid range for this field is ( 00 – 59).

"<Licensee Name>"This is an ASCII character field that holds the optional central licensee name. The maximum field length is seventy-two characters. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds thirty-six characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Licensee City State Zip Code>"This is an ASCII character field that holds the optional central licensee city, state and zip code (location) information. This field becomes required when a Licensee Name has been specified. This field may be up to thirty-six characters in length.

"<License Number>"This is a three or four ASCII numeric character field that holds the optional facility or central licensee license number text. This license number, when specified, is printed immediately below either the licensee city, state and zip code line (if a licensee has been specified) or the facility city, state and zip code line.

"<Processing Message>"This is an ASCII character field that holds the processing message. This message is typically, "Collected and processed by". This text will appear immediately above the facility name. The processing message may be up to thirty-six characters in length.

"<Facility Name>"This is an ASCII character field that holds the processing facility name that appears at the below the ABO-Rh label. The maximum field length is seventy-two characters. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds thirty-six characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally

HTServer_V3_0.odt -93- Copyright © 2007 by Digi-Trax Services, Inc.

Page 102: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCA Print Codabar ABO-Rh/Date Label

compress text to fit the label space. This text will appear immediately below the Processing Message text described above.

"<Facility City State Zip Code>"This is an ASCII character field that holds the processing facility city, state and zip code (location). This text appears immediately below the facility name. The facility city state zip code line may be up to thirty-six characters in length.

"<Registration Number>"This is an ASCII character field that holds the facility registration number text. The registration number text, when specified, is printed immediately below the facility city, state and zip code line in the bottom third of the date and time label quadrant. The registration number length must fall in the range eight to eleven digits in length. The first character in the registration number must be either a "0" (zero) or a "1" (one). The first digit indicates whether or not the unit id numbers encode as purely numeric or as alphanumeric respectively. The remaining digits represent the FDA assigned registration number.

"<Bar Code Flag>"This is a one ASCII alpha character field that indicates whether or not the expiration date is to be bar coded on the label. If the field is completely absent or set to "T" then the expiration date will be bar coded. If this field is set to "F" then the expiration date will NOT be bar coded.

"<Number of Labels>"This is a one to four ASCII numeric character field that specifies the number of labels that are to be printed.

HTServer_V3_0.odt -94- Copyright © 2007 by Digi-Trax Services, Inc.

Page 103: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCA Print Codabar ABO-Rh/Date Label

Codabar ABO-Rh Label ExampleThe label in the illustration shown immediately below is typical of the ABC Codabar Expiration Date/ABO-Rh/Facility label produced by this HemaTrax Print Server function. In the example shown all possible fields have been specified, including: (1) Expiration Month, Day and Year, (2) Licensee Name, Location and License Number, (3) Processing Message, (3) Facility Name, Location and Registration Number.

Example: Codabar ABO-Rh Label

HTServer_V3_0.odt -95- Copyright © 2007 by Digi-Trax Services, Inc.

Page 104: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCA Print Codabar ABO-Rh/Date Label

HTServer_V3_0.odt -96- Copyright © 2007 by Digi-Trax Services, Inc.

Page 105: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCD Print Codabar Donation ID Label

Print Codabar Donation ID Label

PCDSending the request to print a Codabar Donation ID label, as shown below, causes the server to print the requested donation ID label on the printer attached to the port number specified.

PCD,"<Port Number>","<Format File Name>","<Bar Code Number>","<Donation Number Eye Read Line>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<Format File Name>"This is a required field entry which contains the name of the label format file that will be used by the print server to format the unit id set label. This file name will automatically have the file extension of ".fmt" appended to the end of the file name. The file referenced here must exist on the server in a "FORMAT" subdirectory located under the directory from which the server is running.

"<Bar Code Number>"This is a required seven digit number which will be bar coded on the label. The print server handles inserting the "d" start and stop codes as specified by the 1985 ABC Codabar Guidelines. A typical entry for this line might be as follows:

2001200

"<Donation Number Eye Read Line>"This is a text line, up to eleven characters long, which will be printed immediately above the bar code. This information is not interpreted in any special way by the print server. A typical entry for this line might be as follows:

FC 01200

HTServer_V3_0.odt -97- Copyright © 2007 by Digi-Trax Services, Inc.

Page 106: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCD Print Codabar Donation ID Label

Codabar Donation ID Label ExampleThe label in illustration shown immediately below is typical of the ABC Codabar product label produced by the HemaTrax Print Server PCD function.

Codabar Donation ID Label Example

HTServer_V3_0.odt -98- Copyright © 2007 by Digi-Trax Services, Inc.

Page 107: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCE Print Codabar Expiration Date Label

Print Codabar Expiration Date Label

PCESending the request to print a Codabar Expiration Date label, as shown below, causes the server to print the requested number of expiration date labels on the printer attached to the port number specified.

PCE, "<Port Number>", "<Eye Read Date[/Time]>", "<Bar Coded Exp Date>", "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Beginning with Version 2.0, the port number is unrelated to any specific serial COM port number.

"<Eye Read Date[/Time]>"This is a free format text field, up to twenty-two characters long, the will be printed as date and time text on the Codabar Expiration Date label.

"<Bar Coded Exp Date>"This is an ASCII numeric only field, up to eight digits long, representing the ABC Codabar Date. The ABC Codabar Date is a six digit field in the following format:

MMDDYY

where:MM represents the two digit month in the range ( 01 - 12 )DD represents the two digit day of the monthYY represents the last two digits of the year

"<Number of Labels>"This is a one to four ASCII numeric character field that specifies the number of labels that are to be printed.

HTServer_V3_0.odt -99- Copyright © 2007 by Digi-Trax Services, Inc.

Page 108: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCE Print Codabar Expiration Date Label

(This page intentionally blank)

HTServer_V3_0.odt -100- Copyright © 2007 by Digi-Trax Services, Inc.

Page 109: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCP Print Codabar Product Label

Print Codabar Product Label

PCPSending the request to print a Codabar product label as shown below, causes the server to print the requested number of product labels on the printer attached to the port number specified.

PCP, "<Port Number>", "<Title>", "<Attribute Line 1>", "<Attribute Line 2>", "<Attribute Line 3>", "<Product Code>", "<Information Line 1>", "<Information Line 2>", "<Information Line 3>", "<Information Line 4>", "<Information Line 5>", "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<Title>"This is the proper FDA accepted product title. This field may be up to twenty-eight (28) characters in length and is required.

"<Attribute Line 1>","<Attribute Line 2>","<Attribute Line 3>"These are fields that describe the product's attributes. Attributes include things such as "Adenine-Saline Added", "Irradiated", etc. Each of these fields will accept up to thirty characters.

"<Product Code>"This is a required ASCII numeric entry that is both printed in eye read and bar code format and identifies the product in machine readable form. This field must be five digits in length.

"<Information Line 1>","<Information Line 2>","<Information Line 3>", "<Information Line 4>","<Information Line 5>"These are information fields which describe the volumes of product and additives as well as other characteristics, including the storage temperature. At least one information line is required. Each of these fields may hold up to thirty characters.

"<Number of Labels>"is a one to four ASCII numeric character field that specifies the number of labels that are to be printed.

HTServer_V3_0.odt -101- Copyright © 2007 by Digi-Trax Services, Inc.

Page 110: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PCP Print Codabar Product Label

Codabar Product Label ExampleThe label in illustration shown immediately below is typical of the ABC Codabar product label produced by the HemaTrax Print Server PCP function. In the example shown not all of the possible fields have been specified.

Codabar Product Label Example

HTServer_V3_0.odt -102- Copyright © 2007 by Digi-Trax Services, Inc.

Page 111: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PDT Print Date/Time Label

Print Date/Time Label

PDTSending the request to print an ISBT 128 ABO-Rh/Date and Time label as shown below, causes the server to print the requested number of ABO-Rh/Date and Time labels on the printer attached to the port number specified.

PDT,"<Port Number>", "<Month>", "<Day>", "<Year>", "<Hour>", "<Minute>", "<Eye Read Time Flag>", "<Collection Date Flag>", "<Test Code>", "<Test Message>", "<Processing Message>", "<Facility Name>", "<Facility City State Zip Code>", "<Licensee Name>", "<Licensee City State Zip Code>", "<Registration Number>", "<License Number>", "<Number of labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<Month>"This is a one to two ASCII character field that holds the numeric month value. The valid range for this field is ( 0 – 12).

"<Day>"This is a one to two ASCII character field that holds the numeric day-of-month value. The valid range for this field is ( 0 – 31).

"<Year>"This is a four ASCII character field that holds the numeric year value. The valid range for this field is ( 0 – 9999 ).

Note: When the either the Month, Day or Year values are "0", then NO date or time information will appear in the Date/Time label quadrant.

"<Hour>"This is a one to two ASCII character field that holds the numeric hour of day value (24 hour clock). The valid range for this field is ( 00 – 23).

"<Minute>"This is a two ASCII character field that holds the numeric minute of hour value. The valid range for this field is ( 00 – 59).

HTServer_V3_0.odt -103- Copyright © 2007 by Digi-Trax Services, Inc.

Page 112: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PDT Print Date/Time Label

"<Eye Read Time Flag>"This is a single ASCII character that indicates whether or not the time is to be printed on the label in eye read format. "T" (True) indicates that the eye read time is to be printed, "F" (False) indicates that the time is not to be printed in eye read format. "<Collection Date Flag>"This is a single ASCII character that indicates whether or not the date and time is to be treated as a collection data and time. "T" (True) indicates that it is a collection date and time, "F" (False) indicates that it is an expiration date and time.

IMPORTANT NOTE: When a collection date and time is specified the bar code and attendant information is now designated to print in the middle third of the upper left-hand quadrant. This means that the collection date and time will no longer appear in the lower right-hand (fourth) quadrant as was the case with previous releases. This complies with the bar code location designated in the ICCBBA ISBT 128 Technical Specification Version 2.0.

"<Test Code>"This is an ASCII character field, either five or twenty-one characters long, that holds an optional test result code. This test code, when specified, should be either five or twenty-one characters in length and conform to one of the test codes that have been settled on by the national standards organization.

When the test code is five characters a test code conforming to ICCBBA data structure 10 should be given.

When the test code is twenty-one characters long, then the test code should be prefixed with either the "=\" to indicate that data structure 12, "Special Testing: Red Blood Cell Antigens -- General" follows, or should be prefixed with "&{" to indicate that data structure 14, "Special Testing: Serologically-Determined Platelet HLA and Platelet Specific Antigens" follows. An eighteen digit number must follow the prefix. The eighteen digit number must be immediately followed by the appropriate manual entry check digit character.

"<Test Message>"is an ASCII character field, up to seventy-two characters long, that holds the optional test result message. For data structure 10 test codes the test message must fit on a single line and should probably contain no more than forty characters. For data structure 12 and 14 test codes, embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds thirty-six characters, the message will be automatically broken into two lines at the first convenient point within the message. The test message serves as the eye read interpretation of the five or twenty-one character test code described above. This message text should conform to one of the test code descriptions that have been settled on by the national standards organization. It

HTServer_V3_0.odt -104- Copyright © 2007 by Digi-Trax Services, Inc.

Page 113: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PDT Print Date/Time Label

is important to note here that neither superscripting nor subscripting is supported.

"<Processing Message>"This is an ASCII character field, up to thirty characters long, that holds the optional further processing message that may appear at the bottom third of the date and time label quadrant. This text will appear immediately above the processing facility name.

"<Facility Name>"This is an ASCII character field, up to one hundred characters long, that holds the optional further processing facility name that may appear at the bottom third of the date and time label quadrant. This text will appear immediately below the processing message text described above. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Facility City State Zip Code>"This is an ASCII character field, up to forty characters long, that holds the optional further processing facility city, state and zip code. This text, when specified, appears immediately below the facility name in the lower third portion of the date and time label quadrant.

"<Licensee Name>"This is an ASCII character field, up to one hundred characters long, that holds the optional central licensee name. This licensee name, when specified, is printed immediately before the facility name in the lower third portion of the date and time label quadrant. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Licensee City State Zip Code>"This is an ASCII character field, up to forty characters long, that holds the optional central licensee city, state an zip code. This licensee city, state and zip code text, when specified, is printed immediately after the licensee name in the lower third portion of the date and time label quadrant.

"<Registration Number>"This is a seven to ten ASCII character field that holds the facility registration number text. This registration number text, when specified, is printed immediately below the facility city, state and zip code line in the bottom third of the date and time label quadrant.

HTServer_V3_0.odt -105- Copyright © 2007 by Digi-Trax Services, Inc.

Page 114: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PDT Print Date/Time Label

"<License Number>"This is a one to two ASCII character field that holds the optional facility or central licensee license number text. This license number, when specified, is printed immediately below the facility city, state and zip code line in the bottom third of the date and time label quadrant.

"<Number of Labels>"This is a one to four ASCII numeric character field that specifies the number of labels that are to be printed.

HTServer_V3_0.odt -106- Copyright © 2007 by Digi-Trax Services, Inc.

Page 115: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PDT Print Date/Time Label

Date/Time Label ExampleThe label in the illustration shown immediately below is typical of the ISBT-128 date and time label produced by this HemaTrax Print Server function.

Date / Time label Example

HTServer_V3_0.odt -107- Copyright © 2007 by Digi-Trax Services, Inc.

Page 116: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PDT Print Date/Time Label

(This page intentionally blank)

HTServer_V3_0.odt -108- Copyright © 2007 by Digi-Trax Services, Inc.

Page 117: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PFC Print Facility Label

Print Facility Label

PFCSending the request to print a facility label as shown below, causes the server to print the requested number of facility labels on the printer attached to the port number specified.

PFC,"<Port Number>", "<Facility Name>", "<Facility City State Zip Code>", "<Licensee Name>", "<Licensee City State Zip Code>", "<Registration Number>", "<License Number>", "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<Facility Name>"This is an ASCII character field, up to one hundred characters long, that holds the collection and processing facility name. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Facility City State Zip Code>"This is an ASCII character field, up to forty characters long, that holds the collection and processing facility's city, state and zip code. This text appears immediately below the facility name.

"<Licensee Name>"This is an ASCII character field, up to one hundred characters long, that holds the optional central licensee name. This licensee name, when specified, is printed above the facility name. Embedding the vertical bar character, "|", within this message forces the message to be broken into two lines. Note: If a vertical bar character is not provided and the character field exceeds fifty characters, the message will be automatically broken into two lines at the first convenient point within the message. As the line length expands the print function will attempt to horizontally compress text to fit the label space.

"<Licensee City State Zip Code>"

HTServer_V3_0.odt -109- Copyright © 2007 by Digi-Trax Services, Inc.

Page 118: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PFC Print Facility Label

This is an ASCII character field, up to forty characters long, that holds the optional central licensee's city, state and zip code. This licensee city, state and zip code text, when specified, is printed immediately after the licensee name.

"<Registration Number>"This is a seven to ten ASCII numeric character field that holds the facility's registration number text. This registration number text, when specified, is printed below the facility city, state and zip code line.

"<License Number>"This is a three or four ASCII numeric character field that holds the optional facility or central licensee license number text. This license number, when specified, is printed immediately below the facility city, state and zip code line.

"<Number of Labels>"This is a one to four ASCII numeric character field that specifies the number of labels that are to be printed.

Facility Label ExampleThe label shown in the illustration below is typical of the facility label produced by the HemaTrax Print Server.

HTServer_V3_0.odt -110- Copyright © 2007 by Digi-Trax Services, Inc.

Page 119: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0

PIN Print Instruction Label

Print Instruction Label

PINSending the request to print an instruction label as shown below, causes the server to print the requested number of instruction labels on the printer attached to the port number specified.

PIN, "<Port Number>", "<Label Title>", "<Label Line 1>", "<Label Line 2>", "<Label Line 3>", "<Label Line 4>", "<Label Line 5>", "<Label Line 6>", "<Label Line 7>", "<Label Line 8>", "<Label Line 9>", "<Label Line 10>", "<Text Justify Code>", "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<Label Title>"This is an ASCII character field, up to 26 characters in length, that holds the text to be printed on the first (top) label line. The title is always centered (left to right) on the label.

"<Label Line 1>" through "<Label Line 10>"This is an ASCII character field, up to 26 characters in length, that holds the text to be printed on that label line. Whether or not these lines will be centered, is controlled by the "Text Justification Code".

"<Text Justify Code>"This is an ASCII character field that holds an integer, expressed in numeric characters, that specifies whether label text lines 1 through 10 are to be left-justified ("0") or centered ("1") between the left and right edges of the label.

"<Number of Labels>"This is an ASCII character field that holds an integer, expressed in numeric characters, that specifies the number of labels that are to be printed.

HTServer_V3_0.odt -111- Copyright © 2007 by Digi-Trax Services, Inc.

Page 120: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0

PIN Print Instruction Label

Instruction Label ExampleThe label in the illustration shown immediately below is typical of the instruction labels produced by this HemaTrax Print Server function. This label prints on the standard 2" x 2" single quadrant label stock.

Instruction Label Example

HTServer_V3_0.odt -112- Copyright © 2007 by Digi-Trax Services, Inc.

Page 121: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PIR Print Intended Recipient Information Label

Print Intended Recipient Information Label

PIRSending the request to print an intended recipient information (IRI) label as shown below, causes the server to print the requested number of IRI labels on the printer attached to the port number specified.

PIR, "<Port Number>", "<Patient>", "<Id Number>", "<Hospital>", "<Birth Date>", "<Collection Date>", "<Product Code>", "<Irradiated Flag>", "<Leuko Reduced Flag>", "<Other Product>", "<Blood Relative Code>", "<Donation Type Code>", "<Number of Labels>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<Patient>"This is a twenty ASCII character field that holds the name of the patient intended to receive the unit transfusion.

"<Id Number>"This is a twenty ASCII character field that holds the patient identification number of the patient that is to be transfused with this unit.

"<Hospital>"This is a twenty ASCII character field that holds the name of the hospital where the patient is to be transfused with this unit.

"<Birth Date>"This is an eleven ASCII character field that holds a free format date that represents the patient’s birth date..

"<Collection Date>"This is an eleven ASCII character field that holds a free format date that represent the date that the unit was collected..

"<Product Code>"This is a single ASCII character field that holds the numeric character code that selects one of the predetermined blood product selection on the label. These code number are defined as follows:

HTServer_V3_0.odt -113- Copyright © 2007 by Digi-Trax Services, Inc.

Page 122: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PIR Print Intended Recipient Information Label

Code IR Label Product Encoded"0" None"1" WB (Whole Blood)"2" RBC (Red Blood Cells)"3" FFP (Fresh Frozen

Plasma)"4" PLT (Platelets)"5" CRYO (Cryoprecipitate)"6" Other Product

"<Irradiated Flag>"This is a single ASCII character field that indicates whether or not the product has been irradiated. "T" (True) indicates that the product has been irradiated; "F" (False) indicates that the product is not irradiated.

"<Leuko Reduced Flag>"This is a single ASCII character field that indicates whether or not the product has been leukocyte reduced. "T" (True) indicates that the product has been leukocyte reduced; "F" (False) indicates that the product is not leukocyte reduced.

"<Other Product>"This is a twenty ASCII character field that contains the name of the product. This is used when one of the predefined products does not match the product in the blood container.

"<Blood Relative Code>"This is a single ASCII character field that indicates the whether the person from which the unit was collected is or is not a blood relative. If blood relative code is not being specified then this field must contain "0". The code and code description follow:

Code Blood Relative"0" Not Specified"1" No"2" Yes

"<Donation Type Code>"This is a single ASCII character field that indicates the type of donation. If no donation type is being specified then this field must contain "0". The codes and descriptions follow:

HTServer_V3_0.odt -114- Copyright © 2007 by Digi-Trax Services, Inc.

Page 123: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PIR Print Intended Recipient Information Label

Code Donation Type"0" None Specified"1" AUTOLOGOUS"2" DEDICATED"3" DESIGNATED"4" DIRECTED

"<Number of Labels>"This is an ASCII character field that holds an integer, expressed in numeric characters, that specifies the number of labels that are to be printed.

ISBT-128 Intended Recipient Label ExampleThe label in the illustration shown immediately below is typical of the ISBT-128 intended recipient information labels produced by this HemaTrax Print Server function.

Intended Recipient Label Example

HTServer_V3_0.odt -115- Copyright © 2007 by Digi-Trax Services, Inc.

Page 124: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PIR Print Intended Recipient Information Label

(This page intentionally blank)

HTServer_V3_0.odt -116- Copyright © 2007 by Digi-Trax Services, Inc.

Page 125: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PUN Print Unit ID Set Label

Print Unit ID Set Label

PUNSending the request to print an ISBT 128 unit ID label set as shown below, causes the server to print the requested unit ID set on the printer attached to the port number specified.

PUN,"<Port Number>","Label Format File Name","<Facility Code>","<Collection Year>","<Sequence Number>","<ISO Check Character>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the label set is to be printed. The port number is a required ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number two printer definition. The port number is unrelated to any specific serial COM port number.

"<Label Format File Name>"This is a required field entry which contains the name of the label format file that will be used by the print server to format the unit id set label. This file name will automatically have the file extension of ".fmt" appended to the end of the file name. The file referenced here must exist on the server in a "FORMAT" subdirectory located under the directory from which the server is running.

"<Facility Code>"This is a required five character entry representing the unique facility code that is issued by the International Council for Commonality in Blood Banking Automation (ICCBBA). This code begins with an alphanumeric character and then is followed by a four digit numeric code. An example of a facility code is "W1234". Do not include the "=" data identifier prefix, that will be automatically included in the bar code by the print server.

"<Collection Year>"This is a required two digit numeric entry which represents the last two digits of the collection year. The entry for the year 2006 would be "06".

"<Sequence Number>"This is a required six digit numeric entry which represents the unique unit donation number assigned to a blood donation. An example of the data for this field might be "001549".

HTServer_V3_0.odt -117- Copyright © 2007 by Digi-Trax Services, Inc.

Page 126: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PUN Print Unit ID Set Label

"<ISO Check Character>"This is an optional manual entry check character that is calculated on the required field entries mentioned above. Note that if this entry is not provided then an empty field entry must be provided as ,"". For information regarding the algorithm to calculate this check character, please reference ISBT 128 Bar Code Symbology and Application Specification for Labeling of Whole Blood and Blood Components, "Appendix C (Informative) Algorithms for Calculation of Check Characters per ISO 7064, Mod 37,2 Pure Check Character Specification".

ISBT 128 Donation ID Number Label Example

HTServer_V3_0.odt -118- Copyright © 2007 by Digi-Trax Services, Inc.

Page 127: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PWB Print Wrist Band

Print Patient Wristband

PWB Added in Version 3.0

Sending the request to print a patient wristband as shown below, causes the server to print the wristband label on the printer attached to the port number specified.

PWB,"<Port Number>","<Wristband Format File Name>", "<Wristband Data>"<CR>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition.

"<Wristband Format File Name>"This is a required field entry, up to forty characters in length, which contains the name of the format file that will be used by the print server to format the wristband label. This file name will automatically have the file extension of ".fmt" appended to the end of the file name. The file referenced here must exist on the server in a "FORMAT" subdirectory located under the directory from which the server is running.

"<Wristband Data>"This is an ASCII character field that holds the variable data that may be inserted into various specified locations with in the wristband label. This field is subdivided into multiple entries through the use of the vertical bar (|) separator character.

The following example shows a PWB message to print a wristband with the patient's name, patient identification number, birth date and blood sample aliquots on a wristband label set:

PWB,"2","PWB001","Mr.Edward Milton Farnsworth|19490225|25 FEB 1949|12345678|123-45-6789|12345678|12345678"

PWBThis is the leading three character of the message that tells the HemaTrax Print Server that this is a request for a patient wristband.

"2"This part of the PWB message indicates that the print commands to print the wristband labels are to be sent to the printer defined as port "2".

HTServer_V3_0.odt -119- Copyright © 2007 by Digi-Trax Services, Inc.

Page 128: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PWB Print Wrist Band

"PWB001"This is the name of the format file, "PWB001.fmt" which must be found in the "FORMAT" subdirectory. The file extension of ".fmt" is assumed and so does not need to be included in the request.

"Mr. Edward Milton Farnsworth|19490225|25 FEB 1949|123456789|123-45-6789|12345678|12345678"This portion of the message is a single string which is broken into individual elements through the use of the vertical bar, "|", separator character. Each of these fields will be matched up with an insertion indicator in the format file, as follows:

Each occurrence of %0 in the format file will be replaced with Mr. Edward Milton FarnsworthEach occurrence of %1 will be replaced with 19490225Each occurrence of %2 will be replaced with 25 FEB 1949Each occurrence of %3 in the format file will be replaced with 123456789Each occurrence of %4 in the format file will be replaced with 123-45-6789Each occurrence of %5 will be replaced with 12345678Each occurrence of %6 will be replaced with 12345678

The following represents the contents of the "PWB001.fmt" wristband format file:

## PWB001.fmt -- Patient wrist band format## HemaTrax Printer Independent Label Format (PILF)## Digi-Trax Form Number:## --------------------------------------------------------------------# Format Revision List# --------------------------------------------------------------------# date by changes# ----------- --- ------------------------------------# 01 MAR 2007 lec Initial development## --------------------------------------------------------------------# Parameter Parameter# Number Description# --------- ---------------------------------------# %0 Recipient (Patient) Name## %1 Recipient Birth Date in YYYYMMDD format# to be used in bar code.## %2 Recipient Birth Date in format suitable# for printing as the interpretation line## %3 Recipient ID Number in bar code format#

HTServer_V3_0.odt -120- Copyright © 2007 by Digi-Trax Services, Inc.

Page 129: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PWB Print Wrist Band

# %4 Recipient ID Number in format suitable# for printing as the interpretation line## %5 Test sample aliquot number in bar code# format## %6 Test sample aliquot number in format that# is suitable for printing as the # interpretation line## --------------------------------------------------------------------# Label Width and Height in millimeters50 343# Start of wrist band format~FB# Rotate image 90 degrees clockwise, at offset x=0 y=0~RT270~AO0,0# x element bar width=.17 (2 dots), bar symbol=Code128,# bar height=5mm~BW.17~BH5~BSCODE128# -------------------- Top 75mm x 25mm Wristband Label ---------------# starting at x=.1mm and y=2.0mm centering in 75mm wide space# with a character width=2.5mm and character height=2.5mm and# a character pitch (spacing) of .3mm print %0 (patient name).~RX1~RY1~CW2.5~CH2.5~CP.3~CB75{%0}# starting at x=8mm, y=6mm, starting in subset-B, print the# patient id bar code prefixed with &#01~RY5($B&#01%3)# starting at x=8mm, y=12mm, print the patient id text~RY11{Pat ID: %4}# starting at x=8mm, y=16mm, starting in subset-B print the bar# code prefix =#01, then switch to subset-C and print patient # birth date bar code~RY15($B=#01^C%1)# starting at x=8mm, y=22mm, print the birth date text~RY21{Birth Date: %2}~CE# ------------------ Bottom 75mm x 25mm Wristband Label -------------# starting at x=.1mm and y=27mm centering in 75mm wide space# with a character width=2.5mm and character height=2.5mm and# a character pitch (spacing) of .3mm print %0 (patient name).~RX1~RY26~CW2.5~CH2.5~CP.3~CB75{%0}# starting at x=8mm, y=31mm, starting in subset-B print the# patient id bar code prefixed with &#01~RY30($B&#01%3)# starting at x=8mm, y=37mm, print the patient id text~RY36{Pat ID: %4}# starting at x=8mm, y=40mm, starting in subset-B print the bar# code prefix =#01, then switch to subset-C and print patient # birth date bar code~RY40($B=#01^C%1)# starting at x=8mm, y=46mm, print the birth date text~RY46{Birth Date: %2}~CE# Now set the bar code height=10mm~BH10# ------------------- Aliquot Label #1 ------------------------------

HTServer_V3_0.odt -121- Copyright © 2007 by Digi-Trax Services, Inc.

Page 130: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PWB Print Wrist Band

#~CW1.8~RX79~RY2~CB35{Pat ID: %4}~RY7($B%5)~CW2.5~RY18{%6}~CE# ------------------- Aliquot Label #2 ------------------------------#~CW1.8~RY27~CB35{Pat ID: %4}~RY32($B%5)~CW2.5~RY43{%6}~CE# ------------------- Aliquot Label #3 ------------------------------#~CW1.8~RX117~RY2~CB35{Pat ID: %4}~RY7($B%5)~CW2.5~RY18{%6}~CE# ------------------- Aliquot Label #4 ------------------------------#~CW1.8~RY27~CB35{Pat ID: %4}~RY32($B%5)~CW2.5~RY43{%6}~CE# ------------------- Aliquot Label #5 ------------------------------#~CW1.8~RX155~RY2~CB35{Pat ID: %4}~RY7($B%5)~CW2.5~RY18{%6}~CE# ------------------- Aliquot Label #6 ------------------------------#~CW1.8~RY27~CB35{Pat ID: %4}~RY32($B%5)~CW2.5~RY43{%6}~CE# ------------------- Aliquot Label #7 ------------------------------#~CW1.8~RX193~RY2~CB35{Pat ID: %4}~RY7($B%5)~CW2.5~RY18{%6}~CE# ------------------- Aliquot Label #8 ------------------------------#~CW1.8~RY27~CB35{Pat ID: %4}~RY32($B%5)~CW2.5~RY43{%6}~CE# ------------------- Aliquot Label #9 ------------------------------#~CW1.8~RX231~RY2~CB35{Pat ID: %4}~RY7($B%5)~CW2.5~RY18{%6}~CE# ------------------- Aliquot Label #10 -----------------------------#~CW1.8~RY27~CB35{Pat ID: %4}~RY32($B%5)~CW2.5~RY43{%6}~CE# ------------------- Aliquot Label #11 -----------------------------#~CW1.8~RX269~RY2~CB35{Pat ID: %4}~RY7($B%5)~CW2.5~RY18{%6}~CE# ------------------- Aliquot Label #12 -----------------------------

HTServer_V3_0.odt -122- Copyright © 2007 by Digi-Trax Services, Inc.

Page 131: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PWB Print Wrist Band

#~CW1.8~RY27~CB35{Pat ID: %4}~RY32($B%5)~CW2.5~RY43{%6}~CE# ------------------- Aliquot Label #13 -----------------------------#~CW1.8~RX308~RY2~CB35{Pat ID: %4}~RY7($B%5)~CW2.5~RY18{%6}~CE# ------------------- Aliquot Label #14 -----------------------------#~CW1.8~RY27~CB35{Pat ID: %4}~RY32($B%5)~CW2.5~RY43{%6}~CE~PN1~FE

For more information regarding the syntax of this file please reference the section of this guide that deals with Print Independent Label Format (PILF).

Note that blank lines or lines that begin with the pound sign, "#" in the format file are ignored by the PILF processor.

On the next page is an example of the resulting label set printed on the printer defined as port 2.

The label set is shown in the orientation as it would issue from the printer. The portion that exits the printer first is the bottom left and the trailing edge is the top right. The label has been cut into two pieces to allow it to better fit on one page, owing to the length of this set.

HTServer_V3_0.odt -123- Copyright © 2007 by Digi-Trax Services, Inc.

Page 132: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PWB Print Wrist Band

Example: Patient Wristband Label Set

HTServer_V3_0.odt -124- Copyright © 2007 by Digi-Trax Services, Inc.

Page 133: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PWC Print Wallet Id Card

Print Wallet Id Card

PWCSending the request to print a donor wallet identification card as shown below, causes the server to print the requested number of wallet cards on the printer attached to the port number specified.

PWC, "<Port Number>", "<Title>", "<Subtitle>", "<Facility Name>", "<Facility Address>", "<Facility City State Zip Code>", "<Telephone Desc 1>", "<Telephone Number 1>", "<Telephone Desc 2>", "<Telephone Number 2>", "<Footing>", "<Donor Name>", "<Donor Address Line 1>", "<Donor Address Line 2>", "<Donor City State Zip Code>", "<Donor Telephone>", "<Donor ID Number>", "<Donor Blood Type>", "<Number of Cards>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. Now the port number is unrelated to any specific serial COM port number.

"<Title>"This is a forty ASCII character field that holds the top title line of the donor id card. This line is automatically centered horizontally on the card.

"<Subtitle>"This is a sixty ASCII character field that holds the subtitle line. This line appears immediately below the title line and its’ characters are reduced in height when compared to the title line. This line is automatically centered horizontally on the card.

"<Facility Name>"This is a forty ASCII character field that holds the name of the collection facility. This line appears below the subtitle line and a horizontal separator line. The line is automatically centered horizontally on the card.

"<Facility Address>"This is a forty ASCII character field that holds the address of the collection facility. This line appears below the facility name line. The line is automatically centered horizontally on the card.

HTServer_V3_0.odt -125- Copyright © 2007 by Digi-Trax Services, Inc.

Page 134: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PWC Print Wallet Id Card

"<Facility City State Zip Code>"This is a forty ASCII character field that holds the city, state and zip code of the collection facility. This line appears below the facility name line. The line is automatically centered horizontally on the card.

"<Telephone Desc 1>"This is a twelve ASCII character field that holds a telephone number description. This is used to designate what the number that follows is for; telephone versus FAX. When printed this line appears at the left side of the card and below the facility city, state and zip code line.

"<Telephone Number 1>"This is a twenty ASCII character field that holds the first telephone number. This number will appear immediately after the telephone number description described above.

"<Telephone Desc 2>"This is a twelve ASCII character field that holds a second telephone number description. This is used to designate what the number that follows is for; telephone versus FAX. When printed this line appears at the right side of the card and below the facility city, state and zip code line. This is on the same line as the first telephone number.

"<Telephone Number 2>"This is a twenty ASCII character field that holds the second telephone number. This number will appear immediately after the second telephone number description described above.

"<Footing>"This is a sixty ASCII character field that holds the footing line information. When printed, this line appears at the very bottom of the donor id card below a horizontal separator line. This line is automatically centered horizontally on the card.

"<Donor Name>"This is a thirty ASCII character field that holds the donor’s name. This line will be printed on the left side of the card and below the telephone numbers line and a horizontal separator line that is printed below the telephone numbers that are described above.

"<Donor Blood Type>"This is a two ASCII character field that holds the donor’s blood type code. If this is present then the ISBT-128 Blood Type value will be bar coded on the donor wallet card using the appropriate ISBT-128 ABO-Rh table value. The following table shows the relationship between the code and what is imaged on the donor wallet card:

HTServer_V3_0.odt -126- Copyright © 2007 by Digi-Trax Services, Inc.

Page 135: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PWC Print Wallet Id Card

DonorABO-Rh Code

ABO-Rh Card Bar Code Content

Eye Read Texton Donor Card

"00" "=%0000" Not Specified"01" "=%9500" O NEG"02" "=%5100" O POS"03" "=%0600" A NEG"04" "=%6200" A POS "05" "=%1700" B NEG"06" "=%7300" B POS "07" "=%2800" AB NEG"08" "=%8400" AB POS "13" "=%D600" PARA-BOMBAY NEG"14" "=%E600" PARA-BOMBAY POS "15" "=%G600" BOMBAY NEG"16" "=%H600" BOMBAY POS

Note: Donor blood type codes in the range "09" to "12" are undefined. If codes are passed in this range, then they will be encoded as though "00" were passed.

"<Donor Address Line 1>"This is a thirty ASCII character field that holds the donor’s first address line. This line will be printed on the left side of the card and below the donor’s name.

"<Donor Address Line 2>"This is a thirty ASCII character field that holds the donor’s optional second address line. This line will be printed on the left side of the card and below the first address line described above. If this field is blank then this space is used by the donor’s city, state and zip code line described below.

"<Donor City State Zip Code>"This is a thirty ASCII character field that holds the donor’s city, state and zip code line. This line will be printed on the left side of the card and below the donor’s address lines described above.

"<Donor Telephone>"This is a twenty ASCII character field that holds the donor’s telephone line. This line will be printed on the left side of the card and below the donor’s city, state and zip code line.

"<Donor ID Number>"This is a twenty ASCII character field that holds the donor’s identification number (not to be confused with the donation identification number). This line is printed

HTServer_V3_0.odt -127- Copyright © 2007 by Digi-Trax Services, Inc.

Page 136: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0PWC Print Wallet Id Card

as a bar code and interpretation line (one above the other) on the right side of the donor id card. The donor identification number bar code uses the ISBT-128 "&;" data identifier prefix as defined in the "ISBT 128 Bar Code Symbology and Application Specification for Labeling of Whole Blood and Blood Components", Version 2.1.0.

"<Number of Cards>"This is an ASCII character field that holds an integer, expressed in numeric characters, that specifies the number of labels that are to be printed.

Donor Wallet ID Card ExampleThe label in the illustration shown immediately below is typical of the donor wallet ID card produced by this HemaTrax Print Server function.

Donor Wallet ID Card Example

HTServer_V3_0.odt -128- Copyright © 2007 by Digi-Trax Services, Inc.

Page 137: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0SPT Set Port

Set Port

SPTThis request sets the connected device and either serial communications or network IP address settings for the designated port number. The request to be sent takes the following form:

SPT,"<Port Number>", "<Port Description>", "<Device Model Code>","<Baud Rate>","<CRC Flag>","<Form Code>"<cr>

Where:

"<Port Number>"This is the port number that is attached to the printer where the labels are to be printed. The port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select the port number 2 printer definition. The port number is unrelated to any specific serial COM port number.

"<Port Description>"This is an ASCII character string up to sixteen characters long. This field holds either the serial COM port address or the dotted IP address of a network connected printer. For example the description for a printer attached to serial port COM2 would appear as "COM2" in this field (the double quotes would not be part of this description). If the description was "192.168.1.115" this would indicate that communications was between the host and a network printer with a static IP address of "192.168.1.115".

"<Device Model Code>"This is a single ASCII character field that holds the numeric code for the device type to be attached to the COMx port number being addressed. The allowable range is "0" through "3" which represents the following devices:

Code Printer Model Description"0" None Specified"1" SATO America BB-8450 (M8450)

Digi-Trax Enhanced"2" SATO America BB-412 (CL412, CL412e)

Digi-Trax Enhanced"3" Zebra Technologies Z4M and other

Digi-Trax Enhanced 300 dpi models

HTServer_V3_0.odt -129- Copyright © 2007 by Digi-Trax Services, Inc.

Page 138: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0SPT Set Port

"<Baud Rate>"This is an ASCII character field that holds the integer value expressing the desired communications data transmission speed to be used on a serial COMx communications port per the port description of the port number being addressed. The following values are typical:

"2400""4800""9600""19200"

"<CRC Flag>"This is a single ASCII character field that indicates whether or not an error detection protocol is to be used with the device serially attached to a COM port defined by the port number being addressed. "T" represents True, indicating that the error detection protocol is to be used; "F" represents False, indicating that no error detection is to be used.

"<Form Code>"This is an integer value expressed in ASCII text that represents the numeric value assigned to the form type that is currently loaded in the printer attached to the specified port number. The codes returned are as follows:

Code Label Form Code Description"0" No form loaded in printer"1" Facility Name & Address labels

(2.0" W x 0.75" H)"2" ABO-Rh,Date/Time,Product labels

(2.0" W x 2.0" H)"3" Facility/Product labels

(2.0" W x 3.25" H)"4" Intended Recipient Information labels

(2.5" W x 1" H)"5" ABO-Rh/Date & Time, Match Unit/Intended

Recipient, Product/Date & Time labels (4.0" W x 2.0" H)

"6" Full Face labels(4" W x 4.0" H)

"7" Donor Wallet ID Cards(3.375" W x 2.125" H)

"8" Unit ID Sets"9" Codabar ABO-Rh labels

HTServer_V3_0.odt -130- Copyright © 2007 by Digi-Trax Services, Inc.

Page 139: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0SPT Set Port

Code Label Form Code Description(1.75" W x 3.0" H)

"10" Codabar Product labels(2.3" W x 1.0" H)

"11" Codabar Expiration Date labels(1.75" W x 0.4" H)

HTServer_V3_0.odt -131- Copyright © 2007 by Digi-Trax Services, Inc.

Page 140: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0SPT Set Port

(This page intentionally blank)

HTServer_V3_0.odt -132- Copyright © 2007 by Digi-Trax Services, Inc.

Page 141: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0SPI Set Product Information

Set Product Information

SPIThis request is sent to change the current product label database information for a specified ICCBBA product code. This provides the client system with the ability to make changes to the HemaTrax product label database in the field. This request takes the following form:

SPI, "<ICCBBA Product Code>", "<HemaTrax Product Code>", "<Product Description>", "<Modifier>", "<Component Class>", "<Additive Solution>", "<Attributes>", "<Mfr Caution>", "<Additional Attributes>", "<Other Information>", "<Unknown Code1>", "<Volume Prompt1>", "<Volume Low1>", "<Volume High1>", "<Unknown Code2>","<Volume Prompt2>", "<Volume Low2>", "<Volume High2>", "<Unknown Code3>","<Volume Prompt3>", "<Volume Low3>", "<Volume High3>", "<Unknown Code4>","<Volume Prompt4>", "<Volume Low4>", "<Volume High4>", "<Not USA Flag>", "<Product Life>", "<Product Life Unit>", "<Collection Date Flag>"<cr>

Where:

"<ICCBBA Product Code>"This is a five character ASCII field that holds the ICCBBA product code for which information is sought. At the time of this writing all ICCBBA product codes began with the letter "E" and were followed by four numerals.

"<HemaTrax Product Code>"This is a twelve character ASCII field that holds the weighted HemaTrax product code. For more information about this code, refer to the section entitled "HemaTrax Weighted Product Codes" at the end of this guide.

"<Product Description>"This ASCII field that holds an abbreviated product description up to one hundred twenty eight characters long. The minimum entry must be at least ten characters in length and is used to represent the specific product in displays to be read by the user. This description should be specific enough to differentiate this product from all others in the database. This is not the official product title used on the printed label. See the product descriptions used in the ICCBBA product database for an idea of what information should be contained in this entry.

"<Modifier>"This is a forty character ASCII field that holds the component class modifier. Modifiers include the following: DEGLYCEROLIZED, DEGLYCEROLIZED REJUVENATED, FROZEN, FROZEN REJUVENATED, LIQUID, REJUVENATED, THAWED and WASHED. This text does appear on the product label.

HTServer_V3_0.odt -133- Copyright © 2007 by Digi-Trax Services, Inc.

Page 142: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0SPI Set Product Information

"<Component Class>"This is a forty character ASCII field that holds the proper product name text that will be printed on the product label. At the time of this writing there are twenty-two component classes. Component classes include the following: APHERESIS CRYOPRECIPITATE, APHERESIS FRESH FROZEN PLASMA, APHERESIS GRANULOCYTES, APHERESIS GRANULOCYTES-PLATELETS, APHERESIS LEUKOCYTES, APHERESIS PLASMA, APHERESIS RED BLOOD CELLS, CRYOPRECIPITATE, FRESH FROZEN PLASMA, GRANULOCYTES, LEUKOCYTES, PLASMA, PLATELETS, PLATELET-RICH BUFFY COAT, PLATELET-RICH PLASMA, POOLED CRYOPRECIPITATE, POOLED GRANULOCYTES, POOLED PLASMA, POOLED PLATELETS, RED BLOOD CELLS and WHOLE BLOOD.

"<Additive Solution>"This is a forty character ASCII field that holds the text indicating the inclusion of an additive solution in the blood product and which will appear on the printed label. Currently the additive solutions are: ADENINE-SALINE (AS-1) ADDED, ADENINE-SALINE (AS-2) ADDED, ADENINE-SALINE (AS-3) ADDED and ADENINE-SALINE (AS-5) ADDED.

"<Attributes>"This is a one hundred character ASCII field that holds product attributes that will be printed on the product label. Per the U.S. Industry Consensus Standard Specification these attributes are to be listed in the reverse order with respect to the sequence in which these procedures have been performed with the exception of unit division and irradiation. At the time of this writing these attributes included: ALBUMIN ADDED, CRYOPRECIPITATE REDUCED, DIVIDED, FROZEN WITHIN 24 HOURS OF PHLEBOTOMY, IRRADIATED, LEUKOCYTES REDUCED, LOW VOLUME, PLASMA ADDED, PLASMA ADDED AFTER SUPERNATANT REMOVED, PLASMA REDUCED, PLATELETS REDUCED, PLATELETS-CRYOPRECIPITATE REDUCED and SUPERNATANT REMOVED.

"<Mfr Caution>"This is a sixty-five character ASCII field that holds the text for a manufacturing cautionary notice that may appear printed on the printed product label. At the time of this writing the cautionary notices included: CAUTION: FOR FURTHER MANUFACTURING USE ONLY, CAUTION: FOR USE IN MANUFACTURING NON-INJECTABLE PRODUCTS ONLY, CAUTION: FOR FURTHER MANUFACTURING INTO IN-VITRO DIAGNOSTIC REAGENTS FOR WHICH THERE ARE NO ALTERNATIVE SOURCES, CAUTION: NOT FOR TRANSFUSION OR FURTHER MANUFACTURE and CAUTION: FOR LABORATORY RESEARCH ONLY.

"<Additional Attributes>"This is a five hundred character ASCII field that contains the additional attribute information that will be printed on the product label. This information includes, but is not limited to: number of units in a pooled product, product volume, anticoagulant type and volume, and storage temperature.

HTServer_V3_0.odt -134- Copyright © 2007 by Digi-Trax Services, Inc.

Page 143: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0SPI Set Product Information

"<Other Information>"This is a five hundred character ASCII field that contains other information that is to be printed at the bottom of the product label. This might included disease antigen testing information such as appears on plasma products.

"<Unknown Code1>""<Unknown Code2>""<Unknown Code3>""<Unknown Code4>"Each of these fields is a single ASCII character entry. This character is used as a code to indicate the type of unknown value that follows in the following response value field. These codes and their meanings are listed immediately below:

Code Meaning of Unknown Code"0" No unknown value"1" Original draw volume in mLs"2" Unit volume in mLs or Split volume"3" Anticoagulant volume in mLs"4" HES volume in mEq"5" Number of units in pool "6" Anticoagulant abbreviation (CPD, CPDA-

1, etc.)"7" Additive solution volume in mLs"8" Plasma volume in mLs

"<Volume Prompt1>""<Volume Prompt2>""<Volume Prompt3>""<Volume Prompt4>"Each of these fields is a forty character ASCII entry that holds one of four volume/measure prompts. If this field is empty then there are no other unknown volumes or measures beyond this. This field (column) contains text that would be presented to a user to request a specific entry for some unknown information that needs to be included on a label. Unknowns are typically volumes, but may also be anticoagulant types, etc.

"<Volume Low1>""<Volume Low2>""<Volume Low3>""<Volume Low4>"Each of these fields is an eight character ASCII entry that holds one of four volume/measure number low value range values. If this field is empty it indicates

HTServer_V3_0.odt -135- Copyright © 2007 by Digi-Trax Services, Inc.

Page 144: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0SPI Set Product Information

that the user may enter any text at the prompt. A numeric text entry indicates that a numeric entry must be made in response to the prompt and that the value of the entry must be numerically greater than or equal to this field value.

"<Volume High1>""<Volume High2>""<Volume High3>""<Volume High4>"Each of these fields is an eight character ASCII entry that holds one of four volume/measure number high value range values. If this field is empty it indicates that there is no high range value. A text entry for this field indicates that a numeric entry must be made in response to the prompt and that the value of the entry must be numerically less than this field value.

"<Not USA Flag>"This is a single character ASCII field that indicates whether or not the product defined here is recognized in the United States. An "F" represents False indicating that the product is recognized and "T" represents True indicating that the product is not recognized.

"<Product Life>"This is a three character ASCII field that represents the integer product shelf life value. If this field is empty, then the shelf life for this product is not known.

"<Product Life Unit>"This is a single character ASCII field that indicates the unit of time measure relating to the integer product shelf life value mentioned above. This character will be one of the following:

D = DaysH = HoursY = Years

"<Collection Date Flag>"This is a single character ASCII field that indicates if this product takes a collection date instead of an expiration date. An "F" represents False indicating that the product requires an expiration date and "T" represents True indicating that the product takes a collection date.

HTServer_V3_0.odt -136- Copyright © 2007 by Digi-Trax Services, Inc.

Page 145: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0SXY Set X,Y Offset

Set X,Y Offset

SXYSending the message format shown below causes the server to replace the current X,Y print coordinate offset values, for the port number specified, with the new values passed in the request command line.

SXY,"<Port Number>","<X Offset Value>","<Y Offset Value>"<cr>

where:

"<Port Number>"This is an ASCII character field that matches the port number that was originally requested.

"<X Offset Value>"This is an ASCII character field that expresses the horizontal offset in decimal format in millimeters from the upper left corner of the printable area of the label. An example could be : "2.35" (meaning that the image will now be shifted to the right by 2.35 mm).

"<Y Offset Value>"This is an ASCII character field that expresses the vertical offset in decimal format in millimeters from the upper left corner of the printable area of the label. An example could be : "4.35" (meaning that the image will now be shifted down from the top most position on the label by 4.35 mm).

HTServer_V3_0.odt -137- Copyright © 2007 by Digi-Trax Services, Inc.

Page 146: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0SXY Set X,Y Offset

(This page intentionally blank)

HTServer_V3_0.odt -138- Copyright © 2007 by Digi-Trax Services, Inc.

Page 147: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0VER Version Information

Version Information

VERSending the message shown below

VER<cr>

causes to the print server to respond as follows:

HemaTraxSrvr: Ver 3.0<cr>HTLibDLL: Ver 6.0<cr>IsamDLL: Ver 3.0<cr>PCode.tbl Released: 3/28/2007<cr>Cur Dir: C:\Program Files\HemaTrax Print Server\<cr>

The first line, "HemaTraxSrvr: Version 3.0", is reporting the version number of the HemaTrax print server service application.

The second line, ''HTLibDLL: Ver 6.0", is reporting the version number of the HemaTraxLIB.dll. This dynamically linked library controls all of the label formating and printer interface functions needed to print the labels.

The third line, "IsamDLL: Ver 3.0", is reporting the version of the DTiSAM.dll. This dynamically linked library provides the Indexed Sequential Access Method functions used by the server to maintain the product label database tables.

The fourth line, "PCode.tbl Released: 3/28/2007", reports the date that the primary product label table, PCode.tbl and its associated indexes, were generated.

The fifth line, "Cur Dir: C:\Program Files\HemaTrax Print Server\", reports the directory where the print server and its files are located on the host computer system.

HTServer_V3_0.odt -139- Copyright © 2007 by Digi-Trax Services, Inc.

Page 148: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0VER Version Information

(This page intentionally blank)

HTServer_V3_0.odt -140- Copyright © 2007 by Digi-Trax Services, Inc.

Page 149: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Error Condition Responses

Error Condition Responses

The error condition codes, returned by the print server resulting from a function request, are always prefixed by ERR. This response is immediately followed by a comma and then a three digit number, enclosed in quotes, in the range "001" to "999". The closing quote of the error number is followed by a comma and then a variable length error message enclosed in quotes. The error condition response is terminated by a carriage-return. This general error condition response format is shown in the example below:

ERR,"099","Internal System Error"<cr>

HTServer_V3_0.odt -141- Copyright © 2007 by Digi-Trax Services, Inc.

Page 150: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Error Numbers and Descriptions

Error Numbers and Descriptions

The following error codes and descriptions are passed to the HemaTrax Print Server program from the HemaTraxLIB.DLL. The DLL provides all of the label printing and many of the database functions used by the print server. When the DLL returns an error code the print server dutifully passes it back to the client program. Code Description---- -------------------------------------------------------------000 No Error001 Invalid label compliance authority code002 Invalid autologous donor initialization003 Invalid date/time format initialization004 Invalid primary unit division code005 Invalid secondary unit division code006 Missing product component class text007 <undefined>008 Empty donations type definition file009 No donation type definition file010 Product vol./storage temp. info missing011 Length of product code not equal to 5012 Can’t find referenced product code013 Can’t write product code record014 Product code undefined015 Can’t open product code table016 Can’t open product code index017 <undefined>018 <undefined>019 <undefined>020 HTWritePorts error occurred021 HTReadPorts error occurred022 Blood group/factor out of range023 Donation type/use code invalid024 Expiration date already occurred025 Collection date in the future026 Invalid time value027 Invalid date value028 <undefined>029 <undefined>030 Invalid or missing facility code031 Invalid or missing collection year032 Invalid or missing unit sequence number033 <undefined>034 Invalid KeyType code (0 or 1)035 Length of HemaTrax key not equal to 10036 No match on supplied key value037 Product table not open038 End of product table039 Supplied volume is out of range

HTServer_V3_0.odt -142- Copyright © 2007 by Digi-Trax Services, Inc.

Page 151: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Error Numbers and Descriptions

Code Description (continued)---- -------------------------------------------------------------040 Facility name or location missing041 Logical drive letter pool exhausted042 Network access denied043 Drive already mapped044 Network resource not a disk045 Drive map letter is invalid046 Server path name is invalid047 User profile format is invalid048 Provider specified is invalid049 Router or provider is busy050 Connection request was canceled051 Unable to open user profile052 Drive map already in user profile053 Network specific error occurred054 Invalid password055 Server not found or path invalid056 No network present057 Undefined network connect error058 <undefined>059 <undefined>060 PILF-SATO command error061 PILF-ZEBRA command error062 <undefined>063 <undefined>064 <undefined>065 Premature end of unit format file066 Unit format file not found067 <undefined>068 <undefined>069 COMx port number out of range 1 - 32070 COMx port not available071 <undefined>072 <undefined>073 <undefined>074 <undefined>075 <undefined>076 <undefined>077 Port set baud rate invalid078 Port set printer model invalid079 Port set port number out of range080 <undefined>081 Invalid COMx port082 Invalid printer model083 CRC errors084 Communication timeout085 <undefined>086 <undefined>087 <undefined>088 <undefined>

HTServer_V3_0.odt -143- Copyright © 2007 by Digi-Trax Services, Inc.

Page 152: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Error Numbers and Descriptions

Code Description (continued)---- -------------------------------------------------------------089 Printer not responding090 Printer paused/off-line091 Printer out of labels092 Printer out of ribbon093 Print head unlatched094 Print head failure detected095 Communications errors096 Zebra printer RAM corrupted097 SATO undefined printer error098 Printer commands exceeded buffer size099 HemaTraxLIB not initialized100 Socket version error101 LPD socket creation error102 LPD socket option error103 LPD WSAStartup error 104 LPD socket connect failed105 LPD print request failed106 LPD print request ack timeout107 LPD print request ack empty108 LPD socket not vector member109 LPD print request ack invalid110 LPD job number send failed111 LPD job number ack timeout112 LPD job number ack empty113 LPD job number ack invalid114 LPD host-user send failed115 LPD host-user eor send failed116 LPD host-user ack timeout117 LPD host-user ack empty118 LPD host-user ack invalid119 LPD file name send failed120 LPD file name ack timeout121 LPD file name ack empty122 LPD file name ack invalid123 LPD data record send failed124 LPD data eor send failed125 LPD data record ack timeout126 LPD data record ack empty127 LPD data record ack invalid128 LPD socket shutdown error 129 LPD socket close error …800 Missing wristband label parameter801 Wristband format name too long802 Wristband data too long803 Missing MUR label parameter804 MUR Line 1 too long805 MUR Line 2 too long806 Recipient name missing807 Recipient name too long808 Invalid birth month

HTServer_V3_0.odt -144- Copyright © 2007 by Digi-Trax Services, Inc.

Page 153: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Error Numbers and Descriptions

Code Description (continued)---- -------------------------------------------------------------809 Invalid birth day810 Invalid birth year811 No recipient id number provided812 Recipient id number too long813 Match recipient line 1 too long814 Match recipient line 2 too long815 MUR product code not 8 characters816 Product volume code too long817 Product volume value too long …898 Invalid set printer model code899 Invalid set x,y parameter900 ICCBBA product code <> 5 characters901 Can not open the product label table902 Referenced product code not found903 HemaTrax product code too long904 Product description too long905 Product modifier too long 906 Product class (name) too long 907 Additive solution name too long 908 Product attributes text too long 909 Mfr. caution statement too long 910 Additional attributes too long 911 Other information statement too long 912 Unknown volume code too long 913 Unknown volume prompt too long 914 Unknown volume low range too long 915 Unknown volume high range too long 916 Shelf life period too long 917 Port description too long 918 Facility name too long 919 Facility city, state, zip too long 920 Licensee name too long 921 Licensee city, state, zip too long 922 Registration number too long 923 License number too long 924 Donation type/intended use code too long 925 Division code is not two characters926 Test code is invalid or too long 927 Test message is too long 928 Processed by message is too long929 Invalid ABO-Rh code 930 Invalid Codabar expiration month931 Invalid Codabar expiration day932 Invalid Codabar expiration year933 Invalid Codabar expiration hour934 Invalid Codabar expiration minute 935 Codabar product name too long 936 Codabar product attribute too long 937 Codabar product code <> 5 characters938 Codabar product information line too long

HTServer_V3_0.odt -145- Copyright © 2007 by Digi-Trax Services, Inc.

Page 154: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Error Numbers and Descriptions

Code Description (continued)---- -------------------------------------------------------------939 ISBT month is invalid or too long 940 ISBT day is invalid or too long 941 ISBT year is invalid or too long 942 ISBT hour is invalid or too long 943 ISBT minute is invalid or too long 944 Unknown volume response is too long 945 Division volume text is too long 946 Invalid Kell test result is too long 947 Invalid Anti-Ee test result is too long 948 Invalid Anti-Cc test result is too long 949 Miltenberger test result is too long 950 Instruction label title line too long 951 <auto-generated message>952 Patient name too long 953 Patient ID too long 954 Hospital name too long 955 Patient birthdate too long 956 Collection date too long 957 Product code invalid or too long 958 Blood relative code invalid or too long 959 Donation type code invalid or too long 960 Facility code not equal to 5 characters961 Collection year not equal to 2 characters962 Unit ID sequence number too long 963 Wallet card title line too long964 Wallet card subtitle line too long 965 Wallet card facility name too long 966 Wallet card facility address too long 967 Wallet card city, state, zip too long 968 Wallet card phone desc too long 969 Wallet card phone number too long 970 Wallet card footing line too long 971 Wallet card donor name too long 972 Wallet card donor address too long 973 Wallet card donor city, st zip too long 974 Wallet card donor phone number too long 975 Wallet card donor ID number too long 976 Wallet card donor blood type code too long 977 DIN format file name not supplied978 Codabar product name not supplied979 Donation type file empty or not found980 <auto-generated message>981 Missing Instruction label parameter982 Invalid HemaTrax product code983 Missing ISBT facility label parameter984 Missing ISBT date/time label parameter985 Missing Codabar ABO-Rh label parameter986 Missing full face label parameter987 Missing facility/product label parameter988 Missing product/date label parameter989 Missing oneway product label parameter

HTServer_V3_0.odt -146- Copyright © 2007 by Digi-Trax Services, Inc.

Page 155: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Error Numbers and Descriptions

Code Description (continued)---- -------------------------------------------------------------990 Missing ISBT ABO-Rh/Date label parameter991 Missing ISBT ABO-Rh label parameter992 Missing set x,y parameter993 Missing set port parameter994 Missing product parameter995 Missing port number996 Codabar DIN is not 7 digits997 Invalid or missing ICCBBA product code998 Codabar DIN interpretation line is empty999 ISBT unit id number is invalid

HTServer_V3_0.odt -147- Copyright © 2007 by Digi-Trax Services, Inc.

Page 156: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Error Numbers and Descriptions

HTServer_V3_0.odt -148- Copyright © 2007 by Digi-Trax Services, Inc.

Page 157: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Donation ID Format File Structure

Donation ID Format File Structures

The HemaTrax Print Server offers a simple application interface that allows for the printing of Donation Identification Number (DIN) sets without the need to understand the complex printer label format language required in the design of the label.

Codabar DIN Format

The following line represents the TCP/IP message that might be sent to the server to trigger the printing of a Codabar DIN set:

PCD,"2","FORMAT2","2012345","01 FC 12345"

The brevity of this message results from the practice of storing the label format information on the server side. In the example given the label formatting information is stored in the file named "FORMAT2.FMT". The HemaTrax Print Server uses the label geometry and offset information stored in the format file and the bar code number (2012345) and the eye read line (interpretation line) to generate the appropriate format language for the label printer attached to printer port number (2).

Let's assume that we are going to print a Codabar number set with the following label geometry:

The format file to produce this label is a simple ASCII text file that can be produced with a text editor such as Windows Note Pad. The contents of the "FORMAT2.FMT" file follows:

HTServer_V3_0.odt -149- Copyright © 2007 by Digi-Trax Services, Inc.

Page 158: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Donation ID Format File Structure

59 5080 0 029.2 0 20 6.2 029.2 6.2 00 12.5 129.2 12.5 10 31.5 129.2 31.5 1

FORMAT2.FMTa Codabar DIN format file example.

In the first line "59" indicates the width of the label set and "50" represents the length of the label set in millimeters. In the second line "8" indicates the number of labels in each set. In the remaining lines the x y coordinates of the upper left corner of each label in the set as measured from the upper left corner in millimeters and the label type code for each label is defined.

Note: All measurements are expressed as either integers or decimal values in millimeters.

The label type codes which indicate the type of label being defined are as follows:

LabelType Code

CodabarLabel Type

0 Eye Read Only1 Blood Bag or Tube Label

The label type codes tell the format generator what font sizes and what bar code densities to use. For example, the label type code of "1" (blood bag label) indicates a bar code density with an x-element (narrow bar) dimension of 10 mils.

ISBT 128 DIN Format

The following line represents the TCP/IP message that might be sent to the server to trigger the printing of an ISBT 128 DIN set:

HTServer_V3_0.odt -150- Copyright © 2007 by Digi-Trax Services, Inc.

Page 159: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Donation ID Format File Structure

PUN,"2","FORMAT3","W1234","05","123456","I"

In the example message given above, the ISBT 128 label formatting information is stored in the file named "FORMAT3.FMT". The HemaTrax Print Server uses the label geometry and offset information stored in the format file, the passed facility code (W1234), collection year (05), sequence number (123456), and check character (I) to generate the appropriate format language for the printer attached to port number 2. The flag digits are encoded in the format file.

The format file is a simple ASCII text file that can be produced with a text editor such as Windows Note Pad. An example of the possible contents of the "FORMAT3.FMT" file are as follows:

87.0 43.080 1 0 0029 1 0 -158 1 0 -10 7 2 0729 7 2 0758 7 2 090 25 1 0043.5 25 1 00

FORMAT3.FMTan ISBT format file example.

In the first line "87.0" indicates the width of the label set and "43.0" represents the length of the label set in millimeters. In the second line "8" indicates the number of labels in each set. In the remaining lines the x y coordinate of the upper left corner of each label in the set as measured from the upper left corner of the label set in millimeters, the label type code, and the flag digits for each label in the set are defined.

Note: All measurements are expressed as either integers or decimal values in millimeters.To inhibit the printing of flag digits on the label, use a flag digit value of -1 (minus one), this will suppress only the flags in the interpretation line, the bar code flag digits will be encoded as "00".

The label type codes that indicate which type of label is being defined are as follows:

HTServer_V3_0.odt -151- Copyright © 2007 by Digi-Trax Services, Inc.

Page 160: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Donation ID Format File Structure

LabelType Code

ICCBBA / ISBT 128Label Type

0 Eye Read Only1 Blood Bag Label2 Tube Label

The label type codes tell the format generator what font sizes and what bar code densities to use.

For example, the label type code of "1" (blood bag label) indicates a bar code density with an x-element (narrow bar) dimension of 10 mils, but a label type code of "2" (tube label) indicates a higher bar code density with an x-element dimension of 6.6 mils.

HTServer_V3_0.odt -152- Copyright © 2007 by Digi-Trax Services, Inc.

Page 161: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Weighted Product Codes

HemaTrax Weighted Product Codes

( Changed in Version 3.0 )

The HemaTrax Product Code is a character array that holds a weighted code used by HemaTrax to locate a product code by specifying the blood product's key characteristics. The HemaTrax Product database is indexed by this secondary key, which may be used in a blood product record search. This character array is ten characters in length and is used to encode seven key characteristics. The organization of these characteristics with in the key is as follows:

Description of Weight Character Columns Value RangeComponent Class 1-2 "01" - "21"Modifier 3-4 "00" - "17"Anticoagulant 5-6 "01" - "04"

"09" - "24"Additive Solution 7 "0" - "4"Storage Temperature 8-9 "01" - "12"Volume 10 "1" - "7"Manufacturing Caution 11 "0" - "3"Irradiated / Opened System 12 "0" - "3"

Each of these key characteristic descriptions is defined in the following tables along with their given weights (representative values):

Component Class is weighted as follows:Description Assigned Weight Cryoprecipitated AHF 01Fresh Frozen Plasma 02Granulocytes 03Granulocytes/Platelets 04Leukocytes 05Lymphocytes 06Monocytes 07Plasma 08Platelets 09Platelet Rich Buffy Coat 10Platelet Rich Plasma 11Pooled Cryoprecipitated AHF 12Pooled Fresh Frozen Plasma 21Pooled Granulocytes 13Pooled Plasma 14Pooled Platelet Rich Buffy Coat 15Pooled Platelets 16Pooled Serum 17Red Blood Cells 18Serum 19Whole Blood 20

Modifier is weighted as follows:Description Assigned Weight No Modifier 00Apheresis 01Deglycerolized 02Deglycerolized Apheresis 03

HTServer_V3_0.odt -153- Copyright © 2007 by Digi-Trax Services, Inc.

Page 162: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Weighted Product Codes

Deglycerolized Rejuvenated 04Deglycerolized Rejuvenated Apheresis 05Frozen 06Frozen Apheresis 07Frozen Rejuvenated 08Frozen Rejuvenated Apheresis 09Liquid 10Liquid Apheresis 11Rejuvenated 12Rejuvenated Apheresis 13Thawed 14Thawed Apheresis 15Washed 16Washed Apheresis 17

Anticoagulant is weighted as follows:Description Assigned Weight No Anticoagulant 010.5 CPD 02ACD-A 03ACD-B 04<reserved> 05<reserved> 06<reserved> 07<reserved> 08CPDA-1 09CPD 10CP2DA 11CP2D 12DMSO 13HEPARIN 14NS 15NaCitrate-HES 16NaCitrate 17SAGM 18GLY 17% 19GLY 35% 20PASII 21CPD-50 22GLY 40% 23PAGGS-M 24

Additive Solution is weighted as follows:Description Assigned Weight None Specified 0AS-1 1AS-2 2AS-3 3AS-5 4PASIII 5MAP 6

HTServer_V3_0.odt -154- Copyright © 2007 by Digi-Trax Services, Inc.

Page 163: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Weighted Product Codes

Storage Temperature is weighted as follows:Description Assigned Weight REFG (1 to 6°C) 01RT (20 to 30°C) 02Less Than 37°C 0320 to 24°C 04-18°C or Colder 05-20°C or Colder 06-80°C or Colder 12Less Than -20°C 07Less Than -25°C 08Less Than -30°C 09Less Than -65°C 10Less Than -120°C 11

Volume is weighted as follows:Description Assigned Weight Original Draw Unknown 1Original Draw 250 mL 2Original Draw 450 mL 3Original Draw 500 mL 4Original Draw 300 mL 5Original Draw 350 mL 6Draw volume not specified (NS) 7Original Draw 200 mL 8Original Draw 400 mL 9

Manufacturing Caution is weighted as follows:Description Assigned Weight No Manufacturing Caution 0For Further Manufacturing Use Only 1For Use in Manufacturing Non-injectable Products Only 2Not For Transfusion or Further Manufacture 3

Irradiated/Opened System is weighted as follows:Description Assigned Weight Not Irradiated or Opened 0Opened System 1Irradiated 2Irradiated and Opened 3

HTServer_V3_0.odt -155- Copyright © 2007 by Digi-Trax Services, Inc.

Page 164: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0HemaTrax Weighted Product Codes

(This page intentionally blank)

HTServer_V3_0.odt -156- Copyright © 2007 by Digi-Trax Services, Inc.

Page 165: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Donation Type Definition File

Donation Type Definition File

File DescriptionThe donation type data file contains all of the information that is necessary to determine the sixth character position value for the Product bar code, the ABO-Rh "gg" code offset for the ABO-Rh bar code, the Intended Use Text that is appropriate at the bottom of the ABO-Rh label and the appropriate Donation Type text to appear in Product code interpretation line beneath the bar code on the Product label. This file also supplies information about the donor type, and the blood product biohazard status.

File AccessThe Donation Type Data file is assigned the name "DnrTyp.txt". This file is read one time at program startup. The information is stored and retained in the program's memory space throughout the operation of the program.

File Record StructureThe Donation Type Data file is an ASCII text file. Each record of the Donation Type Data File may contain the following fields in the order given:

Donation Type DescriptionThis is a required alphanumeric text field which must be followed by the "=" (equal sign). The length of this field is not restricted, however is should be kept to a reasonable length. This information is intended for use with a user interface as the list of available donation types that may be selected for various ABO-Rh and Product labels.

Product Code 6th Character This required character must immediately follow the "=" (equal sign) which terminates the Donation Type Description field previously described. This field is a single character and represents the character that will be placed in the sixth character position of the Product bar code. This field must be immediately followed by a comma.

ABO-Rh Code ("gg" Code Offset)This is a required, one or two character entry that represents the integer offset to be applied to the ABO-Rh Default (Intended Use Not Specified) table index value. The legitimate value range for this entry is currently ("-4" to "3"), however, no range checking is performed on this field. This field may be followed by a comma if the optional following field is to be specified.

ABO-Rh Label Intended Use TextThis optional field must be preceded by a comma if it appears in the text line. This entry specifies the text that will appear at the bottom of the

HTServer_V3_0.odt -157- Copyright © 2007 by Digi-Trax Services, Inc.

Page 166: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Donation Type Definition File

ABO-Rh label if the Donation Type Description, defined at the beginning of this record, is selected.

Note: This is text that is required in the U.S. only.

Product Label Bar Code Interpretation Line Text This optional field must be preceded by a comma if it is to be included in the text record. This entry specifies Donation Type text that must appear in the Product bar code interpretation line when the Donation Type Description, defined at the beginning of this record, is selected.

Note: This is text that is required in the U.S. only.

Other File InformationOther important information is gleaned from the 'DnrTyp.txt' text records as they are parsed. The following paragraphs indicate what information is parsed from the text records:

Biohazard Status When the word "biohazard" or "biohazardous" is found anywhere in the text of the record, then this fact is also stored and used during the printing of the label so that the word "BIOHAZARDOUS" is printed and where necessary the biohazard symbol also imaged.

Donor Type When the word "autologous" is found anywhere in the text record, then this fact is stored and related to the current Donation Type Description as an "AUTOLOGOUS DONOR" donation. Note: This is used in conjunction with the AutologousDonor parameter that is passed in the HTInit function call. If AutologousDonor was passed as 0 (zero), then this will be treated as a "VOLUNTEER DONOR".

When the word "paid" is found anywhere in the text record, then this fact is stored and related to the current Donation Type Description as a "PAID DONOR" donation.

Any record not containing the words "autologous" or "paid" is assumed to contain the word "volunteer" and is related to the current Donation Type Description as a "VOLUNTEER DONOR". This information is used when printing the full face label and facility/product label quadrant combination.

HTServer_V3_0.odt -158- Copyright © 2007 by Digi-Trax Services, Inc.

Page 167: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Donation Type Definition File

Example of 'DnrTyp.txt' file content:

Not Specified=0,0,,Autologous Use Only=1,2,FOR AUTOLOGOUS|USE ONLY,AUTOLOGOUSAutologous Use Only, Biohazardous=X,3,FOR AUTOLOGOUS|USE

ONLY,AUTOLOGOUSAutologous Collection, Eligible for Crossover=A,1,AUTOLOGOUS

COLLECTION,Directed Donor Use Only=2,-4,FOR DESIGNATED|RECIPIENT ONLY,DIRECTEDDirected Donor Use Only, Biohazardous=3,-2,FOR DESIGNATED|RECIPIENT

ONLY,DESIGNATEDDirected Donation, Eligible for Crossover=D,-1,,DIRECTEDDirected Donor Use Only, Medical Exception=E,-4,,Directed Donor Use Only, Limited Exposure=L,-4,FOR DESIGNATED|

RECIPIENT ONLY,DIRECTEDDesignated Donor=4,-4,FOR DESIGNATED|RECIPIENT ONLY,DESIGNATEDDedicated Donor=5,-4,FOR DESIGNATED|RECIPIENT ONLY,DEDICATEDEmergency Use Only=!,-3,FOR EMERGENCY|USE ONLY,Paid Homologous Donation=P,0,,Paid Directed Collection, Eligible for Crossover=d,-4,,DIRECTEDPaid Research Collection=r,0,,RESEARCHPaid Source Collection=s,0,,Volunteer Allogeneic Donation=V,0,,Volunteer Research Donation=R,0,,RESEARCHVolunteer Source Donation=S,0,,SOURCEVolunteer Therapeutic Collection=T,0,THERAPEUTIC COLLECTION,________

HTServer_V3_0.odt -159- Copyright © 2007 by Digi-Trax Services, Inc.

Page 168: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Donation Type Definition File

(This page intentionally blank)

HTServer_V3_0.odt -160- Copyright © 2007 by Digi-Trax Services, Inc.

Page 169: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Printer Independent Label Format Language

(Added in Version 3.0)

The Printer Independent Label Format (PILF) language has existed within the bowels of the HemaTraxLIB.dll print engine since March 1999. Not until now has it become necessary to bring it out of hiding for the purpose of providing a label format definition language for defining the wrist band label format. It is likely that there will be many different wrist band formats as there is no real standard format imposed by ATAG or ICCBBA. As a result it seemed most advantageous to make use of the internal mechanism used by HemaTrax to format the labels in a printer independent way. PILF provides this sort of freedom.

PILF was designed so that the label formating functions of HemaTrax could produce output that was not printer specific. All HemaTrax functions generate PILF label formats which are then finally translated into the target printer's command language. This greatly simplifies the label formatting functions and moves all of the printer specific formatting work to a few special functions that are executed when it is time to actually print a label.

The balance of this manual section will provide sufficient details about the PILF language so that you can prepare your own label (wrist band) designs.

Basic PILF RequirementsA PILF file is a simple ASCII text file as may be created with the Microsoft Windows Notepad application. The example shown below is one such PILF file:

100 100~FB~AO0,0~RT0~RX10~RY15~CH2.5~CW2.0~CP0.2{Hello world!}~PN1~FE

PILF Label Format Example

When this file is passed through the print engine the following label would be printed:

HTServer_V3_0.odt -161- Copyright © 2007 by Digi-Trax Services, Inc.

Page 170: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Example 100x100mm "Hello world!" Label

Label DimensionsWe're really defining the PILF file format as it pertains to wrist band label formating. To support multiple label formats for labels (wrist bands) that will have differing dimensions, it was necessary to add an extension to PILF that allows for the specification of each label's horizontal and vertical dimensions. That is what the first line in the PILF format shown above does. These two numbers separated by a space represent the width and then the length of the label (measured in millimeters) as it is observed issuing from the front of the printer. The width measurement is taken from the left to the right edge of the label and the length is the measurement taken from the top to the bottom edge of the label. Again, these dimensions are taken as you see the label issuing from the printer. These numbers may be expressed to an accuracy of 1/10th of a millimeter. So width and length could look like:

25.4 50.8

which would indicate a label 25.4 millimeters (1 inch) in width and 50.8 millimeters (2 inches) in length.

HTServer_V3_0.odt -162- Copyright © 2007 by Digi-Trax Services, Inc.

Page 171: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Format Begin and End CommandsEvery PILF label format must begin with the Format Begin (~FB) command and end with the Format End (~FE) command. All of the commands between specify what will appear, how it will appear and where it will appear on the label.

Absolute OffsetThe Absolute Offset (~AO) command is used to indicate the horizontal and vertical offset that is to be applied to all of the relative X and Y printing coordinates described in the format. In the example given, ~AO0,0, indicates that these offsets are set to zero for both the x and y coordinates. In other words there is no offset, so the label will be printed with the text and bar codes in their right and upper most positions as they are literally defined for the label.

Bar Code or Text RotationThe Rotation (~RT) command is used to indicate how bar codes or text are to be rotated on the label. All bar codes or text specified after a rotation command will be oriented on the label in that rotation. Valid rotations include 0, 90, 180 and 270 degrees. In the example given the rotation that is specified is the same as the default, which is 0 degrees. This indicates that the text will print upright and read from left to right as the label issues from the printer. PILF makes this the standard orientation for all printers no matter what the native orientation might be for each printer make and model supported.

Bar Code or Text Starting CoordinatesThe Relative X (~RX) and Relative Y (~RY) commands establish the printing coordinates for the bar code or text fields that will follow. The coordinate given is always taken as the upper right hand corner of the beginning of the text or bar code field to be printed. All dimensions are given in millimeters with an accuracy to 1/10th of a millimeter.

Character Dimensions and PitchWhen specifying the size of characters to be used in the printing of text, there are format commands that will control character height, width and optionally pitch. The character height (~CH), character width (~CW) and character pitch (~CP) commands are provided for this purpose. Character pitch has to do with the distance separating the characters printed. Character pitch is not supported by all printers. Again all dimensions are expressed in millimeters with an accuracy to 1/10th (.1) of a millimeter.

HTServer_V3_0.odt -163- Copyright © 2007 by Digi-Trax Services, Inc.

Page 172: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Text FieldsText field content is specified by enclosing the information to be printed in curly braces "{}". Since some data may be of a variable nature, being passed in the TCP/IP message as part of the wristband data field, this special version of PILF provides for text substitution via the %00 to %99 markers which indicate the relative position of the data housed within the wristband data field. In the example given there is no variable data, just the "Hello world!" literal.

Number of LabelsTypically the last command just before the Format End command will be the Print Number (~PN) command. This command indicates how many labels are to be printed. If this command it not issued then no label may print at all.

This covers all of the commands that were used in the example given. PILF offers many other commands that provide the ability to select bar code types and characteristics and allows for automated centering of text and bar codes within specified areas on labels. All of PILF's commands are listed in the balance of this section of the manual.

HTServer_V3_0.odt -164- Copyright © 2007 by Digi-Trax Services, Inc.

Page 173: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

PILF Language Specification

The purpose of the Printer Independent Label Format (PILF) language is to provide a common printer language interface that can be used by all of the label formatting functions within an application. All of the label formatting functions within an application will emit PILF language only. The final step before printing is to pass the PILF language through the PILF to print command translator which then produces the native commands of the target printer. By taking advantage of the PILF translator the application can be written without regard to the thermal printers that will be used. To add a new printer model it is necessary to add a PILF code translator for the new printer. This greatly reduces the programming overhead that might otherwise be required to support multiple printers from differing manufacturers.

PILF Label Format StandardsThe PILF language establishes certain standards that deal with the way the label is treated. This has to do with label orientation, home x and y coordinates, printed text and bar code orientation. No matter what the target printer's orientation or home position is, the PILF orientation remains constant and it is the job of the PILF to printer command language interpreter to resolve the differences.

PILF Label OrientationPILF labels without rotation specified will issue from the printer such that the operator can read them in right side up fashion. The final command translator must generate the appropriate printer commands to emulate this orientation scheme.

PILF X,Y Home PositionThe home position from which all X,Y coordinates are based is located in the upper left hand corner of the label. The PILF language provides a means of offsetting this home position down and to the right.

PILF Unit of MeasureWith few exceptions, all height, width, X/Y coordinates and other dimensions are expressed in millimeters to up to two decimals of accuracy. For example an X coordinate value could be expressed in millimeters as 55.8 or a character height could be given as 3.55 and so on. Numbers can be expressed in either integer or decimal format. If a character is two millimeters in height the command may be given as either ~CH2 or ~CH2.0.

PILF Command PrefixAll PILF commands are prefixed with the tilde (~) character to aide the command parser in identifying and interpreting the command language.

HTServer_V3_0.odt -165- Copyright © 2007 by Digi-Trax Services, Inc.

Page 174: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

PILF Command FormatAll PILF commands are two characters in length and must be given in capital letters that immediately follow the tilde (~) prefix with no intervening spaces. The PILF command interpreter ignores carriage returns, line feeds and other white space characters such as blanks or tabs.

PILF CommandsThe following as an alphabetic list of each PILF language component or command along with explanations and examples.

Absolute X,Y Offset

~AO<x-offset>,<y-offset>

This command establishes the x/y bias that will be applied to all x,y coordinates that follow. The effect is to shift all of the x,y coordinates that follow and thus shift the text, graphics and bar codes down and to the right on the printed label. The <x-offset> and <y-offset> are each expressed in millimeters to an accuracy of one tenth of a millimeter. The maximum allowable offset is not tested in PILF, but may be enforced by the command interpreter for the target printer. If not included in a label format, the default values are taken as (0,0).

Bar Code Data

(<ascii-text>)

Any information enclosed in an opening and closing pair of parenthesis "()", is sent as a bar code to the printer using the current bar code symbology, bar code height, bar width, bar ratio and x/y coordinate specifications.

When the Code 128 bar code symbology is specified, $A, $B, $C is used to indicate the starting subset and ^A, ^B, ^C is used to indicate subset shifts. In order to embed the dollar sign "$" character in the bar code you must include the character twice "$$". The same is true for embedding the caret character "^".

HTServer_V3_0.odt -166- Copyright © 2007 by Digi-Trax Services, Inc.

Page 175: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Bar Code Height

~BH<bar-height>

The bar code height command establishes the bar code height for all bar codes imaged after the appearance of the command or until the appearance of the next bar code height command or the end of the label format. The bar code height value is expressed in millimeters with an accuracy to the nearest tenth of a millimeter. If this command is not included in a label format, then the default bar code height will be taken as 10 millimeters (1 centimeter).

Bar Code Bar Ratio

~BR<narrow-to-wide-bar-ratio>

The bar ratio command establishes the wide bar width relative to the narrow bar width for the majority of bar code types as most bar codes have only two bar widths ( narrow and wide). The narrow-to-wide-ratio is found by dividing the the narrow width by the wide width and expressing the result as a decimal fraction with an accuracy of two decimal places. For example 1:3 = .33, 1:2 = .5, 2:5 = .4 . Once this ratio has been established it remains in effect until the next bar ratio command is encountered or until the end of the label format is reached. If no bar ratio is specified in a label format, the default ratio of 1:3 will be used.

Bar Code Symbology

~BS<bar-code-designation>

The bar code symbology command selects the bar code type (symbol) that will be used for all bar coded data that follows the command. If no bar code symbology command is encountered then the default symbology will be Code 39. The possible <bar-code-designation> values are as follows:

CODABARCODE128CODE39CODE93INTER2OF5 (Interleaved 2 of 5)INDUS2OF5 (Industrial 2 of 5)

HTServer_V3_0.odt -167- Copyright © 2007 by Digi-Trax Services, Inc.

Page 176: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Bar Code Bar Width

~BW<bar-width>

The bar width command establishes the bar code bar width for the narrowest bar elements in the code (x-element) for all bar codes imaged after the command to either the next bar width command or the end of the label format. The bar width is expressed in millimeters with an accuracy to the nearest one hundredth of a millimeter.

For example:

To specify a 10 mil (.010 inch ) bar width the ~BW.25 command would be used. To specify a 6 mil (.006 inch ) bar width the ~BW.16 would be used.

Box

~BX<box-width>,<box-height>,<line-thickness>

The box command draws a box with the upper left corner at the current x/y coordinate from a point of origin as translated by any preceding rotation command. The width, height and line thickness of the box is expressed in millimeters to the nearest one hundredth of a millimeter.

Centering Begin

~CB<centering-window-width>

The centering command provides a method of specifying the centering of bar codes or text with in a specified width for all data occurring after the command with in the format. This centering mechanism remains in effect until the centering end command "~CE" or until the end of the label format is reached. The centering-window-width specifies the width of the centering area in millimeters to the nearest tenth of a millimeter. The upper left hand corner of the centering window is established by the current x/y coordinate with any active rotation taken into account.

Note: Centering can fail when the bar code or text exceeds the width of the area specified. Another side effect of centering occurs when the specified text begins to exceed the width of the centering window. The PILF processor begins to automatically reduce the character width of the text in order to make it fit. There is a limit to this character width reduction attempt.

HTServer_V3_0.odt -168- Copyright © 2007 by Digi-Trax Services, Inc.

Page 177: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Centering End

~CE

The centering end command terminates any previously specified centering command. This command is only needed to turn off centering with in a label format. Centering is also turned off at the end of a label format when (~FE) is encountered.

Character Font

~CF<font-code>

Currently the character font command selects between one of two possible font types as follows:

Font Code Descriptions 0 Bold Sans Serif Character ( Arial Bold, Triumvirate Bold )1 Bold Sans Serif Outline Character

(These are smoothly scalable fonts)

Character Height

~CH<character-height>

The character height command establishes the character height for characters printed after this command appears in the label format until the next character height command is encountered or until the end of the format is reached. The character height value is expressed in millimeters with an accuracy to one tenth of a millimeter. The default character height is 2 millimeters if none is specified in the format. The minimum character height for most printers is approximately 1.5 millimeters.

Character Pitch

~CP<character-pitch>*

The character pitch command provides a method of specifying character spacing. The character pitch value is used to insert an additional space between all printed characters until the next character pitch command is encountered or the end of the format is reached. The default value for the character pitch is 0 millimeters.

HTServer_V3_0.odt -169- Copyright © 2007 by Digi-Trax Services, Inc.

Page 178: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

* Not all printers support the character pitch command. The Zebra Technologies printers do not. The SATO America printers do support character pitch.

Character Width

~CW<character-width>

The character width command establishes the character width for all characters printed after this command in the label format until the next character width command is encountered or the end of the format is reached. The character width value is expressed in millimeters with an accuracy to one tenth of a millimeter. The default character height is 2 millimeters if none is specified in the format. The minimum character height is 1.5 millimeters.

Format Begin

~FB

The format begin command marks the beginning of the label format. This must be the first command encountered immediately after the label width and height line. This command can be followed by the next PILF command on the same line. This command causes any settings made by a previous format to revert back to the default values.

Format End

~FE

The format end command marks the end of the PILF label format. This must be the last command in a PILF label format. This command indicates to the interpreter that it is time to generate printer commands for the target printer.

Graphic Symbol

~GS<symbol-code>

The graphic symbol command recalls a graphic symbol stored in the printer's memory to be printed on the label. All Digi-Trax blood bank printers have been engineered to include these symbols. The symbol will be imaged with the upper left hand corner of the symbol area corresponding to the current x/y coordinate. The graphics symbol codes and associated symbols currently established are as follows:

HTServer_V3_0.odt -170- Copyright © 2007 by Digi-Trax Services, Inc.

Page 179: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Code Description0 Biohazard Symbol1 Codabar A Rh Positive bar code and characters2 Codabar B Rh Positive bar code and characters3 Codabar O Rh Positive bar code and characters4 Codabar AB Rh Positive bar code and characters5 Codabar A Rh Negative bar code and characters6 Codabar B Rh Negative bar code and characters7 Codabar O Rh Negative bar code and characters8 Codabar AB Rh Negative bar code and characters10 Biohazard Symbol ( 90 degree clockwise rotation )

Note: With some printers the current rotation may have no bearing on the graphic image rotation on the label. This is particularly true with the SATO M8450 printer.

Horizontal Line

~HL<line-length>,<line-thickness>

The horizontal line command causes a horizontal line to be imaged starting at the current x/y coordinate and proceeding horizontally to the right for the line length specified in millimeters to the nearest one tenth of a millimeter and with a line thickness expressed to the nearest one hundredth of a millimeter.

Print Number of Labels

~PN<number-of-labels>

The print number of labels command tells the PILF command interpreter to notify the printer how many copies of the current label are to be printed. The number of labels is an integer in the range 1 to 99,999. The PILF interpreter does not send the label format to the printer for each label in the set to be printed. The printer is told to how many labels are needed and then the printer takes over the task of printing that many labels.

Reverse Box

~RB<box-width>,<box-height>

The reverse box command specifies a rectangular area where a bar code, graphic symbol or text will appear reversed (white on black background). The reverse box command must follow the command(s) used to print the bar code, graphic or text to be

HTServer_V3_0.odt -171- Copyright © 2007 by Digi-Trax Services, Inc.

Page 180: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

reversed and must overlap their print area. The black background is <box-width> millimeters wide and <box-height> millimeters high to the nearest one tenth millimeter. The upper left hand corner of the box is located at the current x/y coordinate.

Rotate

~RT<clockwise-rotation-degrees>

The rotate command specifies the number of degrees of clockwise rotation that all subsequent printed bar codes and text are to be rotated. Effectively the rotation is like turning the label with the print staying fixed in orientation in free space. Rotations do not occur about the current x/y coordinates, but rather all of the x/y coordinates that follow the command are translated so that the text and bar codes are rotated.

For example:

With a default rotation of 0 degrees the point of origin will be the upper left hand corner of the label. The upper left edge of a bar code or text will print starting at that point of origin and proceed from left to right along the top edge of the label.

With a rotation of 90 degrees the point of origin will shift to the upper right hand corner of the label. The upper left edge of a bar code or text will print starting at that point and proceed from the top of the label to the bottom along the right hand edge.

With a rotation of 180 degrees the point of origin will shift to the bottom right hand corner of the label. The upper left edge of a bar code or text will print starting from that point and proceed from right to left along the bottom edge of the label (upside down).

With a rotation of 270 degrees the point of origin will shift to the bottom left hand corner of the label. The upper left corner of the bar code or text will print starting from that point and proceed from bottom to top along the left edge of the label.

An example label is shown latter that illustrates all four rotations in one label format.

Only those coordinates that follow the rotation command are effected by it. When no rotation is specified (~RT0) the label text and bar codes will issue from the printer such that the text is readable (upright from left to right). The default rotation is 0 (zero) degrees. Valid clockwise rotation degree values are: 0, 90, 180 and 270.

HTServer_V3_0.odt -172- Copyright © 2007 by Digi-Trax Services, Inc.

Page 181: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Relative X Coordinate

~RX<x-coordinate>

The relative x coordinate command establishes the horizontal position relative to the last absolute x offset that was specified (0,0) if no absolute x offset was specified. If no relative x coordinate is specified in a label format, then a value of 0 (zero) will be assumed. The x coordinate is expressed in millimeters with an accuracy to the nearest one tenth of a millimeter.

Relative Y Coordinate

~RY<y-coordinate>

The relative y coordinate command establishes the vertical position relative to the last absolute y offset that was specified; 0 (zero) if no absolute y offset was specified. If no relative y coordinate is specified in a label format, then a value of 0 (zero) will be assumed. The y coordinate is expressed in millimeters with an accuracy to the nearest one tenth of a millimeter.

Text Data

{<ascii-text>}

ASCII text data is specified by enclosing it in an opening and closing pair of curly braces "{}". This text is sent to the printer using the current x/y coordinate, character height, width, pitch, font, rotation and centering settings. The x/y coordinate specifies the relative position on the label from the text's upper left hand point of origin as it has been translated by any preceding rotation command.

Vertical Line

~VL<line-length>,<line-thickness>

The vertical line command causes a vertical line to be imaged starting at the current x/y coordinate and proceeding vertically toward the bottom of the label for the line length specified in millimeters to the nearest one tenth of a millimeter. The line thickness is expressed in millimeters to the nearest one tenth of a millimeter.

HTServer_V3_0.odt -173- Copyright © 2007 by Digi-Trax Services, Inc.

Page 182: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

PILF Format ExamplesThe following PILF format examples are provided to assist in understanding the use of the various commands to format labels.

All label illustrations are shown in the orientation that they would issue from the printer.

Example of Text Rotation

The example below shows the effect of the rotation command on printed text.

50 50~FB~AO0,0~CH2~CW2~CP.3~RT0~RX2~RY2{0 degrees}~RT90{90 degrees}~RT180{180 degrees}~RT270{270 degrees}~PN1~FE

Example 1. PILF Rotate Commands

Example1. Label Printed

In this example each line of text is printed at the same x/y coordinate of x=2mm y=2mm, but with 0, 90, 180 and 270 degree rotations.

HTServer_V3_0.odt -174- Copyright © 2007 by Digi-Trax Services, Inc.

Page 183: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Example of Text Centering and Bar CodesThe example below demonstrates the use of text centering and bar code printing.

50 50~FB~AO0,0~CH5~CW5~CP.3~RT0~RX0~RY2~CB50{A}~RY8~CH4~CW4{BC}~RY13~CH3~CW3{DEFG}~RY17~CH2~CW2{HIJKLMN}~BH10~BW.26~BR.5~RY20~BSCODABAR(A12345D)~CE~RX1~RY40{Not Centered}~PN1~FE

Example 2 Centering Text and Bar Code

Example 2. Label Printed

In this example all of the data lines for text and the bar code that are between the centering commands (~CB ~CE) are centered in the 50mm centering window. The line outside the centering commands is printed at its designated x/y coordinate. Character height and width decrease with each text line printed, except for the bottom line which is printed in the same character height and width as the last centered line. Also note that PILF doesn't print a bar code interpretation line automatically above or below a bar code.

HTServer_V3_0.odt -175- Copyright © 2007 by Digi-Trax Services, Inc.

Page 184: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0Printer Independent Label Format Language

Example of Boxes and LinesThe example below demonstrates the use of PILF box and line commands in a label format.

50 50~FB~AO0,0~CH3~CW3~CP.4~RT0~RX10~RY5~BX30,10,.3~RY8.5~CB30{BOX}~CE~RY23.5~CB30{REVERSED}~CE~RY20~RX10~RB30,10~RX5~RY30~VL20,.3~RX5~RY40~HL20,.3~PN1~FE

Example 3. Boxes and Lines

Example 3 Label Printed

In this example an open rectangular box and reversed box are printed each with text centered within them. Two lines one vertical and one horizontal are printed perpendicular to one another.

HTServer_V3_0.odt -176- Copyright © 2007 by Digi-Trax Services, Inc.

Page 185: HemaTrax Print Server Interface Programming Guide Version 3.0

Print Server Software License Agreement

HemaTrax TCP/IP Print ServerSOFTWARE LICENSE AGREEMENT

This software license agreement is a legally binding agreement between you (either an individual or an entity) and the manufacturer of the software (Digi-Trax Corporation). By installing and/or using the software, you are agreeing to be bound by the terms and conditions of this agreement. If you do not agree to these terms then promptly return the unopened software packet(s) and accompanying items (including any Digi-Trax supplied manuals, binders or other containers) to Digi-Trax Corporation for a full refund. In the following paragraphs each occurrence of "the server" represents an occurrence of the phrase "the HemaTrax TCP/IP Print Server."

1. Grant of LicenseThis license agreement permits you the non-exclusive right to use the purchased copy of the server software on a single computer system which may be attached to a network at your site (see site definition below). For each system installed with the server software at your site you or your application supplier must pay a royalty fee to Digi-Trax (as provided in our price schedule).

2. CopyrightThe server software (including source code and all documentation) is owned by Digi-Trax Corporation and is protected by United States copyright laws and international treaty provisions and all other applicable national laws. You must treat the server software and documentation like any other copyrighted material, except that you may make copies of the software and documents for backup and archival purposes.

3. RestrictionsYou may not rent or lease the server software. You may transfer the server software and accompanying documentation to another individual or entity on a permanent basis provided that you do not retain any copies of the server software or documentation in any form and that the recipient agrees to the terms and conditions of this agreement. If the server software is an update or has been updated, any transfer must include the most recent update and all prior versions. You may not reverse engineer, decompile, disassemble or alter the operation of the server software.

4. Software MediaYou may receive the server software recorded in both diskette and CD-ROM format. You may not loan, rent or transfer unused media to another individual or entity except as part of a permanent transfer of all of the server software and documentation.

5. RoyaltiesThe purchase of the server software installation package for each site, from Digi-Trax Corporation or one of its authorized resellers, constitutes the payment of the royalty fee for each copy of the server software used on a site-by-site basis. You or the supplier of the application that integrates with the server agree to make payment for each copy of the server software to Digi-Trax Corporation within a period of thirty (30) calendar days from the date invoiced.

6. Site DefinitionThe definition of a site is "the location of a single individual or entity with an issued ICCBBA registered Facility Identification Number (FIN) where one or more copies of the server software is installed on either a single computer or network of computers within a single building or a cluster of buildings which are not separated, one from the other, by more than 1,320 feet (1/4 mile)."

7. Special ProvisionsIf you acquired the software in the United States then this license agreement is governed by the laws of the State of Illinois, U.S.A. If you acquired the software outside the United States, local law may apply.

8. Limited WarrantyDigi-Trax Corporation warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of the invoice, the media on which the server is furnished will be free of defects in materials and workmanship under normal use. Except for the foregoing, the server is provided "AS IS". Your exclusive remedy and Digi-Trax Corporation's entire liability under this limited warranty will be at Digi-Trax Corporations discretion to replace the server media or refund the fee paid for the server software.

9. Disclaimer of WarrantyUNLESS SPECIFIED IN THE AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR

HTServer_V3_0.odt -177- Copyright © 2007 by Digi-Trax Services, Inc.

Page 186: HemaTrax Print Server Interface Programming Guide Version 3.0

Print Server Software License Agreement

PURPOSE OR NONINFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.

10. Limitation of LiabilityTO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL DIGI-TRAX CORPORATION OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABLILITY TO USE SOFTWARE, EVEN IF DIGI-TRAX CORPORATION HAS BEEN ADVISED OF THE POSSIBILTY OF SUCH DAMAGES. In no event will Digi-Trax Corporation's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by you for the server software under this License Agreement. The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.

11. TerminationThis License Agreement is effective until terminated. You may terminate the License Agreement at any time by destroying all copies of the server software and documentation. This License Agreement will terminate immediately without notice from Digi-Trax Corporation if you fail to comply with any provision of this agreement. Upon termination you must destroy all copies of the software and documentation.

12. U.S. Government Restricted RightsIf the server software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in the server and accompanying documentation will be only as set forth in this License Agreement; this is in accordance with 48CFR 227.7201 through 227.7202-4 ( for Department of Defense (DoD) acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DoD acquisitions).

13. Governing LawAny action related to this License Agreement will be governed by Illinois law and controlling U.S. federal law. No choice of law rules of any jurisdiction will apply.

14. SeverabilityIf any provision of this License Agreement is held to be unenforceable, this License Agreement will remain in effect with the provision omitted, unless the omission would frustrate the intent of the parties, in which case this License Agreement will immediately terminate.

15. IntegrationThis license agreement constitutes the full agreement between you and Digi-Trax Corporation with respect to the server software. This License Agreement replaces all prior or current oral or written communications, proposals, representation and warranties. This License Agreement prevails over any conflicting or additional terms of any quote, order, acknowledgment or other communication between you and Digi-Trax Corporation relating to its subject matter for the term of this Agreement. No modification of the License Agreement will be binding unless it is in writing and signed by an authorized representative of each party.

HTServer_V3_0.odt -178- Copyright © 2007 by Digi-Trax Services, Inc.

Page 187: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0INDEX

INDEX

INDEX

AABO-Rh Code...............................................................................................................................................157ABO-Rh Label Example.................................................................................................................................82ABO-Rh Label Intended Use Text............................................................................................................... 157ABO-Rh Text...............................................................................................................................................27p.ABO-Rh/Date & Time Label Example..........................................................................................................89Additional Attributes........................................................................................................................ 37p., 133p.Additive Solution...................................................................................................................37p., 133p., 153p.Additive solution volume................................................................................................................................39Anti-C/Anti-c Test Code.........................................................................................................53, 58, 79, 81, 85Anti-E/Anti-e Test Code.........................................................................................................53, 58, 79, 81, 85Anticoagulant.........................................................................................................................38p., 134p., 153p.Anticoagulant abbreviation.............................................................................................................................39Anticoagulant volume..................................................................................................................................... 39Attribute Line................................................................................................................................................101Attributes.................................................................................................................................. 37p., 101, 133p.AUTOLOGOUS DONOR..............................................................................................................19, 142, 158BBar Code Flag...............................................................................................................................27, 30, 91, 94Bar Code Number........................................................................................................................................... 97Bar Coded Exp Date....................................................................................................................................... 99Baud rate...................................................................................................................................43p., 129p., 143Biohazard Status........................................................................................................................................ 157p.Birth date...................................................................................................................................................... 113Blood Relative Code..................................................................................................................................113p.Blood Type Code....................................................................................................................53, 56, 79, 83, 91BYE...................................................................................................................................................... 9, 23, 25CCAL............................................................................................................................................................ 9, 27Close Print Server Communication................................................................................................................ 25Codabar ABO-Rh Label Example.................................................................................................................. 95Codabar autologous label............................................................................................................................... 27Codabar Autologous Label Example.............................................................................................................. 31Codabar DIN Format.................................................................................................................................... 149Codabar Donation ID Label..............................................................................................................................9Codabar Donation ID Label Example............................................................................................................ 98Codabar Expiration Date (/Time) Label........................................................................................................... 9Codabar Product Label Example.................................................................................................................. 102Collection date.................................................... 27, 37, 40, 53, 59, 69, 71, 83, 86, 103p., 113, 133, 136, 142Collection Date Flag..................................................................37, 40, 53, 59, 69, 71, 83, 86, 103p., 133, 136Collection Date Text.......................................................................................................................................28Collection Day................................................................................................................................................ 63Collection Hour........................................................................................................................................... 63p.Collection Minute........................................................................................................................................ 63p.Collection Month............................................................................................................................................ 63Collection year.................................................................................................................49, 53, 63p., 117, 142Component Class..............................................................................................................37p., 133p., 142, 153CRC Flag.......................................................................................................................................... 43p., 129p.DDAP............................................................................................................................................................ 9, 33

HTServer_V3_0.odt -179- Copyright © 2007 by Digi-Trax Services, Inc.

Page 188: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0INDEX

Date/Time Label Example............................................................................................................................ 107Day............................................................................................................................................................70, 86Delete Alternative Product Label Record.........................................................................................................9Delete Alternative Product Row..................................................................................................................... 33Development Kit Components........................................................................................................................11Device Model Code...................................................................................................................................... 129Digi-Trax Enhanced..........................................................................................................................................1Disconnect from Print Server........................................................................................................................... 9Display Collection Time Flag......................................................................................................................63p.Divided Unit Division Codes........................................................................................................55, 65, 69, 75DnrTyp.txt...................................................................................................................................... 11p., 157pp.Donation Code........................................................................................................................53, 57, 79p., 83p.Donation ID Format File Structures............................................................................................................. 149Donation Number Eye Read Line...................................................................................................................97Donation Type Code..................................................................................................................................113p.Donation Type Definition File..............................................................................................................142, 157Donation Type Description........................................................................................................................157p.Donation type/intended use.................................................................................. 35, 50, 53, 55, 63, 65, 69, 75Donor Address Line..............................................................................................................................125, 127Donor Blood Type..................................................................................................................................... 125p.Donor City State Zip Code................................................................................................................... 125, 127Donor ID Number.................................................................................................................................125, 127Donor Name...............................................................................................................................................125p.Donor Telephone.................................................................................................................................. 125, 127Donor Type................................................................................................................................................157p.Donor Wallet ID Card Example................................................................................................................... 128DTiSAM.DLL.................................................................................................................................................12EError Condition Responses..................................................................................................................... 10, 141Error Numbers and Descriptions.................................................................................................................. 142Example of 'DnrTyp.txt' file content.............................................................................................................159Exp. Day................................................................................................................................................ 27p., 92Exp. Hour...............................................................................................................................................27p., 93Exp. Minute........................................................................................................................................... 27p., 93Exp. Month............................................................................................................................................... 27, 92Exp. Year............................................................................................................................................... 27p., 93Expiration date............................................................................................... 19, 40, 59, 71, 86, 104, 136, 142Expiration Dates that have Expired................................................................................................................ 19Eye Read Date[/Time].................................................................................................................................... 99Eye Read Time Flag.............................................................................................. 53, 59, 69, 71, 83, 86, 103p.FFacility Address............................................................................................................................................ 125Facility City State Zip Code......................27, 30, 53p., 61, 63p., 69, 72, 83, 88, 91, 94, 103, 105, 109, 125p.Facility code..........................................................................................................................................117, 142Facility name.........................27, 29p., 53p., 60p., 63p., 69, 72, 83, 87p., 91, 93p., 103, 105, 109, 125p., 143Flag digits................................................................................................................................................. 49, 53Footing.......................................................................................................................................................125p.Form Code........................................................................................................................................ 43p., 129p.Format File Name........................................................................................................................................... 97GGDU........................................................................................................... 9, 35, 50, 55, 57, 65, 69, 75, 80, 84Get Donation Type/Use Codes................................................................................................................... 9, 35Get Port.......................................................................................................................................................9, 43Get Product Information............................................................................................................................. 9, 37Get Product Matches...................................................................................................................................9, 41

HTServer_V3_0.odt -180- Copyright © 2007 by Digi-Trax Services, Inc.

Page 189: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0INDEX

Get Product Matches on HemaTrax Product Code...........................................................................................9Get X,Y Offset............................................................................................................................................9, 47GPI........................................................................................................................................................9, 37, 41GPM............................................................................................................................................................9, 41GPT.......................................................................................................................................................9, 43, 45GXY............................................................................................................................................................9, 47HHemaTrax Main Window Tabbed Pages........................................................................................................21HemaTrax Print Server................................................................................................................................... 15HemaTrax Print Server Client Connection..................................................................................................... 23HemaTrax Print Server Connected................................................................................................................. 23HemaTrax Print Server Overview.................................................................................................................... 1HemaTrax Product Code.............................................................................................. 9, 37, 41, 133, 146, 153HemaTrax Weighted Product Codes............................................................................................................ 153HemaTraxLIB.DLL............................................................................................................................. 11p., 142HES volume....................................................................................................................................................39Hospital.........................................................................................................................................................113Hospital Name............................................................................................................................................. 27p.Hour.......................................................................................................................................................... 71, 86HTClient_V2_2.pdf........................................................................................................................................11HTClient.exe...................................................................................................................................................11HTPrtSrvr.exe..............................................................................................................................................11p.HTPrtSrvrSettings.EXE..................................................................................................................................11HTServer_V2_2.pdf....................................................................................................................................... 11IICCBBA..................................................1, 11, 19, 33, 35, 37, 41, 49p., 53, 55, 63, 65, 69, 75, 117, 133, 147ICCBBA product code.................................................................. 33, 37, 41, 49p., 53, 55, 63, 65, 69, 75, 133ID Number........................................................................................................................49, 53, 113, 125, 127Information line............................................................................................................................................ 101Installation Instructions...................................................................................................................................13Instruction..................................................................................................................................................... 111Instruction Label Example............................................................................................................................112Intended recipient information..................................................................................................................9, 113International Council for Commonality in Blood Banking Automation.......................................................117Irradiated............................................................................................................. 41, 101, 113p., 134, 153, 155Irradiated Flag............................................................................................................................................113p.ISBT 128 DIN Format..................................................................................................................................150ISBT-128 Date & Time.................................................................................................................................. 19ISBT-128 Intended Recipient Label Example..............................................................................................115ISO Check Character................................................................................................................................. 117p.KKell Test Code..................................................................................................................53, 58, 79, 81, 83, 85LLabel compliance authority.................................................................................................................... 19, 142Label Format File Name............................................................................................................................... 117Leuko Reduced Flag.................................................................................................................................. 113p.License number........................................... 27, 29, 53, 55, 61, 63, 65, 69, 73, 83, 88, 91, 93, 103, 106, 109p.Licensee City State Zip Code............................27, 29, 53p., 61, 63, 65, 69, 73, 83, 88, 91, 93, 103, 105, 109Licensee name............................................27, 29, 53pp., 61, 63pp., 69, 72p., 83, 88, 91, 93, 103, 105, 109p.Listening port..................................................................................................................................................18Listening Port Number....................................................................................................................................18MManual entry check digit.......................................................................................................................... 49, 53Manufacturing Caution................................................................................................................... 41, 153, 155

HTServer_V3_0.odt -181- Copyright © 2007 by Digi-Trax Services, Inc.

Page 190: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0INDEX

Manufacturing cautionary notice............................................................................................................ 38, 134Mfr Caution...................................................................................................................................... 37p., 133p.Miltenberger Test Code....................................................................................................53, 58, 79, 81, 83, 85Minute.......................................................................................................................................................71, 86Modifier....................................................................................................................................37, 41, 133, 153Month........................................................................................................................................................70, 86NNo Operation.................................................................................................................................................... 9NOP.................................................................................................................................................................. 9Number of Cards...................................................................................................................................125, 128Number of Labels.. 27, 30, 53, 61, 63, 66, 69, 73, 75p., 79, 82p., 88, 91, 94, 99, 101, 103, 106, 109pp., 113,

115Number of units in pool.................................................................................................................................. 39OOFF............................................................................................................................................................. 9, 53OFP.............................................................................................................................................................9, 63One way Full Face Label Example................................................................................................................. 62One way Print Facility / Product.....................................................................................................................63One way Print Full Face Label....................................................................................................................... 53One way Print Product / Date Label............................................................................................................... 69One way Print Product Label..........................................................................................................................75One way Product Label Example................................................................................................................... 77One way Product/Date Label Example...........................................................................................................73OPD............................................................................................................................................................ 9, 69Opened System............................................................................................................................... 41, 153, 155OPR............................................................................................................................................................ 9, 75Original draw volume..................................................................................................................................... 39Other information........................................................................................................................ 37p., 133, 135Other Product.............................................................................................................................................113p.PPAB............................................................................................................................................................ 9, 79PAD............................................................................................................................................................ 9, 83Password....................................................................................................................................................... 143Patient........................................................................................................................................................... 113Patient ID..................................................................................................................................................... 27p.Patient Name................................................................................................................................................27p.PCA.............................................................................................................................................................9, 91PCD............................................................................................................................................................ 9, 97PCE.............................................................................................................................................................9, 99PCode.def.................................................................................................................................................... 11p.PCode.i00.................................................................................................................................................... 11p.PCode.i01.................................................................................................................................................... 11p.PCode.tbl..................................................................................................................................................... 11p.PCP........................................................................................................................................................... 9, 101PDT...........................................................................................................................................................9, 103PFC........................................................................................................................................................... 9, 109PILF.............................................................................................................................................................. 161PILF Command Format................................................................................................................................ 166PILF Command Prefix..................................................................................................................................165PILF Commands........................................................................................................................................... 166PILF Format Examples.................................................................................................................................174PILF Label Orientation.................................................................................................................................165PILF Language Specification....................................................................................................................... 165PILF Requirements....................................................................................................................................... 161PILF Unit of Measure................................................................................................................................... 165

HTServer_V3_0.odt -182- Copyright © 2007 by Digi-Trax Services, Inc.

Page 191: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0INDEX

PILF X,Y Home Position............................................................................................................................. 165PIN............................................................................................................................................................9, 111PIR............................................................................................................................................................ 9, 113Port description............................................................................................................................................130Port Description......................................................................................................................................43, 129Port number.... 18, 27, 43, 47, 49, 53, 63, 69, 75, 79, 83, 91, 97, 99, 101, 103, 109, 111, 113, 117, 119, 125,

129p., 137, 143Print ABO-Rh Label................................................................................................................................... 9, 79Print ABO-Rh/Date Label.......................................................................................................................... 9, 83Print Codabar ABO-Rh Label.........................................................................................................................91Print Codabar ABO-Rh/Exp. Date/Facility label..............................................................................................9Print Codabar Autologous Label................................................................................................................ 9, 27Print Codabar Donation ID Label...................................................................................................................97Print Codabar Expiration Date Label............................................................................................................. 99Print Codabar Product Label.................................................................................................................... 9, 101Print Date/Time Label.............................................................................................................................. 9, 103Print Facility Label................................................................................................................................... 9, 109Print Facility/Product label............................................................................................................................... 9Print Full Face Label.................................................................................................................................. 9, 53Print Instruction Label.............................................................................................................................. 9, 111Print Intended Recipient Information Label..................................................................................... 9, 111, 113Print Product Label.....................................................................................................................................9, 75Print Product/Date label....................................................................................................................................9Print Server Functions...................................................................................................................................... 9Print Unit ID Set Label............................................................................................................................. 9, 117Print Wallet Id Card..................................................................................................................................9, 125Printer Independent Label Format Language............................................................................................... 161Printer model.......................................................................................................................................... 43, 143Printer Model Code........................................................................................................................................ 43Printer Settings................................................................................................................................................21Processing message............................................................... 27, 29, 53, 60, 69, 72, 83, 87, 91, 93p., 103, 105Product Code................ 9, 33, 37, 41, 49p., 53, 55p., 63, 65p., 69p., 75p., 101, 113, 133, 142, 146, 153, 157Product Code 6th Character..........................................................................................................................157Product description................................................................................................................................. 37, 133Product Label Bar Code Interpretation Line Text ....................................................................................... 158Product Life.............................................................................................................................. 37, 40, 133, 136Product Life Unit...................................................................................................................... 37, 40, 133, 136PUN.......................................................................................................................................................... 9, 117PWB..............................................................................................................................................................119PWC..........................................................................................................................................................9, 125RRegistration number..............................27, 30, 49, 53, 55, 61, 63, 65, 69, 73, 83, 88, 91, 94, 103, 105, 109p.SSATO.........................................................................................................................................................143p.SATO America....................................................................................................................................... 43, 129Sequence number..................................................................................................................................117, 142Server Activity................................................................................................................................................21Set port......................................................................................................................................9, 129, 143, 147Set Product Info................................................................................................................................................ 9Set Product Information................................................................................................................................133Set X,Y Offset.......................................................................................................................................... 9, 137SOFTWARE LICENSE AGREEMENT......................................................................................................177SPI............................................................................................................................................................ 9, 133SPT........................................................................................................................................................... 9, 129Storage Temperature...................................................................................................... 38, 101, 134, 153, 155

HTServer_V3_0.odt -183- Copyright © 2007 by Digi-Trax Services, Inc.

Page 192: HemaTrax Print Server Interface Programming Guide Version 3.0

HemaTrax Print Server Interface Programming Guide Version 3.0INDEX

Subtitle..........................................................................................................................................................125SXY.......................................................................................................................................................... 9, 137SXY – Set X,Y Offset (Print image)............................................................................................................ 137TTelephone................................................................................................................................................ 125pp.Terminate a session.........................................................................................................................................25Test code.................................................................................... 53, 58, 60, 69, 71p., 79, 81, 83, 85, 87, 103p.Test Message......................................................................................................... 53, 60, 69, 72, 83, 87, 103p.Title.......................................................................................................................................................101, 125UU.S.................................................................................................................................................................. 19U.S. Date & Time Format...............................................................................................................................19U.S. Industry Consensus Standard..........................................................................................................38, 134Unit Division Codes......................................................................................................... 53, 55, 63, 65, 69, 75Unit number.............................................................................................................................................. 49, 53Unit volume.................................................................................................................................................... 39Unknown Code.........................................................................37, 39, 53, 55p., 63, 65p., 69p., 75p., 133, 135Unknown value.......................................................................................39, 53, 55p., 63, 65p., 69p., 75p., 135USA Flag.................................................................................................................................. 37, 40, 133, 136VVER.......................................................................................................................................................... 9, 139Version info for the Print Server, HemaTraxLIB.dll, DTiSAM.DLL and PCode.tbl ..................................... 9Version Information......................................................................................................................................139Volume................................................................................................................................................. 153, 155Volume High......................................................................................................................... 37, 39p., 133, 136Volume Low............................................................................................................................. 37, 39, 133, 135Volume Prompt.........................................................................................................................37, 39, 133, 135WWinsock 2.0...................................................................................................................................................... 2XX Offset.................................................................................................................................................. 47, 137YY Offset.............................................................................................................................................. 9, 47, 137Year.......................................................................................................................................................... 71, 86ZZebra..........................................................................................................................................................143p.Zebra Technologies................................................................................................................................ 44, 129

HTServer_V3_0.odt -184- Copyright © 2007 by Digi-Trax Services, Inc.