Colloquially, it works. In formal writing you would need something more in the sentence. He rarely gets a good night's sleep, because he is having bad dreams so frequently .
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.
ddndHe is having bad dreams so frequently.so seems out of place. I would also use the simple present, thus: