OpenEPCIS FSMA 204 Vocabulary
OpenEPCIS vocabulary for the U.S. FDA FSMA §204 Food Traceability Rule (21 CFR 1 Subpart S). Follows GS1 US 'EPCIS Recommendations for FSMA 204 CTEs' R2.0 verbatim; adds only the Food Traceability List categorisation on top.
https://ref.openepcis.io/extensions/us/fsma204/This vocabulary builds on GS1 standards (Digital Link, EPCIS 2.0, Web Vocabulary) but extends them with properties not yet defined by GS1. The GS1 DPP Provisional Standard is still under development. Our extensions may be superseded by official GS1 terms as they emerge. Feedback welcome!
About this vocabulary
The FSMA 204 module is intentionally minimal. GS1 US 'EPCIS Recommendations for FSMA 204 Critical Tracking Events' R2.0 (May 2025) and 'Application of GS1 System of Standards to Support FSMA 204' R3.0 (Dec 2025) already map every Key Data Element onto a native EPCIS 2.0 or GS1 Web Vocabulary field. This module therefore contributes only the one concept GS1 US does not cover: the Food Traceability List categorisation of a trade item.
Concretely: there are no fsma:CTE classes on the events, no fsma: shadow of the Traceability Lot Code, no fsma: fields for commodity / harvest date / growing area. All of those ride as native EPCIS structure — the TLC is encoded as a GS1 Digital Link URI inside quantityList.epcClass; the farm GLN is readPoint; the field is bizLocation; harvest date is eventTime; reference documents are bizTransactionList entries; seafood KDEs are ilmd properties using gs1:catchZone / gs1:harvestDateStart / gs1:harvestDateEnd / gs1:fishType. The named fsma: extension exists so an OpenEPCIS EPCIS Repository can switch on FSMA-204-specific validation and query shortcuts when the GS1-Extensions header declares it.
The shipped module includes verbatim GS1 US EPCIS event templates for all seven CTEs (Harvesting §2, Cooling §3, Initial Packing §4, Transformation §5, Shipping §6, Receiving §7, First Land-Based Receiver §8), the 23-member Food Traceability List enumeration (matching the FDA 2022 publication including the leafy-greens, cheese, produce and finfish sub-splits), and the one extension property fsma:foodTraceabilityListCategory attached to gs1:Product.
| Class | Description | Subclass Of |
|---|---|---|
| No classes defined in this vocabulary. | ||
Usage examples
Leafy-greens trade-item master data with FTL category
A romaine lettuce GTIN carrying its Food Traceability List category. The TLC itself is NOT stored on the master-data record — it is assigned per lot at the Initial Packing CTE and encoded in EPCIS events as https://id.gs1.org/01/{GTIN}/10/{Batch/Lot}.
{
"@context": "https://ref.openepcis.io/extensions/us/fsma204/fsma204-context.jsonld",
"type": "Product",
"id": "https://id.gs1.org/01/00860009999921",
"gtin": "00860009999921",
"functionalName": "Romaine lettuce, fresh-cut, whole heads",
"importClassificationTypeCode": "HTSUS",
"importClassificationValue": "0705.11.2000",
"gpcCategoryCode": "10006423",
"foodTraceabilityListCategory": "LeafyGreensFreshCut"
}Harvesting CTE — GS1 US R2.0 §2 (verbatim)
Harvest CTE per GS1 US 'EPCIS Recommendations for FSMA 204 CTEs' R2.0 §2. EPCIS ObjectEvent, action=ADD, bizStep=creating_class_instance, disposition=active. The TLC rides in quantityList.epcClass as a GS1 Digital Link (GTIN + Batch/Lot); the commodity KDE is the GTIN component; the harvest-date KDE is eventTime; farm-GLN is readPoint, field/growing-area GLN is bizLocation. No fsma: extension fields inside the event.
{
"@context": [
"https://ref.gs1.org/standards/epcis/epcis-context.jsonld"
],
"type": "ObjectEvent",
"eventTime": "2026-04-17T09:26:42-04:00",
"eventTimeZoneOffset": "-04:00",
"action": "ADD",
"bizStep": "creating_class_instance",
"disposition": "active",
"readPoint": { "id": "https://id.gs1.org/414/0860009999068" },
"bizLocation": { "id": "https://id.gs1.org/414/0860009999068" },
"bizTransactionList": [{
"type": "prodorder",
"bizTransaction": "urn:epcglobal:cbv:bt:0860009999068:HARVEST-2026-0417"
}],
"quantityList": [{
"epcClass": "https://id.gs1.org/01/00860009999921/10/ABC1234",
"quantity": 25000,
"uom": "LBR"
}]
}First Land-Based Receiver CTE — GS1 US R2.0 §8 (verbatim)
Seafood FLBR CTE: a single ObjectEvent action=ADD bizStep=creating_class_instance. Seafood-specific KDEs ride in ilmd as GS1 Web Vocabulary terms (gs1:catchZone array, gs1:harvestDateStart, gs1:harvestDateEnd, gs1:fishType).
{
"@context": ["https://ref.gs1.org/standards/epcis/epcis-context.jsonld"],
"type": "ObjectEvent",
"eventTime": "2026-02-23T11:51:08-05:00",
"eventTimeZoneOffset": "-05:00",
"action": "ADD",
"bizStep": "creating_class_instance",
"disposition": "active",
"readPoint": { "id": "https://id.gs1.org/414/0860009997002" },
"bizTransactionList": [{ "type": "cert", "bizTransaction": "urn:epcglobal:cbv:bt:0860009997002:cert-100037169" }],
"quantityList": [{
"epcClass": "https://id.gs1.org/01/00860009997005/10/SWF-2026-0223",
"quantity": 1000,
"uom": "LBR"
}],
"ilmd": {
"gs1:catchZone": ["21.4R", "27.14.a"],
"gs1:harvestDateStart": "2026-02-16",
"gs1:harvestDateEnd": "2026-02-18",
"gs1:fishType": "SWORDFISH"
}
}Example files
Complete JSON-LD documents shipped with the vocabulary. Click a file to view the raw payload.
Master data & product examples
Quick start
This module follows GS1 US 'EPCIS Recommendations for FSMA 204 CTEs' R2.0 verbatim: every FSMA 204 KDE rides on a native EPCIS 2.0 / GS1 Web Vocabulary field. The Traceability Lot Code is encoded as a GS1 Digital Link URI of the form https://id.gs1.org/01/{GTIN}/10/{BatchLot} inside quantityList.epcClass (or outputQuantityList.epcClass / childQuantityList.epcClass depending on the event). Location and party KDEs ride as /414/{GLN} and /417/{GLN} URIs in readPoint / bizLocation / sourceList / destinationList. Dates ride in eventTime. Reference documents ride in bizTransactionList. Seafood KDEs ride in ilmd as gs1:catchZone / gs1:harvestDateStart / gs1:harvestDateEnd / gs1:fishType. The fsma: extension namespace only carries the Food Traceability List category on trade-item master data. Declare the extension via GS1-Extensions: fsma=https://ref.openepcis.io/extensions/us/fsma204/ so an OpenEPCIS EPCIS Repository activates FSMA-204-specific validation and query shortcuts for events that reference FTL-categorised foods.
Context URL
https://ref.openepcis.io/extensions/us/fsma204/fsma204-context.jsonld{
"@context": "https://ref.openepcis.io/extensions/us/fsma204/fsma204-context.jsonld",
"type": "Product",
"gtin": "00860009999921",
"foodTraceabilityListCategory": "LeafyGreensFreshCut"
}Regulatory context
- FSMA §204 Food Traceability Final Rule — FDA rule codified at 21 CFR Part 1 Subpart S. Effective 2026-01-20; compliance extended to 2028-01-20.
- 21 CFR Part 1 Subpart S — The codified text of the rule with per-section KDE requirements for each CTE.
- Food Traceability List — FDA's enumeration of foods covered by the rule; periodically updated.