His weight is below the 5th percentile and his height is just below the 10th percentile (on the Growth chart) for his age. Children with cardiac issues are usually underweight. If his VSD has been surgery corrected, then he will gain weight as he gets older. It is good you are giving him shakes. Use them in place of milk so he gains weight. You can make your own with milk, ice cream, and fruit blended which is cheaper.