Status: Draft — will be revised as legal agreements and other components are built.
This page outlines the process for onboarding new client organisations (private clinics) onto the platform.
The onboarding process is a staff-initiated, client-completed workflow:
A member of our team logs into Django Admin and creates a CustomUser for the client's authorised person (e.g. Practice Manager, Registered Manager, Director).
| Field | Value |
|---|---|
| Role | ORG_ADMIN (Partner Org Admin) |
| Organisation | Leave empty — will be set after registration |
The user receives login credentials and can access the platform at https://gp.veripath.co.uk.
The client logs in and is redirected to /partner/register/ where they complete a single-page registration form with the following sections:
1-545611283)regulatedActivities[].contacts[].personRoles and locked"Registered"| Field | Source | Notes |
|---|---|---|
| Legal Name | CQC API (read-only) | Autofilled from CQC |
| Trading Name | Manual entry | Optional |
| Companies House Number | Manual entry | Optional — for KYB check |
Sourced from CQC and displayed as read-only.
| Field | Notes |
|---|---|
| Primary contact email | |
| Phone | Main contact number |
| Website | Organisation website (optional) |
Displayed as read-only from CQC data.
The client must accept a declaration confirming the information is accurate and they are authorised to register.
On form submission:
Organisation record is created with status PENDINGOnboardingAuditLog entry is created (REGISTRATION_SUBMIT → PASS)Staff review the registration under Partner Organisations → Organisations.
Available actions:
ACTIVE, records onboarded_at timestampREJECTED, deactivates the organisationAll review decisions are logged with an audit trail.
When fully built, activation will also:
PartnerOrg record linked to the OrganisationPENDING ──→ REGISTRATION_DONE ──→ LEGAL_PENDING ──→ UNDER_REVIEW ──→ ACTIVE
REJECTED
SUSPENDED
| Status | Meaning |
|---|---|
PENDING |
Client has not yet started the registration form |
REGISTRATION_DONE |
Registration form submitted, awaiting next steps |
LEGAL_PENDING |
Future — awaiting legal agreement signatures |
UNDER_REVIEW |
Under staff review |
ACTIVE |
Fully onboarded and operational |
REJECTED |
Application rejected |
SUSPENDED |
Previously active, now suspended |
partner.models.Organisation)Stores all compliance data verified during onboarding.
| Category | Fields |
|---|---|
| CQC | cqc_location_id (unique), cqc_provider_id, cqc_registration_status, cqc_api_snapshot |
| Identity | legal_name, trading_name, companies_house_number |
| Address | address_line1, address_line2, city, postcode |
| Contact | email, phone_number, website |
| Registered Manager | registered_manager_title, registered_manager_given_name, registered_manager_family_name |
| State | onboarding_status, onboarded_at, is_active |
| Activation | partner_org (OneToOne → PartnerOrg), keycloak_realm |
partner.models.OnboardingAuditLog)DSPT-compliant audit trail for every onboarding step.
| Step | Description |
|---|---|
CQC_LOOKUP |
CQC API lookup performed |
REGISTRATION_SUBMIT |
Registration form submitted |
LEGAL_AGREEMENT |
Future — legal agreement signed |
REVIEW_DECISION |
Staff approved or rejected |
The CQC Syndication API is a public, free API (Open Government Licence 3.0):
| Detail | Value |
|---|---|
| Base URL | https://api.cqc.org.uk/public/v1 |
| Auth | None required |
| Rate limit | 2000 req/min with ?partnerCode=veripath |
| Key endpoint | GET /locations/{locationId} |
The API returns location data including registration status, address, phone, and Registered Manager details.
aes.veripath.co.ukCustomUser with ORG_ADMIN role and no organisation/partner/register/PENDING statusonboarding_status = ACTIVEonboarding_status = REJECTED and is_active = False