ClinicalImpression — Clinical reasoning
The clinician's narrative summary: what they think, the hypotheses, the evidence supporting the diagnosis. A FHIR-native narration.
Purpose
ClinicalImpression materializes the clinician's reasoning at a point in time: synthesis of observations, differential diagnoses (DDx), likely evolutions. It is the structured counterpart of the SOAP Assessment: no strict coding on the narrative content but structural links to cited elements.
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
status | code | 1..1 | Mandatory. preparation, in-progress, not-done, on-hold, stopped, completed, entered-in-error, unknown. |
statusReason | CodeableConcept | 0..1 | Status reason. |
description | string | 0..1 | Evaluation context. |
subject | Reference(Patient | Group) | 1..1 | Mandatory. Beneficiary. |
encounter | Reference(Encounter) | 0..1 | Context. |
effective[x] | dateTime | Period | 0..1 | Evaluation period. |
date | dateTime | 0..1 | Entry date. |
performer | Reference(Practitioner | PractitionerRole) | 0..1 | Author. |
previous | Reference(ClinicalImpression) | 0..1 | Previous evaluation. |
problem | Reference(Condition | AllergyIntolerance)[] | 0..* | Current problems. |
changePattern | CodeableConcept | 0..1 | Evolution since previous evaluation. |
protocol | uri[] | 0..* | Protocols used. |
summary | string | 0..1 | Clinical synthesis text. |
finding | BackboneElement[] | 0..* | Findings: item (CodeableReference) + basis. |
prognosisCodeableConcept | CodeableConcept[] | 0..* | Coded prognosis. |
prognosisReference | Reference(RiskAssessment)[] | 0..* | Prognosis via RiskAssessment. |
supportingInfo | Reference(Any)[] | 0..* | Data feeding the analysis. |
JSON example
Cardio consultation summary for chest pain:
{
"resourceType": "ClinicalImpression",
"id": "ci-cardiology-001",
"status": "completed",
"subject": { "reference": "Patient/doe-john" },
"encounter": { "reference": "Encounter/enc-cardio-2026-05-15" },
"effectiveDateTime": "2026-05-15T10:30:00+02:00",
"date": "2026-05-15T10:35:00+02:00",
"performer": { "reference": "Practitioner/dr-smith" },
"summary": "54-year-old patient with atypical chest pain on exertion, no radiation. Normal ECG, troponin negative at H0 and H3. Strong suspicion of stable angina, to be confirmed by stress test.",
"problem": [
{ "reference": "Condition/cond-stable-angina" }
],
"finding": [{
"item": {
"reference": "Observation/obs-troponin-h3"
},
"basis": "Negative troponin kinetics at H0 and H3"
}, {
"item": {
"concept": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "271594007",
"display": "Syncope"
}]
}
},
"basis": "Reported absent by patient"
}],
"prognosisCodeableConcept": [{
"coding": [{
"system": "http://snomed.info/sct",
"code": "405178001",
"display": "Good prognosis"
}]
}]
} Common pitfalls
- Confusing with Composition — Composition = full signed document, ClinicalImpression = clinician's thinking at T.
- Confusing with Condition — Condition = recorded diagnosis, ClinicalImpression = reasoning that may lead to a diagnosis.
- No
previous— without a link to the prior evaluation, longitudinal evolution is untraceable. - Finding without
basis— an unjustified finding is non-auditable. - Maturity Level 0 — the resource is in draft, plan a migration strategy if the spec moves.
Related resources
- Condition — resulting diagnosis.
- Observation — supporting measures.
- RiskAssessment — structured prognosis.
- Composition — potential signed document.
- CarePlan — derived plan.