Review 02 · open registers
RX — verdict: deep
The same engine as Dentist, pointed at a much heavier body of data and a completely different map of the world. It wins this quarter by one point, and it wins on depth alone.
RX calls itself, in the label it gives its own wordmark, "the doctors register". It is the sibling of Dentist — same layout, same sharded data, same city-page renderer — and reviewing them together is the only way to see what the engine is actually good at, because the two registers hold almost nothing in common except code.
Two registers, two worlds
Dentist is an American register with a European tail. RX is a German register with an American tail. At 22:34 UTC the shape of each looked like this:
Germany alone holds more doctors in this register than the United States and France together. That is not a claim about German medicine; it is a claim about German mapping. Both registers are drawn from OpenStreetMap, and OpenStreetMap's German community has been unusually thorough with health premises for years. A register that publishes a number like 39,110 next to a number like 16,567 is really publishing a map of volunteer effort, and RX is honest enough about its source that a reader can work that out for themselves.
The country page is the real product
Germany's coverage is far better than the register's own average — 63% with a postcode against 44% overall — and the page says so rather than letting the global figure stand in for it. The whole sixteen-state breakdown is there, from Nordrhein-Westfalen's 7,280 down to Bremen's 317, and it is genuinely useful: this is the only free view of that distribution this desk is aware of.
These pages are rendered on the server for a stated reason. The file that renders them opens with an argument against the alternative, and it is worth quoting because it is the sharpest self-criticism anywhere in this estate:
"Nothing here is generated ahead of time. Every figure on every page is counted out of
— the header comment of place.php, the renderer behind every RX country and city pagedata/meta.json(and, on a city page, the country shard) at request time, because this estate's most persistent bug is a page stating a number its data cannot support."
It works. Every figure this desk cross-checked on a country page matched the register's own metadata exactly, and the pages still answer in a third of a second. Four thousand two hundred and one of them are declared in the sitemap, with the edition date 2026-09-04 on the children. Compare the front door, which never tells you its edition at all.
The shortcoming
Published shortcoming
The Germany page lists München 599 and Munich 500 as two separate cities in the
same "Largest cities" table, four rows apart, at 22:37 UTC. They are one city with 1,099 practices,
split by a spelling. The register normalises nothing: whatever string sits in the source map's
addr:city becomes a city. A reader looking for Munich sees the smaller half of it and no
indication that the other half exists four cells to the left.
This is the cost of the register's greatest virtue. Mirroring OpenStreetMap verbatim is why the data is free, why there is no paid inclusion, and why corrections have somewhere real to go. It is also why a city can appear twice. And the machinery to fix it is already shipped: the register carries a city-alias table that folds Montréal into Montreal, Ciudad de México into Mexico City and NYC into New York. It covers eleven countries — nine in Latin America, plus the United States and Canada. Germany, the largest country in the register by a factor of more than two, is not one of them, and neither is anywhere else in Europe.
Two more, both shared with Dentist and both measured. First, self-agreement:
Second, the language switch on the front door is decorative: fetching
/doctors/ and /doctors/?lang=en at 22:46 UTC returned byte-identical
documents — 31,658 bytes, the same SHA-256 — both canonicalised to the Spanish default, with the footer
prose in Spanish in both. The English is painted on afterwards by script. The country pages, by contrast,
translate properly on the server and carry their own canonical per language. The good behaviour exists; it
just has not reached the front page.
The verdict
Deep — 24 out of 30. RX takes this quarter's scoreboard by a single point over its sibling, and it takes it on reach: more records, more cities, better coverage, more declared pages. Everything that is excellent about it is excellent on the country pages — counted at request time, dated, addressed, translated, fast — and everything that is weak about it is weak on the front door, which is undated, script-dependent, monolingual in its markup and at odds with itself by 696 cities. This is a register with a first-rate reference product and a second-rate shop window, and the shop window is the part with the traffic.