ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

CodeableConcept — Multi-system coded concept

CodeableConcept carries the same clinical concept expressed in multiple coding systems. SNOMED CT + ICD-10 + LOINC together to maximise interop.

Purpose

CodeableConcept is the most-used FHIR data type for clinical coding. It contains a coding[] array (each Coding = a system + code + display), plus a free text as fallback.

Why an array? To enable cross-terminology translation. A diagnosis can be encoded simultaneously in SNOMED CT (international interop), ICD-10 (billing), LOINC (if question/observation), local code (when needed). The receiver picks the system it knows.

Key fields

FieldTypeCardinalityRole
codingCoding[]0..*Equivalent codings across systems.
textstring0..1Free-text representation (fallback).

JSON example

Type 2 diabetes in SNOMED + ICD-10:

json codeableconcept-example.json
{
  "coding": [{
    "system": "http://snomed.info/sct",
    "code": "44054006",
    "display": "Diabetes mellitus type 2 (disorder)"
  }, {
    "system": "http://hl7.org/fhir/sid/icd-10",
    "code": "E11.9",
    "display": "Type 2 diabetes mellitus without complications"
  }],
  "text": "Diabète de type 2"
}

Common pitfalls

  • No coding, just text: the concept is not usable by CDS, statistics, aggregation. Always try to provide at least one Coding.
  • Inverted OID/URL system: SNOMED = "http://snomed.info/sct", LOINC = "http://loinc.org" (no "https"). Breaking the convention breaks server resolution.
  • Multiple codings from the same system with different codes: ambiguity. Always one code per system.
  • Coding — Unit component of CodeableConcept.
  • ValueSet — Allowed value list for a CodeableConcept.
  • CodeSystem — Definition of a code system.
  • ConceptMap — Mapping between concepts from different systems.