PortalVersion 1.0 — 202613 min read

Access and Credentials

Access and Credentials for the Aimedis Platforms

Who issues each credential, a patient's record share step by step, and the checks before go-live. The Wiki API has its own guide.

Request Access

Aimedis has no partner program that issues API credentials. Access comes from whoever owns the data: the patient, the practice or the Wiki's administrators. This page explains each credential and walks through a patient's record share.

  1. Choose the interface

    Find the interface for your use case: the Wiki API (reference evidence and terminology), Aimedis Pro's practice-software interface (appointments and results), or a patient's record share in Aimedis Care (FHIR R4 read).

  2. Get the credential

    A Wiki administrator issues a Wiki API key (awr_…); a practice administrator creates a practice-software credential (apx_…) in Aimedis Pro; a patient creates a record share with a PIN in Aimedis Care. There is no self-service sign-up.

  3. Build and test

    Build against the endpoints documented here (Sections 04 to 06). There is no sandbox: test with fictional data, for example a busy block in your own practice or a share a test patient creates.

  4. Go live

    Complete the checklist in Section 09. Revoke and replace a credential whenever someone who knew it leaves.

Credentials

Each interface takes exactly one kind of credential, sent as a Bearer token. Keys and PINs are shown once and stored only as hashes.

  • Wiki API key: awr_ followed by 43 characters, issued by a Wiki administrator for one application; expires after 1–365 days or never; can be rotated or revoked at any time; 120 requests per minute
  • Practice-software credential: apx_ followed by 43 characters, created by a practice administrator in Aimedis Pro (Practice → Practice software) with the scopes appointments:read, appointments:write and results:write; no expiry, revoked in Pro; 600 requests per 10 minutes
  • Aimedis Care record token: issued by POST /api/access/redeem for the patient's AIM-ID and PIN; valid for 15 minutes and limited to the categories the patient shared
  • There is no self-service sign-up, sandbox or demo credential for any of these interfaces (Section 10)

example-request.httpHTTP

Authorization: Bearer awr_…  # Wiki API key, from a Wiki administrator
Authorization: Bearer apx_…  # practice-software credential, from Aimedis Pro
Authorization: Bearer eyJ…   # Aimedis Care record token, from POST /api/access/redeem (15 minutes)

Authentication

Send the credential in the Authorization header from your server only, never from a browser or mobile app: none of these interfaces sends CORS headers. Keep credentials out of URLs and logs.

Authentication Flow

  1. The owner of the data issues the credential: the patient (a PIN share), the practice administrator (apx_) or a Wiki administrator (awr_)
  2. Your server sends it as Authorization: Bearer on each request; an Aimedis Care PIN is first exchanged for a 15-minute token
  3. Every request is checked again: a revoked key, a revoked share or a missing scope is refused at once
  4. Each access is written to an audit log: Aimedis Care's hash-linked log for record reads and practice-software calls, the Wiki's audit for API keys

Reading Records

Aimedis Care's FHIR endpoint (FHIR 4.0.1) is read-only. The token's categories decide which resource types you can read. Search accepts only _id, _count and _offset; the diary summary appears only in GET /api/access/records.

profile
Patient
vitals
Observation (vital-signs)
laboratory
Observation (laboratory)
diagnoses
Condition, AllergyIntolerance
medications
MedicationStatement
documents
DocumentReference
diary
DocumentReference
Every read checks the share and the patient's consent again. A 401 means the token expired or the patient revoked the share; a 403 means the category was not shared.

Interfaces by Product

Aimedis Pro, Aimedis Rehab and Aimedis Decision offer these interfaces. Only Pro's practice-software endpoints are for unattended server-to-server use; the Rehab and Decision endpoints serve signed-in patients and clinicians who download or upload a file. Aimedis Support offers no API for other systems.

Aimedis Pro — Practice software (FHIR R4, HL7 v2.5.1)

GET/api/interop/fhir/r4/metadata

CapabilityStatement (FHIR 4.0.1); no credential needed.

GET/api/interop/fhir/r4/Practitioner

The practice's practitioners; GET …/Schedule lists one schedule per practitioner (scope appointments:read).

GET/api/interop/fhir/r4/Appointment

Search the practice's Aimedis bookings by date and practitioner, with _count (default 50, at most 100) and _offset (scope appointments:read).

POST/api/interop/fhir/r4/Appointment

Block a practitioner's busy time from your calendar, identified by your own identifier; PUT and DELETE …/Appointment/blk-{id} move or remove your blocks (scope appointments:write).

POST/api/interop/hl7v2

One HL7 v2 message per request: SIU S12, S13, S14, S15 or S17 for busy times, ORU^R01 results for a patient's Aimedis Care inbox (scopes appointments:write, results:write). The answer is an ACK.

GET/api/interop/hl7v2/siu

Pull SIU messages (HL7 v2.5.1, up to 200 per call) for bookings changed since a point in time (scope appointments:read).

Aimedis Rehab — Neurorehabilitation

GET/api/rehab/patients/{id}/fhir-export

FHIR R4 collection Bundle of one patient's rehab record, downloaded by the patient or a clinician with the patient's access grant.

GET/api/rehab/patients/{id}/discharge-report

Discharge summary of one episode (?episode=) as a FHIR R4 document Bundle.

POST/api/rehab/referrals/import

A clinician uploads a referral as FHIR R4 JSON (a ServiceRequest or a Bundle, up to 6 MB); it waits until the clinician accepts or declines it.

Aimedis Decision — Clinical Decision Support

GET/api/interop/care-plan/{consultationId}/fhir

The newest care plan of a consultation as a FHIR R4 document Bundle with the PDF, for the patient or the physician.

Cross-Platform Flows

Three hand-offs between Aimedis apps that matter for integrators. They run inside the family; outside systems take part only through the interfaces in Section 06.

  1. Booking reaches the practice

    Bookings made in Aimedis Booking appear in Aimedis Pro's practice schedule. Practice software reads them through Pro's FHIR Appointment search or HL7 SIU feed and can block busy times there (Section 06).

  2. Intake, with consent

    Aimedis Pro opens an intake with the patient's AIM-ID and intake PIN, or through a visit grant the patient gives for one appointment (at most 3 days). With an account, the answers are also sent to Aimedis Care, where the patient confirms them item by item.

  3. Verification gates access

    Professional status comes from Aimedis Pro. Connect treats a clinician registered in Pro (not a Pro administrator account) as verified and lets that professional open a record a patient shares in a chat; Aimedis Care checks the professional status again before it issues a token.

Compliance & Audit Expectations

What the platforms guarantee, and what remains your responsibility.

  • Aimedis Care alerts the patient when a share is used (at most once per share in 6 hours) and shows every access in the patient's access history
  • A revoked share or key is refused on the next request, and an Aimedis Care token never outlives its 15 minutes
  • Aimedis Care writes record reads, PIN exchanges and Pro's practice-software calls to an append-only audit log whose entries are linked by SHA-256 hashes; an administrator can verify the chain
  • Your own processing of the data needs its own legal basis and agreements; none of these interfaces carries a certification
  • There is no break-glass access for professionals: in an emergency, only the patient's own emergency card shows information

Go-Live Checklist

Before you rely on an interface in production, check the following.

  • You ask patients to share only the categories you need, and practices for only the scopes you need
  • Credentials stay on your server: never in a browser, mobile app, URL or log
  • Your error handling covers 400, 401, 403, 404, 413, 429 (with Retry-After) and 503, and never retries a refused PIN automatically
  • Your integration treats a revoked share or key as an expected state, not a bug
  • You have reviewed the data-protection rules of your target market (for example the GDPR in the EU)
  • You have tested the whole flow with fictional data, including an expired or revoked credential

Not Offered Today

Not offered today

None of the following is available today. Only the last item is planned, and only for a concrete partner project; no date is set. Do not build against them.

  • Webhooks

    Not offered. Aimedis apps notify each other only through signed server-to-server requests that outside systems cannot use.

  • Self-service credentials

    Not offered. Credentials come from a Wiki administrator (awr_ keys), a practice administrator in Aimedis Pro (apx_ credentials) or the patient (a PIN share).

  • Client libraries

    Not published. The Wiki team can provide TypeScript and Python sample clients for the Wiki API; there are none for the care platforms.

  • Sandbox environment

    Not offered: there is no public test environment with synthetic data.

  • Interface gateway

    Planned only for a concrete partner project, not built: a separate gateway, for example for HL7 v2 over MLLP and SMART Backend Services.

Build only against the interfaces documented here. For an integration they do not cover, contact Aimedis before you start.