Changelog
Every data change, correction and methodology version is logged here and in each record's own history.
| Date | Subject | Change |
|---|---|---|
| 16 October 2026 | Methodology v1.7.0 | Owner ruling: the publication threshold of a site is four scored clinics; ten remains the target of the collection gate and fifteen the roster target. A site with four to nine scored clinics is published open to search — ordinary home page, full sitemap — and stays in the re-collection loop until it reaches ten; the holding page with noindex and an empty sitemap is shown only below four. A clinic without a published score is still shown nowhere. Weights, rubrics, the 75% coverage threshold, ceilings and holds are unchanged. |
| 25 September 2026 | Methodology v1.4.0 | Owner 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 2026 | Methodology v1.5.0 | Owner 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. |
| 22 September 2026 | Eden Health Center | axes.M3: 3 → 2 (Methodology v1.3 (owner rulings 2026-09-22) — rule 6 — the licence number is not printed on the clinic pages (audit short_number); licence claimed without a number) |
| 22 September 2026 | Methodology v1.3.0 | Two 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. |
| 21 September 2026 | Eden Health Center | axes.M3: null → 3 (Retry cell re-read: the profile page opens in a browser and carries the licence number.) |
| 21 September 2026 | Eden Health Center | axes.M6: null → 4 (Retry cell re-read: physician licence numbers are published on the profile pages.) |
| 21 September 2026 | Eden Health Center | axes.M7: null → 4 (Retry cell re-read: lexicon scan of the pages opened in a browser.) |
| 21 September 2026 | Plastic Surgicentre | axes.M7: null → 4 (Retry cell re-run: the clinic site loads again; fresh lexicon scan of the pages listed in the note.) |
| 18 September 2026 | Bakir Clinic | axes.M1: 2 → null (Methodology v1.2 (owner ruling 2026-09-18): M1 is not scored where the country's specialist register is closed; the secondary finding moved to facts[]) |
| 18 September 2026 | Eden Health Center | axes.M1: 2 → null (Methodology v1.2 (owner ruling 2026-09-18): M1 is not scored where the country's specialist register is closed; the secondary finding moved to facts[]) |
| 18 September 2026 | Elite Medical Center | axes.M1: 2 → null (Methodology v1.2 (owner ruling 2026-09-18): M1 is not scored where the country's specialist register is closed; the secondary finding moved to facts[]) |
| 18 September 2026 | Korean Medical Center (KMC) | axes.M1: 2 → null (Methodology v1.2 (owner ruling 2026-09-18): M1 is not scored where the country's specialist register is closed; the secondary finding moved to facts[]) |
| 18 September 2026 | Methodology v1.2.0 | Coverage 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. |
| 18 September 2026 | Plastic Surgicentre | axes.M1: 2 → null (Methodology v1.2 (owner ruling 2026-09-18): M1 is not scored where the country's specialist register is closed; the secondary finding moved to facts[]) |
| 18 September 2026 | SAC Healthcare | axes.M1: 2 → null (Methodology v1.2 (owner ruling 2026-09-18): M1 is not scored where the country's specialist register is closed; the secondary finding moved to facts[]) |
| 18 September 2026 | Surgi Art Hospital | axes.M1: 2 → null (Methodology v1.2 (owner ruling 2026-09-18): M1 is not scored where the country's specialist register is closed; the secondary finding moved to facts[]) |
| 18 September 2026 | The View Hospital — Plastic Surgery Department | axes.M1: 2 → null (Methodology v1.2 (owner ruling 2026-09-18): M1 is not scored where the country's specialist register is closed; the secondary finding moved to facts[]) |
| 17 September 2026 | Al-Ahli Hospital | Initial collection (v1.1 pass 1). |
| 17 September 2026 | Al-Ahli Hospital | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | Al-Ahli Hospital | axes.M5: null → 2 (Brand-only is a rubric anchor from the clinic's own site; the register miss stays logged in the note (v1.1 pass 1 correction).) |
| 17 September 2026 | Al-Ahli Hospital | axes.M8: null → 5 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | Bakir Clinic | Initial collection (v1.1 pass 1). |
| 17 September 2026 | Bakir Clinic | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | Bakir Clinic | axes.M5: null → 2 (Brand-only is a rubric anchor from the clinic's own site; the register miss stays logged in the note (v1.1 pass 1 correction).) |
| 17 September 2026 | Eden Health Center | Initial collection (v1.1 pass 1). |
| 17 September 2026 | Eden Health Center | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | Eden Health Center | axes.M3: 3 → null (Citation re-check: quote not found at https://edenhealth.qa/our-doctors/dr-habib-albasti/ (http 403); cell degraded to could-not-verify.) |
| 17 September 2026 | Eden Health Center | axes.M6: 4 → null (Citation re-check: quote not found at https://edenhealth.qa/our-doctors/dr-habib-albasti/ (http 403); cell degraded to could-not-verify.) |
| 17 September 2026 | Eden Health Center | axes.M7: 4 → null (Citation re-check: quote not found at https://edenhealth.qa/our-doctors/dr-habib-albasti/ (http 403); cell degraded to could-not-verify.) |
| 17 September 2026 | Elite Medical Center | Initial collection (v1.1 pass 1). |
| 17 September 2026 | Elite Medical Center | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | Elite Medical Center | axes.M5: null → 2 (Brand-only is a rubric anchor from the clinic's own site; the register miss stays logged in the note (v1.1 pass 1 correction).) |
| 17 September 2026 | Gardenia Medical Centre | axes.M8: null → 3 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | Gardenia Medical Centre | axes.M1: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Gardenia Medical Centre | axes.M3: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Gardenia Medical Centre | axes.M4: null → null (Re-run against the MOPH facility register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Gardenia Medical Centre | axes.M9: null → null (Re-run against the clinic site (v1.1 pass 1); typed not_found.) |
| 17 September 2026 | Gardenia Medical Centre | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | German Dental & Dermatology Centre (GDDC) | axes.M8: null → 3 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | German Dental & Dermatology Centre (GDDC) | axes.M1: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | German Dental & Dermatology Centre (GDDC) | axes.M3: null → 3 (Re-run against the DHP register (v1.1 pass 1): register not machine-accessible, licence number published by the clinic.) |
| 17 September 2026 | German Dental & Dermatology Centre (GDDC) | axes.M4: null → null (Re-run against the MOPH facility register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | German Dental & Dermatology Centre (GDDC) | axes.M6: 2 → 4 (Team page re-read (v1.1 pass 1): per-physician licence numbers are published.) |
| 17 September 2026 | German Dental & Dermatology Centre (GDDC) | axes.M9: null → null (Re-run against the clinic site (v1.1 pass 1); typed not_found.) |
| 17 September 2026 | German Dental & Dermatology Centre (GDDC) | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | Korean Medical Center (KMC) | axes.M8: null → 5 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | Korean Medical Center (KMC) | axes.M1: null → 2 (Re-run against the DHP register and its secondary routes (v1.1 pass 1): only secondary directories support the certification.) |
| 17 September 2026 | Korean Medical Center (KMC) | axes.M3: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Korean Medical Center (KMC) | axes.M4: null → null (Re-run against the MOPH facility register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Korean Medical Center (KMC) | axes.M9: null → 2 (Re-run against the clinic site (v1.1 pass 1): complaint route found.) |
| 17 September 2026 | Marble Medical Center — Plastic Surgery Department | axes.M8: null → 3 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | Marble Medical Center — Plastic Surgery Department | axes.M1: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Marble Medical Center — Plastic Surgery Department | axes.M3: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Marble Medical Center — Plastic Surgery Department | axes.M4: null → null (Re-run against the MOPH facility register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Marble Medical Center — Plastic Surgery Department | axes.M9: null → null (Re-run against the clinic site (v1.1 pass 1); typed not_found.) |
| 17 September 2026 | Marble Medical Center — Plastic Surgery Department | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | Methodology v1.1.0 | Completeness 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. |
| 17 September 2026 | Plastic Surgicentre | axes.M8: null → 5 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | Plastic Surgicentre | axes.M1: null → 2 (Re-run against the DHP register and its secondary routes (v1.1 pass 1): only secondary directories support the certification.) |
| 17 September 2026 | Plastic Surgicentre | axes.M3: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Plastic Surgicentre | axes.M4: null → null (Re-run against the MOPH facility register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Plastic Surgicentre | axes.M7: null → 4 (Re-run the lexicon scan over the clinic site (v1.1 pass 1).) |
| 17 September 2026 | Plastic Surgicentre | axes.M7: 4 → null (Citation re-check: quote not found at https://drmakki.com/ (quote not found); cell degraded to could-not-verify.) |
| 17 September 2026 | Queens Dermatology Center | axes.M1: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Queens Dermatology Center | axes.M3: null → 3 (Re-run against the DHP register (v1.1 pass 1): register not machine-accessible, licence numbers published by the clinic.) |
| 17 September 2026 | Queens Dermatology Center | axes.M4: null → null (Re-run against the MOPH facility register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | Queens Dermatology Center | axes.M9: null → null (Re-run against the clinic site (v1.1 pass 1); typed not_found.) |
| 17 September 2026 | Queens Dermatology Center | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | SAC Healthcare | Initial collection (v1.1 pass 1). |
| 17 September 2026 | SAC Healthcare | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | SAC Healthcare | axes.M8: null → 3 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | Surgi Art Hospital | Initial collection (v1.1 pass 1). |
| 17 September 2026 | Surgi Art Hospital | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | Surgi Art Hospital | axes.M5: null → 2 (Brand-only is a rubric anchor from the clinic's own site; the register miss stays logged in the note (v1.1 pass 1 correction).) |
| 17 September 2026 | Surgi Art Hospital | axes.M8: null → 3 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | The Pearl Dermatology & Laser Centre | axes.M8: null → 5 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | The Pearl Dermatology & Laser Centre | axes.M1: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | The Pearl Dermatology & Laser Centre | axes.M3: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | The Pearl Dermatology & Laser Centre | axes.M4: null → null (Re-run against the MOPH facility register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | The Pearl Dermatology & Laser Centre | axes.M9: null → null (Re-run against the clinic site (v1.1 pass 1); typed not_found.) |
| 17 September 2026 | The Pearl Dermatology & Laser Centre | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | The Pearl International Hospital | Initial collection (v1.1 pass 1). |
| 17 September 2026 | The Pearl International Hospital | axes.M9: null → 1 (Completed clinic-site scan is a rubric anchor, not a register miss (methodology rubric; v1.1 pass 1 correction).) |
| 17 September 2026 | The Pearl International Hospital | axes.M5: null → 2 (Brand-only is a rubric anchor from the clinic's own site; the register miss stays logged in the note (v1.1 pass 1 correction).) |
| 17 September 2026 | The Pearl International Hospital | axes.M8: null → 5 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | The View Hospital — Plastic Surgery Department | axes.M8: null → 5 (Mechanical cross-locale comparison (methodology v1.1, item 9).) |
| 17 September 2026 | The View Hospital — Plastic Surgery Department | axes.M1: null → 2 (Re-run against the DHP register and its secondary routes (v1.1 pass 1): only secondary directories support the certification.) |
| 17 September 2026 | The View Hospital — Plastic Surgery Department | axes.M3: null → null (Re-run against the DHP register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | The View Hospital — Plastic Surgery Department | axes.M4: null → null (Re-run against the MOPH facility register and its secondary routes (v1.1 pass 1); typed registry_closed.) |
| 17 September 2026 | The View Hospital — Plastic Surgery Department | axes.M9: null → 2 (Re-run against the clinic site (v1.1 pass 1): complaint route found.) |
| 29 August 2026 | Gardenia Medical Centre | Initial collection. |
| 29 August 2026 | German Dental & Dermatology Centre (GDDC) | Initial collection. |
| 29 August 2026 | Korean Medical Center (KMC) | Initial collection. |
| 29 August 2026 | Marble Medical Center — Plastic Surgery Department | Initial collection. |
| 29 August 2026 | Methodology v1.0.0 | Initial 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. |
| 29 August 2026 | Plastic Surgicentre | Initial collection. |
| 29 August 2026 | Plastic Surgicentre | axes.M7: 4 → null (Citation re-check: quote not found at https://drmakki.com (quote not found); cell degraded to could-not-verify.) |
| 29 August 2026 | Queens Dermatology Center | Initial collection. |
| 29 August 2026 | The Pearl Dermatology & Laser Centre | Initial collection. |
| 29 August 2026 | The View Hospital — Plastic Surgery Department | Initial collection. |