deniz.in

Markets

Weather

Loading weather

· via Hacker News – Front Page (native)

PharmA2A ships open protocol for pharmacy-to-supplier ordering over A2A

PharmA2A v0.1 defines five JSON Schema messages for direct pharmacy-to-supplier orders, built as a profile extension of the Linux Foundation's A2A agent protocol.

PharmA2A ships open protocol for pharmacy-to-supplier ordering over A2A

A new open protocol named PharmA2A appeared on Hacker News on 13 November 2026, a day after its version 0.1 specification was published. It defines how a community pharmacy's software agent and a supplier's agent can exchange orders directly, replacing the forms, emails and phone calls that ordering involves today. According to the project's GitHub repository, it is built as a profile extension of A2A, the Agent2Agent interoperability protocol hosted by the Linux Foundation, and its authors describe it — to their knowledge — as the first sector-specific dictionary layered on top of A2A.

What the protocol specifies

Where A2A governs the mechanics of conversation between agents, PharmA2A pins down the content. It defines five messages, each backed by a JSON Schema:

  • fiche_fournisseur: sent by a supplier to anyone, with no key required. It carries the supplier's identity, terms and product range keyed to France's CIP 13 codes, with pack size, status, VAT rate and, at the supplier's option, list prices.
  • commande: the pharmacy's purchase order — products, quantities and a reference. It goes out first as a proposal when terms are unknown, and it never carries a price.
  • accuse_reception: the supplier's line-by-line acknowledgement — confirmed, back-ordered, out of stock or substituted — plus an order number, a delivery date, and the supplier's prices as it chooses to state them.
  • etat_de_rayon: shelf data for the supplier's own products only, covering stock, sales and cover, and shared only if the pharmacist permits it.
  • relance: a follow-up on an order already sent, never a new order.

Field names are French because the protocol starts from French community pharmacy; the README notes that the specification and an English guide explain every message in English.

Constraints built into the design

Several privacy and integrity rules are baked in. No economic data about the pharmacy travels in any message, and the supplier's commercial terms are relayed as stated rather than recomputed. A field nobody supplied stays null — nothing is invented. Only the supplier speaks for the supplier, and a transcribed reply never confirms an order by itself. The pharmacy initiates every exchange and the supplier responds, with no push or streaming, and no patient data appears anywhere. Each order is transmitted exactly once and is identified by its reference within a customer account.

Reference code and an email bridge

The repository ships the normative specification, the five schemas and working code: a minimal sample supplier agent of roughly a hundred lines, plus a command-line demo pharmacy that sends an order and displays the acknowledgement. Python 3.11 or newer is required.

The most practical component is the supplier email bridge — a complete supplier-side agent for businesses that currently have nothing but a mailbox. It emails the order out, reads the reply and converts it into a proper acknowledgement message, and it can also round-trip files with an ERP. Replies are optionally transcribed by a language model, and the README is specific about what that model receives: the reply text plus the order's reference and lines, meaning product codes, labels and quantities — never the pharmacy's identity or any price.

Deployment today

According to the repository, the protocol is already running in production. SyderaAI, a Paris company, operates a pharmacy buying agent called Mercury that speaks PharmA2A with its pharmacies' suppliers. Since no supplier runs its own agent yet, the buying agent hosts the email bridge on each supplier's behalf: the supplier receives a clear email with the order in the body, answers as usual, and the bridge transcribes the answer into the protocol's vocabulary. Once a supplier serves its own agent, the README says, the pharmacy changes a single URL.

Licensing and governance

The dictionary itself — the schemas — is released to the public domain under CC0 1.0, while the agent code and its tests are Apache 2.0. The PharmA2A name is a trademark of SyderaAI filed with the French INPI: anyone may implement, copy, fork or extend the protocol without asking, but the protected name is intended to stop non-conformant implementations from calling themselves PharmA2A. Issues and pull requests are welcome, with governance, conduct and security documents in the repository.

Why it matters

A2A has so far been mostly plumbing in search of payloads. PharmA2A is a concrete, documented answer to what agents in a real industry should say to each other: a vertical dictionary with privacy rules, a normative specification and working reference code. Its migration path is equally notable — rather than waiting for suppliers to deploy agents, the email bridge lets an agent-mediated order reach a supplier through ordinary email today, with a clean swap to a native agent later. If the pattern holds — a horizontal agent protocol plus a per-sector dictionary plus a legacy bridge — it offers a template that other industries with fragmented, form-and-phone ordering could copy.

  • #a2a
  • #open-standards
  • #ai-agents
  • #interoperability
  • #open-source

Related posts