Application to analyze Blood Pressure over time

HCHTech

Well-Known Member
Reaction score
4,286
Location
Pittsburgh, PA - USA
I had a question from a customer recently about what application would be most suited to graph and analyze blood pressure readings over time. Getting it on a line or bar graph is easy enough in Excel, but there are some curveballs in the way the data is gathered.

Basically, the raw data comes in a csv file (one per subject) and has a few dozen measurements with 4 values per measurement: time, diastolic reading, systolic reading & heart rate. The graph would have time on the x-axis and readings on the y-axis. Because heartrate falls in the same numerical range as BP, it could be shown on the same y-axis without any kind of gymnastics.

Problem #1 is that the rate of data collection is not constant. There could be anywhere between 4 and 8 readings per day, and the readings are not a consistent times

Problem #2 is that they want to be able to "overlay" data by some time period, lets say days or weeks, to look for trends. Is BP normally higher in the afternoon? Is BP normally lower on Tuesday mornings? Questions like that.

If the readings were at consistent times, this would be a [relatively] trivial exercise. I thought about rounding the data to the nearest consistent time, but that would skew the analysis and you would have to figure out what to do about two data points that round to the same time.

Has anyone done anything like this before? This is a volunteer effort without budget to go to something like Mathmatica, but maybe there is a better application than Excel to tackle the project?
 
Sounds like you need to serve yourself up a nice slice of raspberry pi!

In a case like this it does not matter that the measurements occur at exactly the same time. As you mentioned they are looking for trends. You can just convert the daily readings to decimal hours.
 
I would still go with Excel. Excel gives one flexibility you are unlikely to find in anything else.

Date is stored in double as a number of days passed since certain epoch; sequential day of year can be computed for datetime X as

X-DATE(YEAR(X),1,0)

You can get out days of week, and hours in a similar way, and then arrange the data in a way you need.

Chart type you need to use would be scatter (X-Y) plot. It will account for irregularities in data sampling pefectly well.

Basically you need to get whatever time period you want, convert to sequential day or hour within that period and plot a scatter. This is perfect to spot trends.
 
Generally speaking it's not proper to mix units on the same axis line. The proper way would be to have a diastolic/systolic axis on one side and the heart rate opposite.
 
Back
Top