Siebel Medical Handheld Guide > Application Administration > Administering Barcode Settings for Siebel Medical Handheld >

About the Barcode Parsing Algorithm Used in Siebel Medical Handheld


Barcode readers are like any other input device. The reader takes a barcode and converts it to a set of characters. Siebel Medical Handheld utilizes a specialized barcode class which defines the algorithm used to parse and automatically validate data from these converted characters. Out of the box, Siebel Medical Handheld can parse data from HIBC and UCC/EAN barcodes but Siebel Administrators can easily define new one-dimensional (1D) barcodes in the Barcode Administrations views.

It is therefore important to understand how Siebel's barcode algorithm will use data defined in the Barcode Administration View to parse information from the barcode. Table 9 defines these applets as well as the underlying business component and tables on which they are based.

Table 9.  Barcode Applets
Applet
Business Component
Table
Description

Barcode

SHCE Barcode

S_Barcode

Lists barcode defined for Siebel Medical Handheld.

Barcode Item

SHCE Barcode Item

S_Barcode_Item

Lists data that will be parsed from the barcode.

SHCE Barcode Item is a child of SHCE Barcode. Thus, for each record in S_Barcode table there are many child records in the S_Barcode_Item table.

The barcode parsing algorithm uses barcode definitions in the Barcode Applet to identify the barcode. It uses the values specified in the Prefix, Min Length, and Max Length fields to find a match. Once it finds a match, it will determine the corresponding values in the Barcode Type and Separator (Ascii #) fields. It will then use this information to parse data from the barcode into property sets as defined in Barcode Item Applet.

The Barcode Type and Separator (Ascii #) fields determine how the child records in the Barcode Item applet will be used to parse data from the barcode.

There are only two types of barcodes. Table 10 describes the type of barcodes standards.

Table 10.  Types of Barcodes
Barcode Type
Description
Example

Location

Barcode standards which always contact same data elements in the same order.

HIBC

Code

Barcode standards which contain different element in any order. Data elements are preceded by a code.

UCC/EAN

The Separator (Ascii #) field defines the Ascii character that will be used to separate data elements if there is more than one element that is variable (for example, there is more than one record where Min Length is not equal to Max Length in the Barcode Item Applet).

The table below provides examples of how the barcode parsing algorithm will use data in the Barcode Administration views to parse data from Location-based barcode and a Code-Based barcode:

Example of Location Barcode Type

Table 11 provides an example of the Location Barcode type.

Location Barcode Type: HIBC +$$3061211220152LC

Table 11.  Matching Record in Barcode Applet
Name
Sequence
Min Length
Max Length
Prefix
Type
Separator (ASCII #)

Medical HIBC

Secondary

+$$3

8

16

24

+$$3

Location

 

Data is parsed based on the child records in the Barcode Item Applet. Since Barcode Type = Location, the parsing algorithm used the sequence listed in Table 12 to parse data from the barcode.

Table 12.  Child Records in Barcode Items Applet
Name
Sequence
Min Length
Max Length
Data Desc
Data Format
Output: Data Parsed from Barcode

Plus

1

4

4

Plus

 

+$$3

Expiry Date

2

6

6

Expiry Date

YYMMDD

061211

Serial Number

3

5

5

Serial Number

 

12201

Lot Number

4

0

8

Lot Number

 

52

LC

5

1

1

LC

 

L

CC

6

1

1

CC

 

C

Thus the relevant data that will be parsed from this barcode is as follows:

  • Expiry Data = Dec 11, 2006
  • Serial Number = 12201
  • Lot Number = 52

Example of Code Barcode Type

Table 13 provides an example of the Code Barcode type.

Code Barcode Type: UCC/ EAN ^17040606106654355^2111202^3050

Table 13.  Matching Record in Barcode Applet
Name
Sequence
Min Length
Max Length
Prefix
Type
Separator (ASCII #)

Medical UCC/EAN Primary

31

16

17

01

Code

29

Data Parsed Based on Child Records in Barcode Item Applet. Since Barcode Type = Code and Separator (Ascii#) = 29 (corresponds to ^), the parsing algorithm used the Code and Sequence to parse data from the barcode, and used the ^ character to distinguish variable data elements.

Table 14.  Child Records in Barcode Items Applet
Name
Code
Sequence
Min Length
Max Length
Data Desc
Data Format
Output: Data Parsed from Barcode

Code 17

17

1

2

2

Code 17

 

17

Expiry Date

17

2

6

6

Expiry Date

YYMMDD

040606

Code 10

10

1

2

2

Code 10

 

10

Lot Number

10

2

1

20

Lot Number

 

6654355

Code 21

21

1

2

2

Code 21

 

21

Serial Number

21

2

1

20

Serial Number

 

11202

Code 30

30

1

2

2

Code 30

 

30

Quantity

30

2

1

8

Quantity

 

50

NOTE:  The child records displayed in this table represent only a subset of all Barcode Item child records for Medical UCC/EAN Primary. These represent the child records that have a match in the barcode that we are trying to parse.

Thus the relevant data that will parsed from this barcode is as follows:

  • Lot Number = 6654355
  • Expiry Date = June 6, 2004
  • Serial Number = 11202
  • Quantity = 50
Siebel Medical Handheld Guide