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
|
|
|
|
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
|
|
|
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
|
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
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
|