ICD-API FHIR Support

IMPORTANT! FHIR support is in pre-release state. There may be errors in the results and the API parameters and behaviour may change in the next releases

ICD-API FHIR implementation adds FHIR support for those software that needs to access the classification using FHIR.

ICD-API implements FHIR Release 5. The implementation is inline with the IHE profile Sharing Valuesets, Codes, and Maps (SVCM)

The base URL for the ICD-API that contains the pre-release for the FHIR support is located at the same location as the ICD-API i.e. https://id.who.int The FHIR endpoints are located under the /fhir

CodeSystems

ICD-11 is composed of the "Foundation" as an underlying semantic structure together with multiple classifications (linearizations) derived from it. More information on this can be found at the ICD-11 Reference Guide

The Foundation and individual linearizations such as the main linearization "ICD-11 for Mortality and Morbidity Statistics" (ICD-11 MMS) are implemented as individual Code Systems in FHIR. International Classification of Functioning, Disability and Health (ICF) is also added as a linearization and hence it is provided as a CodeSystem in FHIR.

Foundation

The URL for the CodeSystem for the foundation is http://id.who.int/icd/entity.

ICD-11 MMS

The URL for the CodeSystem for ICD-11 MMS is http://id.who.int/icd/release/11/mms ICD-11 MMS is the main statistical classification. In that sense it is the next version of ICD which contains ICD-11 codes.

International Classification of Functioning, Disability and Health (ICF)

The url for the CodeSystem for ICF is http://id.who.int/icd/release/11/icf

FHIR support contains only the latest version of the classification 2025-01 but includes all languages supported in that version see the list

Multilingual Support

The ICD-11 MMS and the Foundation are available in multiple languages. The language can be specified in the request. The language is specified using the displayLanguage parameter. The language is specified using the ISO 639-1 code. In addition to the displayLanguage parameter, the Accept-Language http header can also be used to specify the language.

Valueset expand and CodeSystem lookup support the displayLanguage parameter and Accept-Language header.

Translation extension is used to provide the name and description of the Code Systems in multiple languages when requested using <baseurl>/fhir/CodeSystem endpoint.

Authentication

ICD-API FHIR endpoints have the same OAUTH 2 authentication as the rest of the ICD-API. For more information see API-Authentication

Samples

Postman Samples

We have more samples than the ones shown below as a Postman collection. If you prefer to use Postman, you can download the Postman collection from here

Sample Endpoints

CodeSystem

endpoint explanation
<baseurl>/fhir/CodeSystem lists all CodeSystems hosted.
<baseurl>/fhir/CodeSystem?url=http://id.who.int/icd/entity returns all versions of the Foundation
<baseurl>/fhir/CodeSystem?url=http://id.who.int/icd/release/11/mms&version=2025-01 returns the ICD-11 MMS version 2025-01
<baseurl>/fhir/CodeSystem/ICD11-MMS-2025-01 returns single CodeSytem by providing Id
<baseurl>/fhir/CodeSystem?name:contains=ICD contains can be used on text fields
<baseurl>/fhir/CodeSystem/$validate-code?url=http://id.who.int/icd/entity&code=http://id.who.int/icd/entity/257068234 validate code for foundation entity. We use foundation URI as the code as that is the official identifier for the entities in the foundation
<baseurl>/fhir/CodeSystem/$validate-code?url=http://id.who.int/icd/entity&code=http://id.who.int/icd/entity/257068234&version=2025-01 same as before but version added

ICD-11 MMS has several identifiers as listed below. As such, code validation and lookup in FHIR can use any of them.

  • ICD-11 code: is the traditional identifier. They are relatively short identifiers such as 1A00. Not all entities in the hierarchy have codes. For example, higher level groupings don't have codes.
  • Linearization URI: is a URI represents the entity in the linearization. For example, http://id.who.int/icd/release/11/mms/257068234 represents 'Cholera' in MMS.
  • Linearization Release URI: is a URI represents the entity the linearization in a specific release. For example, http://id.who.int/icd/release/11/2025-01/mms/257068234 represents 'Cholera' in MMS in the 2025-01 release.
<baseurl>/fhir/CodeSystem/$validate-code?url=http://id.who.int/icd/release/11/mms&code=1A00 validate code using the ICD-11 code
<baseurl>/fhir/CodeSystem/$validate-code?url=http://id.who.int/icd/release/11/mms&version=2025-01&code=http://id.who.int/icd/release/11/mms/169328648 validate code using the version and linearization URI
<baseurl>/fhir/CodeSystem/$lookup?system=http://id.who.int/icd/release/11/mms&code=1A00&version=2025-01 lookup with version and code
<baseurl>/fhir/CodeSystem/$lookup?system=http://id.who.int/icd/release/11/mms&code=1A00&version=2025-01&displayLanguage=es lookup could specify a language for display

If the version is not specified, the latest version is used in the response.

As a response to lookup call, the API returns the Parameters resource in which the components of the information on the ICD-11 category are represented as designations or properties. Here we provide title, synonyms, description and other information as explained in the ICD API schema document (https://id.who.int/icd/schema).

The postcoordination scales that are linked to the entities are provided as references to valuesets.

ValueSet

The postcoordination scales are implemented as valuesets

<baseurl>/fhir/ValueSet?url=http://id.who.int/icd/release/11/2025-01/mms/257068234/postcoordinationScale/infectiousAgent ValueSet by URL
<baseurl>/fhir/ValueSet/$validate-code?url=http://id.who.int/icd/release/11/2025-01/mms/257068234/postcoordinationScale/infectiousAgent&system=http://id.who.int/icd/release/11/mms&code=XN62R Validate value set with url, system and code
<baseurl>/fhir/ValueSet/$expand?url=http://id.who.int/icd/release/11/2025-01/mms/257068234/postcoordinationScale/infectiousAgent ValueSet expand