Short answer: ICD-10 is the World Health Organization's classification, with about 14,000 codes of three or four characters (E11.9). Because countries need more detail for hospital reimbursement and health statistics, many publish a clinical modification: ICD-10-CM in the United States (over 70,000 codes, up to seven characters, E11.65, S72.001A), ICD-10-GM in Germany (five-character codes such as E11.90, maintained by BfArM), ICD-10-AM in Australia, ICD-10-CA in Canada, and extended national editions such as CIM-10 in France. They share the WHO's chapters and three-character categories; beyond that, codes diverge, and a code from one variant is not valid in another. In FHIR, each variant is its own code system with its own URL.
The variants
The main ICD-10 variants are the WHO base classification, ICD-10-CM and ICD-10-PCS in the United States, ICD-10-GM in Germany, ICD-10-AM in Australia and New Zealand, ICD-10-CA in Canada, France's CIM-10 edition and extended national editions such as Spain's CIE-10-ES. Each has its own maintainer, code length, update cycle and notes, summarised in the table below.
| Classification | Country | Maintainer | Code shape | Notes |
|---|---|---|---|---|
| ICD-10 (WHO) | International; many EU countries, mortality everywhere | WHO | 3–4 characters: E11.9 | Base for all variants; last WHO update 2019; superseded by ICD-11 since 2022 |
| ICD-10-CM | United States (diagnoses) | NCHS / CDC, with CMS | 3–7 characters: E11.65, S72.001A | Annual update (1 October); ~70,000+ codes; laterality, episode of care, detailed injuries |
| ICD-10-PCS | United States (hospital procedures) | CMS | 7 characters: 0SRB0J9 | Procedures only; not a modification of WHO ICD-10, which has no procedure codes |
| ICD-10-GM | Germany | BfArM (formerly DIMDI) | 3–5 characters: E11.90 | Annual version; used with the OPS procedure classification for DRG billing |
| ICD-10-AM | Australia, New Zealand, others | IHACPA | 3–5 characters | Paired with ACHI procedures; adopted in several Asian and Middle Eastern countries |
| ICD-10-CA | Canada | CIHI | 3–6 characters | Paired with CCI procedures |
| CIM-10 (ATIH edition) | France | ATIH | WHO codes with French extensions | Used in the PMSI hospital data system |
| ICD-10 national editions | Netherlands, Nordics, Spain (CIE-10-ES), Poland, others | National agencies | WHO base, sometimes extended | Spain's CIE-10-ES is derived from ICD-10-CM; Italy's hospital discharge data still uses ICD-9-CM |
Why they diverge
ICD-10 variants diverge because the WHO classification was built for worldwide mortality and morbidity statistics, while national payment systems such as DRGs need finer distinctions: which side was injured, whether a disease has complications, which episode of care a visit belongs to. Each country added those distinctions in its own way and on its own schedule.
The WHO classification was built for mortality and morbidity statistics across the world, so it stops at a level every country can code reliably. Payment systems (DRGs in Germany, MS-DRGs in the US) need to distinguish which hip was fractured, whether the diabetes has complications, which encounter in the course of an injury this is. Each country added those distinctions in its own way and on its own schedule. ICD-10-CM's seventh character for episode of care (A initial, D subsequent, S sequela) has no equivalent anywhere else; ICD-10-GM's fifth characters follow German coding rules and the Deutsche Kodierrichtlinien.
The same patient, type 2 diabetes with diabetic kidney disease:
| Classification | Code | Meaning as coded |
|---|---|---|
| ICD-10 (WHO) | E11.2 | Type 2 diabetes mellitus with renal complications |
| ICD-10-CM | E11.22 | Type 2 diabetes mellitus with diabetic chronic kidney disease (plus an N18.x code for the CKD stage) |
| ICD-10-GM | E11.20 | Type 2 diabetes with renal complications, not designated as decompensated |
The first three characters agree; the rest does not, and the coding rules (what secondary codes are required) differ too.
In FHIR: one URL per variant
In FHIR, each ICD-10 variant is a separate code system with its own canonical URL: WHO ICD-10 uses http://hl7.org/fhir/sid/icd-10, ICD-10-CM uses http://hl7.org/fhir/sid/icd-10-cm, and ICD-10-GM uses a BfArM URL defined by the German Basisprofile. A Coding must name the right variant, otherwise a receiver cannot interpret the code.
A Coding must say which classification its code comes from, or a receiver cannot interpret it:
| Classification | FHIR code system URL |
|---|---|
| ICD-10 (WHO) | http://hl7.org/fhir/sid/icd-10 |
| ICD-10-CM | http://hl7.org/fhir/sid/icd-10-cm |
| ICD-10-PCS | http://www.cms.gov/Medicare/Coding/ICD10 |
| ICD-10-GM | http://fhir.de/CodeSystem/bfarm/icd-10-gm (with version, e.g. 2026) |
| ICD-10-AM | http://hl7.org.au/fhir/CodeSystem/icd-10-am (per AU Base) |
| ICD-10-CA | http://hl7.org/fhir/sid/icd-10-ca |
| ICD-11 | http://id.who.int/icd/release/11/mms |
National implementation guides define the exact URLs and version strings; the German Basisprofile, for example, require version on ICD-10-GM codings because codes change yearly. Sending an ICD-10-CM code under the WHO URL is one of the most common cross-border coding errors. See CodeableConcept and Coding.
What it means for records that travel
For records that cross borders, a diagnosis coded in one ICD-10 variant cannot simply be shown as a code from another. Three strategies exist: carry a SNOMED CT concept alongside the ICD code, as the IPS recommends; truncate to the WHO three- or four-character category that all variants share; or translate with published maps, accepting that they are approximate.
A diagnosis coded in ICD-10-CM in a US record cannot simply be displayed as an ICD-10-GM code in a German hospital. Three strategies exist:
- Carry SNOMED CT alongside. SNOMED concepts are international; each country maps them to its own ICD variant. This is what the IPS recommends. See SNOMED CT vs ICD-10.
- Truncate to the WHO three- or four-character category, which all variants share, accepting the loss of detail.
- Translate with published maps (CMS publishes general equivalence mappings between ICD-9-CM and ICD-10-CM; some agencies publish WHO ↔ national maps), knowing they are approximate.
ICD-11, in force at the WHO since 2022, was designed to reduce this fragmentation with a single international version and a built-in extension mechanism, but adoption is gradual and the US has no transition date. See ICD-10 vs ICD-11.
In Anpheros
Anpheros stores diagnosis codes exactly as the source provided them, with the code system URL and version that identify the ICD-10 variant, and never rewrites a code from one variant as another. Any accompanying SNOMED CT concept is kept so a clinic abroad can read the clinical meaning, and the symptom catalogue references WHO ICD-10 categories shared by all variants.
Related pages
- ICD-10 vs ICD-11
- SNOMED CT vs ICD-10
- CodeableConcept and Coding in FHIR
- FHIR Condition explained
- FHIR implementation guides explained
- The International Patient Summary
Sources
- WHO: ICD-10 online browser (2019)
- CDC/NCHS: ICD-10-CM
- CMS: ICD-10-PCS
- BfArM: ICD-10-GM
- CIHI: ICD-10-CA
- HL7 FHIR R4: using ICD-[X] with FHIR
- HL7 Deutschland: Basisprofile (ICD-10-GM code system)
Frequently asked questions
Is ICD-10-CM the same as ICD-10?
No. ICD-10-CM is the US clinical modification, about five times larger, with longer codes and its own coding rules and annual updates. Only the three-character categories are shared with the WHO classification.
Which ICD-10 does my country use?
Most European countries use the WHO classification or a lightly extended national edition; Germany uses ICD-10-GM; the US uses ICD-10-CM; Australia and Canada use their own. Your national health or statistics agency publishes the official version.
Can I convert ICD-10-CM codes to ICD-10-GM?
Not reliably. Both derive from the WHO base, so the first three characters match, but the subcategories were built independently. Carry SNOMED CT for clinical meaning, or truncate to the shared category and accept the loss.
Does ICD-11 replace all of them?
It is intended to, with one international version and an extension mechanism instead of national modifications. Countries are adopting it slowly; many still bill and report in their ICD-10 variant and will for years.
Try it free in the sandbox
Your first FHIR call in 5 minutes. An HL7 FHIR R4 API with the patient's consent built in: try it in the sandbox, then connect your own app or clinic system.
Free · 30 synthetic patients · no card

The more you log, the clearer your record
Your health history in one place, under your control.
Free · Works in your browser · No card
