A closer look · AI workflows · Hong Kong
Where the listing and the register disagree.
On 11 September the Department of Health said a private dental platform had listed more than 340 dentists at one clinic in Mong Kok, including over 200 full-time government Dental Officers. The public list that settles those claims is 713 pages long. Here is how AI turns checking a batch of listings against it into a short review queue.
The total is printed on the list. The other two counts are mine, from the text of the same PDF. The parse found all 2,562 registration numbers, so no entry was skipped.
A listing makes two claims: this person is a dentist, and this person practises here. A check that stops at the first can pass a listing that is false on the second.
The Department of Health said no serving full-time government Dental Officer works at a private dental clinic, called the platform’s information about them false, reported the matter to the police and pointed the public to the Dental Council’s List of Registered Dentists. Source: DH press release. The statement does not name the platform. Neither does this page.
The list the department points to carries the field that answers the listing: practice addresses. On the practising list dated 7 September 2026, 354 entries give the Department of Health as one. The claim in a listing is a place. The register says where each dentist practises.
So the check that matters compares addresses. Doing that by hand means searching a 713-page bilingual PDF for each name, in English and in Chinese, then reading every address. It is slow, and the slow part is reading. That part AI does well.
Fictional listings, fictional register
Run a batch through the check.
Every name, address and registration number below is invented. Pick a batch, then switch parts of the workflow off and on. The queue at the top is the number of listings a person has to look at. Everything else goes straight through or stays held, with the reason written beside it.
Interactive specimen · fictional data · fixed rules in the browser
A normal week
New profiles from three clinics, submitted for publication.
Review each flagged listing first.
Batch closed.
Kept for each listing: registration number, date of the list checked, result and reviewer. The register itself is not copied into the platform.
Fixed text and fixed rules. No model, register or platform is connected, and nothing is published. The name-matching switch stands in for the AI step: when it is off, only names written exactly as the register writes them are matched. Changing the batch or a switch clears the reviews.
AI does the reading
- Turns the 713-page PDF into one record per registration number, with every practice address kept together.
- Matches names written in a different order, with hyphens, in Chinese, or under a former registered name.
- Reads addresses written two ways, such as 12/F and 12th Floor, or English and Chinese, as the same place.
Rules and people do the deciding
- Not on the practising list: held.
- Listed clinic missing from the register’s practice addresses: held or checked, with the register’s addresses shown.
- More listings at one clinic than register entries there: the whole clinic goes to a person.
- A person clears every flag before anything is published or removed.
In a plain text extraction of the list, the columns interleave. A Chinese address can arrive before the English one, and a dentist’s name after their qualifications. That layout is why a keyword search misses people and a spreadsheet import breaks. It is also the kind of reading a model handles well, as long as the output is checked against something fixed. Here the fixed thing is the registration number count: 2,562 printed, 2,562 found.
Registered answers one question.
The register can confirm both claims a listing makes. In the second batch, switch the address rule and the clinic count off. The four listings whose register address is the Department of Health go straight to Publish, because those names are on the register.
Count before you read.
More than 340 dentists at one clinic is visible as a single number before anyone opens a profile. The clinic-count rule compares listings with register entries at the same address and sends the whole clinic to a person when the gap is large. One flag instead of 340 lookups.
A person sees only what needs a person.
In the specimen’s normal week, one listing in eight goes to a person. The rest match the register on name and address and go straight through. The reviewer’s time goes to the dentist who moved clinics, the duplicate profile and the name that is not on the list. Switch name matching off and the queue grows, because real dentists stop matching.
Store the result and nothing more.
The Dental Council’s list page warns that using the personal data in it for an unrelated purpose can lead to action under the Personal Data (Privacy) Ordinance. I would store the registration number, the date of the list checked, the result and the reviewer, and nothing more. The check runs again when a new list is published. This is a design choice for data handling. It is not a legal opinion.
| Figure | What it is | Source |
|---|---|---|
| More than 340 | Dentists listed at one private clinic in Mong Kok by the platform | DH press release, 11 Sep 2026 |
| More than 200 | Full-time government Dental Officers among them | DH press release, 11 Sep 2026 |
| 2,562 | Dentists on the practising list, as printed on the list | Dental Council practising list, as at 7 Sep 2026 |
| 713 | Pages in the published PDF of that list | Same document |
| 354 | Entries whose practice addresses include the Department of Health, in English and in Chinese | Enzwa count from the PDF text |
| 76 | Entries that record a former registered name | Enzwa count from the PDF text |
The two Enzwa counts match an exact phrase in each entry: “DEPARTMENT OF HEALTH” and 衞生署 give the same 354, and “formerly registered as” gives 76. No names or registration numbers from the list appear on this page.
Bring a list your team checks by hand.
Supplier certificates against a register. Staff qualifications against a licensing body. Provider networks against a professional list. I help teams set up the reading as an AI step, write the judgement as rules, and give the reviewer a queue with the reason on every line.
Start a briefAI workflowsSources and scope.
HKSAR Government press release: DH clarifies false information on private dental online platform, 11 September 2026. Dental Council of Hong Kong: List of Registered Dentists, including its privacy notice. General Register, Part 1, Full Registration, Practising List, as at 7 September 2026. All checked 13 September 2026.
The listings, clinics, names, addresses and registration numbers in the specimen are fictional and do not describe the platform in the DH statement or any dentist. Enzwa has no connection with the platform, the Department of Health or the Dental Council. This is an independent workflow-design example. It is not legal advice, and it is not a way to verify a dentist: use the Dental Council’s list. Corrections: hello@enzwa.com.