HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which...

119
HemaTrax ISBT-128 TCP/IP Print Server API / User Guide

Transcript of HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which...

Page 1: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide

Page 2: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128
Page 3: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Table of ContentsVersion 1.7........................................................................................................................................................1

Updated: June 13, 2003..........................................................................................................................1Lawrence Cullen........................................................................................................................1

HemaTrax TCP/IP Print Server Overview...................................................................................................3

Print Server Functions....................................................................................................................................4

Development Kit Components........................................................................................................................6DnrTyp.txt..............................................................................................................................................6DTiSAM.DLL........................................................................................................................................6HemaTraxLIB.DLL...............................................................................................................................6HTClient.EXE........................................................................................................................................7HTPrintSrvr.EXE...................................................................................................................................7PCode.def, PCode.i00, PCode.i01, and PCode.tbl................................................................................7

HemaTrax Print Server Menu........................................................................................................................8Server.....................................................................................................................................................8

Start............................................................................................................................................9Stop............................................................................................................................................9

HemaTrax Printer Server Options...............................................................................................................10Local Host or IP Address.....................................................................................................................10Listening Port.......................................................................................................................................11Start automatically after system boot up..............................................................................................11Run minimized.....................................................................................................................................11Server / Data Path:...............................................................................................................................11User Name:..........................................................................................................................................11Password:.............................................................................................................................................12Autologous Donor................................................................................................................................12Label Compliance Authority................................................................................................................12ICCBBA Date/Time Format................................................................................................................12Disallow Expired Expiration Dates.....................................................................................................12Save......................................................................................................................................................12

HemaTrax Main Window Tabbed Pages....................................................................................................13Server Activity.....................................................................................................................................13Printer Settings.....................................................................................................................................13

Selecting a Serial Port..............................................................................................................14Selected COMx Port................................................................................................................14Printer Model...........................................................................................................................14Baud Rate.................................................................................................................................14CRC Enabled...........................................................................................................................14X−Offset, Y−Offset.................................................................................................................14

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide

i

Page 4: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Table of ContentsHemaTrax Main Window Tabbed Pages

Label Format Loaded...............................................................................................................15

The About Window........................................................................................................................................16Software Version.................................................................................................................................16HemaTraxLIB.dll Version...................................................................................................................16Product Table Release Date.................................................................................................................16

HemaTrax Print Server Client Connection.................................................................................................18

Get Donation Type/Use Codes.....................................................................................................................19

Get Product Information..............................................................................................................................20

Get Product Matches....................................................................................................................................24

Get Port..........................................................................................................................................................26

Get X,Y Offset...............................................................................................................................................28

Oneway Print Full Face Label.....................................................................................................................29 Oneway Full Face Label Example......................................................................................................35

Oneway Print Facility / Product..................................................................................................................36

Oneway Print Product / Date Label............................................................................................................39 Oneway Product/Date Label Example................................................................................................42

Oneway Print Product Label.......................................................................................................................43 Oneway Product Label Example........................................................................................................44

Print ABO−Rh Label....................................................................................................................................45ABO−Rh Label Example....................................................................................................................47

Print ABO−Rh/Date Label...........................................................................................................................49 ABO−Rh/Date & Time Label Example..............................................................................................53

Print Codabar ABO−Rh Label....................................................................................................................54 Codabar ABO−Rh Label Example.....................................................................................................57

Print Codabar Product Label......................................................................................................................59 Codabar Product Label Example........................................................................................................61

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide

ii

Page 5: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Table of ContentsPrint Date/Time Label...................................................................................................................................62

Date/Time Label Example..................................................................................................................64

Print Facility Label........................................................................................................................................65

Print Facility/Product Label.........................................................................................................................66

Print Full Face Label.....................................................................................................................................69 Full Face Label Example....................................................................................................................75

Print Instruction Label..................................................................................................................................77Instruction Label Example...................................................................................................................77

Print Intended Recipient Information Label.............................................................................................79 ISBT−128 Intended Recipient Label Example...................................................................................81

Print Product Label......................................................................................................................................82 ISBT−128 Product Label Example.....................................................................................................84

Print Product/Date Label..............................................................................................................................85ISBT−128 Product/Date Label Example.............................................................................................88

Print Unit ID Set Label.................................................................................................................................90

Print Wallet Id Card......................................................................................................................................91Donor Wallet ID Card Example..........................................................................................................92

Read Ports.......................................................................................................................................................94

Set Port............................................................................................................................................................95

Set Product Information................................................................................................................................97

Set X,Y Offset...............................................................................................................................................101

Write Ports...................................................................................................................................................102

Error Condition Responses.........................................................................................................................103

Error Numbers and Descriptions...............................................................................................................104

HemaTrax Weighted Product Codes.........................................................................................................107

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide

iii

Page 6: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Table of ContentsDonation Type Definition File....................................................................................................................111

File Description..................................................................................................................................111File Access.........................................................................................................................................111File Record Structure.........................................................................................................................111

Donation Type Description....................................................................................................111Product Code 6th Character...................................................................................................111ABO−Rh Label Intended Use Text.......................................................................................112Product Label Bar Code Interpretation Line Text.................................................................112

Other File Information.......................................................................................................................112Biohazard Status....................................................................................................................112Donor Type............................................................................................................................112

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide

iv

Page 7: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Version 1.7

Updated: June 13, 2003

Written by:

Lawrence Cullen

Copyright (c) 2002, 2003 by Digi−Trax Services, Inc.All rights reserved.

1

Page 8: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Version 1.7

2

Page 9: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax TCP/IP Print Server OverviewThe HemaTrax Print Server is an application program (not a Window's service) that executes on

four of the 32 bit Microsoft Windows operating system platforms (Windows 95, Windows 98,Windows NT and Windows 2000). Any system that supports a TCP/IP network connection to a PC

that is hosting Windows, is a candidate for using the HemaTrax print server. The print serverprogram takes advantage of the virtually universal connectivity provided by Transmission Control

Protocol over Internet Protocol (TCP/IP), the communications protocol spawned during thedevelopment of the Internet. The print server program recognizes and responds to a series of

function requests from a client system attached to the same network. The set of functionsprovided by the print server gives a client program the ability to print all four quadrants of theISBT−128 whole blood and blood component labels. These label quadrants can be printed asportions of a quadrant, as individual quadrants, in combinations of quadrants and as a full face

label.

The print server ships with the HemaTrax Product Label database which is based on the ICCBBAsupplied Product database. The HemaTrax database has been developed solely by Digi−Trax

Corporation and is designed specifically for printing blood product labels and searching for bloodproducts based on their known characteristics. The server program provides for full maintenance

access to a centralized HemaTrax Product Label database so that label text changes can bemade remotely and take effect immediately.

The server software supports up to thirty−two blood bank label printers attached to the computerhosting the print server program. These printers are attached to the printer server either directlywith RS−232C asynchronous serial lines to the native serial ports of the print server machine or

via network serial terminal servers, such as the EtherLite−II product from Digi International. Directserial line connections allow the printers to be located up to a hundred of feet from the printer

server, while the network serial terminal servers allow for connections over a thousand feet fromthe server. The print server program has been written to take advantage of the significant features

available only on Digi−Trax Enhanced printers. All of our blood bank printers have beenengineered to provide error−free communications and the quick printing of symbols and scaleable

outline fonts.

Digi−Trax Corporation provides the Microsoft Windows hosted HemaTrax.LPS ISBT−128 printserver application. The blood bank software developer writes a client function that opens a socketconnection to our print server. The label printing functionality added by investing in the creation of

this interface should easily outweigh the cost of the development time. By using our server it ispossible to add full ISBT−128 labeling capabilities to an application within six weeks. Starting withthe Version 1.70 release of the HemaTrax.LPS ISBT−128 TCP/IP Print Server, Codabar ABO−Rh

and Product labeling is supported as a standard feature. You can save a full man−year ofdevelopment 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 1.1 compliant TCP/IP stack. (The stackmust support a Winsock version of at least 1.1).

3

Page 10: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Server FunctionsThe following list provides the three character function request codes and associated functiondescriptions used in the HemaTrax print server interface. These function codes are sent to theHemaTrax.LPS TCP/IP print server which then operates upon them, returns requested informationand prints various ISBT−128 blood product label combinations.

BYE Disconnect from Print ServerGDU Get Donation Type/Use codesGPI Get Product InformationGPM Get Product Matches on HemaTrax Product CodeGPT Get Port (Serial communications)GXY Get X,Y OffsetNOP No Operation (Connection debugging use)OFF Oneway Print Full Face labelOFP Oneway Print Facility/Product labelOPD Oneway Print Product/Date labelOPR Oneway Print Product labelPAB Print ABO−Rh labelPAD Print ABO−Rh/Date label *PCA Print Codabar ABO−Rh/Exp. Date/Facility label *PCP Print Codabar Product label *PDT Print Date/Time labelPFC Print Facility labelPFF Print Full Face label *PFP Print Facility/Product labelPIN Print Instruction label *PIR Print Intended Recipient Information labelPPD Print Product/Date labelPPR Print Product labelPUN Print Unit ID Set labelPWC Print Wallet Id CardRPT Read Ports (Serial communications)SPI Set Product InfoSPT Set Port (Serial communications)SXY Set X,Y OffsetWPT Write Ports (Serial communications)

*Added or updated in the Version 1.70 release.

4

Page 11: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Many function codes are followed by a data structure record in the form of an ASCII text string.The fields (columns) of this text string are delimited using the “quotation mark−comma” format.Each field (column) of a data structure record (row) will be enclosed in quotation marks andseparated from any following field (column) with a comma. An empty field (column) is denoted bytwo quotation marks one immediately followed by another. The end of a record (row) is terminatedwith the carriage return character ( hexadecimal 0D). In the text of examples that follow thecarriage return character code is identified as <cr> . The contents of the TCP/IP message aredenoted by printing them in the Courier Font .

For those function requests which do not return information to the client, the server indicatessuccessful 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 ofthe response will be ERR. The exact contents of the error condition responses is covered in the“Error Condition Responses” section of this guide.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Server Functions

5

Page 12: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Development Kit ComponentsThe HemaTrax print server is built on top of the HemaTraxLIB.DLL which supplies all of thefunctions to access and maintain the blood products database, format the full range of ISBT−128blood bag labels, and drive the supported printers. As of Version 1.7, the print server uses theDTiSAM in−house developed database engine to create and maintain the database files. Theserver ships with the HemaTrax product database which is based on the ICCBBA product table.

The development kit consists of this manual and a CD−ROM or (2) diskettes with the followingfiles:

DnrTyp.txt

DTiSAM.DLL

HemaTraxLIB.DLL

HTClient.EXE

HTPrintSrvr.EXE

PCode.def

PCode.i00

PCode.i01

PCode.tbl

DnrTyp.txt

This is a text file that contains donation type and intended use descriptions and codes commonlyused for the product and ABO−Rh labels. The contents of this file can be accessed through theHemaTrax server.

DTiSAM.DLL

This is a new in−house Database Engine, introduced in Version 1.70, This engine is dynamicallyloaded by the HTPrintSrvr.EXE (HemaTrax Print Server) and used to access and update theHemaTrax product database files.

HemaTraxLIB.DLL

This is the HemaTrax function library which is dynamically linked with the HemaTrax serverprogram at run−time. This library contains all of the functions needed to access the HemaTraxproduct database, format labels and drive the supported printers on the serial COM ports that areavailable.

6

Page 13: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HTClient.EXE

This is a client demonstration program that runs on Windows 95/NT systems. It does not rely onany of the other files included with the development kit.

HTPrintSrvr.EXE

This is the standard HemaTrax Print Server program which implements all of the ISBT−128labeling features and now includes the extended printing functions to produce ABC CodabarABO−Rh and Product labels. This file along with the following files should be located in a commondirectory space on the server system: DnrTyp.txt, DTiSAM.DLL, HemaTraxLIB.DLL, PCode.def,PCode.i00, PCode.i01, and PCode.tbl.

PCode.def, PCode.i00, PCode.i01, and PCode.tbl

These are the HemaTrax product label database files. These are used by the HemaTrax Server tosupply product label information to the client program and for the content and formatting of theprinted product label quadrant.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Development Kit Components

7

Page 14: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax Print Server MenuAfter the HemaTrax Print Server is executed and with the window displayed, there are twoselections available from the menu bar at the top of the window. These menu selections are:Server and About.

Server

Clicking on the Server menu selection or pressing the Alt−S key combination causes a pull−downmenu list to appear with the following choices:Start , Stop , and Options. An illustration of this pull−down menu is shown immediately below:

8

Page 15: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

The Options selection is covered thoroughly in the next section.

Start

The Start selection when clicked causes the print server to start listening for connections. Whenthe server is started and actively listening, a check mark will appear in front of this selection.

Stop

The Stop selection when clicked causes the print server to stop listening for connections. Whenthe server is stopped and not actively listening, a check mark will appear in front of this selection.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide HemaTrax Print Server Menu

9

Page 16: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax Printer Server OptionsFrom the print server main window the Options window can be entered by first clicking on theServer menu item in the upper left hand portion of the window. With the drop−down menudisplayed click on the Options selection; this causes the HemaTrax Print Server OPTIONSwindow to be displayed.

Local Host or IP Address

At the top of the HemaTrax Print Server OPTIONS window is a panel which displays either theLocal Host or IP Address of the system on which the server is executing. The display of an IPaddress indicates that the host system has the appropriate Wsock32.dll and TCP/IP networkprotocol installed and configured.

10

Page 17: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Listening Port

This is the port number that the client side must use in combination with the IP address in order toestablish the TCP/IP socket connection to the server. It is important to select a port number whichwill not interfere with other “well−known” port numbers. All “well−known” port numbers fall in therange (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 areassigned by the Internet Assigned Numbers Authority (IANA). When assigning a port number forthe HemaTrax Print Server it is best to choose a number in the range ( 5001 – 10000). TheHemaTrax Print Server defaults to a listening port address of 5500 automatically if one is notspecifically assigned.

Start automatically after system boot up.

By checking this check box, located on the Start−Up Options panel, the user indicates that eachtime the system is restarted or booted (and in the case of Windows NT, an authorized user signson), the print server will be automatically loaded and started. This is accomplished by the creationof a link (short cut) file which is stored in the designated ‘Startup’ directory. Removing the checkmark from this box causes the link (short cut) file to be deleted from the designated ‘Startup’directory.

Run minimized

By checking this check box, located on the Start−Up Options panel, the user indicates that eachtime the print server is started, that the print server window will be minimized and placed on theTask Bar associated with the Window’s Start button. The Task Bar is typically located at thebottom edge of the Windows Desktop.

Server / Data Path:

By supplying a server name (or drive letter) and a path in this edit box, located on the Start−UpOptions panel, it is possible for the print server to share another system's data files. This will beused in cases where there is more than one HemaTrax Print Server on a network and allows themultiple servers to share a common product label database, donation type / intended use file andspecial test code file. If logging onto another system to access data files, it may be necessary tosupply a user name and password.

User Name:

Use this edit box, located on the Start−Up Options panel, to provide a user name when directingthe print server to use data files located on another system.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide HemaTrax Printer Server Options

11

Page 18: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Password:

Use this edit box, located on the Start−Up Options panel, to provide a password when directingthe print server to use data files located on another system.

Autologous Donor

By checking the 'Print "AUTOLOGOUS DONOR" on full face label for autologous donations. 'check box, located on the Start−Up Options panel, the print server is directed to printAUTOLOGOUS DONOR on the full face label instead of the generally accepted "VOLUNTEERDONOR" text. This feature has been provided for those previous customers that have a appliedfor this labeling variance with the FDA.

Label Compliance Authority

By checking the 'The label compliance authority is NOT the U.S. FDA. ' check box, located onthe Start−Up Options panel, the print server is directed to NOT include certain FDA/U.S.Consensus Standard label text adopted specifically for labeling blood in the United States.

ICCBBA Date/Time Format

By checking the 'Use the ICCBBA, not the U.S. Consensus Standard Date/Time label format. 'check box, located on the Start−Up Options panel, the print server is directed to use the ICCBBAISBT−128 standard specifications in place of the U.S. Consensus Standard specification forformatting the bar code and text of the expiration date on the date and time label quadrant.

Disallow Expired Expiration Dates

By checking the 'Disallow expired Expiration Dates on Date & Time Labels ' check box,located on the Start−Up Options panel, the print server direct the DLL functions to prohibit theprinting 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.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide HemaTrax Printer Server Options

12

Page 19: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax Main Window Tabbed PagesWith the HemaTrax Print Server window displayed there are two tabbed pages which consumethe majority of space in the window, these are:Server Activity and Printer Settings. These tabbed pages are used to determine the traffic to andfrom the server and to display and change serial port printer settings. This section explains theuse of each of these tabbed pages in detail.

Server Activity

The Server Activity tabbed page displays the information that is sent and received by the server.The purpose of this page is primarily for monitoring the exchange of data to determine possibleproblem areas with connectivity.

Printer Settings

The Printer Settings tabbed page displays all of the available serial ports. For each port detected the pageshows, the printer model that is assigned, the baud rate, whether CRC protocol is being used, the current X& Y−Offsets to the label image and the current label form that is loaded. This window also allows the userto make changes to each of these settings. A description of the screen and its settings follows immediately.

13

Page 20: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Selecting a Serial Port

To select a serial port for which settings are to be made or changed, place the mouse pointer in theappropriate serial port column of the table located in the upper portion of the page and left−click on it. Youwill notice that the controls at the bottom of the page will take on the settings of the selected column. Usingthe controls at the bottom of the page, make any changes desired. Left−click the Save button to then activatethe changes.

Selected COMx Port

The panel immediately below the Selected COMx Port label at the bottom left of the page indicates theserial communications port that is currently selected.

Printer Model

This radio button group is used to indicate or set the printer model that is currently associated with theselected serial port. To make a change just left−click on the appropriate choice.

Baud Rate

This radio button group is used to indicate or set the communications transmission speed to be used with theselected serial port. To make a change, left−click on the appropriate baud rate selection.

CRC Enabled

This check box is used to indicate or set the use of CRC (Cyclic Redundancy Check) error detectionprotocol with the printer that is assigned to the selected serial port. To change the setting, left click on thisselection to toggle it on or off.

Important Note: With CRC OFF all of the printer error status reporting capabilites, such as out of labels,out of ribbon, head open, etc., are also disabled. It is strongly recommended that CRC be enabled (ON) inall cases unless the printer model you have doesn't support this feature for some reason.

X−Offset, Y−Offset

These edit boxes are used to enter or change the home printing position of the label image for the printerattached to the specified serial port. By increasing the X−Offset value the printed image is moved to theright on the label; decreasing the X−Offset value moves the image to the left. Increasing the Y−Offset valuemoves the printed image down on the label and decreasing the Y−Offset value moves the image toward thetop of the label. The values given are in millimeters. The values may express decimal fractions of amillimeter.For example, 1.25 is a reasonable X or Y Offset value. While negative values may be entered, and maywork in some cases, doing so is not recommended and may result in printed labels that are missing

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide HemaTrax Main Window Tabbed Pages

14

Page 21: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

information.

Label Format Loaded

This radio button group is used to indicate what label form is currently loaded into the printer attached to aselected serial port. The print server uses this information to prohibit the printing of label formats on thewrong label stock.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide HemaTrax Main Window Tabbed Pages

15

Page 22: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

The About Window

After clicking on the About menu selection located at the top of the HemaTrax Print Server window, awindow, very similar to the one shown above, should be displayed. This About window serves to supply theuser with some important information.

Software Version

The software version is displayed immediately below the program title. When you are securing support youmay be asked to supply the version number of the program that you are currently using.

HemaTraxLIB.dll Version

As was mentioned earlier, the print server is built on top of the HemaTrax.LPS print engine. The printengine exists as a dynamically linked library (dll). All of the printer support and label formating capabilitiesare built into the dll. The current version of the dll is displayed in this window, immediately below thesoftware version number. Sometimes it is possible to correct bugs and/or provide additional features orenhancements by installing an updated dll. This display allows you to determine the current version of thedll. When you are securing support you may be asked to supply the dll version number.

Product Table Release Date

The release date (creation date) of the Hematrax.LPS Product Label table appears immediately below the

16

Page 23: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTraxLIB.DLL Version line. This date indicates when the product label table was generated. When youare securing support you may be asked to supply the product label table release date.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide The About Window

17

Page 24: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax Print Server Client ConnectionWhen the server detects a new client connection it automatically sends the following unsolicatedmessage to the client:

HemaTrax Print Server Connected

The client will typically establish a socket connection and make any number of requests to theprint server and then disconnect by sending the BYE command and then closing the socketconnection. The print server does not place any restriction on the length of time that a client maystay connected. The print server does not support more than twenty simultaneous clientconnections.

18

Page 25: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Get Donation Type/Use CodesSending GDU<cr> to the HemaTrax.LPS TCP/IP print server requests the list of Donation Type /Intended Use codes and descriptions. The server will respond to this request by returning a list asa carriage−return terminated string. The string is quotation−mark/comma delimited and eachrecord 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>"

is an ASCII text description, up to eighty bytes in size, of the donation type/intended use code thatfollows.

"<code>"

is a single ASCII character that represents the specific ICCBBA defined donation type/intendeduse 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 possiblenumber 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 DonorUse Only","2"|"Directed Donor Use Only, Biohazardous","3"|"Directed Donation, Eligiblefor Crossover","D"|"Directed Donor Use Only, Medical Exception","E"|"Directed DonorUse Only, Limited Exposure","L"|"Designated Donor","4"|"Dedicated Donor","5"|"PaidHomologous Donation","P"|"Paid Directed Collection,Eligible for Crossover","d"|"PaidResearch Collection","r"|"Paid Source Collection","s"|"Volunteer AllogeneicDonation","V"|"Volunteer Research Donation","R"|"Volunteer SourceDonation","S"|"Volunteer Therapeutic Collection","T"<cr>

19

Page 26: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Get Product InformationSending GPI,"<ICCBBA product code>"<cr> to the HemaTrax.LPS TCP/IP print serverindicates that the client program is requesting the HemaTrax product label database record whoseICCBBA product code matches the one passed in the request. A valid ICCBBA product code mustbe 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>", "<MfrCaution>", "<Additional Attributes>", "<Other Information>", "<Unknown Code1>","<Volume Prompt1>", "<Volume Low1>", "<Volume High1>", "<Unknown Code2>", "<VolumePrompt2>", "<Volume Low2>", "<Volume High2>", "<Unknown Code3>", "<Volume Prompt3>","<Volume Low3>", "<Volume High3>", "<Unknown Code4>", "<Volume Prompt4>", "<VolumeLow4>", "<Volume High4>", "<Not USA Flag>", "<Product Life>", "<Product Life Unit>","<Collection Date Flag>"<cr>

Where:

"<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 byfour numerals.

"<HemaTrax Product Code>"

is a ten character ASCII field that holds the weighted HemaTrax product code. For moreinformation about this code, refer to the section entitled "HemaTrax Weighted Product Codes" atthe end of this guide.

"<Product Description>"

is a one hundred twenty eight character ASCII field that holds an abbreviated product descriptionused in displays to the user. This description is specific enough to differentiate this product fromall others in the database. This is not the official product title used on the printed label.

"<Modifier>"

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

"<Component Class>"

is a forty character ASCII field that holds the proper product name text that will be printed on theproduct label. At the time of this writing there are twenty−seven component classes. Componentclasses include the following: APHERESIS CRYOPRECIPITATE, APHERESIS FRESH FROZEN PLASMA,APHERESIS GRANULOCYTES, APHERESIS GRANULOCYTES−PLATELETS, APHERESIS LEUKOCYTES,

20

Page 27: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

APHERESIS LYMPHOCYTES, APHERESIS MONOCYTES, APHERESIS PLASMA, APHERESIS PLATELETS,APHERESIS RED BLOOD CELLS, CRYOPRECIPITATE, FRESH FROZEN PLASMA, GRANULOCYTES,LEUKOCYTES, PLASMA, PLATELETS, PLATELET−RICH BUFFY COAT, PLATELET−RICH PLASMA, POOLEDCRYOPRECIPITATE, POOLED GRANULOCYTES, POOLED PLASMA, POOLED PLATELETS, POOLEDPLATELET−RICH BUFFY COAT, POOLED SERUM, RED BLOOD CELLS, SERUM and WHOLE BLOOD .

"<Additive Solution>"

is a forty character ASCII field that holds the text indicating the inclusion of an additive solution inthe 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 andADENINE−SALINE (AS−5) ADDED.

"<Attributes>"

is a one hundred character ASCII field that holds product attributes that will be printed on theproduct label. Per the U.S. Industry Consensus Standard Specification these attributes are to belisted in the reverse order with respect to the sequence in which these procedures have beenperformed with the exception of unit division and irradiation. At the time of this writing theseattributes included: ALBUMIN ADDED, CRYOPRECIPITATE REDUCED, DIVIDED, FROZEN WITHIN 24HOURS 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>"

is a sixty−five character ASCII field that holds the text for a manufacturing cautionary notice thatmay appear printed on the printed product label. At the time of this writing the cautionary noticesincluded: CAUTION: FOR FURTHER MANUFACTURING USE ONLY, CAUTION: FOR USE INMANUFACTURING NON−INJECTABLE PRODUCTS ONLY, CAUTION: FOR FURTHER MANUFACTURING INTOIN−VITRO DIAGNOSTIC REAGENTS FOR WHICH THERE ARE NO ALTERNATIVE SOURCES, CAUTION: NOTFOR TRANSFUSION OR FURTHER MANUFACTURE and CAUTION: FOR LABORATORY RESEARCH ONLY .

"<Additional Attributes>"

is a five hundred character ASCII field that contains the additional attribute information that will beprinted on the product label. This information includes, but is not limited to: number of units in apooled product, product volume, anticoagulant type and volume, and storage temperature.

"<Other Information>"

is a five hundred character ASCII field that contains other information that is to be printed at thebottom of the product label. This might included disease antigen testing information such asappears on plasma products.

"<Unknown Code1>"

"<Unknown Code2>"

"<Unknown Code3>"

"<Unknown Code4>"

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Get Product Information

21

Page 28: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

is a single ASCII character field. This character is used as a code to indicate the type of unknownvalue that follows in the following response value field. These codes and their meanings are listedimmediately below:

Code Meaning of 'Unknown Code' −−−− −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 0 No unknown value 1 Original draw volume in mLs 2 Unit volume in mLs 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 (reserved for future use) ... Z (reserved for future use)

"<Volume Prompt1>"

"<Volume Prompt2>"

"<Volume Prompt3>"

"<Volume Prompt4>"

is a forty character ASCII field that holds one of four volume/measure prompts. If this field isempty 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 unknowninformation that needs to be included on a label. Unknowns are typically volumes, but may also beanticoagulant types, etc.

"<Volume Low1>"

"<Volume Low2>"

"<Volume Low3>"

"<Volume Low4>"

is an eight character ASCII field that holds one of four volume/measure number low value rangevalues. If this field is empty it indicates that the user may enter any text at the prompt. A numerictext entry indicates that a numeric entry must be made in response to the prompt and that thevalue of the entry must be numerically greater than or equal to this field value.

"<Volume High1>"

"<Volume High2>"

"<Volume High3>"

"<Volume High4>"

is an eight character ASCII field that holds one of four volume/measure number high value rangevalues. If this field is empty it indicates that there is no high range value. A text entry for this fieldindicates that a numeric entry must be made in response to the prompt and that the value of theentry must be numerically less than this field value.

"<Not USA Flag>"

is a single character ASCII field that indicates whether or not the product defined here is

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Get Product Information

22

Page 29: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

recognized in the United States. An "F" represents False indicating that the product is recognizedand "T" represents True indicating that the product is not recognized.

"<Product Life>"

is a three character ASCII field that represents the integer product shelf life value. If this field isempty, then the shelf life for this product is not known.

"<Product Life Unit>"

is a single character ASCII field that indicates the unit of time measure relating to the integerproduct shelf life value mentioned above. This character will be one of the following:

D = DaysH = HoursY = Years

"<Collection Date Flag>"

is a single character ASCII field that indicates if this product takes a collection date instead of anexpiration 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.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Get Product Information

23

Page 30: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Get Product MatchesThis request provides for a filtered search based on the weighted HemaTrax product code. Tostart a search on the HemaTrax weighted product code the request to be sent takes the followingform:

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

Where:"<HemaTrax Product Code>" is a ten character ASCII field that holds the weighted HemaTraxproduct code and is passed to the server for database lookup. For more information about thiscode, 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 whichserves as an ambiguous matching character.

For example:If the HemaTrax product code is specified as "2200701?0?", this indicates that only REDBLOOD CELL products (22), with NO MODIFIER (0), with AS−3 anticoagulant (07), storedat 1 to 6 °C (01), all volumes (?), with NO MANUFACTURING CAUTION (0), and any of thecharacteristics {Not Irradiated nor Opened System, Irradiated and/or Opened System} (?),will be returned.

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

"<ICCBBA Product Code>","<ICCBBA Product Code>"…<cr>

Where:"<ICCBBA Product Code>"

is one or more five character ICCBBA product codes whose product characteristics match thosespecified by the HemaTrax product code. Detailed information for each of the ICCBBA codesreturned in the list can be individually looked up by use of the GPI function discussed previously.

The maximum number of ICCBBA product codes that may be returned as a response to the queryis set at two hundred (200). When the number of matches exceeds this maximum limit, then a201st entry will be returned at the end of the list as "MORE>". If more than two hundred matchesare made, the number of matches may be reduced by supplying a more fully defined HemaTraxproduct code.

For example:If a HemaTrax product code of "22????????" is supplied, requesting a list of all REDBLOOD CELL products, the first 200 matching ICCBBA product codes are returned and atthe end of the list the 201st entry, "MORE>" is returned indicating that there are morematching product codes.Refining the HemaTrax product code by specifying a MODIFIER code for "FROZENREJUVENATED", which is (3), and an ANTICOAGULANT / ADDITIVE SOLUTION code forNone specified, which is (01), results in a HemaTrax product code of "22301?????". When

24

Page 31: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

this refined HemaTrax product code is sent in the GPM request, the returned matching listwill include 12 ICCBBA product codes.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Get Product Matches

25

Page 32: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Get PortSending the following to the HemaTrax.LPS TCP/IP print server indicates that the client programis requesting the current communications parameters for the "<Port Number>" serialcommunications port:

GPT,"<Port Number>"<cr>

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

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

Where:"<Port Number>" is the serial COM port number that is being requested. The COM portnumber is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" willselect serial port COM2 and "11" will select COM11 and so on."<Printer Model Code>" is an ASCII character code that indicates which printermanufacturer/model is attached to the specified port. The codes returned are as follows:

PrinterCode Printer Manufacuturer

"0" None"1" SATO BB−8450 (M8450) Codabar Only"2" SATO BB−412 (CL412 'Digi−Trax Enhanced')

"3"

Zebra (any 300 dpi 'Digi−Trax Enhanced'model)105SeZ4000Z4M

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

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

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

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

26

Page 33: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

Form Code Form Description"0" No form loaded"1" 2"W X 0.75"H (Facility Name & Address label)

"2" 2"W X 2"H (ABO, Date/Time, or Product label singlequadrant)

"3" 2"W X 3.25"H (Facility/Product combination label)"4" 2.5"W X 1"H (Intended Recipient Information label)

"5" 4"W X 2"H (ABO/Date & Time, or Product/Date &Time label two quadrants)

"6" 4"W X 4"H (Full Face label four quadrants)"7" 3.375"W X 2.125"H (Donor Wallet Id Card)"8" Unit ID Set"9" 1.75"W X 3.0"H (Codabar ABO−Rh label)"10" 2.3"W X 1.0"H (Codabar Product label)

An example of a request transmission and the typical response to the request follows:

Transmitted: GPT,"1"<cr>

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Get Port

27

Page 34: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Get X,Y OffsetSending the following request causes the server to get the current X,Y print coordinate offsetvalues for the serial 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>"

Where:

"<Port Number>" is the serial COM port number that is being requested. The COM port number isspecified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will select serialport COM2 and "11" will select COM11 and so on.

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

"<Y Offset Value>" is an ASCII character field that expresses the vertical offset in decimal formatin 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.35mm).

28

Page 35: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Oneway Print Full Face LabelSending the request to print a full face label as shown below, causes the server to print therequested number of full face labels on the printer attached to the serial 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 TestCode>","<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>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

"<Unit Number>" is an ASCII text field that is fifteen characters in length. The first five charactersare the unique facility registration number assigned by the International Council for Commonalityin Blood Bank Automation (ICCBBA). The next two characters represent the last two digits of thecollection year. The next six digits are the sequential accession number for the unit id number ofthe blood collection. The last two digits are the flag digits (typically 00 ). The last two digits mayoptionally be followed by a character that represents the optional manual entry check digit. If themanual entry check digit is appended to the end of the unit number, it will be printed in a box asspecified in the standards.

"<Facility_Name_1>"is an ASCII character field, up to forty characters in length, that holds theoriginal collection and processing facility name that may appear at the middle third of the upperleft hand label quadrant (below the unit identification number).

"<Facility_City_State_Zip_Code_1>" 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 appearsimmediately below the facility name in the middle third portion of the upper left hand labelquadrant.

"<Licensee_Name_1>"is an ASCII character field, up to forty characters in length, that holds theoptional central licensee name. This licensee name, when specified, is printed immediately beforethe facility name in the middle third portion of the upper left hand label quadrant.

29

Page 36: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

"<Licensee_City_State_Zip_Code_1>" 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 zipcode text is printed immediately after the licensee name in the middle third portion of the upper lefthand label quadrant.

"<Registration_Number_1>" is an ASCII character field, seven digits long, that holds the facilityregistration number text. This registration number text, when specified, is printed immediatelybelow the facility city, state and zip code line in the middle third of the upper left hand labelquadrant.

"<License_Number_1>"is an ASCII character field, up to four characters long, that holds theoptional facility or central licensee license number text. This license number, when specified, isprinted immediately below the facility city, state and zip code line in the middle third of the upperleft hand label quadrant.

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

"<Donation Type/Intended Use Code>" is a single ASCII character field that represent thedonation type/intended use code for the unit to be labeled. See the GDU function request for moreinformation regarding this code.

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

"<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 toindicate the type of unknown value that follows in the next field. These codes and their meaningsare listed immediately below:

Code Meaning of 'Unknown Code'0 No unknown value1 Original draw volume in mLs2 Unit volume in mLs3 Anticoagulant volume in mLs4 HES volume in mEq5 Number of units in pool6 Anticoagulant abbreviation (CPD, CPDA−1, etc.)7 Additive solution volume in mLs

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Full Face Label

30

Page 37: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

8 (reserved for future use) …Z (reserved for future use)

"<Unknown Value 1>"

"<Unknown Value 2>"

"<Unknown Value 3>"

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

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

Code ABO−Rh Description

00None Specified (* Added in 1.7version)

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) 12 AB (no Rh factor specified)

13para−Bombay (Ah or Bh) RhNegative

14para−Bombay (Ah or Bh) RhPositive

15 Bombay (Oh) Rh Negative 16 Bombay (Oh) Rh Positive

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Full Face Label

31

Page 38: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

97Do Not Transfuse Based On TestResults

98 Fractionation Use Only 99 Research Use Only

Table corrected June 13, 2003

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

"<Donation Code>" is a single ASCII character code that indicates the donation type / intendeduse. See the GDU function request for more information regarding this code.

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

Code Kell Test Description0 No Test1 Negative2 Positive

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

Code Anti−C / Anti−c Test Description0 No Test

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Full Face Label

32

Page 39: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

1 Anti−C = Neg., Anti−c = Pos.2 Anti−C = Pos., Anti−c = Neg.3 Anti−C = Pos., Anti−c = Pos.

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

Code Anti−E / Anti−e Test Description0 No Test1 Anti−E = Neg., Anti−e = Pos.2 Anti−E = Pos., Anti−e = Neg.3 Anti−E = Pos., Anti−e = Pos.

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

Code Miltenberger Test Description0 No Test1 Negative2 Positive

"<Month>" is an ASCII character field that holds the numeric month value, expressed as one or twonumeric 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 oneor 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 numericcharacters. 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 theDate/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, expressedas numeric characters. The valid range for this field is ( 00 – 59).

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Full Face Label

33

Page 40: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

"<Eye Read Time Flag>" is a single ASCII character that indicates whether or not the time is to beprinted 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 andtime is to be treated as a collection data and time. "T" (True) indicates that it is a collection dateand time, "F" (False) indicates that it is an expiration date and time.

"<Test Code>" is an ASCII character field, five characters long, that holds an optional test resultcode. This test code, when specified, should be five characters in length and conform to the testcodes that have been settled on by the national standards organization. The print server willautomatically prefix the code with the appropriate data identifiers.

"<Test Message>" is an ASCII character field that holds the optional test result text message. Thistext message, when specified, serves as the eye read interpretation of the five character test codedescribed immediately above. This text should conform to the test code descriptions that havebeen settled on by the national standards organization.

"<Processing Message>" is an ASCII character field, up to twenty−eight characters in length, thatholds the optional further processing message that may appear at the bottom third of the date andtime label quadrant. This text will appear immediately above the processing facility name.

"<Facility_Name_2>" is an ASCII character field, up to forty characters in length, that holds theoptional further processing facility name that may appear at the bottom third of the date and timelabel quadrant. This text will appear immediately below the processing message text describedabove.

"<Facility_City_State_Zip_Code_2>" 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 labelquadrant.

"<Licensee_Name_2>" is an ASCII character field, up to forty characters in length, that holds theoptional central licensee name. This licensee name, when specified, is printed immediately beforethe facility name in the lower third portion of the date and time label quadrant.

"<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 zipcode text, when specified, is printed immediately after the licensee name in the lower third portionof the date and time label quadrant.

"<Registration_Number_2>" is an ASCII character field, seven digits long, that holds the facilityregistration number text. This registration number text, when specified, is printed immediatelybelow the facility city, state and zip code line in the bottom third of the date and time labelquadrant.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Full Face Label

34

Page 41: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

"<License_Number_2>" is an ASCII character field, three or four digits long, that holds the optionalfacility or central licensee license number text. This license number, when specified, is printedimmediately below the facility city, state and zip code line in the bottom third of the date and timelabel quadrant.

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

Oneway Full Face Label Example

The label in the illustration shown immediately below is typical of the labels produced by thisHemaTrax.LPS ISBT−128 TCP/IP Print Server function.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Full Face Label

35

Page 42: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Oneway Print Facility / ProductSending the request to print a facility label as shown below, causes the server to print therequested number of facility labels on the printer attached to the serial port number specified.

OFP,"<Port Number>", "<Facility Name>", "<Facility City State Zip Code>", "<LicenseeName>", "<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 serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

"<Facility Name>" is an ASCII character field, up to forty characters in length, that holds theoriginal collection and processing facility name that may appear at the bottom third of the date andtime label quadrant. This text will appear immediately below the processing message textdescribed above.

"<Facility City State Zip Code>" 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 labelquadrant.

"<Licensee Name>" is an ASCII character field, up to forty characters in length, that holds theoptional central licensee name. This licensee name, when specified, is printed immediately beforethe facility name in the lower third portion of the date and time label quadrant.

36

Page 43: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

"<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 zipcode text, when specified, is printed immediately after the licensee name in the lower third portionof the date and time label quadrant.

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

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

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

"<Donation Type/Intended Use Code>" is a single ASCII character field that represent thedonation type/intended use code for the unit to be labeled. See the GDU function request for moreinformation regarding this code. If no 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 divisionindication codes for the primary and secondary unit divisions. If there is no divisions then this fieldmust contain "00" (zeroes).

"<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 toindicate the type of unknown value that follows in the next field. These codes and their meaningsare listed immediately below:

Code Meaning of Unknown Code0 No unknown value1 Original draw volume in mLs2 Unit volume in mLs3 Anitcoagulant volume in mLs4 HES content in mEq5 Number of units in pool6 Anticoagulant abbreviation (CPD, CPDA−1, etc.)7 Additive solution volume in mLs

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Facility / Product

37

Page 44: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

8 (reserved for future use)– (reserved for future use)Z (reserved for future use)

"<Unknown Value 1>"

"<Unknown Value 2>"

"<Unknown Value 3>"

"<Unknown Value 4>" each is a variable length ASCII character field that holds the unknown valuefor the unknown code that has been defined in the field prior to this one. The maximum length ofthis field is eight characters. The contents of this field is not checked to determine if it is alphabeticor numeric only. The content of this field is blindly inserted into the designated additional attributetext postion of the product code label. If a specific unknown value type is missing and isdesignated for the product label, then a blank line will appear on the label where the unknownvalue 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.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Facility / Product

38

Page 45: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Oneway Print Product / Date LabelSending the request to print a product/date and time label as shown below, causes the server toprint the requested number of product/date and time labels on the printer attached to the serialport number specified.

OPD,"<Port Number>", "<ICCBBA Product code>", "<Donation Type/Intended Use>", "<UnitDivision 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 ReadTime Flag>", "<Collection Date Flag>", "<Test Code>", "<Test Message>", "<ProcessingMessage>", "<Facility Name>", "<Facility City State Zip Code>", "<Licensee Name>","<Licensee City State Zip Code>", "<Registration Number>", "<License Number>", "<Numberof Labels>"<cr>

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

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

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

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

"<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 toindicate the type of unknown value that follows in the next field. These codes and their meaningsare listed immediately below:

Code Meaning of Unknown Code0 No unknown value1 Original draw volume in mLs

39

Page 46: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

2 Unit volume in mLs3 Anitcoagulant volume in mLs4 HES content in mEq5 Number of units in pool6 Anticoagulant abbreviation (CPD, CPDA−1, etc.)7 Additive solution volume in mLs8 (reserved for future use)– (reserved for future use)Z (reserved for future use)

"<Unknown Value 1>"

"<Unknown Value 2>"

"<Unknown Value 3>"

"<Unknown Value 4>" each is a ASCII character field, holding from (0) zero to eight characters,that provides the unknown value to be associated with the unknown code defined in the field priorto this one. The maximum length of this field is eight characters. The contents of this field is notchecked to determine if it is alphabetic or numeric only. The content of this field is blindly insertedinto the designated additional attribute text postion of the product code label. If a specific unknownvalue type is missing and is designated for the product label, then a blank line will appear on thelabel where the unknown value can be hand written later.

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

"<Day>" 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>" is an ASCII character field, four digits long, that holds the numeric year value, expressedas 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 theDate/Time label quadrant.

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

"<Minute>" is a two ASCII character field that holds the numeric minute of hour value, expressedas 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 beprinted 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 andtime is to be treated as a collection data and time. "T" (True) indicates that it is a collection date

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Product / Date Label

40

Page 47: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

and time, "F" (False) indicates that it is an expiration date and time.

"<Test Code>" is an ASCII character field that holds an optional test result code. This test code,when specified, should be five characters in length and conform to the test codes that have beensettled on by the national standards organization. The print server will automatically prefix thecode with the appropriate data identifiers.

"<Test Message>" is an ASCII character field, up to twenty−eight characters long, that holds theoptional test result text message. This text message, when specified, serves as the eye readinterpretation of the five character test code described immediately above. This text shouldconform to the test code descriptions that have been settled on by the national standardsorganization.

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

"<Facility Name>" is an ASCII character field, up to forty characters in length, that holds theoptional further processing facility name that may appear at the bottom third of the date and timelabel quadrant. This text will appear immediately below the processing message text describedabove.

"<Facility City State Zip Code>" 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 labelquadrant.

"<Licensee Name>" is an ASCII character field, up to forty characters in length, that holds theoptional central licensee name. This licensee name, when specified, is printed immediately beforethe facility name in the lower third portion of the date and time label quadrant.

"<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 zipcode text, when specified, is printed immediately after the licensee name in the lower third portionof the date and time label quadrant.

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

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Product / Date Label

41

Page 48: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

Oneway Product/Date Label Example

The label in the illustration shown immediately below is typical of the labels produced by thisHemaTrax.LPS ISBT−128 TCP/IP Print Server function.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Product / Date Label

42

Page 49: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Oneway Print Product LabelSending the request to print a facility label as shown below, causes the server to print therequested number of facility labels on the printer attached to the serial port number specified.

OPR,"<Port Number>", "<ICCBBA Product code>", "<Donation Type/Intended Use>", "<UnitDivision 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 serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

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

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

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

"<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 toindicate the type of unknown value that follows in the next field. These codes and their meaningsare listed immediately below:

Code Meaning of Unknown Code0 No unknown value1 Original draw volume in mLs2 Unit volume in mLs3 Anitcoagulant volume in mLs4 HES content in mEq5 Number of units in pool6 Anticoagulant abbreviation (CPD, CPDA−1, etc.)

43

Page 50: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

7 Additive solution volume in mLs8 (reserved for future use)– (reserved for future use)Z (reserved for future use)

"<Unknown Value 1>"

"<Unknown Value 2>"

"<Unknown Value 3>"

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

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

Oneway Product Label Example

The label in the illustration shown immediately below is typical of the oneway product labelsproduced by this HemaTrax.LPS ISBT−128 TCP/IP Print Server function.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Oneway Print Product Label

44

Page 51: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print ABO−Rh LabelSending the request to print an ABO−Rh label, as shown below, causes the server to print therequested number of ABO−Rh labels on the printer attached to the serial port number specified.

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

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

"<Blood Type Code>" is a required two character ASCII field that holds the integer code used tospecify 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

00None Specified (* Added in 1.7version)

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) 12 AB (no Rh factor specified)

13para−Bombay (Ah or Bh) RhNegative

14para−Bombay (Ah or Bh) RhPositive

15 Bombay (Oh) Rh Negative

45

Page 52: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

97Do Not Transfuse Based On TestResults

98 Fractionation Use Only 99 Research Use Only

Table corrected June 13, 2003

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

"<Donation Code>" is a single ASCII character code that indicates the donation type / intendeduse. See the GDU function request for more information regarding this code.

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

Code Kell Test Description0 No Test1 Negative2 Positive

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

Code Anti−C / Anti−c Test Description

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print ABO−Rh Label

46

Page 53: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

0 No Test1 Anti−C = Neg., Anti−c = Pos.2 Anti−C = Pos., Anti−c = Neg.3 Anti−C = Pos., Anti−c = Pos.

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

Code Anti−E / Anti−e Test Description0 No Test1 Anti−E = Neg., Anti−e = Pos.2 Anti−E = Pos., Anti−e = Neg.3 Anti−E = Pos., Anti−e = Pos.

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

Code Miltenberger Test Description0 No Test1 Negative2 Positive

"<Number of Labels>"

is an ASCII numeric character field, one to four digits long that specifies the number of labels thatare to be printed.

ABO−Rh Label ExampleThe label in the illustration shown below is typical of the ISBT−128 ABO−Rh labels produced bythis HemaTrax.LPS ISBT−128 TCP/IP Print Server function.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print ABO−Rh Label

47

Page 54: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print ABO−Rh Label

48

Page 55: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print ABO−Rh/Date LabelSending the request to print an ABO−Rh/Date and Time label as shown below, causes the serverto print the requested number of ABO−Rh/Date and Time labels on the printer attached to theserial 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 TestCode>", "<Month>", "<Day>", "<Year>", "<Hour>","<Minute>","<Eye Read TimeFlag>","<Collection Date Flag>","<Test Code>","<Test Message>", "<ProcessingMessage>", "<Facility Name>", "<Facility City State Zip Code>", "<Licensee Name>","<Licensee City State Zip Code>", "<Registration Number>", "<License Number>", "<Numberof Labels>"<cr>

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

"<Blood Type Code>" is a required two character ASCII field that holds the integer code used tospecify 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

00None Specified (* Added in 1.7version)

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) 12 AB (no Rh factor specified)

13para−Bombay (Ah or Bh) RhNegative

49

Page 56: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

14para−Bombay (Ah or Bh) RhPositive

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

97Do Not Transfuse Based On TestResults

98 Fractionation Use Only 99 Research Use Only

Table corrected June 13, 2003

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

"<Donation Code>" is a single ASCII character code that indicates the donation type / intendeduse. See the GDU function request for more information regarding this code.

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

Code Kell Test Description0 No Test1 Negative2 Positive

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print ABO−Rh/Date Label

50

Page 57: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Code Anti−C / Anti−c Test Description0 No Test1 Anti−C = Neg., Anti−c = Pos.2 Anti−C = Pos., Anti−c = Neg.3 Anti−C = Pos., Anti−c = Pos.

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

Code Anti−E / Anti−e Test Description0 No Test1 Anti−E = Neg., Anti−e = Pos.2 Anti−E = Pos., Anti−e = Neg.3 Anti−E = Pos., Anti−e = Pos.

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

Code Miltenberger Test Description0 No Test1 Negative2 Positive

"<Month>" is an ASCII character field that holds the numeric month value, expressed as one or twonumeric 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 oneor 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 numericcharacters. 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 theDate/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).

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print ABO−Rh/Date Label

51

Page 58: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

"<Minute>" is an ASCII two character field that holds the numeric minute of hour value, expressedas 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 beprinted 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 andtime is to be treated as a collection data and time. "T" (True) indicates that it is a collection dateand time, "F" (False) indicates that it is an expiration date and time.

"<Test Code>" is an ASCII character field, five characters long, that holds an optional test resultcode. This test code, when specified, should be five characters in length and conform to the testcodes that have been settled on by the national standards organization. The print server willautomatically prefix the code with the appropriate data identifiers.

"<Test Message>" is an ASCII character field that holds the optional test result text message. Thistext message, when specified, serves as the eye read interpretation of the five character test codedescribed immediately above. This text should conform to the test code descriptions that havebeen settled on by the national standards organization.

"<Processing Message>" is an ASCII character field, up to twenty−eight characters in length, thatholds the optional further processing message that may appear at the bottom third of the date andtime label quadrant. This text will appear immediately above the processing facility name.

"<Facility Name>" is an ASCII character field, up to forty characters in length, that holds theoptional further processing facility name that may appear at the bottom third of the date and timelabel quadrant. This text will appear immediately below the processing message text describedabove.

"<Facility City State Zip Code>" 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 labelquadrant.

"<Licensee Name>" is an ASCII character field, up to forty characters in length, that holds theoptional central licensee name. This licensee name, when specified, is printed immediately beforethe facility name in the lower third portion of the date and time label quadrant.

"<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 zipcode text, when specified, is printed immediately after the licensee name in the lower third portionof the date and time label quadrant.

"<Registration Number>" is an ASCII character field, seven digits long, that holds the facilityregistration number text. This registration number text, when specified, is printed immediately

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print ABO−Rh/Date Label

52

Page 59: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

below the facility city, state and zip code line in the bottom third of the date and time labelquadrant.

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

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

ABO−Rh/Date & Time Label Example

The label in the illustration shown immediately below is typical of the ISBT−128 ABO−Rh/Date &Time labels produced by this HemaTrax.LPS ISBT−128 TCP/IP Print Server function. In theexample shown all possible fields have been specified, including: (1) Expiration Month, Day andYear, (2) Licensee Name, Location and License Number, (3) Processing Message, (3) FacilityName, Location and Registration Number.

Label shown in its printing orientation

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print ABO−Rh/Date Label

53

Page 60: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Codabar ABO−Rh LabelThis function is only available in the "Plus" edition of the print server. Sending the request to printan ABO−Rh/Date and Time label as shown below, causes the server to print the requestednumber of ABO−Rh/Date and Time labels on the printer attached to the serial port numberspecified.

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 StateZip Code>", "<Registration Number>", "<Bar Code Flag>", "<Number of Labels>"<cr>

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

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

Code ABO−Rh Description01 O Rh Negative02 O Rh Positive03 A Rh Negative04 A Rh Positive05 B Rh Negative06 B Rh Positive07 AB Rh Negative08 AB Rh Positive09 For Further Manufacture10 Biohazard11 Not for Transfusion12 Emergency Use Only13 For Autologous Use Only14 Hold for Further Processing15 O (no Rh factor specified)16 A (no Rh factor specified)17 B (no Rh factor specified)

54

Page 61: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

18 AB (no Rh factor specified)

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

Code MonthJAN JanuaryFEB FebruaryMAR MarchAPR AprilMAY MayJUN JuneJUL JulyAUG AugustSEP SeptemberOCT OctoberNOV NovemberDEC December

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

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

"<Exp. Hour>" 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>" 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>" is an ASCII character field that holds the optional central licensee name. Thisfield may be up to seventy−two characters in length. No more than 36 characters are allowed on aprinted line. The line break may be predetermined by inserting a vertical bar character "|" in thetext. In the absence of the vertical bar character, the function finds a space character at or beforethe thirty−seventh character position in the text and breaks the line there. If the balance ofcharacters exceeds a count of thirty−six then the second printed line is truncated.

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Codabar ABO−Rh Label

55

Page 62: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Codabar ABO−Rh Label

56

Page 63: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

"<Facility Name>" is an ASCII character field that holds the processing facility name that appearsat the below the ABO−Rh label. This text will appear immediately below the Processing Message

text described above. This field may be up to seventy−two characters in length. No more than 36characters are allowed on a printed line. The line break may be predetermined by inserting avertical bar character "|" in the text. In the absence of the vertical bar character, the function findsa space character at or before the thirty−seventh character position in the text and breaks the linethere. If the balance of characters exceeds a count of thirty−six then the second printed line istruncated.

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

"<Registration Number>" 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, stateand zip code line in the bottom third of the date and time label quadrant. The registration numbermust be eight characters 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 aspurely numeric or as alphanumeric respectively. The balance of seven digits represents theassigned registration number.

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

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

Codabar ABO−Rh Label Example

The label in the illustration shown immediately below is typical of the ABC Codabar ExpirationDate/ABO−Rh/Facility label produced by this HemaTrax.LPS ISBT−128 TCP/IP Print Server Plusfunction. In the example shown all possible fields have been specified, including: (1) ExpirationMonth, Day and Year, (2) Licensee Name, Location and License Number, (3) ProcessingMessage, (3) Facility Name, Location and Registration Number.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Codabar ABO−Rh Label

57

Page 64: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Example: Codabar ABO−Rh Label

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Codabar ABO−Rh Label

58

Page 65: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Codabar Product LabelThis function is only available in the "Plus" edition of the print server. Sending the request to printa Codabar product label as shown below, causes the server to print the requested number ofproduct labels on the printer attached to the serial port number specified.

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

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

"<Title>" 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>" are optional fields thatdescribe attributes of the product. Attributes include things such as "Adenine−Saline Added","Irradiated", etc. Each of these fields will accept up to thirty characters.

"<Product Code>" is the five digit code that is both printed in eye read and bar code format andidentifies the type of product. This field is required and must be five digits in length.

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

59

Page 66: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Codabar Product Label

60

Page 67: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Codabar Product Label Example

The label in illustration shown immediately below is typical of the ABC Codabar product labelproduced by the HemaTrax.LPS ISBT−128 TCP/IP Print Server Plus PCP function. In the exampleshown not all of the possible fields have been specified.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Codabar Product Label

61

Page 68: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Date/Time LabelSending the request to print an ABO−Rh/Date and Time label as shown below, causes the serverto print the requested number of ABO−Rh/Date and Time labels on the printer attached to theserial port number specified.

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

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labelsare to be printed. The COM port number is specified as an ASCII numeric string in the range (1 –32). So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

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

"<Day>" 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>" is a four ASCII character field that holds the numeric year value. The valid rangefor this field is ( 0 – 9999 ).

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

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

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

"<Eye Read Time Flag>" is a single ASCII character that indicates whether or not thetime is to be printed on the label in eye read format. "T" (True) indicates that the eye readtime is to be printed, "F" (False) indicates that the time is not to be printed in eye readformat.

"<Collection Date Flag>" is a single ASCII character that indicates whether or not thedate and time is to be treated as a collection data and time. "T" (True) indicates that it is acollection date and time, "F" (False) indicates that it is an expiration date and time.

62

Page 69: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

"<Test Code>" is an ASCII character field that holds an optional test result code. This testcode, when specified, should be five characters in length and conform to the test codesthat have been settled on by the national standards organization. The print server willautomatically prefix the code with the appropriate data identifier.

"<Test Message>" is an ASCII character field, up to twenty−eight characters long, thatholds the optional test result text message. This text message, when specified, serves asthe eye read interpretation of the five character test code described immediately above.This text should conform to the test code descriptions that have been settled on by thenational standards organization.

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

"<Facility Name>" is an ASCII character field, up to forty characters long, that holds theoptional further processing facility name that may appear at the bottom third of the dateand time label quadrant. This text will appear immediately below the processing messagetext described above.

"<Facility City State Zip Code>" is an ASCII character field, up to forty characterslong, 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 ofthe date and time label quadrant.

"<Licensee Name>" is an ASCII character field, up to forty characters long, that holds theoptional central licensee name. This licensee name, when specified, is printed immediatelybefore the facility name in the lower third portion of the date and time label quadrant.

"<Licensee City State Zip Code>" is an ASCII character field, up to forty characterslong, 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 inthe lower third portion of the date and time label quadrant.

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

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

"<Number of Labels>" is a one to four ASCII numeric character field that specifies the

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Date/Time Label

63

Page 70: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

number of labels that are to be printed.

Date/Time Label Example

The label in the illustration shown immediately below is typical of the ISBT−128 date andtime label produced by this HemaTrax.LPS TCP/IP Print Server function.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Date/Time Label

64

Page 71: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Facility LabelSending the request to print a facility label as shown below, causes the server to print therequested number of facility labels on the printer attached to the serial port number specified.

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

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels are to be printed.The COM port number is specified as an ASCII numeric string in the range (1 – 32). So, for example, "2" will selectserial port COM2 and "11" will select COM11 and so on.

"<Facility Name>" is an ASCII character field, up to forty characters long, that holds the original collection andprocessing facility name that may appear at the bottom third of the date and time label quadrant. This text will appearimmediately below the processing message text described above.

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

"<Licensee Name>" is an ASCII character field, up to forty characters long, that holds the optional central licenseename. This licensee name, when specified, is printed immediately before the facility name in the lower third portion ofthe date and time label quadrant.

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

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

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

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

65

Page 72: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Facility/Product LabelSending the request to print a facility label as shown below, causes the server to print therequested number of facility labels on the printer attached to the serial port number specified.

PFP, "<Port Number>", "<Facility Name> ", "<Facility City State Zip Code> ", "<LicenseeName> ", "<Licensee City State Zip Code> ", "<Registration Number>", "<License Number>", "<ICCBBA Product code> ", "<Donation Type/Intended Use> ", "<Unit Division Codes>", "<Modifier> ", "<Component Class>", "<Additive Solution> ", "<Attributes> ", "<MfrCaution> ", "<Addition Attributes> ", "<Other Information> ", "<Volume Response1> ","<Volume Response2> ", "<Volume Response3> ", "<Volume Response4>", "<Division Volume>", "<Number of Labels>"<cr>

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

"<Facility Name>" is an ASCII character field, up to forty characters long, that holds the originalcollection and processing facility name that may appear at the bottom third of the date and timelabel quadrant. This text will appear immediately below the processing message text describedabove.

"<Facility City State Zip Code>" is an ASCII character field, up to forty characters long, thatholds 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 labelquadrant.

"<Licensee Name>" is an ASCII character field, up to forty characters long, that holds the optionalcentral licensee name. This licensee name, when specified, is printed immediately before thefacility name in the lower third portion of the date and time label quadrant.

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

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

"<License Number>" is a three or four ASCII numeric character field that holds the optional facilityor central licensee license number text. This license number, when specified, is printedimmediately below the facility city, state and zip code line in the bottom third of the date and timelabel quadrant.

66

Page 73: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

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

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

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

"<Component Class>" is a forty character ASCII field that holds the proper product name text thatwill be printed on the product label. At the time of this writing there are twenty−two componentclasses. Component classes include the following: APHERESIS CRYOPRECIPITATE, APHERESISFRESH 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 BUFFYCOAT, PLATELET−RICH PLASMA, POOLED CRYOPRECIPITATE, POOLED GRANULOCYTES, POOLEDPLASMA, POOLED PLATELETS, RED BLOOD CELLS and WHOLE BLOOD .

"<Additive Solution>" is a forty character ASCII field that holds the text indicating the inclusionof an additive solution in the blood product and which will appear on the printed label. Currentlythe 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>" is a one hundred character ASCII field that holds product attributes that will beprinted on the product label. Per the U.S. Industry Consensus Standard Specification theseattributes are to be listed in the reverse order with respect to the sequence in which theseprocedures have been performed with the exception of unit division and irradiation. At the time ofthis 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, PLATELETSREDUCED, PLATELETS−CRYOPRECIPITATE REDUCED and SUPERNATANT REMOVED . If more than oneattribute is included, then the attributes are seperated one from the other by the vertical barcharacter "|".

"<Mfr Caution>" is a sixty−five character ASCII field that holds the text for a manufacturingcautionary notice that may appear printed on the printed product label. At the time of this writingthe cautionary notices included: CAUTION: FOR FURTHER MANUFACTURING USE ONLY, CAUTION: FORUSE IN MANUFACTURING NON−INJECTABLE PRODUCTS ONLY, CAUTION: FOR FURTHERMANUFACTURING INTO IN−VITRO DIAGNOSTIC REAGENTS FOR WHICH THERE ARE NO ALTERNATIVESOURCES, CAUTION: NOT FOR TRANSFUSION OR FURTHER MANUFACTURE and CAUTION: FOR

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Facility/Product Label

67

Page 74: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

LABORATORY RESEARCH ONLY .

"<Additional Attributes>" is a five hundred character ASCII field that contains the additionalattribute information that will be printed on the product label. This information includes, but is notlimited to: number of units in a pooled product, product volume, anticoagulant type and volume,and storage temperature.

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

"<Volume Response 1>"

"<Volume Response 2>"

"<Volume Response 3>"

"<Volume Response 4>" each is an eight character ASCII field that holds a volume/measureprompt response. If any of one these fields is empty then there are no other unknown volumes ormeasures beyond it. This field (column) contains text that represents a user supplied response toan unknown volume/measure prompt that has been displayed. Unknowns are typically volumes,but may also be anticoagulant types, etc.

Important Note:

The volume responses must appear in the same specific order as the prompts or volume codesindicate in the product record. If the responses are not sent in the proper order then the volumetext will be inserted incorrectly in the text of the product label printed.

"<Division Volume>" is an eight character ASCII field that holds the divided unit volume, if thisunit is divided. Divided volume is assumed to be in mLs (milliliters).

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Facility/Product Label

68

Page 75: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Full Face LabelSending the request to print a full face label as shown below, causes the server to print therequested number of full face labels on the printer attached to the serial port number specified.

PFF, "<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>","<Modifier>", "<Component Class>", "<Additive Solution>", "<Attributes>", "<MfrCaution>", "<Addition Attributes>", "<Other Information>", "<Volume Response1>","<Volume Response2>", "<Volume Response3>", "<Volume Response4>", "<Division Volume>","<Blood Type Code>", "<Donation Code>", "<Kell Test Code>", "<Anti−C/Anti−c TestCode>", "<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>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

"<Unit Number>" is an ASCII text field that is fifteen or sixteen characters in length. The first fivecharacters are the unique facility registration number which assigned by the International Councilfor Commonality in Blood Bank Automation (ICCBBA). The next two characters represent the lasttwo digits of the collection year. The next six digits are the sequential accession number for theunit id number of the blood collection. The collection year is followed by two digits which are theflag digits (typically 00 ). The two flag digits may optionally be followed by a character thatrepresents the ISO 7064 modulo 37,2 check digit. If the check digit is appended to the end of theunit number, it will be printed in a box as specified in the standards.

"<Facility_Name_1>" is an ASCII character field, up to forty characters long, that holds the originalcollection and processing facility name that appears at the middle third of the upper left hand labelquadrant.

"<Facility_City_State_Zip_Code_1>" is an ASCII character field, up to forty characters long, thatholds the optional further processing facility city, state and zip code. This text, when specified,appears immediately below the facility name in the middle third portion of the upper left hand labelquadrant.

"<Licensee_Name_1>" is an ASCII character field, up to forty characters long, that holds the optionalcentral licensee name. This licensee name, when specified, is printed immediately before thefacility name in the middle third portion of the upper left hand label quadrant.

69

Page 76: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

"<Licensee_City_State_Zip_Code_1>" is an ASCII character field, up to forty characters long, thatholds the optional central licensee city, state an zip code. This licensee city, state and zip codetext, when specified, is printed immediately below the licensee name in the upper left hand labelquadrant.

"<Registration_Number_1>" is a seven ASCII numeric character field that holds the facilityregistration number text. This registration number text, when specified, is printed immediatelybelow the facility city, state and zip code line in the middle third of the upper left hand labelquadrant.

"<License_Number_1>" is a three or four ASCII numeric character field that holds the optionalfacility or central licensee license number text. This license number, when specified, is printedimmediately after the registration number and below the facility city, state and zip code line in themiddle third of the upper left hand label quadrant.

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

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

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

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

"<Component Class>" is a forty character ASCII field that holds the proper product name text thatwill be printed on the product label. At the time of this writing there are twenty−two componentclasses. Component classes include the following: APHERESIS CRYOPRECIPITATE, APHERESISFRESH FROZEN PLASMA, APHERESIS GRANULOCYTES, APHERESIS GRANULOCYTES−PLATELETS,APHERESIS LEUKOCYTES, APHERESIS LYMPHOCYTES, APHERESIS MONOCYTES, APHERESIS PLASMA,AHPERESIS PLATELETS, APHERESIS RED BLOOD CELLS, CRYOPRECIPITATE, FRESH FROZEN PLASMA,GRANULOCYTES, LEUKOCYTES, PLASMA, PLATELETS, PLATELET−RICH BUFFY COAT, PLATELET−RICHPLASMA, POOLED CRYOPRECIPITATE, POOLED GRANULOCYTES, POOLED PLASMA, POOLEDPLATELET−RICH BUFFY COAT, POOLED PLATELETS, POOLED SERUM, RED BLOOD CELLS, SERUM, andWHOLE BLOOD .

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Full Face Label

70

Page 77: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

"<Attributes>" is a one hundred character ASCII field that holds product attributes that will beprinted on the product label. Per the U.S. Industry Consensus Standard Specification theseattributes are to be listed in the reverse order with respect to the sequence in which theseprocedures have been performed with the exception of unit division and irradiation. At the time ofthis 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, PLATELETSREDUCED, PLATELETS−CRYOPRECIPITATE REDUCED and SUPERNATANT REMOVED .

"<Mfr Caution>" is a sixty−five character ASCII field that holds the text for a manufacturingcautionary notice that may appear printed on the printed product label. At the time of this writingthe cautionary notices included: CAUTION: FOR FURTHER MANUFACTURING USE ONLY, CAUTION: FORUSE IN MANUFACTURING NON−INJECTABLE PRODUCTS ONLY, CAUTION: FOR FURTHERMANUFACTURING INTO IN−VITRO DIAGNOSTIC REAGENTS FOR WHICH THERE ARE NO ALTERNATIVESOURCES, CAUTION: NOT FOR TRANSFUSION OR FURTHER MANUFACTURE and CAUTION: FORLABORATORY RESEARCH ONLY .

"<Additional Attributes>" is a five hundred character ASCII field that contains the additionalattribute information that will be printed on the product label. This information includes, but is notlimited to: number of units in a pooled product, product volume, anticoagulant type and volume,and storage temperature.

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

"<Volume Response 1>"

"<Volume Response 2>"

"<Volume Response 3>"

"<Volume Response 4>" each is an eight character ASCII field that holds a volume/measureprompt response. If one of the four fields is empty, then the remaining other unknown responsesthat may be beyond it are also empty. This field (column) contains text that represents a usersupplied response to an unknown volume/measure prompt that has been displayed. Unknownsare typically volumes, but may also be anticoagulant types, etc.

Important Note:

The volume responses must appear in the same specific order as the prompts or volume codesindicate in the product record. If the responses are not sent in the proper order then the volumetext will be inserted incorrectly in the text of the product label printed.

"<Division Volume>" is an eight character ASCII field that holds the divided unit volume, if thisunit is divided. Divided volume is assumed to be in mLs (milliliters).

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Full Face Label

71

Page 78: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Code ABO−Rh Description

00None Specified (* Added in 1.7version)

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) 12 AB (no Rh factor specified)

13para−Bombay (Ah or Bh) RhNegative

14para−Bombay (Ah or Bh) RhPositive

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

97Do Not Transfuse Based On TestResults

98 Fractionation Use Only 99 Research Use Only

Table corrected on June 13, 2003

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Full Face Label

72

Page 79: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

"<Donation Code>" is a single ASCII character code that indicates the donation type / intendeduse. See the GDU function request for more information regarding this code.

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

Code Kell Test Description0 No Test1 Negative2 Positive

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

Code Anti−C / Anti−c Test Description0 No Test1 Anti−C = Neg., Anti−c = Pos.2 Anti−C = Pos., Anti−c = Neg.3 Anti−C = Pos., Anti−c = Pos.

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

Code Anti−E / Anti−e Test Description0 No Test1 Anti−E = Neg., Anti−e = Pos.2 Anti−E = Pos., Anti−e = Neg.3 Anti−E = Pos., Anti−e = Pos.

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Full Face Label

73

Page 80: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Code Miltenberger Test Description0 No Test1 Negative2 Positive

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

"<Day>" 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>" is an ASCII character field, four digits long, that holds the numeric year value, expressedas 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 theDate/Time label quadrant.

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

"<Minute>" is a two ASCII character field that holds the numeric minute of hour value, expressedas 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 beprinted 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 andtime is to be treated as a collection data and time. "T" (True) indicates that it is a collection dateand time, "F" (False) indicates that it is an expiration date and time.

"<Test Code>" is an ASCII character field that holds an optional test result code. This test code,when specified, should be five characters in length and conform to the test codes that have beensettled on by the national standards organization. The print server will automatically prefix thecode with the appropriate data identifiers.

"<Test Message>" is an ASCII character field, up to twenty−eight characters long, that holds theoptional test result text message. This text message, when specified, serves as the eye readinterpretation of the five character test code described immediately above. This text shouldconform to the test code descriptions that have been settled on by the national standardsorganization.

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Full Face Label

74

Page 81: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

"<Facility_Name_2>" is an ASCII character field, up to forty characters in length, that holds theoptional further processing facility name that may appear at the bottom third of the date and timelabel quadrant. This text will appear immediately below the processing message text describedabove.

"<Facility_City_State_Zip_Code_2>" 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 labelquadrant.

"<Licensee_Name_2>" is an ASCII character field, up to forty characters in length, that holds theoptional central licensee name. This licensee name, when specified, is printed immediately beforethe facility name in the lower third portion of the date and time label quadrant.

"<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 zipcode text, when specified, is printed immediately after the licensee name in the lower third portionof the date and time label quadrant.

"<Registration_Number_2>" is a seven ASCII numeric character field that holds the facilityregistration number text. This registration number text, when specified, is printed immediatelybelow the facility city, state and zip code line in the bottom third of the date and time labelquadrant.

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

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

Full Face Label Example

The label in the illustration shown immediately below is typical of the ISBT−128 full face labelproduced by this HemaTrax.LPS ISBT−128 TCP/IP Print Server function.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Full Face Label

75

Page 82: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Full Face Label

76

Page 83: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Instruction LabelSending the request to print an instruction label as shown below, causes the server to print therequested number of instruction labels on the printer attached to the serial port number specified.

PIN, "<Port Number>", "<Label Title>", "<Label Line 1>", "<Label Line 2>", "<LabelLine 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>", "<Numberof Labels>"<cr>

Where: "<Port Number>" is the serial COM port number that is attached to the printer where thelabels are to be printed. The COM port number is specified as an ASCII numeric string in therange (1 – 32). So, for example, "2" will select serial port COM2 and "11" will select COM11 andso on.

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

"<Label Line 1>" thru "<Label Line 10>" is an ASCII character field, up to 26 characters inlength, that holds the text to be printed on that label line. Whether or not these lines will becentered, is controled by the "Text Justification Code".

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

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

Instruction Label Example

The label in the illustration shown immediately below is typical of the instruction labels producedby this HemaTrax.LPS TCP/IP Print Server function. This label prints on the standard 2" x 2"single quadrant label stock.

77

Page 84: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Instruction Label

78

Page 85: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Intended Recipient Information LabelSending the request to print an intended recipient information (IRI) label as shown below, causesthe server to print the requested number of IRI labels on the printer attached to the serial portnumber 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 ofLabels>"<cr>

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, will select serial port COM2 and will select COM11 and so on.

"<Patient>" is a twenty ASCII character field that holds the name of the patient intended toreceive the unit transfusion.

"<Id Number>" is a twenty ASCII character field that holds the patient identification number of thepatient that is to be transfused with this unit.

"<Hospital>" is a twenty ASCII character field that holds the name of the hospital where thepatient is to be transfused with this unit.

"<Birth Date>" is an eleven ASCII character field that holds a free format date that represents thepatient's birth date..

"<Collection Date>" is an eleven ASCII character field that holds a free format date thatrepresent the date that the unit was collected..

"<Product Code>" is a single ASCII character field that holds the numeric character code thatselects one of the predetermined blood product selection on the label. These code number aredefined as follows:

Code Product Description0 None1 WB (Whole Blood)2 RBC (Red Blood Cells)3 FFP (Fresh Frozen Plasma)4 PLT (Platelets)

79

Page 86: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

5 CRYO (Cryoprecipitate)6 Other Product

"<Irradiated Flag>" is a single ASCII character field that indicates whether or not the producthas been irradiated. "T" (True) indicates that the product has been irradiated; "F" (False) indicatesthat the product is not irradiated.

"<Leuko Reduced Flag>" is a single ASCII character field that indicates whether or not the producthas 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>" is a twenty ASCII character field that contains the name of the product. This isused when one of the predefined products does not match the product in the blood container.

"<Blood Relative Code>" is a single ASCII character field that indicates the whether the personfrom which the unit was collected is or is not a blood relative. If blood relative code is not beingspecified then this field must contain "0". The code and code description follow:

Code Blood Relative Description0 Not Specified1 No2 Yes

"<Donation Type Code>" is a single ASCII character field that indicates the type of donation. If nodonation type is being specified then this field must contain "0". The codes and descriptionsfollow:

Code Donation Type Description0 None Specified1 Autologous2 Dedicated3 Designated4 Directed

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Intended Recipient Information Label

80

Page 87: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

ISBT−128 Intended Recipient Label Example

The label in the illustration shown immediately below is typical of the ISBT−128 intended recipientinformation labels produced by this HemaTrax.LPS TCP/IP Print Server function.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Intended Recipient Information Label

81

Page 88: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Product LabelSending the request to print a facility label as shown below, causes the server to print therequested number of facility labels on the printer attached to the serial port number specified.

PPR, "<Port Number>", "<ICCBBA Product code>", "<Donation Type/Intended Use>", "<UnitDivision Codes>", "<Modifier>", "<Component Class>", "<Additive Solution>","<Attributes>", "<Mfr Caution>", "<Addition Attributes>", "<Other Information>","<Volume Response1>", "<Volume Response2>", "<Volume Response3>", "<Volume Response4>","<Division Volume>", "<Number of Labels>"<cr>

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

"<ICCBBA Product Code>" is a five character ASCII field that holds the ICCBBA product code for whichinformation 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 donationtype/intended use code for the unit to be labeled. If no type or use is being specified then this fieldmust contain "0". See the GDU function request for more information regarding this code.

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

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

"<Component Class>" is a forty character ASCII field that holds the proper product name text thatwill be printed on the product label. At the time of this writing there are twenty−two componentclasses. Component classes include the following: APHERESIS CRYOPRECIPITATE, APHERESISFRESH FROZEN PLASMA, APHERESIS GRANULOCYTES, APHERESIS GRANULOCYTES−PLATELETS,APHERESIS LEUKOCYTES, APHERESIS LYMPHOCYTES, APHERESIS MONOCYTES, APHERESIS PLASMA,APHERESIS PLATELETS, APHERESIS RED BLOOD CELLS, CRYOPRECIPITATE, FRESH FROZEN PLASMA,GRANULOCYTES, LEUKOCYTES, PLASMA, PLATELETS, PLATELET−RICH BUFFY COAT, PLATELET−RICHPLASMA, POOLED CRYOPRECIPITATE, POOLED GRANULOCYTES, POOLED PLASMA, POOLEDPLATELET−RICH BUFFY COAT, POOLED PLATELETS, POOLED SERUM, RED BLOOD CELLS, SERUM, andWHOLE BLOOD .

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

82

Page 89: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

ADENINE−SALINE (AS−3) ADDED and ADENINE−SALINE (AS−5) ADDED .

"<Attributes>" is a one hundred character ASCII field that holds product attributes that will beprinted on the product label. Per the U.S. Industry Consensus Standard Specification theseattributes are to be listed in the reverse order with respect to the sequence in which theseprocedures have been performed with the exception of unit division and irradiation. At the time ofthis 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, PLATELETSREDUCED, PLATELETS−CRYOPRECIPITATE REDUCED and SUPERNATANT REMOVED .

"<Mfr Caution>" is a sixty−five character ASCII field that holds the text for a manufacturingcautionary notice that may appear printed on the printed product label. At the time of this writingthe cautionary notices included: CAUTION: FOR FURTHER MANUFACTURING USE ONLY, CAUTION: FORUSE IN MANUFACTURING NON−INJECTABLE PRODUCTS ONLY, CAUTION: FOR FURTHERMANUFACTURING INTO IN−VITRO DIAGNOSTIC REAGENTS FOR WHICH THERE ARE NO ALTERNATIVESOURCES, CAUTION: NOT FOR TRANSFUSION OR FURTHER MANUFACTURE and CAUTION: FORLABORATORY RESEARCH ONLY .

"<Additional Attributes>" is a five hundred character ASCII field that contains the additionalattribute information that will be printed on the product label. This information includes, but is notlimited to: number of units in a pooled product, product volume, anticoagulant type and volume,and storage temperature.

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

"<Volume Response 1>"

"<Volume Response 2>"

"<Volume Response 3>"

"<Volume Response 4>" each is an eight character ASCII field that holds one of fourvolume/measure prompt responses. If any of one these fields is empty then there are no otherunknown volumes or measures beyond it. This field (column) contains text that represents a usersupplied response to an unknown volume/measure prompt that has been displayed. Unknownsare typically volumes, but may also be anticoagulant types, etc.

Important Note:

The volume responses must appear in the same specific order as the prompts or volume codesindicate in the product record. If the responses are not sent in the proper order then the volumetext will be inserted incorrectly in the text of the product label printed.

"<Division Volume>" is an eight character ASCII field that holds the divided unit volume, if thisunit is divided. Divided volume is assumed to be in mLs (milliliters).

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Product Label

83

Page 90: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

ISBT−128 Product Label Example

The label in the illustration shown immediately below is typical of the ISBT−128 product labelproduced by this HemaTrax.LPS TCP/IP Print Server function.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Product Label

84

Page 91: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Product/Date LabelSending the request to print a product/date and time label as shown below, causes the server toprint the requested number of product/date and time labels on the printer attached to the serialport number specified.

PPD,"<Port Number>", "<ICCBBA Product code>", "<Donation Type/Intended Use>", "<UnitDivision Codes>", "<Modifier>", "<Component Class>", "<Additive Solution>","<Attributes>", "<Mfr Caution>", "<Addition Attributes>", "<Other Information>","<Volume Response 1>", "<Volume Response 2>", "<Volume Response 3>", "<Volume Response4>", "<Division Volume>", "<Month>", "<Day>", "<Year>", "<Hour>", "<Minute>", "<EyeRead Time Flag>", "<Collection Date Flag>", "<Test Code>", "<Test Message>","<Processing Message>", "<Facility Name>", "<Facility City State Zip Code>", "<LicenseeName>", "<Licensee City State Zip Code>", "<Registration Number>", "<License Number>","<Number of Labels>"<cr>

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

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

"<Donation Type/Intended Use Code>" is a single ASCII character field that represent thedonation type/intended use code for the unit to be labeled. If no donation type or use is beingspecified then this field must contain "0". See the GDUfunction request for more informationregarding this code.

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

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

"<Component Class>" is a forty character ASCII field that holds the proper product name text thatwill be printed on the product label. At the time of this writing there are twenty−two componentclasses. Component classes include the following: APHERESIS CRYOPRECIPITATE, APHERESISFRESH FROZEN PLASMA, APHERESIS GRANULOCYTES, APHERESIS GRANULOCYTES−PLATELETS,APHERESIS LEUKOCYTES, APHERESIS LYMPHOCYTES, APHERESIS MONOCYTES, APHERESIS PLASMA,APHERESIS PLATELETS, APHERESIS RED BLOOD CELLS, CRYOPRECIPITATE, FRESH FROZEN PLASMA,GRANULOCYTES, LEUKOCYTES, PLASMA, PLATELETS, PLATELET−RICH BUFFY COAT, PLATELET−RICHPLASMA, POOLED CRYOPRECIPITATE, POOLED GRANULOCYTES, POOLED PLASMA, POOLED

85

Page 92: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

PLATELET−RICH BUFFY COAT, POOLED PLATELETS, POOLED SERUM, RED BLOOD CELLS, SERUM, andWHOLE BLOOD .

"<Additive Solution>" is a forty character ASCII field that holds the text indicating the inclusionof an additive solution in the blood product and which will appear on the printed label. Currentlythe 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>" is a one hundred character ASCII field that holds product attributes that will beprinted on the product label. Per the U.S. Industry Consensus Standard Specification theseattributes are to be listed in the reverse order with respect to the sequence in which theseprocedures have been performed with the exception of unit division and irradiation. At the time ofthis 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, PLATELETSREDUCED, PLATELETS−CRYOPRECIPITATE REDUCED and SUPERNATANT REMOVED .

"<Mfr Caution>" is a sixty−five character ASCII field that holds the text for a manufacturingcautionary notice that may appear printed on the printed product label. At the time of this writingthe cautionary notices included: CAUTION: FOR FURTHER MANUFACTURING USE ONLY, CAUTION: FORUSE IN MANUFACTURING NON−INJECTABLE PRODUCTS ONLY, CAUTION: FOR FURTHERMANUFACTURING INTO IN−VITRO DIAGNOSTIC REAGENTS FOR WHICH THERE ARE NO ALTERNATIVESOURCES, CAUTION: NOT FOR TRANSFUSION OR FURTHER MANUFACTURE and CAUTION: FORLABORATORY RESEARCH ONLY .

"<Additional Attributes>" is a five hundred character ASCII field that contains the additionalattribute information that will be printed on the product label. This information includes, but is notlimited to: number of units in a pooled product, product volume, anticoagulant type and volume,and storage temperature.

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

"<Volume Response 1>"

"<Volume Response 2>"

"<Volume Response 3>"

"<Volume Response 4>" each is an eight character ASCII field that holds one of fourvolume/measure prompt responses. If any of one these fields is empty then there are no otherunknown volumes or measures beyond it. This field (column) contains text that represents a usersupplied response to an unknown volume/measure prompt that has been displayed. Unknownsare typically volumes, but may also be anticoagulant types, etc.

Important Note:

The volume responses must appear in the same specific order as the prompts or volume codesindicate in the product record. If the responses are not sent in the proper order then the volume

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Product/Date Label

86

Page 93: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

text will be inserted incorrectly in the text of the product label printed.

"<Division Volume>" is an eight character ASCII field that holds the divided unit volume, if thisunit is divided. Divided volume is assumed to be in mLs (milliliters).

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

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

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

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

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

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

"<Eye Read Time Flag>" is a single ASCII character that indicates whether or not the time is to beprinted 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 andtime is to be treated as a collection data and time. "T" (True) indicates that it is a collection dateand time, "F" (False) indicates that it is an expiration date and time.

"<Test Code>" is an ASCII character field that holds an optional test result code. This test code,when specified, should be five characters in length and conform to the test codes that have beensettled on by the national standards organization. The print server will automatically prefix thecode with the appropriate data identifiers.

"<Test Message>" is an ASCII character field, up to twenty−eight characters long, that holds theoptional test result text message. This text message, when specified, serves as the eye readinterpretation of the five character test code described immediately above. This text shouldconform to the test code descriptions that have been settled on by the national standardsorganization.

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Product/Date Label

87

Page 94: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

"<Facility Name>" is an ASCII character field, up to forty characters long, that holds the optionalfurther processing facility name that may appear at the bottom third of the date and time labelquadrant. This text will appear immediately below the processing message text described above.

"<Facility City State Zip Code>" is an ASCII character field, up to forty characters long, thatholds 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 labelquadrant.

"<Licensee Name>" is an ASCII character field, up to forty characters long, that holds the optionalcentral licensee name. This licensee name, when specified, is printed immediately before thefacility name in the lower third portion of the date and time label quadrant.

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

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

"<License Number>" is a three or four ASCII numeric character field that holds the optional facilityor central licensee license number text. This license number, when specified, is printedimmediately below the facility city, state and zip code line in the bottom third of the date and timelabel quadrant.

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

ISBT−128 Product/Date Label Example

The label in the illustration shown immediately below is typical of the ISBT−128 product and datelabel produced by this HemaTrax.LPS TCP/IP Print Server function.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Product/Date Label

88

Page 95: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Product/Date Label

89

Page 96: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Unit ID Set LabelSending the request to print a unit ID set label as shown below, causes the server to print therequested unit ID set label on the printer attached to the serial port number specified.

PUN, "<Port Number>", "<Label Format File Name>", "<Facility Code>", "<CollectionYear>", "<Sequence Number>", "<ISO Check Character>" <cr>

Where:

"<Port Number>" is the required serial COM port number that is attached to the printer where thelabels are to be printed. The COM port number is specified as an ASCII numeric string in therange (1 – 32). So, for example, "2" will select serial port COM2 and "11" will select COM11 andso on.

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

"<Facility Code>" this is a required five character entry representing the unique facility code thatis 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 numericcode. An example of a facility code is "W1234".

"<Collection Year>" this is the required two digit numeric entry which represents the last twodigits of the collection year. The entry for the year 2001 would be "01".

"<Sequence Number>" is the required six digit numeric entry which represents the unique unitdonation number assigned to a single primary blood donation. An example of the data for this fieldmight be "001549".

"<ISO Check Character>" this is the optional manual entry check character that is calcualated onthe required field entries mentioned above. Note that if this entry is not provided then an emptyfield entry must be provided as ,"" .

For information regarding the algorithm to calculate this check character, please reference ISBT128 Bar Code Symbology and Application Specification for Labeling of Whole Blood and BloodComponents , "Appendix C (Informative) Algorithms for Calculation of Check Characters per ISO7064, Mod 37,2 Pure Check Character Specification".

90

Page 97: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Print Wallet Id CardSending the request to print a donor wallet identification card as shown below, causes the serverto print the requested number of wallet cards on the printer attached to the serial port numberspecified.

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>", "<DonorAddress Line 1>", "<Donor Address Line 2>", "<Donor City State Zip Code>", "<DonorTelephone>", "<Donor ID Number>", "<Number of Cards>"<cr>

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

"<Title>" is a forty ASCII character field that holds the top title line of the donor id card. This lineis automatically centered horizontally on the card.

"<Subtitle>" is a sixty ASCII character field that holds the subtitle line. This line appearsimmediately below the title line and its' characters are reduced in height when compared to thetitle line. This line is automatically centered horizontally on the card.

"<Facility Name>" 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 automaticallycentered horizontally on the card.

"<Facility Address>" is a forty ASCII character field that holds the address of the collectionfacility. This line appears below the facility name line. The line is automatically centeredhorizontally on the card.

"<Facility City State Zip Code>" is a forty ASCII character field that holds the city, state andzip code of the collection facility. This line appears below the facility name line. The line isautomatically centered horizontally on the card.

"<Telephone Desc 1>" is a twelve ASCII character field that holds a telephone numberdescription. 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 zipcode line.

"<Telephone Number 1>" 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>" is a twelve ASCII character field that holds a second telephone numberdescription. This is used to designate what the number that follows is for; telephone versus FAX.

91

Page 98: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

When printed this line appears at the right side of the card and below the facility city, state and zipcode line. This is on the same line as the first telephone number.

"<Telephone Number 2>" is a twenty ASCII character field that holds the second telephonenumber. This number will appear immediately after the second telephone number descriptiondescribed above.

"<Footing>" 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 lineis automatically centered horizontally on the card.

"<Donor Name>" is a thirty ASCII character field that holds the donor's name. This line will beprinted on the left side of the card and below the telephone numbers line and a horizontalseparator line that is printed below the telephone numbers that are described above.

"<Donor Address Line 1>" 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>" is a thirty ASCII character field that holds the donor's optional secondaddress line. This line will be printed on the left side of the card and below the first address linedescribed above. If this field is blank then this space is used by the donor's city, state and zip codeline described below.

"<Donor City State Zip Code>" is a thirty ASCII character field that holds the donor's city, stateand zip code line. This line will be printed on the left side of the card and below the donor'saddress lines described above.

"<Donor Telephone>" is a twenty ASCII character field that holds the donor's telephone line. Thisline will be printed on the left side of the card and below the donor's city, state and zip code line.

"<Donor ID Number>" 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 as a bar code andinterpretation line (one above the other) on the right side of the donor id card. The donoridentification 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 andBlood Components", Version 1.2.0.

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

Donor Wallet ID Card Example

The label in the illustration shown immediately below is typical of the donor wallet ID cardproduced by this HemaTrax.LPS ISBT−128 TCP/IP Print Server function.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Wallet Id Card

92

Page 99: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Print Wallet Id Card

93

Page 100: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Read PortsRPT (Serial communications)

Sending the RPT function request to the server causes the server to refresh all of thecommunications port settings from the database files. This causes any changes that have beenmade to the in−memory image of the port settings to be over−written with the original settings.The only information returned as a result of this call is either an acknowledgement that thefunction executed correctly or that an error occurred.

94

Page 101: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Set PortSPT (Serial communications)

This request sets the connected device and serial communications settings for the designatedserial port. The request to be sent takes the following form:

SPT, "<Port Number>", "<Device Model Code>", "<Baud Rate>", "<CRC Flag>", "<FormCode>" <cr>

Where:

"<Port Number>" is the serial COM port number that is attached to the printer where the labels areto be printed. The COM port number is specified as an ASCII numeric string in the range (1 – 32).So, for example, "2" will select serial port COM2 and "11" will select COM11 and so on.

"<Device Model Code>" is a single ASCII character field that holds the numeric code for thedevice 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 Manufacturer / Model0 None1 SATO BB8450 (M8450) Digi−Trax Enhanced2 SATO BB−412 (CL−412) Digi−Trax Enhanced3 Zebra Technologies (300 dpi Digi−Trax Enhanced)

"<Baud Rate>" is an ASCII character field that holds the integer value expressing the desiredcommunications data transmission speed to be used on the COMx port number being addressed.The following values are typical:

Typical Baud Rates2400

4800

9600

19200

"<CRC Flag>" is a single ASCII character field that indicates whether or not an error detectionprotocol is to be used with the device attached to the COMx 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.

95

Page 102: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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

FormCode Form Description

0 No form loaded1 .75"W X 2"H (Facility Name & Address label) 2 2"W X 2"H (ABO, Date/Time, or Product label single quadrant ) 3 2"W X 3.25"H (Facility/Product combination label) 4 2.5"W X 1"H (Intended Recipient Information label)

5 4"W X 2"H (ABO/Date & Time, or Product/Date & Time label twoquadrants )

6 4"W X 4"H (Full Face label four quadrants ) 7 3.375"W X 2.125"H (Donor Wallet Id Card) 8 Unit ID Sets9 1.75"W X 3.0"H (Codabar ABO−Rh label (Plus Edition Only)) 10 2.3"W X 1"H (Codabar Product label (Plus Edition Only))

Note that the setting change made is temporary and not made permanent unless the WPT functionis subsequently executed.

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Set Port

96

Page 103: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Set Product InformationThis request is sent to change the current product label database information for a specifiedICCBBA product code. This provides the client system with the ability to make changes to theHemaTrax 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>", "<MfrCaution>", "<Additional Attributes>", "<Other Information>", "<Unknown Code1>","<Volume Prompt1>", "<Volume Low1>", "<Volume High1>", "<Unknown Code2>", "<VolumePrompt2>", "<Volume Low2>", "<Volume High2>", "<Unknown Code3>", "<Volume Prompt3>","<Volume Low3>", "<Volume High3>", "<Unknown Code4>","<Volume Prompt4>", "<VolumeLow4>", "<Volume High4>", "<Not USA Flag>", "<Product Life>", "<Product Life Unit>","<Collection Date Flag>"<cr>

Where:

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

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

"<Product Description>" is a one hundred twenty eight character ASCII field that holds anabbreviated product description used in displays to the user. This description is specific enough todifferentiate this product from all others in the database. This is not the official product title usedon the printed label.

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

"<Component Class>" is a forty character ASCII field that holds the proper product name text thatwill be printed on the product label. At the time of this writing there are twenty−two componentclasses. Component classes include the following: APHERESIS CRYOPRECIPITATE, APHERESISFRESH FROZEN PLASMA, APHERESIS GRANULOCYTES, APHERESIS GRANULOCYTES−PLATELETS,APHERESIS LEUKOCYTES, APHERESIS LYMPHOCYTES, APHERESIS MONOCYTES, APHERESIS PLASMA,APHERESIS PLATELETS, APHERESIS RED BLOOD CELLS, CRYOPRECIPITATE, FRESH FROZEN PLASMA,GRANULOCYTES, LEUKOCYTES, PLASMA, PLATELETS, PLATELET−RICH BUFFY COAT, PLATELET−RICHPLASMA, POOLED CRYOPRECIPITATE, POOLED GRANULOCYTES, POOLED PLASMA, POOLEDPLATELET−RICH BUFFY COAT, POOLED PLATELETS, POOLED SERUM, RED BLOOD CELLS, SERUM andWHOLE BLOOD .

"<Additive Solution>" is a forty character ASCII field that holds the text indicating the inclusionof an additive solution in the blood product and which will appear on the printed label. Currently

97

Page 104: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

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>" is a one hundred character ASCII field that holds product attributes that will beprinted on the product label. Per the U.S. Industry Consensus Standard Specification theseattributes are to be listed in the reverse order with respect to the sequence in which theseprocedures have been performed with the exception of unit division and irradiation. At the time ofthis 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, PLATELETSREDUCED, PLATELETS−CRYOPRECIPITATE REDUCED and SUPERNATANT REMOVED .

"<Mfr Caution>" is a sixty−five character ASCII field that holds the text for a manufacturingcautionary notice that may appear printed on the printed product label. At the time of this writingthe cautionary notices included: CAUTION: FOR FURTHER MANUFACTURING USE ONLY, CAUTION: FORUSE IN MANUFACTURING NON−INJECTABLE PRODUCTS ONLY, CAUTION: FOR FURTHERMANUFACTURING INTO IN−VITRO DIAGNOSTIC REAGENTS FOR WHICH THERE ARE NO ALTERNATIVESOURCES, CAUTION: NOT FOR TRANSFUSION OR FURTHER MANUFACTURE and CAUTION: FORLABORATORY RESEARCH ONLY .

"<Additional Attributes>" is a five hundred character ASCII field that contains the additionalattribute information that will be printed on the product label. This information includes, but is notlimited to: number of units in a pooled product, product volume, anticoagulant type and volume,and storage temperature.

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

"<Unknown Code1>"

"<Unknown Code2>"

"<Unknown Code3>"

"<Unknown Code4>" each is a single ASCII character field. This character is used as a code toindicate the type of unknown value that follows in the following response value field. These codesand their meanings are listed immediately below:

Code Meaning of 'Unknown Code'0 No unknown value1 Original draw volume in mLs2 Unit volume in mLs3 Anticoagulant volume in mLs4 HES volume in mEq5 Number of units in pool6 Anticoagulant abbreviation (CPD, CPDA−1, etc.)

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Set Product Information

98

Page 105: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

7 Additive solution volume in mLs8 (reserved for future use) …Z (reserved for future use)

"<Volume Prompt1>"

"<Volume Prompt2>"

"<Volume Prompt3>"

"<Volume Prompt4>" each is a forty character ASCII field that holds one of four volume/measureprompts. 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 forsome 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 is an eight character ASCII field that holds one of four volume/measurenumber low value range values. If this field is empty it indicates that the user may enter any text atthe prompt. A numeric text entry indicates that a numeric entry must be made in response to theprompt 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 is an eight character ASCII field that holds one of four volume/measurenumber 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 promptand that the value of the entry must be numerically less than this field value.

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

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

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

Code Product Life UnitD Days

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Set Product Information

99

Page 106: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

H HoursY Years

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

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Set Product Information

100

Page 107: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Set X,Y OffsetSending a

SXY ,"<Port Number>", "<X Offset Value>", "<Y Offset Value>" <cr>

request causes the server to replace the current X,Y print coordinate offset values for the serialport number specified with the new values passed in the request command line.

Where:

"<Port Number>" is an ASCII character field that matches a serial communications port number inthe range (1 − 32). Typically a thermal label printer is addigned to this port.

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

"<Y Offset Value>" is an ASCII character field that expresses the vertical offset in decimal formatin 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 by4.35 mm).

101

Page 108: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Write PortsWPT (Serial communications)

Sending the WPT function request to the server causes the current in−memory image of thecommunications port settings to be written to the database files. This causes any changes thathave been made to the in−memory image of the port settings to be recorded. These settings willbe read and then used automatically the next time the RPTcommand is issued. Executing the WPTfunction request causes the original settings, as recorded in the database table) to be permanentlylost (over−written). The only information returned as a result of this call is either anacknowledgement that the function executed correctly or that an error occurred.

102

Page 109: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Error Condition ResponsesThe error condition codes, returned by the print server resulting from a function request, arealways prefixed by ERR. This response is immediately followed by a comma and then a three digitnumber, enclosed in quotes, in the range "001" to "999". The closing quote of the error number isfollowed by a comma and then a variable length error message enclosed in quotes. The errorcondition response is terminated by a carriage−return. This general error condition responseformat is shown in the example below:

ERR,"099","Internal System Error"<cr>

103

Page 110: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Error Numbers and DescriptionsThe following error codes and descriptions are passed to the HemaTrax Print Server programfrom the HemaTraxLIB.DLL. The DLL provides all of the label printing and many of the databasefunctions used by the print server. When the DLL returns an error code the print server dutifullypasses it back to the client program.

Code Description

−−−− −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

000 No Error

001 Invalid label compliance authority code

002 Invalid autologous donor initialization

003 Invalid date/time format initialization

004 Invalid primary unit division code

005 Invalid secondary unit division code

006 Missing product component class text

007 <undefined>

008 Empty donations type definition file

009 No donation type definition file

010 Product vol./storage temp. info missing

011 Length of product code not equal to 5

012 Can't find referenced product code

013 Can't write product code record

014 Product code undefined

015 Can't open product code table

016 Can't open product code index

017 <undefined>

018 <undefined>

019 <undefined>

020 HTWritePorts error occured

021 HTReadPorts error occured

022 Blood group/factor out of range

023 Donation type/use code invalid

024 Expiration date already occurred

025 Collection date in the future

026 Invalid time value

027 Invalid date value

028 <undefined>

029 <undefined>

030 Invalid or missing facility code

031 Invalid or missing collection year

032 Invalid or missing unit sequence number

033 <undefined>

034 Invalid KeyType code (0 or 1)

035 Length of HemaTrax key not equal to 10

036 No match on supplied key value

104

Page 111: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

037 Product table not open

038 End of product table

039 Supplied volume is out of range

040 Facility name or location missing

041 Logical drive letter pool exhausted

042 Network access denied

043 Drive already mapped

044 Network resource not a disk

045 Drive map letter is invalid

046 Server path name is invalid

047 User profile format is invalid

048 Provider specified is invalid

049 Router or provider is busy

050 Connection request was cancelled

051 Unable to open user profile

052 Drive map already in user profile

053 Network specific error occurred

054 Invalid password

055 Server not found or path invalid

056 No network present

057 Undefined network connect error

058 <undefined>

059 <undefined>

060 PILF−SATO command error

061 PILF−ZEBRA command error

062 <undefined>

063 <undefined>

064 <undefined>

065 Premature end of unit format file

066 Unit format file not found

067 <undefined>

068 <undefined>

069 COMx port number out of range 1 − 32

070 COMx port not available

071 <undefined>

072 <undefined>

073 <undefined>

074 <undefined>

075 <undefined>

076 <undefined>

077 Port set baud rate invalid

078 Port set printer model invalid

079 Port set port number out of range

080 <undefined>

081 Invalid COMx port

082 Invalid printer model

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Error Numbers and Descriptions

105

Page 112: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

083 CRC errors

084 Communication timeout

085 <undefined>

086 <undefined>

087 <undefined>

088 <undefined>

089 Printer not responding

090 Printer paused/off−line

091 Printer out of labels

092 Printer out of ribbon

093 Print head unlatched

094 Print head failure detected

095 Communications errors

096 Zebra printer RAM corrupted

097 SATO undefined printer error

098 Printer commands exceeded buffer size

099 HemaTraxLIB not initialized

100 <undefined>

980 <form description> form currently loaded at COM<port number>

981 Missing print wallet id param

982 Missing HemaTrax product code

983 Missing print product parm

984 Missing print product/date & time parm

985 Missing print intended recipient parm

986 Missing print full face parm

987 Missing print facility/product parm

988 Missing print facility parm

989 Missing print date/time parm

990 Missing print abo/date parm

991 Missing print abo parm

992 Missing set x,y parm

993 Missing set port parm

994 Missing product parm

995 Invalid or missing port number

996 <Undefined>

997 Invalid or missing ICCBBA code

998 XXX: command not implemented

999 Server Error: xxxxxx…

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Error Numbers and Descriptions

106

Page 113: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

HemaTrax Weighted Product CodesThe HemaTrax Product Code is a ten character key that holds a weighted code. This key may be used to locate oneor more blood products by specifying some or all of the blood product's known characteristics. The HemaTrax Productdatabase is indexed by this weighted code as a secondary index. The ten character key is used to encode seven keycharacteristics. The organization of these characteristics with in the key is as follows:

Description of weight Character Columns Value RangeComponent Class 1−2 "01" − "23"

Modifier 3 "0" − "8"Anticoagualant 4−5 "01" − "18"

Storage Temperature 6−7 "01" − "11"Volume 8 "1" − "8"

Manufacturing Caution 9 "0" − "3"Irradiated / Opened System 10 "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:

Component Class Assigned WeightApheresis Cryoprecipitated AHF 01

Apheresis Fresh Frozen Plasma 02

Apheresis Granulocytes/Platelets 03

Apheresis Granulocytes 04

Apheresis Leukocytes 05

Apheresis Plasma 06

Apheresis Platelets 07

Apheresis Red Blood Cells 08

Pooled Cryoprecipitated AHF 09

Cryoprecipitated AHF 10

Fresh Frozen Plasma 11

Pooled Granulocytes 12

Granulocytes 13

Leukocytes 14

Pooled Plasma 15

Platelet Rich Buffy Coat 16

Platelet Rich Plasma 17

107

Page 114: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Source Plasma 18

Plasma 19

Pooled Platelets 20

Platelets 21

Red Blood Cells 22

Whole Blood 23

Source Leukocytes 24

Pooled Platelet−Rich Buffy Coat 25

Apheresis Lymphocytes 26

Apheresis Monocytes 27

Serum 28

Pooled Serum 29

Modifier is weighted as follows:

Modifier Assigned WeightNo Modifier 0

Deglycerolized Rejuvenated 1

Deglycerolized 2

Frozen Rejuvenated 3

Frozen 4

Liquid 5

Rejuvenated 6

Thawed 7

Washed 8

Anticoagulant is weighted as follows:

Anticoagulant Assigned WeightNone 01

0.5 CPD 02

ACD−A 03

ACD−B 04

AS−1 05

AS−2 06

AS−3 07

AS−5 08

CPDA−1 09

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide HemaTrax Weighted Product Codes

108

Page 115: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

CPD 10

CP2DA 11

CP2D 12

DMSO 13

HEPARIN 14

NS (Not Specified) 15

NaCitrate−HES 16

NaCitrate 17

SAGM 18

Glycerol 17% 19

Glycerol 35% 20

PASII 21

Storage Temperature is weighted as follows:

StorageTemperature

AssignedWeight

REFG (1 to 6 ° C) 01

Room Temperature (20 to 30 ° C) 02

Less Than 37 ° C 03

20 to 24 ° C 04

−18 ° C or Colder 05

−20 ° C or Colder 06

Less Than −20 ° C 07

Less Than −25 ° C 08

Less Than −30 ° C 09

Less Than −65 ° C 10

Less Than −120 ° C 11

Volume is weighted as follows:

Draw Volume Description AssignedWeight

Original Draw Unknown 1

Original Draw 250 mL 2

Original Draw 450 mL 3

Original Draw 500 mL 4

Apheresis Draw < 200 mL 5

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide HemaTrax Weighted Product Codes

109

Page 116: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Apheresis Draw (>= 200 mL < 400 mL) 6

Apheresis Draw (>= 400 mL < 600 mL) 7

Apheresis Draw (>= 600 mL) 8

Manufacturing Caution is weighted as follows:

Manufacturing Caution Description AssignedWeight

No Manufacturing Caution 0

For Further Manufacturing Use Only 1

For Use in Manufacturing Non−injectableProducts Only

2

Not For Transfusion or Further Manufacture 3

Irradiated/Opened System is weighted as follows:

Irradiated/Open System Description AssignedWeight

Not Irradiated or Opened 0

Opened System 1

Irradiated 2

Irradiated and Opened 3

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide HemaTrax Weighted Product Codes

110

Page 117: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

Donation Type Definition File

File Description

The donation type data file contains all of the information that is necessary to determine the sixthcharacter position value for the Product bar code, the ABO−Rh "gg" code offset for the ABO−Rhbar code, the Intended Use Text that is appropriate at the bottom of the ABO−Rh label and theappropriate Donation Type text to appear in Product code interpretation line beneath the bar codein the Product label. This file also supplies information about the donor type, and the bloodproduct biohazard status.

File Access

The Donation Type Data file is assigned the name "DnrTyp.txt". This file is read one time atprogram startup. The information is stored and retained in the program's memory spacethroughout the operation of the program.

File Record Structure

The Donation Type Data file is an ASCII text file. Each record of the Donation Type Data File maycontain the following fields in the order given:

Donation Type Description

This is a required alphanumeric text field which must be followed by the "=" (equal sign). Thelength of this field is not restricted, however is should be kept to a reasonable length. Thisinformation is intended for use with a user interface as the list of available donation types that maybe selected for various ABO−Rh and Product labels.

Product Code 6th Character

This required character must immediately follow the "=" (equal sign) which terminates theDonation Type Description field previously described. This field is a single character andrepresents the character that will be placed in the sixth character position of the Product barcode. 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 theABO−Rh Default (Intended Use Not Specified) table index value. The legitimate value range for

111

Page 118: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

this entry is currently ("−4" to "3"), however, no range checking is performed on this field. This fieldmay be followed by a comma if the optional following field is to be specified.

ABO−Rh Label Intended Use Text

This optional field must be preceded by a comma if it appears in the text line. This entry specifiesthe text that will appear at the bottom of the 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. Thisentry specifies Donation Type text that must appear in the Product bar code interpretation linewhen 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 Information

Other important information is gleaned from the 'DnrTyp.txt' text records as they are parsed. Thefollowing 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 thisfact is also stored and used during the printing of the label so that the word "BIOHAZARDOUS" isprinted 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 andrelated 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 HTInitfunction call. If AutologousDonor was passed as 0 (zero), then this will be treated as a"VOLUNTEER DONOR".

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Donation Type Definition File

112

Page 119: HemaTrax ISBT−128 TCP/IP Print Server API / User Guide · HemaTrax.LPS TCP/IP print server which then operates upon them, returns requested information and prints various ISBT−128

When the word "paid" is found anywhere in the text record, then this fact is stored and related tothe 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 quadrantcombination.

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,DEDICATEDPaid 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,________

HemaTrax ISBT−128 TCP/IP Print Server API / User Guide Donation Type Definition File

113