A non-transitory computer-readable storage medium comprising instructions stored thereon that, when executed by at least one processor, are configured to cause a computing system to perform a method comprising: receiving first cardiopulmonary exercise test data for a patient; plotting a first vector (702, 802) based on the first cardiopulmonary exercise test data, the first vector including a first point based on a rest value from the first cardiopulmonary exercise test data and a second point based on an exercise value from the first cardiopulmonary exercise test data, a first coordinate value of the first point and a first coordinate value of the second point being based on mixed expired CO 2, PECO2, and a second coordinate value of the first point and a second coordinate value of the second point being based on end tidal CO 2, PetCO2; receiving second cardiopulmonary exercise test data for the patient, the first cardiopulmonary exercise test data corresponding to a first cardiopulmonary exercise test performed by the patient and the second cardiopulmonary exercise test data corresponding to a second cardiopulmonary exercise test performed by the patient; plotting a second vector (704, 804) based on the second cardiopulmonary exercise test data, the second vector including a first point based on a rest value from the second cardiopulmonary exercise test data and a second point based on an exercise value from the second cardiopulmonary exercise test data, a first coordinate value of the first point and a first coordinate value of the second point being based on mixed expired CO2, PECO2, and a second coordinate value of the first point and a second coordinate value of the second point being based on end tidal CO2, PetCO2; classifying the effectiveness of a treatment based on the first vector and the second vector, wherein the classifying includes comparing a midpoint of the first vector to a midpoint of the second vector; and triggering display of the plotted first and second vectors and their corresponding midpoints over a coordinate grid (700, 800) having a PetCO 2 axis and a PECO 2 axis. receiving first cardiopulmonary exercise test data for a patient; plotting a first vector (702, 802) based on the first cardiopulmonary exercise test data, the first vector including a first point based on a rest value from the first cardiopulmonary exercise test data and a second point based on an exercise value from the first cardiopulmonary exercise test data, a first coordinate value of the first point and a first coordinate value of the second point being based on mixed expired CO 2, PECO2, and a second coordinate value of the first point and a second coordinate value of the second point being based on end tidal CO 2, PetCO2; receiving second cardiopulmonary exercise test data for the patient, the first cardiopulmonary exercise test data corresponding to a first cardiopulmonary exercise test performed by the patient and the second cardiopulmonary exercise test data corresponding to a second cardiopulmonary exercise test performed by the patient; plotting a second vector (704, 804) based on the second cardiopulmonary exercise test data, the second vector including a first point based on a rest value from the second cardiopulmonary exercise test data and a second point based on an exercise value from the second cardiopulmonary exercise test data, a first coordinate value of the first point and a first coordinate value of the second point being based on mixed expired CO2, PECO2, and a second coordinate value of the first point and a second coordinate value of the second point being based on end tidal CO2, PetCO2; classifying the effectiveness of a treatment based on the first vector and the second vector, wherein the classifying includes comparing a midpoint of the first vector to a midpoint of the second vector; and triggering display of the plotted first and second vectors and their corresponding midpoints over a coordinate grid (700, 800) having a PetCO 2 axis and a PECO 2 axis.