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.

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

FieldTypeCardinalityRole
statuscode1..1Mandatory. preparation, in-progress, not-done, on-hold, stopped, completed, entered-in-error, unknown.
statusReasonCodeableConcept0..1Status reason.
descriptionstring0..1Evaluation context.
subjectReference(Patient | Group)1..1Mandatory. Beneficiary.
encounterReference(Encounter)0..1Context.
effective[x]dateTime | Period0..1Evaluation period.
datedateTime0..1Entry date.
performerReference(Practitioner | PractitionerRole)0..1Author.
previousReference(ClinicalImpression)0..1Previous evaluation.
problemReference(Condition | AllergyIntolerance)[]0..*Current problems.
changePatternCodeableConcept0..1Evolution since previous evaluation.
protocoluri[]0..*Protocols used.
summarystring0..1Clinical synthesis text.
findingBackboneElement[]0..*Findings: item (CodeableReference) + basis.
prognosisCodeableConceptCodeableConcept[]0..*Coded prognosis.
prognosisReferenceReference(RiskAssessment)[]0..*Prognosis via RiskAssessment.
supportingInfoReference(Any)[]0..*Data feeding the analysis.

JSON example

Cardio consultation summary for chest pain:

json clinicalimpression-cardio.json
{
  "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.