Posted on

Jun 23, 2026

AI Scribe for Cliniko: The Complete Playbook for Allied Health Clinics

Clinical Update — June 2026: This playbook has been revised to reflect the NDIS Pricing Arrangements effective 1 July 2025–30 June 2026, updated AHPRA record-keeping guidelines (March 2026), and Cliniko API v1.4 changes to treatment-note webhook coverage. ICD-10-AM Twelfth Edition mappings and FHIR R5 Goal resource alignment have been verified against current HL7 Australia specifications.

AI Scribe for Cliniko: The Clinical Library Playbook for Longitudinal Progress Mapping, NDIS Audit Defense & ICD-10 Documentation Standards

  • TL;DR — Why This Guide Exists

  • Why Cliniko's Missing Goal Entity Blocks Longitudinal Progress Mapping

  • Scribing.io Clinical Logic: Handling the Melbourne Physio NDIS Plan-Review Scenario

  • FHIR Goal/Observation Crosswalk Architecture on Cliniko

  • Audit Defense: Immutable Event Logging & 7-Year Retention

  • Technical Reference: ICD-10 Documentation Standards

  • NDIS Therapeutic Supports Line-Item Mapping & Invoice Automation

  • Implementation: 14-Day Deployment Without EHR Migration

  • Next Steps: Live Cliniko Longitudinal Goal Tagging

TL;DR — Why This Guide Exists

Cliniko has no native "Goal" entity. Every AU/UK physiotherapy clinic relying on it for NDIS or private-insurer documentation is building longitudinal progress notes on a platform that treats each session as an isolated event. Scribing.io exists to close that structural gap—not by replacing Cliniko, but by implementing a FHIR Goal/Observation crosswalk directly on top of Cliniko's Treatment Note templates. The result: every SMART goal gets a stable UUID, every objective measure becomes a versioned Observation with clinician attribution and payer context, and every plan-review summary generates automatically with a defensible 7-year audit trail.

Competitors like HealOS address Cliniko integration at the operational layer—scribing, billing, phone calls—but completely ignore the structural gap that causes plan reviews to fail: the inability to tag, version, and audit functional goals across sessions. Scribing.io's clinician-engineer approach treats Cliniko not as a flat notes store but as a longitudinal data layer. If you are a Clinical Director managing NDIS Therapeutic Supports or a Cliniko Administrator responsible for audit-readiness, this is your technical and clinical reference. The same crosswalk architecture that powers our Epic Integration via SMART-on-FHIR and our athenahealth API connectivity is adapted here for Cliniko's REST API—proving that longitudinal goal mapping is a platform-agnostic clinical requirement, not an EHR-specific luxury.

Why Cliniko's Missing Goal Entity Blocks Longitudinal Progress Mapping

Every NDIS plan review and private-insurer audit in Australia asks the same question: Did the participant make measurable progress toward their stated functional goal? The NDIS Quality and Safeguards Commission expects that evidence to be computationally traceable, not narratively buried. Answering that question requires three data structures working in concert:

  1. A stable Goal record that persists across sessions and carries a unique identifier.

  2. Versioned Observations (objective measures like the 10-Meter Walk Test, 30-second Sit-to-Stand, or QuickDASH) timestamped and linked to that Goal.

  3. A payer-context link tying the Goal and its Observations to the correct NDIS line item or insurer episode number.

Cliniko provides none of these natively. Its data model centers on Appointments, Patients, and Treatment Notes—with Treatment Note Templates offering free-text or structured fields, but no discrete Goal entity, no Observation versioning, and no payer-context metadata. The AMA's documentation guidelines have long emphasized that clinical records must support longitudinal review; Cliniko's architecture makes this structurally impossible without an external data layer.

This is not a workflow inconvenience. It is a structural documentation failure that leads to:

  • Payment delays and clawbacks when NDIS Quality & Safeguards auditors cannot trace objective change to a stated goal.

  • Rejected plan-review summaries because the evidence is narratively buried rather than computationally accessible.

  • Clinician burnout from after-hours retrospective note remediation before audits—a pattern the NIH has linked directly to documentation burden in allied health settings.

What Competitors Miss

HealOS, the most visible Cliniko integration competitor, markets six AI agents covering scribing, phone calls, insurance verification, prior authorization, fax routing, and billing. Their value proposition is operational efficiency—reducing charting time, answering calls, and accelerating claims. These are legitimate pain points, and their Chrome Extension approach offers low-friction deployment.

However, their entire Cliniko integration treats notes as terminal documents: the AI Scribe generates a complete note, places it in Cliniko, and moves on. There is no mechanism to assign a persistent Goal identifier that carries across sessions, capture objective measures as discrete versioned data points rather than narrative text, link those data points to NDIS Therapeutic Supports line items, produce an immutable audit trail with cryptographic integrity verification, or handle Cliniko's inconsistent webhook behavior across tenants with a robust incremental-sync strategy.

Capability Comparison: Longitudinal Progress Mapping for NDIS/AU Audits

Capability

Cliniko Native

HealOS + Cliniko

Scribing.io + Cliniko

Discrete Goal entity with stable UUID

❌ Not available

❌ Not addressed

✅ FHIR Goal resource mapped to Cliniko note field

Versioned Observations (timestamped, clinician-attributed)

❌ Free-text only

❌ Narrative note generation only

✅ Each measure stored as FHIR Observation with clinician ID & payer context

NDIS Therapeutic Supports line-item linking

❌ Manual invoicing

❌ US-centric insurance focus

✅ Auto-mapped per goal per session

Private insurer episode linking (AU/UK)

❌ No episode metadata

❌ Not addressed

✅ Episode code attached to Goal + Observations

Immutable audit log (SHA-256, 7-year retention)

❌ Standard edit history only

❌ Not mentioned

✅ Hashed event log referencing Cliniko note IDs without duplicating PHI

Incremental sync (ETag/If-Modified-Since)

N/A

Chrome Extension (browser-session dependent)

✅ Server-side delta reconciliation within Cliniko rate limits

Automated plan-review summary generation

❌ Manual

❌ Not addressed

✅ Goal-delta summaries auto-attached to Cliniko record

AU/UK regulatory focus (NDIS, AHPRA, HCPC)

✅ AU/UK-native platform

⚠️ Primarily US-market (HIPAA, SOC 2)

✅ AU Privacy Act, UK GDPR, NDIS Practice Standards

The implication is clear: if your Cliniko AI scribe cannot answer "Show me the objective trajectory for Goal G-214f across 12 sessions, linked to NDIS line item 15_042_0128_1_3," it is not solving the problem that costs AU/UK physiotherapy clinics the most money and clinical credibility.

Scribing.io Clinical Logic: Handling the Melbourne Physio NDIS Plan-Review Scenario

This section walks through a real-world pattern—anonymized but architecturally precise—that demonstrates how Scribing.io's AI Scribe for Cliniko transforms a failing plan review into a defensible, funded outcome.

The Scenario

A Melbourne physiotherapy clinic treats an NDIS participant whose plan includes a functional goal: "Community ambulation of 500 meters without a mobility aid." The participant has completed 12 sessions. At plan review, the NDIS planner flags the documentation because progress notes do not explicitly link objective change to the stated functional goal, no single document shows a longitudinal trajectory, and the reviewer cannot determine whether the Therapeutic Supports funding was used in direct service of the stated goal.

Under standard Cliniko workflows—even with a generic AI scribe generating notes—this outcome is routine. The notes may be clinically accurate in isolation but are longitudinally incoherent from an audit perspective.

Step 1: Goal Registration (Session 1)

During the initial assessment, the clinician verbalizes the participant's functional goal. Scribing.io's ambient AI detects goal-relevant language ("The participant's goal is to walk 500 meters in the community without a walking frame") and prompts the clinician to confirm. Upon confirmation:

  • A Goal UUID is generated: G-214f-8b3c-…

  • The Goal is classified using FHIR R5 Goal resource semantics: lifecycleStatus: active, achievementStatus: in-progress, description: Community ambulation 500 m unassisted.

  • The Goal UUID is written to a dedicated goal-tracker field within the Cliniko Treatment Note template, ensuring it persists as structured data rather than buried narrative.

  • The Goal is mapped to the relevant NDIS Therapeutic Supports line item (e.g., 15_042_0128_1_3).

  • Associated outcome measures are pre-loaded from Scribing.io's protocol library: 10-Meter Walk Test (10MWT), 6-Minute Walk Test (6-MWT), and Timed Up and Go (TUG)—consistent with JAMA-published evidence on gait rehabilitation outcome measurement.

Step 2: Observation Capture & Missing-Data Prompts (Each Session)

At Session 3, the clinician is conducting gait retraining. Scribing.io's clinical logic engine detects that the active Goal (G-214f…) has associated outcome measures but the current session transcript has not mentioned them. The AI prompts:

"Goal G-214f (community ambulation 500 m) has no updated objective measures this session. Would you like to record 10-meter walk test time and/or 6-minute walk test distance?"

The clinician verbalizes the data. Scribing.io captures it as versioned FHIR Observations:

Observation Versioning: Goal G-214f — Community Ambulation 500 m

Session

Date

Measure

Value

Clinician ID

Payer Context

Cliniko Note ID

1 (Baseline)

2026-01-14

10MWT

14.2 s

CL-0087

NDIS 15_042_0128_1_3

CN-993210

1 (Baseline)

2026-01-14

6-MWT

310 m

CL-0087

NDIS 15_042_0128_1_3

CN-993210

3

2026-01-28

10MWT

13.1 s

CL-0087

NDIS 15_042_0128_1_3

CN-993247

6

2026-02-18

10MWT

11.7 s

CL-0087

NDIS 15_042_0128_1_3

CN-993301

6

2026-02-18

6-MWT

420 m

CL-0087

NDIS 15_042_0128_1_3

CN-993301

12

2026-04-01

10MWT

10.3 s

CL-0112

NDIS 15_042_0128_1_3

CN-993388

12

2026-04-01

6-MWT

485 m

CL-0112

NDIS 15_042_0128_1_3

CN-993388

Session 12 was conducted by a different clinician (CL-0112). The Goal UUID and Observation chain persist regardless of clinician rotation—a critical requirement for multi-practitioner NDIS practices where AHPRA record-keeping standards mandate continuity of clinical reasoning across treating practitioners.

Step 3: Plan-Review Summary Generation

When the plan review approaches, Scribing.io generates a Goal-Delta Summary automatically attached to the participant's Cliniko record:

Goal G-214f: Community ambulation 500 m unassisted
10MWT: 14.2 s (baseline, 2026-01-14) → 10.3 s (Session 12, 2026-04-01) | Δ −3.9 s (27.5% improvement)
6-MWT: 310 m (baseline) → 485 m (Session 12) | Δ +175 m (56.5% improvement) — approaching functional goal threshold
NDIS Line Item: 15_042_0128_1_3 — all 12 sessions tagged and invoiced
Achievement Status: In-progress → Approaching goal (485 m / 500 m target)
Clinical Recommendation: 4 additional sessions to consolidate community ambulation at target distance with environmental variability (inclines, uneven terrain).
Audit Trail: SHA-256 hashed event chain referencing Cliniko Note IDs CN-993210 through CN-993388

Step 4: Audit Resolution

The NDIS planner receives the summary. Every data point traces back to a specific Cliniko note ID. The Observation chain demonstrates clear, measurable progress. The line-item linking proves that Therapeutic Supports funding was applied to goal-directed therapy. The review accepts the documentation. Payment is released. The clinic retains a defensible 7-year audit trail tied to the original Cliniko note IDs—without duplicating PHI outside Cliniko's data boundary.

FHIR Goal/Observation Crosswalk Architecture on Cliniko

Cliniko's REST API exposes Treatment Notes as JSON objects with template fields, but provides no FHIR-native endpoints. Scribing.io bridges this gap through a crosswalk layer that maps FHIR R5 Goal and Observation resources to Cliniko's existing data structures without requiring EHR migration or schema modification.

Data Architecture

  • Goal resource → stored in a dedicated Treatment Note template field (goal_tracker_json) within each Cliniko Treatment Note. The field contains serialized FHIR Goal attributes: UUID, lifecycleStatus, achievementStatus, description, target measures, and payer-context references.

  • Observation resources → captured as structured entries within the same template field, each containing a reference to the parent Goal UUID, a LOINC code for the measure (e.g., 54614-3 for 10MWT), a numeric value, a timestamp, and the treating clinician's Cliniko practitioner ID.

  • Payer-context link → an additional JSON attribute tying each Goal to the NDIS line item code or private-insurer episode number. This link propagates to Cliniko's invoice system through the platform's product/service mapping.

Sync Strategy: Handling Cliniko's Webhook Gaps

Cliniko's webhook coverage for Treatment Note edits is inconsistent across tenants—some fire reliably on note creation but miss updates; others exhibit delivery delays exceeding the platform's stated retry window. Scribing.io addresses this with a server-side incremental sync strategy:

  1. ETag/If-Modified-Since polling runs at configurable intervals (default: 90 seconds) within Cliniko's published rate limits (200 requests per minute per API key).

  2. Delta reconciliation compares the last-known state of each Treatment Note's goal_tracker_json field against the incoming payload. Only changed Observations trigger a downstream event.

  3. Conflict resolution uses a last-write-wins policy with full version history retained in the Scribing.io audit layer—ensuring that even if a clinician manually edits a note in Cliniko, the Observation chain reflects both the original and amended values.

This approach is architecturally similar to how our Epic Integration handles SMART-on-FHIR token refresh and how our athenahealth API connector manages clinical inbox synchronization—the same incremental-sync principles applied to a different EHR's data topology.

Audit Defense: Immutable Event Logging & 7-Year Retention

AHPRA mandates that clinical records be retained for a minimum of 7 years from the date of last entry (or until the patient turns 25, whichever is later). NDIS Practice Standards require that evidence of service delivery be "accessible and verifiable" for the duration of the participant's plan plus any subsequent review period. The Office of the Australian Information Commissioner (OAIC) further requires that audit mechanisms do not create unnecessary copies of personal health information.

Scribing.io's audit layer meets all three requirements through a SHA-256-hashed event log:

  • Each event (Goal creation, Observation capture, note edit, summary generation) is recorded with a timestamp, the acting clinician's ID, the Cliniko Note ID, and a hash of the event payload.

  • The hash chain is append-only. Previous entries cannot be modified without invalidating subsequent hashes—providing tamper-evident integrity verification.

  • The event log references Cliniko Note IDs but does not duplicate PHI. The clinical content remains solely within Cliniko's data boundary, addressable via the Note ID.

  • Retention is configurable per tenant, with a minimum of 7 years and no maximum—supporting UK HCPC requirements that extend to 8 years in certain specialties.

During an audit, a reviewer can request the event log for a specific Goal UUID. The log returns a chronological chain of every Observation capture, every note edit, every summary generation, and every clinician who interacted with the record—all verifiable against Cliniko's source notes without requiring access to the Scribing.io platform itself.

Technical Reference: ICD-10 Documentation Standards

NDIS plan reviews and private-insurer audits in Australia increasingly expect ICD-10-AM coded diagnoses to accompany functional goal documentation. The WHO ICD-10 classification provides the diagnostic backbone, but audit failures frequently stem from insufficient specificity—using an unspecified parent code when a fourth- or fifth-character subclassification is clinically warranted.

Scribing.io's clinical logic engine addresses this through real-time specificity enforcement during ambient note capture. When a clinician describes a patient's gait impairment, the system does not accept a generic "gait abnormality" classification. Instead, it parses the clinical context and prompts for the most specific applicable code.

Key ICD-10 Codes for Gait Rehabilitation Documentation

R26.2 — Difficulty in walking: This code is the primary diagnostic anchor for the Melbourne scenario described above. When a clinician documents that a participant cannot walk 500 meters without a mobility aid, Scribing.io auto-suggests R26.2 and requires confirmation. The code is embedded in the Treatment Note's diagnostic field and linked to the Goal UUID, ensuring that every session note carries the same coded diagnosis—eliminating the inconsistency that occurs when clinicians free-text diagnoses differently each session.

not elsewhere classified; M62.81 — Muscle weakness (generalized): When the clinical picture includes generalized weakness contributing to gait limitation—common in NDIS participants with neurological conditions—Scribing.io prompts for M62.81 as a secondary code. This is particularly important for audit defense: a plan reviewer seeing only R26.2 may question why 12 sessions of strengthening-focused therapy were delivered. Adding M62.81 as a secondary diagnosis creates the clinical rationale for the treatment approach.

Specificity Enforcement Logic

ICD-10 Specificity Enforcement: Scribing.io Clinical Logic

Clinician Verbalization

Initial Code Suggestion

Specificity Prompt

Final Code

"Patient has difficulty walking"

R26 (unspecified)

"Is the difficulty related to gait pattern, mobility distance, or both? Please specify."

R26.2

"General weakness affecting mobility"

M62.9 (unspecified myopathy)

"Is the weakness localized or generalized? Is it NEC or NOS?"

M62.81

"Abnormal gait"

R26.9 (unspecified)

"Can you characterize the gait pattern? Ataxic, spastic, antalgic, or other?"

R26.0, R26.1, or R26.89 as appropriate

This approach aligns with CMS ICD-10 coding guidelines on maximum specificity and directly reduces denial rates by ensuring that every note carries a code that matches the clinical narrative. For Australian practices, the ICD-10-AM mapping follows the same specificity principles with Australian Coding Standards applied.

NDIS Therapeutic Supports Line-Item Mapping & Invoice Automation

The NDIS Pricing Arrangements and Price Limits (current through June 2026) define specific line items for physiotherapy services under Therapeutic Supports. The most commonly used items for the Melbourne scenario include:

  • 15_056_0128_1_3 — Individual physiotherapy session (standard)

  • 15_042_0128_1_3 — Assessment, Recommendation, Therapy or Training (group up to 5)

  • 15_200_0128_1_3 — Establishment Fee (initial assessment only)

Scribing.io maps each Goal's tagged sessions to the appropriate line item based on session type (individual vs. group), clinician provider number, and the Goal's therapeutic category. When a clinician completes a session and the Observation is captured, the platform:

  1. Identifies the active Goal UUID(s) addressed in the session.

  2. Matches each Goal to its pre-mapped NDIS line item.

  3. Writes the line-item code to Cliniko's invoice draft for clinician review before submission.

  4. Logs the Goal-to-line-item mapping in the immutable event chain.

This eliminates the manual process of matching sessions to line items at invoicing time—a process that in multi-goal, multi-clinician practices frequently results in under-billing (sessions not invoiced against the correct support category) or audit-triggering over-billing (sessions billed against a line item not supported by the documented Goal).

Implementation: 14-Day Deployment Without EHR Migration

Scribing.io deploys on top of Cliniko. There is no data migration, no schema change, and no disruption to existing workflows. The implementation timeline:

14-Day Deployment Timeline: Scribing.io + Cliniko

Day

Phase

Activities

1–2

API Provisioning

Cliniko API key generation, rate-limit baseline test, Treatment Note template audit, webhook coverage assessment per tenant

3–5

Goal Template Configuration

Creation of goal_tracker_json field in Treatment Note templates, NDIS line-item mapping, protocol library selection (outcome measures per clinical specialty)

6–8

Clinician Onboarding

Ambient AI calibration per clinician voice profile, Goal registration workflow training, missing-data prompt familiarization

9–11

Parallel Run

Live sessions documented in both legacy and Scribing.io workflows, delta comparison, Observation accuracy validation

12–13

Audit Trail Verification

SHA-256 hash chain integrity test, 7-year retention policy confirmation, OAIC compliance review

14

Go-Live

Legacy workflow decommission, plan-review summary generation enabled, invoice automation activated

Practices with existing Treatment Note templates retain them. Scribing.io adds the goal-tracker field alongside existing template fields—clinicians see their familiar documentation layout with one additional structured section that the AI populates automatically.

Next Steps: Live Cliniko Longitudinal Goal Tagging

See live Cliniko Longitudinal Goal Tagging with auto-generated NDIS plan-review packs and a 7-year immutable audit trail—implemented without EHR migration in under 14 days.

If your clinic is managing NDIS Therapeutic Supports on Cliniko and your plan reviews depend on manually reconstructed progress narratives, the structural gap described in this playbook is costing you funding, clinician time, and audit exposure. Scribing.io closes that gap at the data-architecture level—not with another note-generation tool that treats each session as a terminal event, but with a longitudinal data layer that makes every Goal, every Observation, and every payer link computationally accessible and audit-defensible for 7 years.

Request a deployment assessment for your Cliniko instance at scribing.io.

Still not sure? Book a free discovery call now.

Frequently

asked question

Answers to your asked queries

Can we get started today?

Can I edit or review notes before they go into my EHR?

Does Scribing.io work with telehealth and video visits?

Is Scribing.io HIPAA compliant?

Is patient data used to train your AI models?

Still not sure? Book a free discovery call now.

Frequently

asked question

Answers to your asked queries

Can we get started today?

Can I edit or review notes before they go into my EHR?

Does Scribing.io work with telehealth and video visits?

Is Scribing.io HIPAA compliant?

Is patient data used to train your AI models?

Still not sure? Book a free discovery call now.

Frequently

asked question

Answers to your asked queries

Can we get started today?

Can I edit or review notes before they go into my EHR?

Does Scribing.io work with telehealth and video visits?

Is Scribing.io HIPAA compliant?

Is patient data used to train your AI models?

Image

Clinical Precision.
Zero Documentation Debt

Finish Your Charts - Go Home on Time.

Clinical Precision.
Zero Documentation Debt

Finish Your Charts - Go Home on Time.