AnpherosAnpheros PlatformDevelopers

FHIR R4 Condition resource example

Condition records a diagnosis or problem. One concept can carry several codings at once, here SNOMED CT for clinical use and ICD-10-CM for billing and reporting.

The Condition in JSON

{
  "resourceType": "Condition",
  "id": "diabetes",
  "clinicalStatus": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
        "code": "active"
      }
    ]
  },
  "verificationStatus": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status",
        "code": "confirmed"
      }
    ]
  },
  "category": [
    {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/condition-category",
          "code": "problem-list-item",
          "display": "Problem List Item"
        }
      ]
    }
  ],
  "code": {
    "coding": [
      {
        "system": "http://snomed.info/sct",
        "code": "44054006",
        "display": "Diabetes mellitus type 2"
      },
      {
        "system": "http://hl7.org/fhir/sid/icd-10-cm",
        "code": "E11.9",
        "display": "Type 2 diabetes mellitus without complications"
      }
    ],
    "text": "Type 2 diabetes"
  },
  "subject": {
    "reference": "Patient/example",
    "display": "Jane Doe"
  },
  "onsetDateTime": "2021-03-15",
  "recordedDate": "2021-03-15"
}

Validator result: raw JSON ยท open the validator

The elements that matter

ElementCardinalityNotes
clinicalStatus0..1A CodeableConcept, not a string: active, resolved and others.
verificationStatus0..1confirmed, provisional, refuted and others.
code0..1The diagnosis; several codings of the same concept are allowed.
subject1..1Required: the patient the condition belongs to.
onset[x]0..1When it started, as a date, age, period, range or text.

The full definition is in the FHIR R4 Condition specification.

Common mistakes and the errors they cause

Status as a plain string

clinicalStatus is a CodeableConcept in R4.

Missing subject

Condition.subject is 1..1.

Clinical status code from the wrong set

confirmed is a verification status, not a clinical status.

Store it in a real FHIR R4 serverA free sandbox key gives you 30 synthetic patients and the full API, including POST /fhir/R4/Condition and $validate.
Get a free API key

More examples

Related guides