Certificates
Certificates were extended in 2 ways. The first way is that Certificate Type was added as a KDE to each certificate to indicate the role in Seafood Traceability that the certificate was playing. The next is that the base Object event was extended to allow for a list of Certificates outside of the ILMD data. So that Products could have Certificate information after they have been created.
Certificate Type
The Certificate Type is specified using the following attribute underneath the gdst
namespace.
An example of this in use is as follows:
EPCIS 2.0 - JSON-LD - GDST 1.2
{
"@context": [
"https://ref.gs1.org/standards/epcis/epcis-context.jsonld",
{
"xsi": "http://www.w3.org/2001/XMLSchema-instance"
},
{
"sbdh": "http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader"
},
{
"gdst": "https://traceability-dialogue.org/epcis"
}
],
"type": "EPCISDocument",
"creationDate": "2001-12-17T09:30:47.0000000+00:00",
"schemaVersion": "2.0",
"sender": "test",
"receiver": "test",
"instanceIdentifier": "9999",
"epcisBody": {
"eventList": [
{
"type": "ObjectEvent",
"eventTime": "2019-01-28T18:12:00.0000000+00:00",
"eventTimeZoneOffset": "+00:00",
"eventID": "urn:uuid:c22fdb41-c951-4c82-9ca1-4e0eed8c7d13",
"epcList": [],
"action": "OBSERVE",
"bizStep": "urn:gdst:bizstep:transshipment",
"disposition": "urn:gdst:entering_commerce",
"readPoint": {
"id": "geo:37.860236,-123.144697"
},
"bizLocation": {
"id": "urn:gdst:traceability-solution.com:location:loc:0048000.019283"
},
"quantityList": [
{
"epcClass": "urn:gdst:traceability-solution.com:product:lot:class:0b4e59bb-29ba-4edd-8e51-7e8d1a96dce7.yft-fillet.lot20203015",
"quantity": 5000.0,
"uom": "KGM"
}
],
"sourceList": [
{
"type": "owning_party",
"source": "urn:gdst:traceability-solution.com:party:0b4e59bb-29ba-4edd-8e51-7e8d1a96dce7"
}
],
"destinationList": [
{
"type": "owning_party",
"destination": "urn:gdst:traceability-solution.com:party:0048000.000001"
}
],
"gdst:productOwner": "urn:gdst:traceability-solution.com:party:0b4e59bb-29ba-4edd-8e51-7e8d1a96dce7",
"cbvmda:informationProvider": "urn:gdst:traceability-solution.com:party:0048000.000001",
"gdst:certificationList": {
"certification": [
{
"gdst:certificationType": "urn:gdst:certType:transshipmentAuth",
"certificationStandard": "Transshipment Authority",
"certificationAgency": "Transshipment Authority",
"certificationValue": "TA_123456789",
"certificationIdentification": "TA_123456789"
},
{
"gdst:certificationType": "urn:gdst:certType:harvestCoC",
"certificationStandard": "MSC Chain of Custody",
"certificationAgency": "MSC",
"certificationValue": "MSC_COC_1234567890",
"certificationIdentification": "MSC_COC_1234567890"
}
]
}
}
]
}
}
List of Certificate Types
CERTIFICATE TYPE | DESCRIPTION |
| The unique number associated with a regulatory document, from the relevant authority, granting permission for the wild-capture of seafood by a fisher or fishing vessel. |
| Name of harvest standards body which a particular harvest seafood is subject to and the unique identifier associated with the certified entity. |
| Name of the chain of custody standards body to which particular harvest seafood is subject to and the unique identifier associated with the certified entity. |
| The unique number associated with a regulatory document, from the relevant authority, granting permission for the discharge of wild-capture of seafood from a fishing vessel to a transshipment vessel. |
| The unique number associated with a regulatory document, from the relevant authority, granting permission for discharge of wild-capture of seafood to land by a fisher, fishing vessel, or transshipment vessel. |
| Name of internationally recognized standards to which policy on a vessel/trip claims conformity. |
| Unique indicator generated by the authorities in the country of operation that gives the processor the license to operate. |
| Unique indicator generated by the authorities in the country of operation that gives the aggregator the license to operate. |
Object Observe Event Certifications
The ILMD section of an event is reserved for OBJECT - ADD
and TRANSFORMATION
events, and so when a certificate needs to be recorded on an OBJECT - OBSERVE
event, then we can add the certification list as an extension KDE to the base of the event like so:
{
"@context": [
"https://ref.gs1.org/standards/epcis/epcis-context.jsonld",
{
"xsi": "http://www.w3.org/2001/XMLSchema-instance"
},
{
"sbdh": "http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader"
},
{
"gdst": "https://traceability-dialogue.org/epcis"
}
],
"type": "EPCISDocument",
"creationDate": "2001-12-17T09:30:47.0000000+00:00",
"schemaVersion": "2.0",
"sender": "test",
"receiver": "test",
"instanceIdentifier": "9999",
"epcisBody": {
"eventList": [
{
"type": "ObjectEvent",
"eventTime": "2020-01-27T00:00:00.0000000-06:00",
"eventTimeZoneOffset": "+00:00",
"eventID": "urn:uuid:1aa484db-cb00-4a2e-980a-369b55ca83c2",
"epcList": [],
"action": "OBSERVE",
"bizStep": "urn:gdst:bizstep:landing",
"bizLocation": {
"id": "urn:gdst:traceability-solution.com:location:loc:0048000.sdport"
},
"quantityList": [
{
"epcClass": "urn:gdst:traceability-solution.com:product:lot:class:0b4e59bb-29ba-4edd-8e51-7e8d1a96dce7.yft-fillet.lot20203015",
"quantity": 5000.0,
"uom": "KGM"
}
],
"cbvmda:informationProvider": "urn:gdst:traceability-solution.com:party:0048000.000001",
"gdst:certificationList": {
"certification": [
{
"certificationType": "urn:gdst:certType:landingAuth",
"certificationStandard": "Landing Authority",
"certificationAgency": "Landing Authority",
"certificationValue": "LA_123456789",
"certificationIdentification": "LA_123456789"
},
{
"certificationType": "urn:gdst:certType:humanyPolicy",
"certificationStandard": "WHO Human Decency Policy",
"certificationAgency": "WHO",
"certificationValue": "1234567890",
"certificationIdentification": "0987654321"
}
]
},
"cbvmda:unloadingPort": "SDPORT",
"gdst:humanWelfarePolicy": "3P Audit",
"gdst:productOwner": "urn:gdst:traceability-solution.com:party:0048000.000001"
}
]
}
}