Platform Architecture & Integration Addendum
Data ownership, access flows and deployment requirements
The technical companion to the Whitepaper: application boundaries, single sign-on, intake and record sharing, product-specific AI, the encrypted video path, data exchange and terminology, payments, Wiki retrieval and the checks needed before a connected workflow is enabled.
Functions described here depend on the product, permissions and configured services. An implemented feature or connector does not establish availability in every deployment. Planned capabilities are identified separately.
Architecture scope
Aimedis applications own different workflows and expose specific interfaces. The architecture is best understood through service ownership and explicit handoffs, rather than a single shared runtime beneath every product.
Common branding, a shared look and a shared account do not establish universal consent, storage or deployment. Current interfaces and their receiving implementations determine what is connected.
| Concern | Responsible boundary |
|---|---|
| Sign-in | The shared Aimedis account, and each application’s own session and role checks |
| Patient health record | Aimedis Care and the authorized record-access workflow |
| Structured intake | Aimedis Onboard, its intake PIN and visit grants, and the receiving Pro workflow |
| Appointments | Booking and the shared scheduling tables that Care, Pro and Connect read |
| Communication | Connect conversation access and its self-hosted Matrix server |
| Video | The self-hosted LiveKit server used by Connect, Decision, Rehab and Support; Zoom only as a per-call fallback |
| Remote consultation | Aimedis Decision and its physicians |
| Payments | Stripe, for Aimedis’ own plans and for professionals’ own fees in Connect |
| Reference evidence | Wiki source review, organization access, retrieval permissions and the research interface every medical AVA uses |
| Clinical codes | The Wiki’s terminology server and each platform’s coding rule |
| Help and feedback | Aimedis Support, its staff roles and the host platforms’ hand-over tokens |
| Specialist workflows | Each specialist application, its roles and external dependencies |
Identity and integration ownership
One Aimedis account, a shared Supabase identity, serves Care, Pro, Booking, Onboard, Connect, Decision and Support. Since 8 November 2026 they share one session cookie for the aimedis.com domain, which expires after seven days without use. Care, Onboard, Connect, Decision and Booking’s patient side use that session directly. Pro (with its own 12-hour professional session), Booking’s practice side and Support are bridges: each creates its own session only from a shared session verified with the identity service, never stores its refresh token, and ends its session when the shared one ends or belongs to someone else. Signing out in one application signs the person out of all of them on that device. A shared session therefore means a shared identity, not shared permissions.
Rehab has its own account system, which Support accepts as a second sign-in. Wiki requires eligible administrator access and organization approval. Specialist products have their own roles and configuration.
An identity match is only one part of integration. The caller still needs authorization for the target service, requested scope and current session. Connect and Pro have their own professional review mechanisms. A professional credential badge is not a substitute for a patient-record grant.
- Confirm which identity issuer and patient/practice identifiers both ends accept.
- Distinguish signup processing consent, intake handoff permission and medical-record access.
- Specify the sender, receiver, payload, error states and revocation behavior for each interface.
- Verify the current implementation rather than reusing an older illustrative endpoint from a different product.
Partner interfaces stay inert until configured
Application and service boundaries
No central gateway routes clinical traffic. Each application checks access to the data it owns and calls a sibling only through a configured interface. Shared tables in the common database project, such as appointments, are read under that database’s access policies.
User-facing applications
Patient, professional, support-staff, moderator and administrator workspaces expose the workflows appropriate to each role. An application’s visible controls must be backed by the target service’s permissions.
Product-owned data
Clinical records, intake, conversations, rehabilitation activity, feedback and reference evidence have different owners and storage lifecycles. Do not treat all of them as one shared patient database.
Explicit integrations
Record bridges, booking handoffs, intake exports, video services and evidence retrieval connect selected services. Each integration requires a compatible contract and configured credentials.
External delivery
Model and voice providers, payment, wearable connections and immersive streaming have their own availability, authorization and deployment requirements.
Intake and medical-record access
An Aimedis Care patient chooses a 6–12 digit sharing PIN, single-use or multi-use, and a duration of one hour, eight hours, one day, seven days, 30 days, 90 days or until revoked. Pro shows an until-revoked grant as such, never as a date. Redemption returns a 15-minute bearer and scope metadata; it does not return the medical records themselves. Protected reads check the current grant and processing-consent state.
The current Pro/Care bridge does not supply a bearer-renewal endpoint. After the 15-minute bearer expires, the supported flow may require re-redeeming an eligible multi-use PIN or obtaining a new single-use share. A longer consent period must not be displayed as continuous professional access.
Pro’s live Care bridge is read-only and does not yet map every record category. In Connect, a direct-message record-share announcement identifies the handoff; the eligible clinician must separately supply the Care PIN. Posting the announcement alone grants no record access.
Revocation is a service-side access decision. Check grant status on subsequent reads, stop using expired access and present denials clearly. Revocation does not undo information already received under a valid permission.
| Flow | What it authorizes | Boundary to handle |
|---|---|---|
| Aimedis Onboard intake PIN | The receiving practice’s reading of one intake, for 90 days | The patient sees who opened it; revoking the PIN also ends the visit grants; separate from Aimedis Care record access |
| Aimedis Care sharing grant | Selected medical-record categories within the chosen scope and duration | Scope, grant state and session expiry must all be checked |
| Pro record-access session | Time-limited use of the authorized Aimedis Care bridge | The bearer lasts 15 minutes; consent duration does not extend it |
| Aimedis Care intake import | Staging of part of an intake for patient review | Disabled or failed export is possible; patient confirmation remains a separate step |
| Aimedis Care inbox delivery | Staging of records sent by Aimedis Decision or a connected practice | Signed by the sender; nothing enters the record until the patient accepts it |
| Aimedis Care emergency card | A limited emergency view for first responders until the link expires | Needs the QR link and its own PIN; a new link ends the old one |
| Wiki reference access | Authorized retrieval of reviewed reference sources | Does not grant access to patient records |
No assumed emergency override
Security and operational responsibilities
The inspected applications contain combinations of authenticated endpoints, role checks, database policies, input validation, private storage, rate limits and audit records. Their coverage and operational guarantees differ by service.
Hash-linked audit entries support integrity checks within their implementation. They are not evidence of blockchain anchoring, immutable retention or independent protection. Deployment-specific persistence, backup, access review and monitoring remain necessary.
A standard mentioned in source code or a design document is not certification. Healthcare-data processing, hosting, provider agreements and the intended clinical use require their own applicable approvals and operational evidence.
- Keep service credentials on the authorized server and use the minimum permitted scope.
- Check source licences and recipient permissions before transferring reference excerpts.
- Define retention, deletion, access logging and incident handling for each data category.
- Confirm production identity, database policies and private-storage configuration.
- Keep simulation fixtures and demonstration credentials separate from operational workflows.
| Mechanism | Where it is implemented | Boundary |
|---|---|---|
| Shared sign-in | Care, Pro, Booking, Onboard, Connect, Decision, Support | Session cookie for aimedis.com, seven days without use; Pro, Booking’s practice side and Support keep their own sessions bound to it |
| Two-step sign-in (authenticator app) | Every application | Required once a person has set it up; mandatory for Pro administrators and Support staff |
| Content-security policy with a nonce per page | All nine platforms and this website | A script without the page’s nonce does not run; interfaces and static files keep a fixed policy |
| Hash-linked audit entries | Care, Connect, Decision | Integrity checks within each implementation; not independent or immutable storage |
| Row-level security | The applications’ database tables | A safety net under the server-side checks, which remain the boundary |
| Secrets never in a web address | Sign-in, reset, two-step, PIN and unlock forms | Sent by POST, so they stay out of browser history and server logs |
Product-specific AI behavior
The assistant brand does not imply shared memory or identical tools across the applications. Booking, Pro, Onboard, Connect, Decision and Rehab run copies of one shared engine for planning a turn and gathering its evidence, and Aimedis Care uses its own planner over the same research call. At the time of writing, AVA uses Anthropic’s Claude Sonnet 5 in every application, a model fixed in code rather than chosen by configuration, and ElevenLabs for voice; Rehab adds D-ID for the video face. Available data and role permissions must still be inspected per product.
A fixed, multilingual emergency check runs before any model call in the medical AVAs; its notice comes first and does not depend on budgets, kill switches or the AI service.
For evidence-based workflows, treat retrieved excerpts as untrusted source material rather than instructions. Preserve citations and licence information. Distinguish a supported claim from a suggestion and show when retrieval or a provider fails.
| Context | Implemented purpose | Important limit |
|---|---|---|
| Public website AVA | Public-content search and site navigation | No access to clinical records |
| Aimedis Care AVA | Answers from the patient’s own record with sources, with the patient’s consent to AI processing; drafts that the patient confirms; read-aloud and dictation | Informational, never a diagnosis; no advice to start, stop or change a medication |
| Pro AVA | Briefing and attention list computed from the record’s entries; general and reference answers | No AI model reads the chart; reading a record through a model would be a new data flow needing its own approval |
| Booking AVA | Finds times, drafts watches and answers practice questions from computed facts | A clinical word filter keeps health details out of requests and can miss a word; AVA only drafts, and a watch that books does so within the patient’s rules, with a confirmation e-mail and a 15-minute undo |
| Aimedis Onboard AVA | Interview in the patient’s language and own words; a check before sending | Does not diagnose or map lay terms to diagnoses; the patient reviews what AVA proposes |
| Connect AVA | Home brief from metadata (counts, times, states and names); inside chats, a relay on the participant’s device | The brief never reads message content; chat functions need consent per chat and were first released to a test group |
| Aimedis Decision AVA | Decision support for the physician and explanations for the patient | Identifying details are removed before a case reaches the model; the physician decides every entry; the suggestion is kept as provenance |
| Rehab AVA | Live coaching in the patient’s session with a video face and voice; reference search; entries for the person to confirm | States that it is an AI and cannot diagnose or treat; supported saves require the review flow |
| Wiki AVA | Cited analysis of reviewed Wiki evidence; Ask and Research questions also search Aimedis RAG, PubMed and the public medical library, with Wiki evidence first | Answers only from sources; source authorization, citation validation and insufficient-evidence handling apply |
| Support AVA | Answers product questions at support.aimedis.com and in the Help & feedback panel; drafts, summaries and translations for staff | Never gives medical advice and never acts on accounts; hands over to a person on request |
Video architecture
Connect, Decision, Rehab and Support share one LiveKit server that Aimedis hosts at video.aimedis.com, each application with its own key. Relaying for restrictive networks runs over TLS on Aimedis’ own TURN service. The applications issue room access only to authorized participants; in Aimedis Decision rooms are opaque, hold at most two participants, and participants appear under role pseudonyms.
Media in Connect, Decision and Rehab is end-to-end encrypted with keys that the server does not hold. Aimedis Decision makes a fresh key for each meeting. In Connect the key is made on a participant’s device and shared through the end-to-end encrypted Matrix conversation; the server stores only a key epoch, and a guest receives the key in the fragment of a one-time link. The call’s data channel is encrypted as well. Rehab uses the call kit taken from Connect for its calls, group sessions and events.
The Zoom fallback is a separate path. It is offered per call and needs the patient’s consent in Aimedis Decision and every participant’s consent in Connect and Rehab; each consent is recorded. In Connect it uses the professional’s own Zoom host or a pool managed by an administrator.
| Path | Encryption | Boundary |
|---|---|---|
| LiveKit call (Connect, Decision, Rehab) | End-to-end encrypted | Room access only for authorized participants |
| Information event video (Connect) | End-to-end encrypted | Questions, polls and raised hands are held on the server, labelled as such and deleted after 30 days |
| Zoom fallback (Connect, Decision, Rehab) | Zoom’s own encryption; not end-to-end encrypted by Aimedis | Per call and with consent only |
Acceptance before reliance
Wiki evidence APIs and interoperability
The contract described here is the one served at wiki.aimedis.com at the time of writing, by the Wiki build of 10 November 2026. Since 8 November 2026 the AVAs of Care, Pro, Booking, Onboard, Connect, Decision and Rehab gather their evidence through the research interface, each with its own key.
Wiki separates source administration from reference retrieval. Applications retrieve through the reference API with an administrator-issued key (Authorization: Bearer awr_…), bound to one application, valid for 1–365 days or without expiry, and revocable at any time. Administrators can also retrieve through the workspace API with their own short-lived session, subject to organization checks and, where enrolled, MFA. A chosen AI model can use the retrieved passages through an authorized application server.
Wiki retrieval returns hits, insufficientEvidence and a retrieval mode; the research interface reports each stage as available, empty or unavailable. The calling application must keep each excerpt’s source, version, licence and available page or timestamp locator with the answer. An empty result is a valid outcome.
The reference API has its own contract: queries are 3–300 characters and results are limited to 1–6 excerpts. Keys can be issued for any Aimedis application or a custom application ID. Complete an acceptance test for each integration before describing it as operational. Legacy awk_ keys are disabled.
| Interface | Function | Current boundary |
|---|---|---|
| GET /api/reference/v1/status | Confirm an API key: key metadata, capabilities and limits | Requires an administrator-issued awr_ key; counts toward its rate limit |
| GET /api/reference/v1/sources | Metadata of published reference sources, paged (1–50 per page) | Same awr_ key; no original files or download links |
| POST /api/reference/v1/retrieve | Server-to-server retrieval with an administrator-issued awr_ key (1–365 days or no expiry; revocable) over every published, reviewed reference source of the organization | Any Aimedis application or custom application ID; 120 requests/minute per key and 600 across the service; no patient records |
| POST /api/reference/v1/research | One call for the four evidence stages (Aimedis Wiki, Aimedis RAG, PubMed, Public Medical Library), streamed as NDJSON, one line per stage | Same awr_ key; query 3–300 characters; for an anonymous visitor (viewer: public) only Wiki and RAG sources under CC BY, CC BY-SA or CC0 are quoted |
| GET /api/reference/v1/podcasts | Published, reviewed podcasts with licence and audio format | Same awr_ key |
| GET /api/reference/v1/podcasts/{id}/audio | Podcast audio streamed through the Wiki, one byte range per request | Storage URLs are never disclosed |
| GET /api/reference/v1/media, /media/{id}; POST /media/{id}/link | Aimedis Media that the calling platform may use, and short-lived signed delivery links | Same awr_ key; platform access checked per file; every link audited |
| GET /api/reference/v1/terminology/{systems, lookup, validate-code, expand, translate} | Code systems with licence and attribution; FHIR lookup, validation, expansion and translation of codes | Same awr_ key; nothing served anonymously; every call audited |
| POST /api/v1/retrieve | Retrieve reviewed reference passages with source/version information | Administrator authentication; reference query up to 4,000 characters and 1–20 hits |
| POST /api/v1/ask | Plain-text answer with citations from the Wiki’s server-selected model; reference questions also search Aimedis RAG, PubMed and the public medical library | Administrator session only; citations can include PubMed abstracts and web pages that are not reviewed Wiki sources |
| POST /api/v1/mcp | Limited stateless JSON-RPC bridge for knowledge_search and source_get | Administrator authentication; no OAuth discovery or SSE transport |
| FHIR reference projections | Read/search of selected Library, DocumentReference and Provenance resources; authorized Binary access | No general patient registry, FHIR writes, transactions or SMART launch |
Clinical data exchange and terminology
The exchange runs on one library, the same in Care, Pro, Decision and Rehab, for FHIR R4 (4.0.1), HL7 v2 and GDT 2.1, 3.0 and 3.5; each platform exchanges only the data it owns. GDT, a practice-software format, is one example of many. The library claims no national profile and no International Patient Summary conformance.
In their FHIR output, Care, Pro and Rehab code a diagnosis with the WHO’s ICD-10, used in a wide range of countries, or with a national edition such as ICD-10-GM, and only when the Wiki confirms the code in that edition. A five-character code that both editions hold, or a code the Wiki cannot confirm, keeps only its text. A stored code does not yet record the edition it came from, so a code printed by a third edition can still be read as a national one. ICD-11 codes keep their own coding.
Planned, not built: an Aimedis interface gateway that gives hospitals and practice software one address for HL7 v2 over MLLP, FHIR with SMART Backend Services and national e-health profiles that need certification. It will be built only with a concrete partner.
| Interface | Function | Current boundary |
|---|---|---|
| Aimedis Care partner inbox | Decision or Pro delivers a FHIR R4 Bundle for one patient | Signed per sender and off without that sender’s secret; the patient must hold current processing consent; nothing is written to the record before the patient accepts |
| Aimedis Care file import | The patient imports a FHIR R4 JSON, HL7 v2 or GDT file of up to 6 MB | Staged for the patient’s review like a delivery |
| Aimedis Care FHIR reads and patient summary | Scoped, read-only FHIR R4 reads; a patient summary in the structure of the International Patient Summary, for a grant holder and as a download for the patient | Within the grant’s scopes; sections outside them are marked as withheld; no profile conformance is claimed |
| Pro practice-software connection | FHIR R4 Practitioner, Schedule and Appointment; HL7 v2 appointment and result messages | Credentials per practice, shown once and revocable; an appointment from practice software becomes a busy time, never a patient booking; results reach Aimedis Care only for an identified patient with an active sharing link to the practice |
| Pro record exports | GDT 3.5, HL7 v2 result message and FHIR R4 Bundle of the record the practice may see | Downloads, audited |
| Aimedis Decision to Aimedis Care | A finalised care plan or summary letter as a FHIR document | Delivered with retries where the senders are configured; reviewed by the patient in Aimedis Care |
| Rehab referrals and discharge | FHIR referrals in, for a clinician to accept; FHIR R4 record export and discharge report out | A clinician accepts or declines every referral |
| Wiki terminology | ICD-10 (WHO, 2019), ICD-11 (MMS, 2026-01) and ICD-10-GM 2026 with lookup, validation, expansion and translation | Reference credential only; SNOMED CT, LOINC, ICF and ATC are not loaded until licensed |
Integration maturity by product
These distinctions describe implementation boundaries. They do not certify current uptime, production configuration, medical-device status or delivery to a particular customer.
| Area | Present in the applications | What remains to confirm |
|---|---|---|
| Shared account | One Aimedis sign-in for Care, Pro, Booking, Onboard, Connect, Decision and Support since 8 November 2026 | Session lifetimes and role checks per application; a live switch between all subdomains has not been tested end to end |
| Care workflows | Intake, record sharing, scheduling and communication paths | Pairwise configuration, identity matching, expiry and receiving-system acceptance |
| Data exchange | FHIR R4, HL7 v2 and GDT between Care, Pro, Decision and Rehab; terminology in the Wiki | Partner secrets and practice credentials per deployment; the interface gateway for hospitals is planned |
| Video | End-to-end encrypted LiveKit calls in Connect, Decision and Rehab, with a Zoom fallback | Real devices, real two-person production calls and the Zoom host configuration |
| Payments | Stripe for Pro plans, AVA Plus and professionals’ own fees in Connect; prices in 14 market currencies | The prices and currency options active in Stripe, tax set-up and when paid modules are switched on |
| Wiki | Reviewed reference library, Aimedis RAG, the research interface used by every medical AVA, terminology and media | Approved access, credentials, licence handling per application and the licences still missing for further code systems |
| Decision | Guided intake, a record decided by the physician, encrypted video and care plans | Country-by-country activation of further services and real-call acceptance |
| Rehab | Live coach, sessions, assessments, exercise films, encrypted video, FHIR referrals and export, and XR launch | Immersive runtime and hardware acceptance |
| Support | Requests, a staff inbox with queues, AVA, live chat, calls, help centre, status page, ideas, polls, surveys and NPS | The incoming e-mail and WhatsApp channels, the support team’s staffing and native reviews of the texts |
Payments and service configuration
Aimedis sells through Stripe. A professional is one Stripe customer with one monthly subscription per plan in Pro; a patient buys AVA Plus in Aimedis Care. The plan card shows a list price, and the amount charged is the one held in Stripe for the customer’s currency; if a currency has no amount in Stripe, nothing is sold in it.
Professionals’ own fees in Connect are destination charges to the professional’s own Stripe Express account. At the time of writing Aimedis sets no platform fee on them. A professional needs a payouts account and a billing profile before charging.
Organizations agree product access, user roles, external-provider costs, integration support and the included workflows in the deployment’s commercial arrangement. An implemented payment screen or an estimated benefit does not prove a current contract or financial outcome.
Deployment acceptance
- Identify the deployed application versions and apply the required database migrations.
- Verify the expected patient, professional or administrator identity and role.
- Exercise an approved fictional workflow through both sender and receiver.
- Check expired tokens, revoked grants, denied permissions and missing patient matches.
- Verify empty retrieval, provider failures, delayed exports and retry behavior.
- Confirm that the UI distinguishes real records from demonstration data.
- Inspect the receiving record or acknowledgement; a successful health probe is insufficient.
- Accept video (including the Zoom fallback), wearables, payments and immersive delivery independently.
- Record the languages, devices and workflows actually tested for the intended users.
What the documents establish
These documents explain product purpose, implemented workflows and material integration limits. They replace blanket claims about universal access, instant synchronization, a family-wide FHIR backend and identical AI behavior with product-specific descriptions.
They do not establish comparative clinical performance, certified compliance, validated cost savings or an addressable-market forecast. Assess those questions using evidence for the specific product, intended use and deployment.
Roadmap and change control
Planned work includes storage of data in the region the law requires (EU data in the EU, US data in the US, UAE data in the UAE), an interface gateway for hospitals and practice software, further code systems in the Wiki once licensed, and the cross-application handoffs that are prepared but not in use, such as Aimedis Onboard intakes handed to Booking. Each proposed capability needs a defined owner, authorization model, implementation and acceptance evidence.
When an application or integration changes, update its public description and these documents together. Keep the distinction between available workflows and planned capabilities visible to patients, professionals and integration teams.