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
| Field | Type | Cardinality | Role |
|---|---|---|---|
coding | Coding[] | 0..* | Equivalent codings across systems. |
text | string | 0..1 | Free-text representation (fallback). |
JSON example
Type 2 diabetes in SNOMED + ICD-10:
{
"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.
Related resources
- 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.