Sidney Bissoli
    • Português
  • MCP servers
  • R packages
  • Projects
  • Writing
  • Publications
  • About me

On this page

  • The ICD-10 the Brazilian health system actually uses
  • What ICD-11 is, and why it has not replaced anything here
  • The transition tables: what they are, and what they are not
  • A note on translation
  • Licences differ between sources
  • Where an AI assistant fits

ICD-10, ICD-11 and what changes for people working with Brazilian health data

The V2008 structure in numbers, and what WHO’s transition tables are — and are not

Public health
DataSUS
ICD-10
MCP
Author

Sidney Bissoli

Published

August 31, 2026

Published 31 August 2026. The counts here were extracted from the official datasets bundled with the server — the DataSUS CID-10 V2008 release and WHO’s transition tables, release 2025-01 — and can be reproduced from the cited sources.

Anyone working with Brazilian health data lives with two classifications at once, and they are not versions of one another in the way people assume.

The ICD-10 the Brazilian health system actually uses

Brazil’s public health system (SUS) runs on ICD-10, version V2008, translated into Portuguese by the Brazilian Centre for Disease Classification (CBCD, University of São Paulo) and published electronically by DataSUS. It is what fills the diagnosis field in hospital admissions, outpatient records, death certificates and notifiable-disease reports. It is not an informal translation: it is the operational standard.

The structure has four levels, and the exact counts in the V2008 file are:

Level Count Example
Chapters 22 Chapter I — Certain infectious and parasitic diseases (A00–B99)
Blocks 275 A00–A09 — Intestinal infectious diseases
Categories (3 characters) 2,045 A00 — Cholera
Subcategories (4 characters) 12,451 A00.0 — Cholera due to Vibrio cholerae 01, biovar cholerae

Three details in that file trip up anyone joining datasets:

1. The code has two spellings. A subcategory appears as A000 in the key and A00.0 in the display. Different bases pick different ones, and a naive join matches zero rows without complaining.

2. Not every code is usable in every context. The file carries sex-restriction and cause-of-death markers. A sex-restricted code appearing with the other sex is a data-entry error at source, not an epidemiological finding — but it only shows if someone looks at the marker.

3. A category is not a subcategory. I21 (acute myocardial infarction) and I21.0 are not the same grain. Counting both in one table double-counts. It is the most common error in morbidity counts from raw data.

What ICD-11 is, and why it has not replaced anything here

ICD-11 is WHO’s current revision. It is not a renumbered ICD-10: the number of chapters changed, new chapters appeared (traditional medicine, sexual health), it introduced post-coordination — composing a main code with additional axes such as severity, laterality and causal agent — and its canonical identity is a URI, not the alphanumeric code.

Meanwhile Brazil’s health information systems remain on ICD-10 V2008. In practice you need both: ICD-10 to operate, ICD-11 to compare internationally and to follow recent literature.

The transition tables: what they are, and what they are not

WHO publishes correspondence tables between the two revisions inside each ICD-11 release. In release 2025-01 (published 24/01/2025):

  • 11,243 ICD-10 entries mapped;
  • 1,461 of them carry WHO-documented alternatives beyond the primary code;
  • no entry is left without a primary code.

Type 2 diabetes, for example: ICD-10 E11 → ICD-11 5A11, URI http://id.who.int/icd/entity/119724091.

And here is the part usually ignored. WHO’s own guidance on these tables is explicit: they show correspondence between revisions and “are not intended for directly converting data from one revision to the other.”

That is not legal boilerplate. The 1,461 entries with alternatives are precisely the cases where correspondence is not one-to-one: a category that split, or was absorbed into a different grouping. Running the table as a translation dictionary over millions of records produces a historical series that looks continuous and is not. The legitimate use is different: consulting case by case, with the alternatives visible, and deciding with clinical or epidemiological judgement.

A note on translation

None of the labels above is machine-translated, and that is deliberate. The Portuguese ICD-10 is the CBCD’s official translation; ICD-11 has an official Portuguese linearisation from WHO; MeSH has NLM’s own translations where they exist. When a source has no official translation for an entry, the honest answer is to return the source language. A machine-translated clinical label looks like a service and is a liability: a subtle difference in wording changes what the code means, and the reader has no way to know the text is not official.

Licences differ between sources

A detail that derails more projects than it should: the classifications do not share a licence, and the software serving them does not extend its own.

  • CID-10 V2008 (DataSUS/CBCD): © WHO; Portuguese translation © CBCD/USP; electronic files published by DataSUS. Developers may use them with due credit and at no charge.
  • ICD-11 (WHO): CC BY-ND 3.0 IGO, with a required citation, and WHO may terminate the licence on notice.
  • Transition tables: © WHO, under the ICD-11 Terms of Use.
  • LOINC: © Regenstrief Institute, free under its own licence.
  • RxNorm and MeSH: US government works, served by NLM.
  • SNOMED CT: requires a SNOMED International licence. Brazil is not a member country — the route here is an Affiliate licence.

The rule that avoids trouble: the software’s licence does not cover the content it serves. Each response should carry the licence of the source of that number.

Where an AI assistant fits

Asking a model “what is the ICD-10 code for acute myocardial infarction?” returns a plausible code. It usually gets the famous ones right and fails silently in the tail — which is exactly where lookup matters, because nobody needs to ask about the famous ones.

The gain from wiring the assistant to the official sources is provenance: the code comes with its source, the terminology version, the canonical URL and the licence; the Portuguese label comes from CBCD or WHO rather than an on-the-fly translation; and the mapping between revisions comes from WHO’s table, with the alternatives visible, instead of an implicit choice.

That is what medical-terminologies-mcp does: 31 tools over ICD-11, LOINC, RxNorm, MeSH, ATC and CID-10, for clients that speak MCP. The CID-10 ships bundled — no network call, no rate limit — and there is batch validation of up to 100 codes across six terminologies, for auditing a whole dataset before analysing it.

One closing recommendation, tool or no tool: before comparing two morbidity series, check that both are on the same revision and the same grain. Most unexplained breaks in Brazilian health time series are one of those two things.


Server: medical-terminologies-mcp · hosted endpoint at https://medical.sidneybissoli.com/mcp · code under MIT. The terminologies served carry their own licences.

 

© 2025 Sidney Bissoli · Made with Quarto