EPCIS, Electronic Product Code Information Services, RFID, GS1
This is a Node.js libary to parse EPCIS documents. We try to translate it into a more useful javascript structure.
For more information checkout the following links:
http://en.wikipedia.org/wiki/EPCIS
Currently ObjectEvent and AggregationEvent are implemented.
Required or Optional
| Fields | ObjectEvent | AggregationEvent | TransactionEvent | TransformationEvent |
|---|---|---|---|---|
| eventTime | R | R | R | R |
| recordTime | O | O | O | O |
| eventTimeZoneOffset | R | R | R | R |
| sourceList | O | O | O | O |
| destinationList | O | O | O | O |
| bizStep | O | O | O | O |
| disposition | O | O | O | O |
| readPoint | O | O | O | O |
| bizLocation | O | O | O | O |
| bizTransactionList | O | O | R | O |
| action | R | R | R | |
| epcList | O | O | ||
| quantityList | O | O | ||
| childQuantityList | O | |||
| parentID | O | O | ||
| childEPCs | O | |||
| ilmd | O | O | ||
| inputEPCList | O | |||
| outputEPCList | O | |||
| inputQuantityList | O | |||
| outputQuantityList | O | |||
| transformationID | O |
TODO
- epcList: If multiple items are listet, the event is valid for all of them. Thus, it can be split into individual events too.
- If bizTransactionList is given, it maps to the objects identified in epcList and quantityList. This means we could still create individual events here. Right?
| _ | Retrospective ( at the time of the event) | Prospective (true until contradicted by subsequent event) |
|---|---|---|
| What | EPC, EPCClass + quantity | |
| When | Time | |
| Where | ReadPointID | BusinessLocationID |
| Why | BusinessStepID | DispositionID |
| *BusinessTransactionList, Source/Destination, ILMD*
The implementation is based on Typescript. To start development run:
npm install # installs the dependencies
grunt # runs the tsc compiler
This will watch the *.ts files and compile them into *.js files
mocha tests/test_aggregation.js
mocha --debug-brk tests/test_aggregation.js
Then attach a debugger, e.g. Visual Studio Code.