Application Reports
838S Information Visualization Sprint 2006
Hyunyoung Song (hsong@cs.umd.edu)
Exploring Patient Medical History using Treemap 4.1
In this report, Treemap 4.1.1[1] was used to visualize medical patient history dataset. Originally, this dataset is being used to test and enhance the usability of Patternfinder. Patternfinder is a medical history query system that provides various ways to search regarding to the temporal axis. Creating queries in Patternfinder require through understanding of the dataset which consists of 25000 rows of 550 patient. However, Patternfinder only supports visualization for the query result and no overview of the initial dataset. Along with this requirement, to resolve several issues and questions raised in the process of developing Patternfinder 2.0 from Patternfinder 1.0, characteristics about the dataset should explored using universal visualization application such as Treemap
Patient history data has been extracted from Washington National Hospital emergency center from 545 patients (female 324, male 221) older than 65. Total number of events (rows) was around 25000, but after eliminating rows with critical missing values, the number of row decreased to 21013. The patient history contains mostly blood test, urine test, and cerebral spinal fluid test result.
Following are the content of each column.
Test Name Obs Valus(Abs) Unit Ref LB Ref UB Abnormal Flag
Patient Name Age Sex : Patient¡¯s personal information
OrderBy : Doctor information
Srv Location : Miscellany information about the examination.
Year Month Date Time : Date and time of observation
One interesting field in the dataset was ¡°Abnormal Flag¡±. If certain blood test result was within the reference level, there was nothing assigned to this column for that blood test result. However, if the blood test result was higher or lower than the reference range, ¡°L¡± or ¡°H¡± was assigned. (¡°C¡±, in case it was an outlier and hence means critical)
In the emergency room, there exists an alert system based on this abnormal flag that notifies patient¡¯s physical abnormality to the doctors. From this insight, ¡°Obs Value(Rel)¡± was calculated by normalizing the absolute test result using reference range boundary values to be used for color encoding.
Obs Value (rel) = (Obs Value (Abs) – Upper bound )/ (Upper bound – lower bound)
Obs Value (rel) = (Obs Value (Abs) – Lower bound)/ (Upper bound – lower bound)
There are total of 182 blood tests in the dataset. In Patternfinder1.0, these tests are displayed in a long pull-down menu without filtering. Using the space filling method of the treemap, it is easy to find out which blood tests are most frequently used. By setting one level of hierarchy as ¡°test (blood test)¡±, it is easy to figure out that BS GLU, HCT, MCV, HGB, MCHC, RBC WBC, PLT, MCH, CREAT are the blood tests most frequently used. (See Figure 1)
Five color bins has been created to indicate the average result of the blood test among patients. Blue indicates that the result are critically low, green - moderately low, white – within reference level, orange – moderately high, pink – critically high.
BS GLU, WBC, RDW show moderately high (orange) abnormality, while PLT and BASO# abnormalities aren¡¯t lopsided (white). In HCT, MCV, HGB, MCHC, RBC blood tests, it is more likely to detect lower value than the reference value (green).
Also, these colored results reveal the typical symptoms and physical conditions of old people.
1. Since diabetes patients are comparatively easy to find among older people, a lot of patient have high BS GLU (Blood Sugar Glucose) value.
2. Increase in WBC (White Blood Cell) indicates weak immunization system.
3. Low HGB (Hemoglobin), HCT (Hematocrit, a unit to measure level of blood concentration), HCV (Hemato Cellular Volume, indicates blood loss, billions of red cells become smaller to carry more oxygen to the entire body to utilize more surface of individual cells) values are all typical characteristics of older people.
For detail information one can use the panel on the right. Average of 652 HGB (Hemoglobin level) results are lower than the reference level (10~14 mmHg) (colored green).
|
|
Figure SEQ Figure \* ARABIC 1 Result of the blood tests are color mapped using 5 color schemes
|
|
|
Figure SEQ
Figure \* ARABIC 2
Zoom in view for HGB and WBCt
In this screenshot, the absolute test result of individual patient can be
tracked and the coloring helps to get a quick estimate of how many patient in
the emergency room requires monitoring.
First patient has high glucose measure in various part of the body. It¡¯s easy to detect that BL GLU, BS GLU, GLU has pink alert color.
Comparatively, second patient has low Hematocrit[2] measurement which indicates low red blood cell level (displayed in a separate box with 4 events out of 6 events green).
In short, by setting ¡°Patient Name¡± for first level of hierarchy and second level as ¡°Test types¡±, user can get a quick visual grasp of the patient¡¯s past or current condition.
|
|
|
|
By setting name of doctors or requester for blood tests as the first level of hierarchy and type of blood test as second hierarchy, users can get a glance of what which kind of blood tests each doctors assign to their patients.
|
|
|
|
|
|
Treemaps are great for visualizing hierarchical data set with various data types (categorical, numerical, nominal). Since Treemap processed all format of data required to process the medical patient history, it was natural to try out Treemap for different visualization.
Treemaps not only support various data types but has several neat characteristics. First hierarchical grouping function for categorical nominal data helps the user visually for grouping these dataset. Zooming in and out from one level of hierarchy to another provides the user not only the overview of certain level of hierarchy but also dynamic focus and detail in every level of hierarchy which is another nice feature of Treemaps. The combination of spacefilling method and color mapping method of Treemaps help users in understanding the quantity of certain field or number of rows by making use of every pixel on the screen. With the sample dataset, area of a box or color was proportional to the number of rows (blood test events).
However, there are several tasks that¡¯s hard to be achieved using Treemaps. First, it¡¯s hard to make outlier stand out using current version of Treemap. If outliers are encoded by size, outlier in the other end of axis will disappear in the screen. If the user decides to map number of rows to the total amount of pixels, outliers are difficult to detect because they come in rare.
Secondly, it¡¯s also hard to navigate among the results or display ordinal values. One potential ordinal value column in the medical history dataset was the time indicator column. In medical history, order of events or relationship between events are important information that cannot be omitted. However, with current version of Treemaps, it is difficult to visualize sequcne of events or relationship between them.