Platform

Keep the systems you run. Add the revenue they miss.

Attergo connects to your dispensing, clinical and financial systems and works from the events they already emit. Nothing is ripped out and nothing is retyped. The margin arithmetic, the claim edits and the evidence logic behave the same way whichever system produced the event, which is why the second integration costs a fraction of the first.

Attergo: the dashboard, showing the measures that matter today with what needs attention beside them.
Attergo: the platform console fleet overview, showing every pharmacy on the platform and its current state.

The stack, top to bottom

Six layers, and what each one does on a bad day.

Send your reviewer here. Every layer states the guarantee it makes and the behaviour you get when something upstream breaks, which is the part that decides whether you can still trust a number a year from now.

Layer What it guarantees Failure behaviour
Adapter framework One module per source system. It translates a vendor payload into our shape and does nothing else. No business logic lives here. An unknown event type is archived intact and queued for mapping. The feed never stops.
Event archive Every payload written exactly as received, before anything interprets it. Append-only, ten years, write-once storage. If the archive write fails the event is not acknowledged. The source retries.
Canonical model Fill, claim, encounter, patient, prescriber, plan, product, location. One vocabulary every module speaks. Out-of-order events resolve by sequence, not arrival. Duplicates collapse.
Workflow engine Rules evaluate against the record and produce exactly one thing: a queue item with one resolving action. A rule that errors is disabled and reported. It never silently produces nothing.
Intelligence layer Models read the record under a provider abstraction. Every output cites the events behind it. A provider outage falls back to the deterministic path. It never blocks a queue.
Evidence and reporting Bundles assembled per fill as it happens. Reports derived on read, never stored as summaries. A stale figure is labelled stale in place, with its lag.

The pipeline, measured

A fill is priced while it is still on the counter.

A prescription event arrives. Ninety milliseconds later it is a priced record with a cost basis, a plan, a margin, an evidence bundle and, when it needs one, a person to look at it.

01
Source
PioneerRx emits
02
Adapter
Vendor shape in
03
Archive
Raw, append-only
04
Canonical
One record
05
Rules
Margin, evidence
06
Queue
A person acts
0 ms
4 ms
9 ms
31 ms
74 ms
90 ms

Replay

Improve a rule today, and last year improves with it.

The archive holds what your systems actually sent rather than our reading of it. Tighten a margin rule or a claim edit and every historical fill it touches is recomputed, so a better answer arrives for money you have already banked.

It is also what makes an audit answerable three years later, and what lets you leave with everything you ever gave us.

Multi-tenancy

The database enforces the boundary between your data and everyone else's.

Isolation in the data layer

Row-level, enforced below the application. An application bug cannot cross a tenant boundary.

Per-tenant keys

Documents and images encrypted with keys scoped to one pharmacy.

Credentials you rotate

Per-store ingestion credentials, rotatable without contacting us.

Support access is granted

Named, time-boxed, logged in your own access log. It expires on its own.

Connect one store. We will tell you what the month cost you.

Read-only credentials you can revoke. We come back with the fills that went out under cost, the services you could have billed, and the fills an auditor would ask about.