EPCIS and CBV for Pharmaceutical Supply Chain Management

The gateway framing matters for this topic: epcis.dev accepts an event only after validating it against GS1's own schema, stamps the capturing account — capturedBy, the warrantor, kept distinct from who, the attested observer — identifies it by its CBV 2.0 hash, and appends it to a store nothing rewrites. What follows stands on those mechanics.

Whatever the setting, the mechanics underneath this topic are the same four moves: an event is captured at a door, validated against GS1's official EPCIS 2.0 schema, identified by the CBV 2.0 §8.9 hash of its own content, and appended to a store nothing can rewrite. The variations between industries and use cases are vocabulary — the CBV's business steps and dispositions — not architecture.

The same door answers people and agents. Capture, query, get_event, trace and translate are exposed over MCP, so a logistics agent captures and queries with the same key a person would use, without a human copying values between two systems.

Reads are minimally scoped. You see your own scope; what is outside it is absent, not greyed out and not redacted, so there is no shape left behind to argue about. Recording an event is $0 by policy — intent, until published terms bind it — because a stream that charges per event is one you stop feeding the month the bill grows with volume.

Provenance: an aged epcis.dev page, kept at its original URL and refreshed into the current design on 8 September 2026.