ESM Commission Guidelines (EPCIS v1.2)

See How To Use this Guide before interpreting the guidelines below.

Message Type: SOM_ESM_COMMISSION

Info Exchange Display Name: ESM Commission

When sending an element in Date or DateTime format, a valid date must be given. "00" is not a valid day or month value and "0000" is not a valid year value.
NTINs must follow the GS1 Guidance standards as found on the GS1 website.
  • Ex: urn:epc:id:sgtin:415001647778.0.100000000022
  • Format: urn:epc:id:sgtin:[company prefix].[indicator digit][item ref].[serial number]
Information regarding NTINs cannot be exchanged with trade partners unless the specific format outlined above is followed. If using an NTIN without following this format, an outbound error occurs when passing data from TraceLink to a trade partner.
Data Element Occurs
Length
Type Description
epcis:EPCISDocument [1…1]
[]
- Required. EPCIS message root element.
  @schemaVersion [1…1]
[0/*]
Decimal Required. The version of the EPCIS schema used to populate the EPCIS document elements. Must equal 1.2. *1
  @creationDate [1…1]
[1/*]
DateTime Required. Date the message was created in YYYY-MM-DDTHH:MM:SS:mmZ format. *2
  EPCISHeader [0…1]
[]
- Required. The XML file control header.
    sbdh:StandardBusinessDocumentHeader [1…1]
[]
- Required. Business header information including EPCIS Header Version, Sender, and Receiver information, along with the document identification.
      sbdh:HeaderVersion [1…1]
[0/*]
String Required. Version of the Standard Business Document Header (SBDH). The HeaderVersion must be set to 1.0. *3
      sbdh:Sender [1…*]
[]
- Required. A unique identification key for the Sender party of the message, representing the organization that created the standard business document. The Sender element must be used only once with GS1 XML messages.
        sbdh:Identifier [1…1]
[1/*]
String Required. The value of the Identifier element may be a GLN, SGLN, or any other supported business party type. *4

Send SGLN and all other party types with the GS1-conformant uri prefix, for example:

  • urn:epc:id:sgln:088202.867701.0
  • http://epcis.gs1us.org/hc/dea/loc/10023141
GLNs do not have an urn/http prefix.

See the MDPartyTypeAttributes enumeration list for valid values.

          @Authority [1…1]
[1/*]
String Required. The sender identifier type. The Authority was previously expected to be set to GLN for GS1 XML messages. An update made in December 2016 changed this to accept additional values. *5

See the MDPartyTypeEnums enumeration list for valid values.

      sbdh:Receiver [1…*]
[]
- Required. Indicates a unique identification key for the direct Receiver party of the message, representing the organization that receives the standard business document. The Receiver element is used only once with GS1 XML messages.
        sbdh:Identifier [1…1]
[1/*]
String Required. The value of the Identifier element may be a GLN, SGLN, or any other supported business party type. *6

Send SGLN and all other party types with the GS1-conformant uri prefix, for example:

  • urn:epc:id:sgln:088202.867701.0
  • http://epcis.gs1us.org/hc/dea/loc/10023141
GLNs do not have an urn/http prefix.

See the MDPartyTypeAttributes enumeration list for valid values.

          @Authority [1…1]
[1/*]
String Required. This attribute defines the receiver identifier type. The Authority was previously expected to be set to GLN for GS1 XML messages. Update made in December 2016 changed this to take additional values. *7

See the MDPartyTypeEnums enumeration list for valid values.

      sbdh:DocumentIdentification [1…1]
[]
- Required. Contains the identification group for the message.
        sbdh:Standard [1…1]
[0/*]
String Required. Name of the document standard contained in the file or message. The standard value for this field is EPCglobal. *8
        sbdh:TypeVersion [1…1]
[0/*]
String Required. Reflects the version of the document included. This is the complete version of the document itself and is different from the HeaderVersion as these are hard-coded values. The TypeVersion is set to 1.0. *9
        sbdh:InstanceIdentifier [1…1]
[1/*]
String Required. Reference information that uniquely identifies this instance of the Standard Business Document between the Sender and the Receiver. This identifier confirms this document as being distinct from others. *10
        sbdh:Type [1…1]
[0/*]
String Required. The document type. The Type value is set to Events for a commission event. *11
        sbdh:CreationDateAndTime [1…1]
[0/*]
DateTime Required. The date and time of the SBDH document's creation. GMT create date and time for the EPCIS message. The system expects the Z to be appended; however, if it is not included, the system assumes that the time is GMT and therefore appends the Z. *12
    Extension [0…1]
[]
- Header extension with master data attributes.
      EPCISMasterData [0…1]
[]
- Master data extension header. Contains product master data items for the commissioning event.
Full GS1 conformance requires that all master data be stored in the EPCIS header extension EPCISMasterData | VocabularyList | Vocabulary | VocabularyElementList | VocabularyElement. It is strongly urged that all product master data items for the commissioning event be sent in the VocabularyElement within the EPCISMasterData header extension.
        VocabularyList [1…1]
[]
- Required. Vocabulary list group master data elements.
          Vocabulary [0…*]
[]
- Looping vocabulary group with discrete master data element groups. Vocabulary occurs once for product master data.
            @type [1…1]
[0/*]
String Required. Vocabulary type identifying product master data elements. Product master data is defined by VocabularyElement | @id.

Valid value: urn:epcglobal:epcis:vtype:EPCClass = product master data. *13

          VocabularyElementList [0…1]
[]
- List of vocabulary elements containing master data attributes for each unique product code.
            VocabularyElement [1...*]
[]
- Required. Looping vocabulary element identifying each unique SGTIN, NTIN, or CN-EDMC for Product Master Data embedded in the epc serial number in the commissioning event.

SSCC codes are not included in VocabularyElement Product Master Data.

To conform with GS1 standards, master data attributes should be sent in the VocabularyElement. Each unique SGTIN, NTIN, or CN-EDMC embedded in the commissioning event epcList/epc serial numbers should be sent in one instance of VocabularyElement.
              @id [1…1]
[0/*]
String Required. Identifies the product code for which master data is being sent in the VocabularyElement loop. VocabularyElement | @id = SGTIN, NTIN, or CN-EDMC with GS1-conformant urn or http prefix. This element only supports these values. Send all other product identifier types as additional trade item types. SSCC codes are not identified in any part of the VocabularyElement group. *14

Product code, if present, must match the product code embedded within the serial number in the epc code in one or more commissioning events.

SGTIN is strongly recommended for GS1 conformance.

CD-EDMC

  • Prefix: http://epcis.tracelink.com/hc/cn-edmc/obj/
  • Example: http://epcis.tracelink.com/hc/cn-edmc/obj/10230.*

NTIN

  • Prefix: urn:epc:idpat:sgtin:
  • Example: urn:epc:idpat:sgtin:415001647778.0.*

SGTIN

  • Prefix: urn:epc:idpat:sgtin:
  • Example: urn:epc:idpat:sgtin:0030001.0012345.*
              attribute [1…1]
[1/*]
String Required. Instance 1 of attribute for packaging level value. Identify by using attribute | @id. Valid values: *15
  • BE = Innerpack / Bundle
  • CS = Case/Shipper
  • PX = Pallet
  • UN = Each
                @id [1…1]
[0/*]
String Required. Attribute identifying packaging level.

Valid value: http://epcis.tracelink.com/mda/packageTypeCode *16

              attribute [0…1]
[0/*]
String Instance 2 of attribute for internal material number in the Pharmaceutical Manufacturer's internal system. Identify by using attribute | @id.17

The following attribute (instance 3) element identifies this element in the current loop as MANUFACTURER_PART_NUMBER.

                @id [1…1]
[0/*]
String Required. Id attribute identifying internal material code.

Valid value: urn:epcglobal:cbv:mda#additionalTradeItemIdentification *18

              attribute [0…1]
[0/*]
String Conditionally required if the previous name/value pair attribute | @id (instance 2) is populated. Instance 3 of attribute for internal material number identifier type for the product. Valid value: MANUFACTURER_PART_NUMBER *19

Sequence of fields for internal material number is:

  1. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentification">100335</attribute>
  2. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode">MANUFACTURER_PART_NUMBER</attribute>
In the input file, follow the sequence as is shown above, if not, TraceLink does not process the internal material number and no error occurs.
                @id [1…1]
[0/*]
String Required. Id attribute identifying internal material code. Valid value: urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode *20
              attribute [0…1]
[0/*]
String Instance 4 of attribute for country drug code for all national drug code types. Identify by the enumeration value in the next attribute element (instance 5) in the current loop and by the attribute | @id value as an additional trade item. *21

Define the country drug code type value in next attribute element (instance 5), where @id equals:

  • urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode

OR

  • http://epcis.tracelink.com/mda/additionalTradeItemIdentificationTypeCode
                @id [1…1]
[0/*]
String Required. Id attribute identifying internal material code. Valid value: urn:epcglobal:cbv:mda#additionalTradeItemIdentification *22
              attribute [0…1]
[0/*]
String Conditionally required if the previous name/value pair attribute | @id (instance 4) is populated. Instance 5 of attribute for country drug code identifier type. Must follow attribute with country drug value id attribute identifying the internal material code. *23

Sequence of fields for country drug code is:

GS1:

  1. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentification">82025030221</attribute>
  2. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode">FDA_NDC_11</attribute>

TraceLink:

  1. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentification">82025030221</attribute>
  2. <attribute id="http://epcis.tracelink.com/mda/additionalTradeItemIdentificationTypeCode">US_NDC442</attribute>

GS1 defines the following qualifiers as additional trade item types:

  • MANUFACTURER_PART_NUMBER = Internal Material Number
  • FDA_NDC_11 = US NDC542
  • DIN = Canada Drug ID Number
  • PHARMACODE_CH = Swiss Pharma Code
  • NAN = Nordic Article Number

To identify these material number types, use the attribute | @id string: urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode.

For all other country drug code types, use the attribute | @id string: http://epcis.tracelink.com/mda/additionalTradeItemIdentificationTypeCode.

In the input file, follow the sequence as is shown above, if not, TraceLink does not process the internal material number and no error occurs.

See the CountryDrugCode enumeration list for valid values.

                @id [1…1]
[0/*]
String Required. Id attribute identifying country drug code type. Valid values: *24
  • GS1: urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode
  • TraceLink: http://epcis.tracelink.com/mda/packageTypeCode
  EPCISBody [1…1]
[]
- Required. Contains all of the EPCIS events for the commission message.
    EventList [1…1]
[]
- Required. The EventList must include one or more ObjectEvent elements for a commissioning event.
      ObjectEvent [0…*]
[]
- The message type. Indicates a commissioning event when:
  • action = ADD
  • bizStep = urn:epcglobal:cbv:bizstep:commissioning
  • disposition = urn:epcglobal:cbv:disp:active
        eventTime [1…1]
[1/*]
DateTime Required. The time stamp of the date/time when the event occurred in YYYY-MM-DDTHH:MM:SS.mm or YYYY-MM-DDTHH:MM:SS.mmm format. Must include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. The system expects the Z to be appendedif it is not included; however, the system assumes that the time is GMT and therefore appends the Z. *25
        eventTimeZoneOffset [1…1]
[1/*]
String Required. The time zone offset in the place where the event occurred, consistent with what choice was made for eventTime. A time offset is an amount of time subtracted from or added to UTC (Coordinated Universal Time) to get the current civil time, whether it is standard time or Daylight saving time. Per Section 7.2.8 of [EPCIS1.0.1]. *26
        epcList [1…1]
[]
- Required. The EPCs of each item, case, and/or pallet commissioned.
          epc [1…*]
[1/*]
String Required. The EPC identifier in EPC Pure Identity URI format. See EPC Pure Identifier Format Examples. *27
        action [1…1]
[0/*]
String Required. The action type of the event. For a commission event, this value must equal ADD. *28
        bizStep [0…1]
[0/*]
AnyURI Required. Business step taken in the event. For a commission event, this value must equal urn:epcglobal:cbv:bizstep:commissioning. *29
        disposition [0…1]
[0/*]
AnyURI Required. The bizStep and disposition fields define the message event and are grouped together under the GS1 EPCIS guidelines. The disposition indicates the status of the message.

The disposition value must equal urn:epcglobal:cbv:disp:active. *30

        readPoint [0…1]
[]
- Location where the event occurred (i.e. the warehouse GLN location ID and storage location [e.g. shelf, bin] in URN format).
          id [1…1]
[0/*]
AnyURI The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN or a finer-grain location identifier. *31
        bizLocation [1…1]
[]
- Required. Location of the item after the event has occurred.
          id [1…1]
[1/*]
AnyURI Required. The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN or a finer-grain location identifier. *32
        extension [0…1]
[]
- Not used - GS1 Reserved.
          ilmd [0…1]
[]
- Instance lot master data specific to product being commissioned.
            cbvmda:lotNumber [0…1]
[0/20]
String Conditionally required for non-SSCC encodings (optional for SSCC-commissioned serial numbers). The lot or batch code for the serialized item in an alphanumeric string of up to 20 characters. *33
            cbvmda:itemExpirationDate [0…1]
[0/*]
Date Conditionally required for non-SSCC encodings (optional for SSCC-commissioned serial numbers). The expiration date for the serialized item, formatted in YYYY-MM-DD format. *34
            tl:commissionEventExtensions [0…1]
[]
- Extensions for the Commission ObjectEvent.

Can send the following items in the Master Data header extensions: .

  • tl:packagingLevel
  • tl:internalMaterialCode
  • tl:countryDrugCode
  • tl:countryDrugCode | @type
Full GS1 conformance requires all master data be stored in the header extension EPCISMasterData | VocabularyList. While master data can be sent from the commissioning event extensions, it is strongly urged that all product master data items for the commissioning event be sent in the header extension elements.
              tl:packagingLevel [0…1]
[0/*]
String Conditionally required for non-SSCC encodings (optional for SSCC-commissioned serial numbers). The packaging level of the commissioned item. Valid values: *35
  • CA = Case/Shipper
  • EA = Each
  • PK = Innerpack / Bundle
  • PL = Pallet
To be GS1 EPCIS-conformant, send this value in the VocabularyElement master data, unless current item has an SSCC code with associated product master data (i.e. a homogenous pallet).

Do not send an empty tag pair as this triggers a validation error in the map.

              tl:plantLocationId [0…1]
[0/*]
String Identifier of plant where products are commissioned. *36
              tl:productionLineId [0…1]
[1/*]
String Conditionally required for China. Identifier of production line where products are commissioned. *37
              tl:lineManagerName [0…1]
[0/*]
String Conditionally required for China. Name of the person responsible as the production line manager for the commissioned products. *38
              tl:internalMaterialCode [0…1]
[0/*]
String Internal material number for the product in the Pharmaceutical Manufacturer's internal systems (e.g. ERP). *39
See the following additional information:
  • To be GS1 EPCIS-conformant, send this value in the VocabularyElement Master Data, unless the current item has an SSCC code with associated product master data.
  • The message may include either tl:internalMaterialCode, tl:countryDrugCode, or both, but all packaging levels must be consistent.
              tl:packagingItemCode [0…1]
[0/*]
String Conditionally required for China. The product code for the commissioned item (e.g. GTIN-14). *40

Optional for SSCC-commissioned serial numbers.

                @type [1…1]
[1/*]
String Required. Product code type. *41
              tl:countryDrugCode [0…1]
[0/*]
String National drug code for the commissioned item (e.g. NDC number for US products). *42
See the following additional information:
  • To be GS1 EPCIS-conformant, send this value in the VocabularyElement Master Data, unless the current item has an SSCC code with associated product master data.
  • The message may include either tl:internalMaterialCode, tl:countryDrugCode, or both, but all packaging levels must be consistent.
                @type [1…1]
[1/*]
String Required. National drug code type using the supported enumeration values and any formatting instructions provided. *43
To be GS1 EPCIS-conformant, send this value in the VocabularyElement Master Data, unless current item has an SSCC code with associated product master data.

See the CountryDrugCode enumeration list for valid values.

              tl:manufacturingDate [0…1]
[0/10]
Date The date of manufacture for the serialized item, formatted in YYYY-MM-DD format. *44
              tl:referenceDocuments [0…1]
[]
- Reference document identifier associated with the commissioning activity.
                tl:poNumber [0…1]
[0/*]
String PO Number associated with serial number use. *45
                tl:poLine [0…1]
[0/*]
String PO Line number. *46
                tl:workOrderNumber [0…1]
[0/*]
String Work Order number associated with serial number use. *47
                tl:referenceIdentifier [0…1]
[0/*]
String Reference identifier (e.g. any type of identifier) associated with serial number use. *48
              tl:extensionField [0…*]
[]
- Supports optional inclusion of human readable barcode content associated with each epc number in a commission event.
Included only if provided in original commission event.
                tl:fieldName [1…1]
[1/*]
String Required. Populate with the field name provided by the trade partner that will be receiving the mapped outbound message. *49

The field name must match the field name provided by the trade partner exactly, including case, so that it can be properly detected in the outbound mapping.

                tl:fieldValue [1…1]
[1/*]
String Required. Populate with the field value content that corresponds to the FieldName. *50
        tl:locationId [0…1]
[0/*]
String Location. *51
          @type [0…1]
[0/*]
String Required. The location types. See the LocationIdType enumeration list for valid values: *52