A team is two weeks into building a clinical decision-support tool. They need to translate diagnoses captured in ICD-10 into SNOMED CT, because the rest of their substrate - protocols, decision rules, the AI-grounding layer - speaks SNOMED. They write a mapper. The first pass covers a lot of ground quickly. Then the edge cases start arriving, and the mapper starts growing exceptions, and at some point the team is no longer engineering rules; they are encoding judgements they cannot easily defend.
That moment - the moment the mapping stops being a rule problem and starts being a curation problem - is what this note is about. Most of cross-mapping ICD-10 to SNOMED CT really is a rule problem. A meaningful slice is not. The slice that is not is where the substrate has to commit to something an inspector can read.
A working note on numbers. The 83/17 split in this piece is illustrative, not measured. The shape - a large deterministic tier and a smaller curated tier - is what we observe in practice; the exact split will vary by sub-domain (cardiology cross-maps run higher, psychiatry and mental-health codes run lower). Where we ship a cross-map at production scale, the actual ratio for that release is in the release notes, not in marketing copy.
01 / The deterministic tier
The straightforward majority of clinically useful ICD-10 → SNOMED CT mappings can be expressed as a rule, applied without judgement, and shipped with a rule identifier so any consumer can verify which rule produced the mapping.
Example. ICD-10 I10 is Essential (primary) hypertension. SNOMED CT 59621000 is Essential hypertension (disorder). The mapping is exact: the underlying clinical concept is the same, the parent hierarchies are compatible, and the relationship is one-to-one with no jurisdictional split. The rule is exact-string-equivalence-after-normalisation; the rule version is shipped; the confidence is high; no curator was involved.
The properties that make a mapping deterministic, in our experience, are: a single source code maps to a single target code; both sides exist in the current version of both regimes; the clinical concepts are genuinely the same (not just lexically similar); the relationship survives across the jurisdictional variants of ICD-10 that the consumer cares about; and the relationship would survive a competent clinical reviewer’s spot-check without further explanation.
When all those properties hold, the engineering is trivial. The mapping is a rule. The rule is shipped with the substrate. The auditor who asks why does this map here gets the rule identifier and the rule definition. The conversation ends.
02 / Where the rule runs out
The remaining slice is where the difficulty lives. Four shapes show up reliably.
One-to-many. A source code is genuinely under-specified relative to the target. ICD-10 R51 is Headache. SNOMED CT has dozens of headache concepts at varying levels of specificity - migraine, tension-type, cluster, secondary headache attributed to a long list of causes. The mapper has to choose: does R51 go to the SNOMED parent concept Headache (finding), or to one of the more specific descendants? Either choice loses something. Mapping to the parent loses the specificity that SNOMED carries; mapping to a specific descendant invents specificity that ICD-10 does not assert.
Many-to-one. Several source codes converge on a single target. This shows up across the diabetic-complication codes, across mental-health code families that ICD-10 splits more finely than SNOMED, and across the obstetric chapters. The mapping has to declare what gets preserved and what gets lost when the more specific codes roll up - and the declaration has to be inspectable, because the rolled-up form is what downstream consumers will see.
Jurisdictional split. ICD-10-WHO and ICD-10-CM diverge. Codes exist in one and not the other. Codes that exist in both can have different child structures, different inclusion criteria, different effective dates. A cross-map that does not declare which ICD-10 it is mapping is silently ambiguous. A cross-map that declares it has done so for both variants has to ship two mappings, two confidences, and (often) two rationales.
Retired-concept bridging. SNOMED CT publishes regular releases and periodically retires concepts in favour of replacements. A cross-map shipped against a SNOMED release from two years ago can point to a concept that no longer exists in the current release. The substrate has to either follow the replacement chain forward at refresh time (and surface that it has done so), or mark the link invalid (and surface that too). Doing neither produces a cross-map that quietly degrades.
Each of these four shapes can be partially automated. None of them can be fully automated. The substrate has to commit to a judgement, not a rule, and the judgement has to be readable.
03 / Curator-of-record
We surface a curator-of-record on every cross-map that required curatorial judgement. Not as a formality - as a discipline. High confidence on a mapping that no human has reviewed is a category error; if no curator is on record, the substrate has not committed to the mapping in the sense we mean by committed.
This is the operational form of Parrhesia. The substrate marks what was decided by rule and what was decided by judgement. It does not flatten the two into one bucket called mappings and let consumers assume the floor is uniform. It also does not hide disagreement: where curators disagreed during the mapping decision, the disagreement is recorded on the cross-map itself, alongside the chosen mapping and the rationale for choosing it.
The cost of doing this is real - curator panels are slower than rule engines, and writing a rationale for every M:1 takes longer than not writing one. The benefit is the substrate stops being a lookup table and starts being a defensible artefact. The auditor reading it does not have to take the substrate’s word for anything.
04 / What an auditor reads
The substrate’s cross-map records carry the same shape across both tiers, and that shape is what an auditor sees when they ask where did this mapping come from. Two things distinguish a deterministic record from a curated one.
For a deterministic mapping - say, a high-confidence equivalence between an ICD-10 code and a SNOMED CT concept where both regimes agree on the underlying clinical concept - the record carries the source and target identifiers, names the deterministic tier explicitly, references the rule that produced the mapping and the rule’s version, marks the confidence as high, pins the substrate version it shipped in, and explicitly carries no curator-of-record. Explicitly matters here: the curator field is not omitted, it is present and known-empty. The substrate is saying, on the record, that no human judgement was required.
For a curated mapping - say, the choice to roll an unspecified ICD-10 headache code up to a SNOMED parent finding rather than to one of its more specific descendants - the record carries the same source-and-target shape, but the rationale layer differs. The tier is named curated. The rationale is prose, not a rule reference, because the decision was prose - a curator reasoned about it. The alternatives the curator considered but rejected are surfaced alongside the chosen mapping, each with the reason for rejection. The confidence is calibrated to medium, not high. The curator-of-record is populated, with an attribution and a decision date.
The structure is the same for every cross-map in the fabric - deterministic or curated, jurisdiction-singular or jurisdiction-split, current or retired-concept-bridged. The substrate does not change shape based on how easy the mapping was. What changes is which fields are populated and which are explicitly empty. Consumers, downstream AI agents, and inspectors all see the same surface, and what they see tells them where the substrate’s confidence came from.
05 / Why this is the substrate’s honesty
The discipline this enforces is a specific form of Aletheia and Logos working together. Aletheia at the field level - every node carries provenance, every link carries provenance, the curator-of-record is a first-class field. Logos at the cross-map level - every non-deterministic decision carries a rationale that an inspector can read directly. The two together are what make the difference between a cross-map that an AI can ground in and a cross-map that an AI can guess at.
Most of cross-mapping is deterministic. The deterministic tier is engineering; ship the rules, version them, move on. The remainder is where the substrate’s discipline shows. Doing it without a curator-of-record, without a rationale, without surfacing the alternatives - is shipping a substrate that looks complete and isn’t.
The next note in this thread will be on the regulator graph - on the jurisdictional fabric underneath all of this, and on how a regulator’s name resolves to a single canonical entity across the half-dozen ways it appears in documents and submissions.