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

About the Barcode Parsing Algorithm Used in Siebel Medical Handheld Applications


Barcode readers convert a barcode 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. By default, Siebel Medical Handheld applications 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 11 defines these applets as well as the underlying business component and tables on which they are based.

Table 11. Barcode Applets
Applet
Business Component
Table
Description

Barcode

SHCE Barcode

S_Barcode

Lists the barcodes defined for the Siebel Medical Handheld application.

Barcode Item

SHCE Barcode Item

S_Barcode_Item

Lists the 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, Minimum Length, and Maximum 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 12 describes the type of barcodes standards.

Table 12. 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 Minimum Length is not equal to Maximum Length in the Barcode Item applet).

The tables below provide 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 13 provides an example of the Location Barcode type.

Location Barcode Type: HIBC +$$3061211220152LC

Table 13. Matching Record in Barcode Applet
Name
Sequence
Minimum Length
Maximum 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 is equal to Location, the parsing algorithm used the sequence listed in Table 14 to parse data from the barcode.

Table 14. Child Records in Barcode Items Applet
Name
Sequence
Minimum Length
Maximum Length
Data Description
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 15 provides an example of the Code Barcode type.

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

NOTE:  The ^ character signifies a circumflex.

Table 15. Matching Record in Barcode Applet
Name
Sequence
Minimum Length
Maximum 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 is shown in Table 16. Since Barcode Type is equal to Code and Separator (ASCII #) is equal to 29 (corresponds to ^), the parsing algorithm used the Code and Sequence to parse data from the barcode, and used ^ (the circumflex character) to distinguish variable data elements.

Table 16. Child Records in Barcode Items Applet
Name
Code
Sequence
Minimum Length
Maximum Length
Data Description
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 records represent the child records that have a match in the barcode that we are trying to parse.

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

  • Lot Number: 6654355
  • Expiry Date: June 6, 2004
  • Serial Number: 11202
  • Quantity: 50
Siebel Medical Handheld Guide Copyright © 2007, Oracle. All rights reserved.