Search for the formula cheukbaeksan (측백산), and more than one record appears under that name. Their ingredient lists do not use exactly the same labels. A record drawn from Donguibogam lists cheukbaekyeop; one from Shiyi Dexiaofang lists baekyeop. Merge them into a single entry, and it becomes harder to tell which source said what.
I built Uibang Seongdo to keep those records available side by side. A shared name is a starting point for comparison, not a reason to merge the records. The site shows what overlaps, what differs, and where the original entries can be found. It does not decide from the names alone whether cheukbaekyeop and baekyeop refer to the same medicinal material.
The interface places records about formulas, medicinal materials, and diseases or symptoms on a map as stars. Search for a name and select a record to explore its links. More connections do not make a formula better: the map helps a reader follow names recorded together in the source material.

What becomes visible side by side
Each of the two cheukbaeksan records lists three ingredient names. Ginseng and hyeonggaesu occur in both. Cheukbaekyeop appears only in the Donguibogam entry; baekyeop appears only in the Shiyi Dexiaofang entry. The comparison separates those shared and exclusive names. These are differences in the source labels, not a judgment about differences in the materials' properties or effects.
I used source IDs to make clear which entry a reader is looking at. A name alone is not precise enough. P0003343 cites Donguibogam (1613), while P0009496 cites Shiyi Dexiaofang (1345). Both use the Chinese spelling 側柏散; a third search result uses 側栢散. I kept the original spelling, ID, and provider link in the details, even when the map used a simpler display name.
To try it, search for 측백산, select record A, P0003343, and open ‘출전·원자료 자세히 보기’ (provenance and source details). From there, open the comparison of the same-named records. You can also open this pair directly. The KTKP page for record A provides a route back to the provider’s record number and provenance.
Reading the 50% on the comparison screen
Combine the two lists and count each name once: ginseng, hyeonggaesu, cheukbaekyeop, and baekyeop. There are four names altogether, and two occur in both records. The screen therefore shows 2 / 4 = 50%. This way of measuring the overlap between two sets is called the Jaccard index. It includes no doses and says nothing about the formulas sharing half their effects.
The same calculation can compare other entries. The Donguibogam records for Ssanghwatang (P0002002) and Sipjeondaebotang (P0001987) share six names. Gyepi occurs only in the selected Ssanghwatang record; baekbongnyeong, baekchul, yukgye, and ginseng occur only in the Sipjeondaebotang record. Gyepi and yukgye remain separate because the comparison works with names from the records, without assuming they are interchangeable.

For the comparison, I used a key derived from each name: a string that determines whether two entries count as the same name in this view. Unicode NFKC normalization first standardizes character forms. The key uses the part before the parenthesis and removes trailing letter variants after Korean or Chinese characters, whitespace, and selected punctuation. I kept this processing separate from both the records' identities and the rule used to draw links on the map.
What it takes to draw one link
A relation field in a source record contains a name, rather than an address saying exactly which other record to open. To draw a link, the site has to resolve that name to an entry in the Korea Traditional Knowledge Portal (KTKP) data. Similar-looking names can point to different entries, so I set the builder to make a link only when it can resolve one target.
A map link must lead to a particular record. I therefore kept distinctions here that the ingredient comparison leaves out. The builder uses NFC normalization to standardize how characters are stored and tidies whitespace, then compares the combination of Korean name, Chinese spelling, and the source's trailing A/B variant.
If it cannot split a label into those parts, or finds no matching record, it can make one further check: an exact match against the complete stored display label. This still has to identify a single target. I did not allow that extra check when the original combination already had several possible targets. Labels left without a link are counted separately according to whether they were ambiguous, unmatched, or could not be parsed.
One record mentioning another does not guarantee that the second mentions the first. The public build based on the 12 August 2026 data contains 231,319 distinct undirected name relations. Both records declare 88,880 of those relations; only one record declares the other 142,439.
I stored each relation in both directions so a reader could follow it from either end. These stored navigation links are called adjacency entries, and there are 462,638 of them. A link that can be followed in either direction is not necessarily supported by a mention in both source records.
These are relations derived by Uibang Seongdo, not a relation table supplied or verified by KTKP. Nor has each line been reviewed by a person against a volume, chapter, page, and line of a primary text. The relation provenance contract records the construction rule and review boundaries.
What the count of 38,120 includes
The count combines three kinds of KTKP source record: 20,120 unique formula IDs, 5,500 medicinal-material IDs, and 12,500 disease or symptom IDs. Together they make 38,120. This is not a count of distinct formulas or medical concepts: same-named records can remain separate, and two of the categories are not formulas at all. Supplementary datasets from other providers and dictionary entries are excluded from this headline count.
An empty source field stays empty unless there is evidence for a correction. Yangno-tang record P0016491, for example, has no Chinese-name value. The original labels, provider links, data-quality notes, and correction history allow a later change to be traced rather than silently completed.
The public release and later changes
I opened the public beta on 13 August 2026 with the map, permanent record pages, a data dictionary, relation rules, rights and source notes, and a correction policy. I also included integrity manifests, which let readers check whether files have changed. Readers who want to check the implementation or counts can follow the evidence page into documents that a program can read as well.
The Zenodo record preserves documentation for that release. It contains one 75,673-byte ZIP, not the entire website source, third-party records, or bulk relation assets. The fixed documentation version is distinct from later interface changes. On 5 September, I adjusted how search-result networks fit the screen and how text sits in narrow layouts. The underlying data version and headline record count remained unchanged.
On 4 September, I found Uibang Seongdo linked from the HOT section of KMCRIC’s official homepage. The link was still present when checked again on 6 September, under the Korean label ‘[한의 AI] 醫方星圖: 처방–약재-병증’. The page shows neither a posting date nor a statement of selection or certification, so I record the observed listing and the dates it was checked.
On 8 September 2026, the Korea Traditional Knowledge Portal featured Uibang Seongdo as a public-data use case. Its notice describes the formula comparisons I built, including the shared and exclusive ingredient names in Ssanghwatang and Sipjeondaebotang, alongside the visual links and routes back to source records. It links directly to Uibang Seongdo and identifies it as an independently developed and operated service, separate from the portal.
In a notification received on 26 September, Google Search Console reported that Uibang Seongdo had reached 90 clicks from Google Search over the preceding 28 days as of 24 September 2026. One person can click more than once, so this figure does not establish the number of distinct users.
The next question is whether someone arriving for the first time can choose a same-named record, finish a comparison, and find the original source. Interface checks and structural recounts cannot answer that use question on their own. Measured user adoption or educational effects are not part of the evidence presented here.

