In the previous step, you determined what you want the data elements of each EPCIS event to say. 1129
The next step is to translate the informal description of each data element’s contents into a specific 1130
identifier that a computer can understand. The place to start is Sections 7 and 8 of the Core 1131
Business Vocabulary. 1132
4.7.1 Vocabularies for the What Dimension 1133
In the What dimension, you have references to one or more physical or digital objects. Most of the 1134
time, each object will be identified by a GS1 Key. For example, a trade item might be identified by a 1135
GTIN (example: 00614141123452) and a serial number (example: 400). In EPCIS, the GTIN plus 1136
serial number is represented as a Uniform Resource Identifier (URI) according to the EPC Tag Data 1137
Standard. It looks like this: 1138
urn:epc:id:sgtin:0614141.012345.400 1139
The first part of this identifier (urn:epc:id:) indicates that this identifier follows the EPC Tag Data 1140
Standard. The next part (sgtin:) says that it is a GTIN plus serial number (SGTIN). The next three 1141
parts are the GS1 Company Prefix (0614141), Indicator Digit and Item Reference (012345), and the 1142
serial number (400). Note that in the EPC URI, the GS1 Company Prefix is written separately from 1143
the other digits of the GTIN and there is no check digit. 1144
The EPC Tag Data Standard, Sections 6 and 7, provides EPC URI syntax for all of the GS1 Keys that 1145
can be used in the What dimension of an EPCIS event. Sometimes you need to refer to a physical or 1146
digital object in the What dimension but the object is identified using some identification system not 1147
supported by the EPC Tag Data Standard. For those situations, the Core Business Vocabulary 1148
(Sections 8.2 and 8.3) provides other (non-EPC) URIs that can be used. However, GS1 Keys are 1149
preferred whenever possible. 1150
4.7.2 Vocabularies for the Where Dimension 1151
The ReadPoint and BusinessLocation data elements in the Where dimension contain identifiers that 1152
refer to physical locations. To choose an appropriate identifier, you must first decide how locations 1153
will be identified. 1154
The most common way to identify a location is to give it a unique identifier such as a Global 1155
Location Number (GLN). A GLN is just an arbitrary number that the owner of a location designates 1156
to refer to a specific location. A GLN can be assigned at any level of granularity (see Section 4.6.3), 1157
and you can even assign a GLN to a fine-grain location such as a room in a building and also assign 1158
a different GLN to a coarse-grain location such as the building itself. When this is done, GLNs fall 1159
into a hierarchy. 1160
When assigning identifiers to very fine-grain location such as individual loading dock doors or 1161
individual bins in a large warehouse, the GLN by itself does not have sufficient capacity. In such 1162
situations each location can be assigned a GLN plus a GLN extension. When a GLN+extension is 1163
assigned to a fine-grain location, the GLN part is usually the GLN of a coarser-grained containing 1164
location, such as the containing building. 1165
As in the What dimension, URI syntax is used in EPCIS for the identifiers in the Where dimension. 1166
For example, suppose a location is identified by GLN 0614141111114 and extension 987. In EPCIS, 1167
the GLN+extension is represented as a Uniform Resource Identifier (URI) according to the EPC Tag 1168
Data Standard. The specific type of URI is called an SGLN, which is capable of representing either a 1169
GLN+extension or a GLN without extension. The SGLN for GLN 0614141111114 and extension 987 1170
looks like this: 1171
urn:epc:id:sgln:0614141.11111.978 1172
To represent a GLN without an extension, a single 0 digit is used in place of the extension, like this: 1173
urn:epc:id:sgln:0614141.11111.0 1174
The first part of this identifier (urn:epc:id:) indicates that this identifier follows the EPC Tag Data 1175
Standard. The next part (sgln:) says that it is either a GLN or GLN+extension (depending on 1176
whether the extension part is 0 or not). The next three parts are the GS1 Company Prefix 1177
(0614141), Location Reference (11111), and the extension (or 0 for a plain GLN). Note that in the 1178
EPC URI, the GS1 Company Prefix is written separately from the other digits of the GLN and there is 1179
no check digit. 1180
Sometimes you need to refer to a physical location in the Where dimension but the location is 1181
identified using some identification system not supported by the EPC Tag Data Standard. For those 1182
situations, the Core Business Vocabulary (Section 8.4) provides other (non-EPC) URIs that can be 1183
used. However, GS1 Keys are preferred whenever possible. 1184
On the other hand, sometimes a location can only be identified by geospatial coordinates—latitude 1185
and longitude—rather than by a unique identifier. The most common case for this is as a ReadPoint 1186
when tracking a vehicle such as an ocean vessel while in transit, where there are no pre-defined 1187
locations that could be identified by GLN on the open ocean but a Global Positioning System receiver 1188
is available. In this case, a geospatial URI may be used. It looks like this: 1189
geo:22.300,-118.44 1190
This example denotes the geographic location with latitude 22.300 degrees (north) and longitude 1191
1032 118.44 degrees (west). For more details, see the Core Business Vocabulary Section 8.4.4. 1192
4.7.3 Vocabularies for the Why Dimension 1193
The Why dimension of an EPCIS event contains many data elements that require identifiers of 1194
various kinds. There are two ways this is done depending on the data element. 1195
4.7.3.1 Standard Vocabulary Elements for the Why Dimension 1196
Some data elements in the Why dimension contain names of concepts that all parties in the supply 1197
chain must understand in advance. An example is the BusinessStep data element, which contains an 1198
identifier representing a concept such as “shipping,” “receiving,” etc. These identifiers are always 1199
defined in a standard of some sort, and the most commonly used standard for this purpose is the 1200
Core Business Vocabulary. 1201
Section 7.1 of the Core Business Vocabulary defines over 30 different business step values. The full 1202
value as it appears in an EPCIS event is a URI, and it looks like this: 1203
urn:epcglobal:cbv:bizstep:shipping 1204
The first part of this identifier (urn:epcglobal:cbv:) indicates that it is defined in the Core 1205
Business Vocabulary. The next part (bizstep:) says that it is an identifier from the list of business 1206
step values. These two parts are the same for all the business step identifiers defined in the CBV. 1207
The remainder is the specific business step. 1208
To select the appropriate business step value, consult the definitions given in the CBV. For example, 1209
the CBV defines urn:epcglobal:cbv:bizstep:packing to mean “a specific activity within a 1210
business process that includes putting objects into a larger container – usually for shipping. 1211
Aggregation of one unit to another typically occurs at this point.” 1212
In some situations, there is no CBV identifier that is appropriate. In this case, you can create your 1213
own identifier, but it should still be in URI syntax and use a prefix that is under your control. For 1214
most purposes, this means using an HTTP URI that uses your Internet domain name. For example, if 1215
you are the Example Corporation with a domain name example.com and you need a new business 1216
step for “fiddling,” you could use a URI like this: 1217
http://epcis.example.com/bizstep/fiddling 1218
The fact that this begins with http://epcis.example.com/ means that it will not conflict with a CBV 1219
identifier, nor with a private identifier created by any other organisation. If a trade organisation 1220
creates a private identifier for a standard it creates, the Internet domain name of the organisation 1221
could be used as the root. As noted in Section 4.6.4.1, if you create a private business step like this 1222
you will have to inform trading partners what it means, so this is less interoperable than using one 1223
defined in the CBV. 1224
Note that while the above identifier looks like something you might type into a web browser, as far 1225
as EPCIS is concerned it is just an identifier for a business step and there does not have to be a web 1226
page accessible via that URI. On the other hand, a web page with that URI might be a very good 1227
place to provide documentation for humans about what your business step means. 1228
Several other data elements in the Why dimension work the same way; they are summarised below. 1229
Table 4-5 Examples of Standard Vocabulary Identifiers Defined in Core Business Vocabulary 1230
EPCIS Data Element CBV
Section Example
EPCIS Data Element CBV
Section Example
Disposition 7.2 urn:epcglobal:cbv:disp:in_transit
BizTransaction (type subfield) 7.3 urn:epcglobal:cbv:btt:po
Source or Destination (type subfield) 7.4 urn:epcglobal:cbv:sdt:owning_party
For all of these data elements, the best choice is to use one of the identifiers defined in the CBV, but 1231
if this is not possible a private identifier can be constructed as illustrated above. 1232
4.7.3.2 User Vocabulary Elements for the Why Dimension 1233
Some data elements in the Why dimension identify business objects such as business transactions, 1234
sources, destinations, and transformation identifiers. For these data elements, the Core Business 1235
Vocabulary provides templates that can be used to construct suitable identifiers. 1236
A key consideration here is that identifiers in any dimension of an EPCIS event should be 1237
unambiguous. This is especially important when EPCIS events are brought together from across a 1238
supply chain. Suppose that the BusinessTransaction data element in an EPCIS event in a shipping 1239
step contains a reference to a purchase order. It is not sufficient for the EPCIS event to simply say 1240
“PO # 1234” because many companies within the supply chain might issue a purchase order with 1241
that same number. In an EPCIS event, a reference to a purchase order must be globally unique. 1242
The Core Business Vocabulary solves this by providing a template for constructing a globally unique 1243
identifier. It looks like this: 1244
urn:epcglobal:cbv:bt:0614141111114:1234 1245
The first part (urn:epcglobal:cbv:) says that this is an identifier constructed according to rules 1246
found in the CBV. The next part (bt:) says that this is the template for a business transaction (BT). 1247
Following this is the GLN (0614141111114) of the party that defines the PO #, and the last part 1248
(1234) is the PO # as defined by that party. In this way, if some other party in the supply chain 1249
also had a PO numbered 1234, the EPCIS identifier would be different because a different GLN 1250
would precede the 1234 in the identifier. 1251
Some large companies have more than one system that generates purchase orders, e.g. a different 1252
system for each division of the company, so there is a possibility of having two purchase orders 1253
numbered 1234 from the same company. But this is easily handled by using a different GLN to 1254
prefix the PO #s of the two systems; e.g., by using the division-level GLN. 1255
This is one of several ways of constructing globally unique business transaction identifiers defined in 1256
the CBV (Section 8.5). Another way is to use a GS1 Key such as a GDTI (including serial number). 1257
This works if the system that generates the business transaction is already using a GS1 Key as the 1258
numbering system. The CBV also shows how to use a private prefix to create business transaction 1259
identifiers, though these methods are seldom used. 1260
Advanced use of EPCIS Transformation Events sometimes requires a “Transformation ID” to link 1261
together multiple events. Section 8.7 of the CBV describes ways of constructing Transformation IDs, 1262
including a GLN-based method similar to the above. 1263
Source and Destination identifiers are described in Section 8.6 of the CBV. Most commonly, these 1264
are populated with GLNs, and so SGLN EPC URI format is used just as for location identifiers 1265
(Section 4.7.2). 1266
4.7.4 Example 1267
Putting together all of the material in this section, here is how the design choices made in 1268
Section 4.6 would be finally realised as actual identifiers in the EPCIS event. 1269
Table 4-6 Example Assignment of Identifiers for EPCIS Event From Section 4.6 1270
Dim Data Element Design Choice (Section 4.6) Actual EPCIS Event Contents
Dim Data Element Design Choice (Section 4.6) Actual EPCIS Event Contents What EPC List A list containing one
element: the SSCC of the pallet (instance-level identification)
urn:epc:id:sscc:0614141.0123456789
When Event Time The date and time at which the pallet is shipped
2014-03-15T10:11:12Z
Event Time
Zone Offset The time zone offset in effect where the pallet was shipped
-05:00
Where Read Point Shipping dock #2 of building 10
urn:epc:id:sgln:0614141.11111.2
Business
Location (omitted) (omitted)
Why Business Step Shipping (from CBV) urn:epcglobal:cbv:bizstep:shipping
Disposition In Transit (from CBV) urn:epcglobal:cbv:disp:in_transit
Business
Transaction List A list containing two business transaction references: the Retailer’s purchase order and the Manufacturer’s invoice.
Type urn:epcglobal:cbv:btt:po
urn:epcglobal:cbv:bt:5012345678900:1234 Type urn:epcglobal:cbv:btt:inv
urn:epcglobal:cbv:bt:0614141111114:9876
Source List A list containing one source of type “owning party,” indicating the Manufacturer as the owning party at the source
Type urn:epcglobal:cbv:sdt:owning_party urn:epc:id:sgln:0614141.11111.0
Destination List A list containing one source
of type “owning party,” indicating the Retailer as the intended owning party at the destination
Type urn:epcglobal:cbv:sdt:owning_party urn:epc:id:sgln:5012345.67890.0