AnpherosAnpheros PlatformDevelopers

Healthcare application architecture

Diagrams and data flows: patient to application to Anpheros API to the FHIR record and external services, and AI agent to the context API to authorised data.

Anpheros is the medical-data layer between your application (or AI agent) and the patient's record. Your application keeps its own user interface and business logic; the medical record, consent, provenance and audit live in Anpheros and are reached through one API.

  Your application, backend or AI agent
  (mobile app, web app, clinic system, lab system, LLM-based assistant)
                        │  HTTPS · API key (sk_test_ / sk_live_) or OAuth token (at_…)
                        ▼
  Anpheros Platform API
  ├─ /v1        simplified REST: patients, observations, conditions, medications,
  │             documents, timeline, provenance, context, labs, webhooks
  ├─ /fhir/R4   strict FHIR R4: 26 resource types, search, history, transactions,
  │             $everything, $summary (IPS), $validate
  └─ /oauth     OAuth 2.1 + PKCE, SMART on FHIR, OpenID Connect
                        │  every request: project isolation · scopes · rate limits
                        ▼
  One FHIR R4 record per patient
  ├─ versions of every resource (history)   ├─ Provenance for every write
  ├─ Consent resources for every grant      └─ access log visible to the patient
                        │
                        ▼
  Events out: signed webhooks to your server (ids only, never clinical content)

The patient's view: from person to external services

Patient
   ↓   uses an app, chooses what to share, sees every access
Healthcare application          Anpheros Daily, or your own app
   ↓   REST v1 / FHIR R4 over HTTPS, API key or OAuth token
Anpheros API
   ↓   isolation, scopes, idempotency, provenance
FHIR medical data               the patient's record: 26 resource types, every version kept
   ↓   only what the patient allowed, only for as long as allowed
External healthcare services    laboratories (lab import), clinics (directory, acting-as),
                                other apps (OAuth / SMART), your backend (webhooks)

The AI view: from agent to authorised data

AI agent or LLM application     runs the model you choose — hosted or local
   ↓   POST /v1/context  {patient, task, question, budget_tokens}
Medical context API             plans which parts of the record matter, fits them into the budget,
   ↓                            labels every item with author type and source, records a manifest
Authorised medical data         only records the project created or the patient granted;
                                the read appears in the patient's access log

The model never receives credentials and never calls Anpheros itself; your application requests the context and decides what to send to the model. Two complete examples with the API calls: an AI healthcare application in AI healthcare applications and a consented agent in AI agents and medical data. Details: AI agents and medical data, LLM applications and healthcare data.

The record

Every patient has one record made of FHIR R4 resources: Observation for vital signs, lab results, symptoms and daily activity summaries, Condition and EpisodeOfCare, MedicationStatement and MedicationAdministration, DocumentReference, Immunization, AllergyIntolerance and others — 26 types in all, listed live in the CapabilityStatement (GET /fhir/R4/metadata). There is no proprietary schema to learn: the REST API is a simpler view of the same resources, with the same ids.

Nothing is silently overwritten. Each update creates a new version (/fhir/R4/{type}/{id}/_history), and each version records the project that wrote it and the organisation on whose behalf it was written.

Two ways in

API key OAuth access token
Looks like sk_test_… / sk_live_… at_…
Used by your server an application acting for one patient
Sees the patients your project created exactly one patient, within the scopes the patient granted
Typical use your own app's backend, a lab system, a clinic integration a third-party app or AI assistant reaching a record the patient already has

A project never sees another project's patients unless the patient grants access. Each project gets its own identifier for the same person (pairwise ids), so ids cannot be correlated across applications, and a record outside your reach answers 404, never 403.

Two environments

The sandbox and production are separate databases. A sandbox key (sk_test_) physically cannot reach real patients; each sandbox project gets its own copy of 30 synthetic patients, which it can change freely and reset. Production keys (sk_live_) are issued to verified organisations.

Data flows

Your app writes. POST /v1/patients/{id}/observations with an Idempotency-Key. The platform stores a FHIR Observation, writes a Provenance (author type: patient, practitioner, device, import or ai), logs the access and sends a resource.created webhook to subscribed endpoints.

Another application reads with consent. The patient approves it on the hosted consent page (/oauth/authorize), choosing the record and the duration (30–365 days). The application exchanges the code for tokens and reads only what the scopes allow. The patient sees the application, its scopes and every read in their access log, and can revoke it at any time.

A lab delivers results. POST /v1/patients/{id}/labs/import with a CSV, HL7 v2 ORU^R01 or JSON report; every result becomes a laboratory Observation with LOINC codes where known, and re-sending the same report is safe.

An AI model needs context. POST /v1/context returns the parts of the record relevant to a task, within a token budget, each item labelled with its source; the call is recorded with a manifest id. The model itself runs wherever you choose.

Where Anpheros fits compared with building it yourself

Concern Building it yourself With Anpheros
Medical data model design tables for each kind of record FHIR R4 resources, 26 types
Interoperability custom export formats FHIR R4, International Patient Summary, SMART on FHIR
Consent build grant, scope, expiry and revocation logic OAuth 2.1 grants mirrored as FHIR Consent
Audit build logging and a way to show it to patients every read and write logged and visible to the patient
Lab integration parse each lab's format CSV, HL7 v2 ORU and JSON import
AI context write retrieval and summarisation code context API with token budget and provenance labels

Related