Canada Beauty Clinic Rating Structural Verification Index — aesthetic medicine & plastic surgery
By procedure: Rhinoplasty Breast surgery Liposuction & body contouring Hair transplant Injectables Medical weight loss

How we measure

Version 1.5.0, updated 25 September 2026. Public name of the score: Structural Verification Index. Every number on this site can be recomputed from the published data and the rules on this page: the engine reads the same file this page is rendered from.

What we check — and what we do not

We check structural trust facts against official public registers: who the responsible physician is, what certification and licence the registers confirm, whether the facility and the legal entity can be traced, whether the clinic discloses its own identifiers, whether its advertising is honest, whether its language fronts agree, and whether patient documents are published.

We do not assess outcomes, skill or complications. A high score means the clinic is well verified, not that treatment there is right for you. This is not medical advice.

The unit

One record = one clinic in this country: brand + address + responsible physician. The named physician is the load-bearing field — every register check is by name. Procedure segment and city are facets, not units.

Inclusion policy

Four mechanical conditions. The first three decide whether a clinic is listed; the fourth whether it can be scored.

  1. Identifiable: a live public surface and a working in-country contact on the check date.
  2. Provides the service itself: not an aggregator, booking site, affiliate or tour packager.
  3. In scope: the intervention is performed by a physician — plastic or aesthetic surgery, hair transplant, physician-led injectables or device treatments, medical weight loss. Out: salons, barbers, nails/brows/lashes, spas, med-spas without a named physician.
  4. Names a responsible physician. Otherwise the record is verification unavailable: it is not scored and not shown until a physician is named. Unknown is not fault — a missing name is a statement about coverage, not an accusation.

Country register map

The map for Canada was compiled NaN August 2026, before any clinic research. A class marked as absent makes its axis not applicable; a register that cannot be scripted leaves its axis cells as 'could not verify', without penalty. We never simulate a register.

Specialist board registerRoyal College of Physicians and Surgeons of Canada — national directory of certified specialists (open, machine-readable)
Medical licence registerCPSBC Registrant Directory — physician licence register (College of Physicians and Surgeons of BC) (open, machine-readable)
Facility registerCPSO Out-of-Hospital Premises Inspection Program — clinic inspections register (Ontario) (open, machine-readable)
Company registerCorporations Canada — federal corporation register (Innovation, Science and Economic Development Canada) (open, machine-readable)
Sanctions / discipline registerCPSBC Public Notifications — physician disciplinary actions register (College of Physicians/Surgeons of BC) (open, machine-readable)
Foreign-patient registerno public register of this class in this country

Read per jurisdiction: national, ON, QC, BC.

What cannot be checked in this country

Register classes that this country does not publish, keeps closed to machine queries or defines so that they do not cover the clinics we list. Each row names the class, the jurisdiction, the reason and the date of the last attempt; these axes are left out of the coverage calculation for the records concerned. No clinic is named and no hidden record is counted here.

Register classJurisdictionReasonLast attempt
Medical licence register (Collège des médecins du Québec — bottin des médecins)QCRegister closed to machine queries22 September 2026
Company register (Ontario Business Registry)ONRegister closed to machine queries22 September 2026
Company register (Registraire des entreprises du Québec (REQ))QCRegister closed to machine queries22 September 2026
Sanctions / discipline register (CMQ — «Liste des décisions disciplinaires»)QCRegister closed to machine queries22 September 2026
Foreign-patient registernationalNo register of this class in this countryNaN August 2026

The nine axes

Every axis is a fact or a quote from a public source, scored 1–5 against a fixed rubric. There are no editorial axes. Each cell carries its sources, its source class (official register / secondary) and its check date.

Fame, review volume, domain age and social-media following are scored nowhere.

M1 · Specialist certification of the responsible physician — weight 26

Whether the physician responsible for this record is found in the specialist register of the record's jurisdiction with a current specialisation matching what that physician advertises. The axis is carried by the designated responsible physician; if none is designated, by the physician named on the page of the advertised service (the first named, if several). The register lines of every named physician are shown on the profile as facts.

Register class: Specialist board register — Royal College of Physicians and Surgeons of Canada — national directory of certified specialists.

ValueAnchor
5Found, status current; the registered specialty matches what this physician advertises.
4Found, status current; the registered specialty is adjacent to what is advertised — a closed list: plastic and reconstructive surgery, dermatology, maxillofacial surgery, facial ENT, oculoplastic ophthalmology, general surgery, aesthetic or cosmetic medicine where it is a recognised specialty.
3Found in the register with a current status; the register does not disclose the specialty, or discloses a different one (including “no specialisation”), and the clinic claims no protected title. The register's own line is shown on the profile.
2Only a secondary source (society, association, directory) supports the certification, while the official register of this class is open in the jurisdiction.
1The register contradicts the claim: the physician's record is found and the status is not current (suspended, revoked, expired, retired, struck off), or the clinic claims a protected specialist title or a board certification that the register does not show for this person. A record that is simply not found is “queried, no match”, never this value; a miss in a register that indexes only current entries supports no finding.

M2 · Identifiability of the responsible physician — weight 16

Whether a patient can name the specific physician and their role before making contact, and whether that physician is tied to this location.

ValueAnchor
5Physician(s) named with role and tied to this address.
4Named; role unclear.
3A name appears in only one place on the site.
2Surname or initials without a full name; or the name is available to a patient only in the official register, not on the clinic's own surface.
1'Our team' only — this is the gate state 'verification unavailable'.

M3 · Basic medical licence — weight 8

Whether the responsible physician's registration is found in the medical licence register of the record's jurisdiction.

Register class: Medical licence register — CPSBC Registrant Directory — physician licence register (College of Physicians and Surgeons of BC).

ValueAnchor
5Matched by the licence number the clinic itself publishes.
4Matched by name (surname stem and given name or initial; a second identifier where the name is ambiguous).
3The register of this class is not machine-accessible or does not cover this class of practitioner; the clinic itself publishes the number.
2Licence claimed without a number.
1The register contradicts the licence number the clinic publishes, or shows a status that is not current.

M4 · Facility registration — weight 10

Whether the operating location is found in the facility register of the record's jurisdiction. Where the jurisdiction has no such register, or the register by its own definition does not cover this class of facility, the axis leaves the coverage calculation. A register that exists but returns no record leaves the cell empty — we never claim 'unlicensed'.

Register class: Facility register — CPSO Out-of-Hospital Premises Inspection Program — clinic inspections register (Ontario).

ValueAnchor
5Record found: name, address and status match.
4Found with a spelling discrepancy; or the location is registered under the name of the host facility at the same address (a practice inside a hospital or a centre); or the value comes from a mirror or from a directory that shows no status — the profile names the record holder verbatim.
3The register of this class is not machine-accessible, or by its own definition does not cover this class of facility or this territory, and the clinic itself publishes its authorisation or licence number.
2Only the clinic's own statement.
1A registration number published by the clinic is contradicted by the register (verified false → flag).

M5 · Legal-entity traceability — weight 8

Who is legally responsible: a legal entity in the company register, tied to the brand and the address.

Register class: Company register — Corporations Canada — federal corporation register (Innovation, Science and Economic Development Canada).

ValueAnchor
5The legal entity and its registration number are published by the clinic and matched in the register.
4The clinic names the legal entity or the responsible person in its legal notice and the record is found by name; or the number the clinic publishes leads to an entity with a different name that is tied to this location by the same address or the same responsible person.
3The legal entity is named; the register of this class is not accessible or does not cover this legal form (sole practitioner, private practice).
2Only a brand, without a legal form and without a responsible person. Whatever we find ourselves is shown on the profile as a fact and does not raise this cell.
1The register contradicts the legal entity the clinic names: no such number, the entity is dissolved, or the number belongs to an entity with no traceable link to this location (different address and different people). Verified conflict → hold H2. An entity that is simply not found is “queried, no match”, never this value.

M6 · Self-disclosure of identifiers — weight 10

Whether the clinic itself publishes the numbers needed to re-check it (licences, certificates with issuer). Disclosure is rewarded; a missing number is not a missing licence.

ValueAnchor
5All load-bearing numbers published with issuers.
4Physician numbers published; facility or legal-entity numbers not.
3Partial, without issuers.
2Logos without numbers.
1No identifiers at all.

M7 · Advertising honesty — weight 12

A machine profile of the clinic's own rendered claims against a closed lexicon. Every deduction cites an exact quote with URL, locale and date. A bright-line deduction (2) needs all five conditions at once: the text is rendered to a visitor on a page of the record's surface (captions, FAQ, tabs included; alt text, meta tags, structured data, script bundles and text inside images excluded); it is the clinic's own voice, not a patient's; its object is patient safety or the treatment outcome; it is unconditional and about the future; it is neither a purpose clause (“to ensure that …”) nor a patient-protective policy. Revision programmes and complication cover are patient-protective policies and count under M9, never here; a manufacturer's warranty, an equipment or calibration statement and a disclaimer are not patterns. The profile is a property of the set of pages scanned for the record and follows the current text of the surface.

ValueAnchor
5No pattern from the lexicon found.
4One or two soft superlatives or non-absolute safety promises.
3Systematic superlatives; systematic safety promises without an absolute; absolutes about the past (success rates, “no infection since …”, satisfaction figures, “we guarantee your satisfaction”); comparisons with surgery.
2An unconditional absolute about the patient's future safety or the treatment outcome — zero risk, no complications, “100% safe”, “result guaranteed” — in the clinic's own rendered text (bright line; cap 65).
1Verified fake credential of a named person or of the clinic (flag + cap 45).

M8 · Cross-locale consistency — weight 5

Whether facts agree across the language fronts of the clinic's own site (physician, numbers, accreditations) — a mechanical comparison of extracted fields.

ValueAnchor
5All load-bearing fields agree.
4Spelling discrepancies.
3Some facts appear on only one front.
2A load-bearing fact (physician or number) differs.
1Fronts contradict each other on credentials (H2 candidate).

M9 · Patient documents — weight 5

Presence check for five document classes on the clinic's own surface: treatment consent (not cookie consent), risks and contraindications, aftercare, revision policy, complaint route. A class counts when it is reachable from a stable address or anchor and named by a heading or a labelled control; unheaded prose inside a procedure page does not count, a privacy or GDPR policy closes none of the five classes, and a society's ombudsman counts as a complaint route only if the clinic itself links it. Presence only — the quality of the documents is not assessed.

ValueAnchor
5All five classes published.
4Four.
3Two or three.
2One.
1None.

The formula

Each axis value 1–5 is mapped to 0–1. The composite is the weighted average over the axes that hold a value: axes that are not applicable in this country, axes whose register is closed to machine queries and axes we could not verify drop out of the normalisation.

composite = 100 × Σ(weight × (value − 1) / 4) / Σ(weight of axes with a value)
score = min(composite + focus adjustment, lowest active ceiling), clamped to 0…100

Coverage threshold: a score is published only when at least 75% of the axis weight that can be measured in this country holds a sourced value. A register class the country does not publish, or one that refuses machine queries (the refusal is on record in the register map), is left out of that denominator; a completed query with no match, an attempt that did not complete and a single language front count against coverage. Below the threshold the record is verification pending: it carries no score and is not shown until the next collection pass lifts it above the threshold.

We publish only clinics we could verify against the registers; a clinic without a published score is not shown anywhere on this site.

A record is published only if at least one of the register axes (M1, M3, M4, M5) holds a value; a profile that would rest on self-disclosure alone is not shown.

Focus adjustment

A mechanical classification from the clinic's own menu.

FocusAdjustment
specialist0
aesthetic in general clinic-2
spa or salon addon-5

Score ceilings

A ceiling is applied only from a verified-false finding — never from 'not found'. Each ceiling is rendered from a fixed template with the exact quote or register entry and its URL; no free text is written about a named clinic.

CeilingMax scoreWhat triggers itFixed wording
Verified false accreditation or licence claim45A claimed accreditation, board certification or licence is contradicted by the official register. Never applied on “not found” alone.The register {registry} (record dated {date}) does not confirm the credential claimed at {url}: “{quote}”. Under this methodology the score is capped at {cap}; the clinic's reply, when it comes, is shown next to this line.
Outcome guarantee or ‘100% safe’-class statement65The clinic's own published text guarantees a result or absolute safety. Applied only with the exact quote.The clinic's own page {url} ({locale}, {date}) states: “{quote}”. Under this methodology an outcome guarantee caps the score at {cap}.
Active sanction in a machine-readable official register45Exists only in countries whose registry map declares a sanctions register. Absence of a sanction is never a finding.Entry in the {registry} register dated {date}: {url}. The score is capped at {cap}; the clinic's reply, when it comes, is shown next to this line.

The sanctions ceiling exists only in countries with a machine-readable official sanctions register. In this country: CPSBC Public Notifications — physician disciplinary actions register (College of Physicians/Surgeons of BC). Absence of a sanction is never a finding.

Holds

Positive verification by default; the hold ladder handles the cases where public records conflict or the physician cannot be identified.

IDHoldEffectFixed wording
H1Clarification requestedprofile provisional, no crownA clarification has been requested from the clinic. The profile is provisional and carries no crown until it is resolved.
H2Material structural conflictscore ceiling (69)Public records show a material structural conflict ({detail}). The score is capped at {cap}; the clinic's reply, when it comes, is shown next to this line.
H3Responsible physician not identifiablecomposite withheld, unrankedThe responsible physician could not be identified from public sources. The composite score is withheld and the record is not published until a physician is named.

Crowns and procedure slices

A crown is a boolean gate from register-verified axes — never from a clinic's claim. Within a crown, the order is the composite.

CrownMeaningGate
Specialist-ledThe responsible physician holds a current, matching specialist certification in the official register (M1 = 5, official source) and is clearly identifiable (M2 ≥ 4).M1 ≥ 5 (official register) · M2 ≥ 4
Foreign-patient readyThe clinic is verified in the country's official foreign-patient register. Exists only where such a register exists.no such register in this country — this crown does not exist here

Procedure slices list the clinics whose own menu names the procedure (a sourced boolean), ranked by the composite:

Outcome quality

There is no independent measurement of treatment outcomes in this field, and we do not imitate one. The register facts already in the axes are the only quality-adjacent evidence we publish.

How the data is produced (unattended run)

  1. No score without a source — in two passes. A collector records the value, the quote and the URL; a separate verifier reloads the URL and looks for the quote by string match. If the quote is not found, the cell degrades to 'could not verify'.
  2. All negative wording is templated. Ceilings and holds are rendered from fixed strings plus the cited quote or register entry. Nothing free-form is written against a named clinic.
  3. The validator is the build gate. Every axis key must be present (null allowed, absence not), every citation must resolve, ceilings only from verified-false findings with a quote, weights must sum to 100, and superlatives in our own text fail the build.
  4. A checklist per record: at least two independent sources, the register map opened and cited, every axis either a sourced value or an explicit 'could not verify'.
  5. Right of reply without a human in the loop: messages to the contact form or corrections@ are processed as ordinary data input. A correction with a source is applied and logged; a statement without one is published next to the data and the score does not change.

Every cell records how it was read (crawler script, second network egress, or a browser running the same crawler code) and is re-verified in the same mode. A page that fails to load never removes a value; a value is removed only when the page loaded and the quote was not there. Nothing rests on a person's word.

A negative finding — one official register record about this unit or this person, with a status in force — is published as soon as it is assembled: the register's line verbatim, the link and the date it was read. The register does not write to clinics; a clinic that disagrees uses the corrections form or this register's corrections address, its reply is shown next to the fact, and the score changes only on a source. An absence — 'no sanctions', 'not found' — is never published.

Why a cell can be empty

Every cell we could not verify carries one of these reasons. Where a query was run, the record shows the register, the date and the outcome of the attempt. An attempt that did not complete is re-run in the next collection pass; it is never a finding against the clinic.

ReasonMeaning
No register of this class in this countryThe country register map declares no public register of this class; the axis is not applicable, drops out of the normalisation and is left out of the coverage denominator.
Register closed to machine queriesThe register exists but refuses machine queries in this jurisdiction (CAPTCHA, login, an unscriptable form, a signature challenge, or a geographic or network block reproduced from two different egresses on different days); the refusal is on record in the register map and the documented secondary routes did not yield a value. The axis is left out of the coverage denominator for every clinic of that jurisdiction: the clinic is scored on what the country lets us check. A source that answers in an ordinary browser is not closed. Closedness is re-probed monthly.
Register does not cover this class of facility or this territoryThe register of this class exists and answers, but by its own definition does not cover this class of facility or this territory (only hospitals are licensed; only accredited facilities are listed; only one region of a federation is covered). The register's or the regulator's own statement of coverage is quoted in the register map. Like a closed register, the axis is left out of the coverage denominator; where the clinic publishes its own authorisation number the anchor 3 applies.
Queried, no matchThe register was queried and no matching entry was found, or the match is ambiguous (two or more candidates and no second identifier). Logged with the query. Not a negative finding and never a value: a miss can be a transliteration or a legal name behind a brand.
Attempt not completedThe query did not complete (rate limit, timeout, quota, unreachable, or the clinic site failed to load). The cell is re-run at least weekly; after 30 days without an answer, with at least six attempts on three different days from two egresses, the register class is recorded as closed (unreachable) and re-probed monthly. A permanent “retry” does not exist.
Nothing to queryThe clinic publishes no surname for its physician (M1, M3), or names neither a legal entity nor a responsible person where the anchor needs one. The record shows what the surface actually publishes. The cell stays in the coverage denominator — a clinic's non-disclosure is not rewarded — and is final until the surface changes; it is not re-run by itself.
Single language frontM8 only: the clinic site publishes one language front, or the clinic has no website on record, so there is nothing to compare.

Freshness

Each record shows the real date of its last check. Register axes (M1, M3, M4) are rechecked within 90 days; the advertising axis (M7) within 180 days. Every change is logged in the changelog and in the record's own history.

What this register does not do

Independence: we take no money from clinics, we do not book, we do not refer, and no position can be bought. Data changes only through sourced facts, for every clinic under the same rules.

This site is an independent research project provided 'as is'. Clinic names and public information are used for identification. Nothing here creates a doctor–patient or advisory relationship.

Methodology versions

DateVersionChange
29 August 2026v1.0.0Initial public methodology: nine mechanical axes (M1–M9, weights summing to 100), 1–5 rubric per axis, weighted composite normalised over axes that hold a value, 75% coverage threshold, hold ladder H1–H3, score caps only from verified-false findings, focus penalty, registry-gated crowns.
17 September 2026v1.1.0Completeness of collection became a build gate. Every cell we could not verify now carries a typed reason (register absent in this country, register not machine-accessible, queried and not found, attempt not completed, single language front) and, where a query was run, the attempt log; a closed register is tried through secondary routes before a cell is left empty; cross-locale consistency (M8) is computed mechanically. Only clinics with a published score are shown; a site publishes only with at least ten scored clinics (target fifteen) and otherwise shows a holding page while collection continues. Home title, heading and description name the country and are built from the site’s own data. Weights, rubrics, the coverage threshold, ceilings and holds are unchanged.
18 September 2026v1.2.0Coverage is measured against what the country lets us check: a register class that does not exist here or is closed to machine queries (with the refusal on record) leaves the coverage denominator; a completed query with no match, an attempt that did not complete and a single language front stay in it. A register miss is never a value: the three anchors that used to encode a miss (M1 = 1, M4 = 3, M5 = 1) now mean a found record that contradicts the claim, or, for M4 = 3, a register that is not machine-accessible while the clinic publishes its facility number. Where the specialist register is closed, M1 is not scored on that site at all; what a society, ISAPS or a hospital page says is shown on the profile as a secondary fact outside the score. Commercial mirrors of an official register can support M3–M5 up to 4 with secondary provenance. M8 may be empty only for a single language front or while the clinic site fails to load. The citation verifier applies exactly three normalisations (HTML entities, Unicode NFC, whitespace). Weights, rubrics otherwise, the 75% coverage threshold, ceilings, holds and the ten-clinic floor are unchanged.
22 September 2026v1.3.0Two new reasons for an empty cell: 'register does not cover this class of facility or this territory' (proved by a quote of the register's own statement of coverage; leaves the coverage denominator like a closed register) and 'nothing to query' (the clinic publishes no surname or no legal entity; stays in the denominator). Registers are read per jurisdiction — province, Land, emirate or region — where that is what licenses; openness, closedness and coverage are properties of the register class in that jurisdiction, and a closed jurisdiction never closes the whole country. The country map names sources, access and jurisdictions only; it never changes an anchor. The anchors of M1, M3, M4 and M5 are restated: 5 on M3 and M5 requires the number the clinic itself publishes; a found record whose specialty the register does not confirm is 3, not 1, unless the clinic claims a protected title the register does not show; adjacency is a closed list; a practice registered under its host facility scores 4 on M4. The advertising lexicon (M7) is closed: 2 needs an unconditional absolute about the patient's future safety or the treatment outcome, rendered in the clinic's own voice; purpose clauses, revision programmes, manufacturer warranties and equipment statements are not patterns; absolutes about the past and satisfaction figures are 3. M9 counts a document class only when it is reachable from a stable address and named by a heading or a labelled control. A record is published only if at least one register axis holds a value. Every cell records how it was read (script, second egress, browser) and is re-verified in the same mode; a page that fails to load never degrades a cell. A negative finding needs one official register record about this unit or this person, from the register that governs the claim, with a status in force; the clinic receives a letter and a 14-day reply window before the finding is published; an absence (“no sanctions”, “not found”) is never rendered. Personal identifiers are never stored. Weights, the 75% coverage threshold, ceilings, holds and the ten-clinic floor are unchanged.
25 September 2026v1.4.0Owner ruling: the 14-day reply window before publication is removed. A negative finding — one official register record about this unit or this person, from the register that governs the claim, with a status in force — is published as soon as it is assembled, with the register's line verbatim, the link and the date of reading; a negative finding is published exactly as fast as a positive one. The same day the register sends the clinic a letter from this site's corrections address; the clinic's reply, when it comes, is shown next to the fact, and the score moves only on a source. An unsent letter never holds or removes a finding. One official record per finding, the governing register, status in force only, the name-match rule and 'an absence is never published' are unchanged; so are the weights, the 75% coverage threshold, ceilings, holds and the ten-clinic floor.
25 September 2026v1.5.0Owner ruling: the register never writes to a clinic on its own initiative — no letters about findings and no letters asking for missing data. Right of reply is passive, as in v1.0: a finding is on the profile in the register's own words, with the link and the date it was read; a clinic that disagrees uses this site's corrections form or corrections address; its reply is shown next to the fact, and the score moves only on a source. Everything else in v1.4 is unchanged.