Sunday, March 22, 2009

Pediatric Echo Z-Score Graphs

I have been working on different visualizations of the data we see and use every day in the pediatric echo lab.

Consider the following hypothetical patient data:

  t0 t1 t2 t3
Height(cm): 55 58 65 75
Weight(kg): 3.5 3.9 4.5 7
LMCA (mm): 2.9 2.95 3.2 3.5

A simple graph of these individual measurements over time- particularly for pediatric patients- is potentially a bit misleading:

Coronary Artery Measurement Time Series Graph

While the graph clearly conveys the information that the coronary artery size changes over time, unless you also happen to know what the normal values are for each point in time, there is no way to know if the change in size is pathologic, or simply due to somatic growth.

This is the entire reason we use z-scores.

So, maybe more to the point- at least for the purpose of trending- would be to graph the z-scores over time:

Coronary Artery Z-Score Time Series Graph

(This simple LMCA graphing routine can be found here.)

However, neither graph is entirely satisfactory for me.
I want to see both the absolute values and their relationship to normal values… more like this:

LMCA ZScore Plot

Using the coronary artery z-score data published from Boston and the enormously cool JavaScript plotting library, flot,  I built a few more z-score graphing routines:

They're not perfect (I'd like the z-score to show as a 'tooltip' when hovering over individual data points, and the axes need labels...), but they are a lot more fun. If they seem useful, I may release more of them into the wild.

I'd love to know what anyone else thinks about graphing their pediatric echo data.


(special thanks to the authors of "Normal values for aortic diameters in children and adolescents – assessment in vivo by contrast-enhanced CMR-angiography" for the inspiration)

Thursday, March 12, 2009

3D Lament (a haiku)

"...now give back the green" 
billing is not collecting
elevation plane