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
- informationNo errors: this Condition matches the FHIR R4 structure checked here.
The elements that matter
| Element | Cardinality | Notes |
|---|---|---|
clinicalStatus | 0..1 | A CodeableConcept, not a string: active, resolved and others. |
verificationStatus | 0..1 | confirmed, provisional, refuted and others. |
code | 0..1 | The diagnosis; several codings of the same concept are allowed. |
subject | 1..1 | Required: the patient the condition belongs to. |
onset[x] | 0..1 | When 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.
- error
Condition.clinicalStatusExpected a JSON object here (a FHIR complex type such as Reference or CodeableConcept), not a plain value.
Missing subject
Condition.subject is 1..1.
- error
Condition.subjectRequired element is missing.
Clinical status code from the wrong set
confirmed is a verification status, not a clinical status.
- error
Condition.clinicalStatusCondition.clinicalStatus code 'confirmed' is not in the required value set (active, inactive, recurrence, relapse, remission, resolved).
Store it in a real FHIR R4 serverA free sandbox key gives you 30 synthetic patients and the full API, including
Get a free API keyPOST /fhir/R4/Condition and $validate.More examples
- Patient resource example
- Observation example: blood pressure
- Observation example: laboratory result
- DiagnosticReport example: lab panel
- MedicationStatement example
- AllergyIntolerance example
- Immunization resource example
- Encounter resource example
Related guides
- How to store medical records using FHIR R4Tutorial: create a Patient, a blood-pressure Observation and a Condition, use a transaction, search, update with history and read provenance โ every request with curl and the real response, on the free sandbox.
- FHIR code systemsWhich code systems each FHIR resource type uses: LOINC for measurements and lab results, ICD-10 for conditions, ATC for medications, UCUM units, and SNOMED CT behind a licence flag.