No, a Hb test does not need to be done on an empty stomach because the Hb levels do not change before or after meals to any meaningful degree.