Skip to main content

Representing Diagnoses

Representing diagnoses accurately is crucial for all healthcare systems. There are generally two types of diagnoses:

  • Encounter Diagnoses
  • Problem List Items

To capture these, along with other patient problems and concerns, FHIR provides the Condition resource. Some applications of the Condition resource include:

  • Social Determinants of Health (SDOH)
  • Chronic Conditions
  • Substance Use/Abuse
  • Mental/Cognitive Impairment
  • Physical Disability/Impairment

Ongoing Medical Conditions

The Condition resource provides a detailed record of any ongoing conditions or problems that a Patient may have, as well as metadata to provide context about the condition. This context includes the type, onset/resolution date, severity, progression, and verification status of the Condition.

It is important to note that a Condition resource represents an instance of a diagnosis. For example, if a patient has a condition, then recovers from it, and then it recurs, the recurrence would be a separate Condition. The fact that it is a recurrence can be noted using the clinicalStatus field.

ElementDescriptionCode SystemExample
codeA code identifying what the condition or problem is.ICD-10, SNOMEDC46.50 - Kaposi's sarcoma of unspecified lung
categoryA category assigned to the condition. See below.Condition Category Codesproblem-list-item or encounter-diagnosis
clinicalStatusThe current clinical status of the condition. i.e., whether it is recurring, active, etc.Condition Clinical Status Codesactive
verificationStatusThe verification of the condition. For example, could indicate if a patient has claimed they have a condition that has not yet been verified by a physician.Condition Verification Status Codesprovisional
severityA subjective measure of the severity of the condition.Condition/Diagnosis Severity CodesSevere
subjectThe patient that has the condition.Patient/homer-simpson
onset[x]The date or time that the condition began. Can be a dateTime, Age, Period, Range, or string.2024-01-04
abatement[x]The date or time that the condition ended. Can be a dateTime, Age, Period, Range, or string.2024-01-11
recordedDateWhen the condition was recorded and entered into the system. This is often system-generated.Fri Jan 12 2024 09:45:28 GMT-0500 (Eastern Standard Time)
stageA summary of the stage of the condition. This is specific to the condition, and many will not have a stage.Stage 3
evidenceSupporting evidence that provides the basis for determining the condition. This can include references to other resources, such as Observations.Observation/collapsed-lung
noteAny additional notes about the condition.The patient has a family history of cancer.
Example Condition
  {
resourceType: 'Condition',
subject: {
reference: 'Patient/homer-simpson',
},
code: {
coding: [
{
system: 'http://hl7.org/fhir/sid/icd-10',
code: 'C46.50',
display: "Kaposi's sarcoma of unspecified lung",
},
],
},
clinicalStatus: {
coding: [
{
system: 'http://hl7.org/fhir/ValueSet/condition-clinical',
code: 'active',
display: 'Active',
},
],
},
verificationStatus: {
coding: [
{
system: 'http://hl7.org/fhir/ValueSet/condition-ver-status',
code: 'confirmed',
display: 'Confirmed',
},
],
},
category: [
{
coding: [
{
system: 'http://hl7.org/fhir/ValueSet/condition-category',
code: 'encounter-diagnosis',
display: 'Encounter Diagnosis',
},
],
},
],
severity: {
coding: [
{
system: 'http://snomed.info/sct',
code: '24484000',
display: 'Severe',
},
],
},
onsetString: '2023-11-11',
stage: [
{
summary: {
coding: [
{
system: 'https://example-org.com/cancer-stages',
code: 'stage-3',
display: 'Stage 3',
},
],
},
},
],
evidence: [
{
detail: [
{
reference: 'Observation/lung-tumor',
},
],
},
],
note: [
{
text: 'Patient has a family history of cancer.',
},
],
};
Example ValueSet of Condition Codes
  {
resourceType: 'ValueSet',
status: 'active',
url: 'http://hl7.org/fhir/sid/icd-10',
name: 'example-conditions',
title: 'Example Conditions',
compose: {
include: [
{
system: 'http://hl7.org/fhir/sid/icd-10',
concept: [
{
code: 'D63.1',
display: 'Anemia in chronic kidney disease',
},
{
code: 'D64.9',
display: 'Anemia, unspecified',
},
{
code: 'E04.2',
display: 'Nontoxic multinodular goiter',
},
{
code: 'E05.90',
display: 'Thyrotoxicosis, unspecified without thyrotoxic crisis or storm',
},
{
code: 'E11.9',
display: 'Type 2 diabetes mellitus without complications',
},
{
code: 'E11.42',
display: 'Type 2 diabetes mellitus with diabetic polyneuropathy',
},
{
code: 'E55.9',
display: 'Vitamin D deficiency, unspecified',
},
{
code: 'E78.2',
display: 'Mixed hyperlipidemia',
},
{
code: 'E88.89',
display: 'Other specified metabolic disorder',
},
{
code: 'F06.8',
display: 'Other specified mental disorders due to known physiological condition',
},
{
code: 'I10',
display: 'Essential (primary) hypertension',
},
{
code: 'K70.30',
display: 'Alcoholic cirrhosis of the liver without ascites',
},
{
code: 'K76.0',
display: 'Fatty (change of) liver, not elsewhere classified',
},
{
code: 'M10.9',
display: 'Gout, unspecified',
},
{
code: 'N13.5',
display: 'Crossing vessel and stricture of ureter without hyrdronephrosis',
},
{
code: 'N18.3',
display: 'Chronic kidney disease, stage 3 (moderate)',
},
{
code: 'R53.83',
display: 'Other fatigue',
},
{
code: 'Z00.00',
display: 'Encounter for general adult medical examination without abnormal findings',
},
{
code: 'Z34.90',
display: 'Encounter for supervision of normal pregnancy, unspecified, unspecified trimester',
},
],
},
],
},
};

Additional Use Cases

In addition to representing diagnoses, the Condition resource also has some other uses that should be noted.

The Condition resource should not be used when recording allergies. Instead, FHIR provides the more specific AllergyIntolerance resource.

Additionally, the Condition resource can also be used to record social factors. For example, if a patient is unemployed or living in poverty, that can be recorded as a Condition.

Types of Diagnoses

As mentioned earlier, the Condition resource can be used to represent two types of diagnoses:

  1. Encounter Diagnoses
  2. Problem List Items

Encounter Diagnosis

A Condition with type encounter-diagnosis represents the outcome of a specific visit or interaction with between a Patient and a Practitioner.

To model an encounter diagnosis, the Condition.category field must be set to encounter-diagnosis. Additionally, the Condition.encounter should link to the Encounter resource during which the diagnosis was made.

The US Core implementation of encounter diagnoses provides further guidelines on how they should be modeled.

Problem List Item

To provide clinicians with an accurate Patient history across visits, most EHRs provide a 'problem list' of the Patient's active conditions. Each issue on the list is represented by a Condition with a category code of problem-list-item.

When implementing a problem list in your system, it is a best practice to keep separate Condition resources for Encounter Diagnoses and Problem List Items. This allows for easy tracking of the Condition as it changes over time using the Problem List version, while also having a record of the original diagnosis in the Encounter Diagnosis version.

Clinicians should exercise judgement on when to add something to the problem list, and most systems require them to take an explicit action to promote an Encounter Diagnosis to a Problem List Item.

Symptoms vs. Conditions

Recording symptoms and differentiating them from long-term problems can be difficult in FHIR, so it is important to clarify when an Observation and a Condition should be used. At a high level, an Observation represents a a point-in-time measurement and a Condition represents an ongoing problem or diagnosis.

The Observation resource should be used for symptoms that can be resolved without long-term management. Additionally, an Observation often contributes to the establishment of a Condition. For example, there may be an Observation of high blood pressure that leads to a Condition to track and manage that high blood pressure. For more details on the Observation resource, see the Capturing Vital Signs docs.

A Condition should be used for symptoms that require long-term management or as a proxy for a diagnosis. Additionally, it can be used in some cases when a symptom that might otherwise be an Observation persists over a longer period. For example, a fever measured at a given time may be an Observation, but if it persists for multiple days, it would become a Condition to track and manage.