Pulse oximetry is a limited bandwidth application (1 to 25 Hz) where one wants about 100 to 120 dB noise free. We do it with a MSP430 and it's internal 12 bit ADC with massive oversampling. It requires the CPU to sleep during data aquisition, an external reference and a four layer board.
Once into massive oversampling and if enough computing power is available, one can use median noise filtering to supplement averaging. There is a large variety of models with different advantages.
Regards, Dieter