FHIR Condition Resource (R4)
Condition captures a clinical problem, diagnosis or health concern: what it is (code), how sure we are (verificationStatus), whether it is current (clinicalStatus) and when it began (onset[x]). Element table, search parameters, example JSON and FHIRPath for FHIR R4.
- FHIR Condition Resource (R4) — part of the free FHIR Toolbox library.
- Runs entirely in your browser: your FHIR data is never uploaded to a server.
Overview
Condition captures a clinical problem, diagnosis or health concern: what it is (code), how sure we are (verificationStatus), whether it is current (clinicalStatus) and when it began (onset[x]). Problem lists, encounter diagnoses and health concerns are all Conditions distinguished by category.
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
| Condition.identifier | Identifier | 0..* | External Ids for this condition |
| Condition.clinicalStatus | CodeableConcept | 0..1 | active | recurrence | relapse | inactive | remission | resolved |
| Condition.verificationStatus | CodeableConcept | 0..1 | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error |
| Condition.category | CodeableConcept | 0..* | problem-list-item | encounter-diagnosis |
| Condition.severity | CodeableConcept | 0..1 | Subjective severity of condition |
| Condition.code | CodeableConcept | 0..1 | Identification of the condition, problem or diagnosis |
| Condition.bodySite | CodeableConcept | 0..* | Anatomical location, if relevant |
| Condition.subject | Reference | 1..1 | Who has the condition? |
| Condition.encounter | Reference | 0..1 | Encounter created as part of |
| Condition.onset[x] | dateTime | Age | Period | Range | string | 0..1 | Estimated or actual date, date-time, or age |
| Condition.abatement[x] | dateTime | Age | Period | Range | string | 0..1 | When in resolution/remission |
| Condition.recordedDate | dateTime | 0..1 | Date record was first recorded |
| Condition.recorder | Reference | 0..1 | Who recorded the condition |
| Condition.asserter | Reference | 0..1 | Person who asserts this condition |
| Condition.stage | BackboneElement | 0..* | Stage/grade, usually assessed formally |
| Condition.stage.id | String | 0..1 | Unique id for inter-element referencing |
| Condition.stage.extension | Extension | 0..* | Additional content defined by implementations |
| Condition.stage.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Condition.stage.summary | CodeableConcept | 0..1 | Simple summary (disease specific) |
| Condition.stage.assessment | Reference | 0..* | Formal record of assessment |
| Condition.stage.type | CodeableConcept | 0..1 | Kind of staging |
| Condition.evidence | BackboneElement | 0..* | Supporting evidence |
| Condition.evidence.id | String | 0..1 | Unique id for inter-element referencing |
| Condition.evidence.extension | Extension | 0..* | Additional content defined by implementations |
| Condition.evidence.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Condition.evidence.code | CodeableConcept | 0..* | Manifestation/symptom |
| Condition.evidence.detail | Reference | 0..* | Supporting information found elsewhere |
| Condition.note | Annotation | 0..* | Additional information about the Condition |
Example JSON (R4)
{
"resourceType": "Condition",
"id": "example",
"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"
}
]
}
],
"code": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "44054006",
"display": "Type 2 diabetes mellitus"
}
]
},
"subject": {
"reference": "Patient/example"
},
"onsetDateTime": "2019-06-01"
}
FHIRPath
Condition.clinicalStatus.coding.code— Whether the condition is active, resolved…Condition.code.coding.where(system='http://snomed.info/sct').code— SNOMED CT codeCondition.onset.ofType(dateTime)— Onset date
Common validation errors
- Using clinicalStatus as a plain string. It is a CodeableConcept, so it needs coding with system and code.
- Omitting subject. It is required (1..1).
- Mixing up clinicalStatus (active, resolved) with verificationStatus (confirmed, refuted). They answer different questions.
- Setting clinicalStatus on an entered-in-error Condition. When verificationStatus is entered-in-error, clinicalStatus must be absent.
FHIR Toolbox is a free, privacy-first collection of HL7 FHIR utilities by Omindra Labs. Every tool performs zero-server processing — your health data never leaves your device.