Thanks for the help and advice, I have write up the program, could you help me check whether is it correct? (:
PaulS, according to the datasheet, it says that the heartRate has 9 bits(0-8bits), how come the program that you write up has only 8 bits?

bytes vals[3];

NewSoftSerial nss(5, 8); // Put your TX and RX pins here, in the correct order

int vals[3];
int heartRate, oxyLevel;

vals[0] = nss.Read(); //represent byte 1
vals[1] = nss.Read(); //represent byte 2
vals[2] = nss.Read(); //represent byte 3

int bit;
heartRate = 0; // Sets all 8 bits to 0
oxygenLevel = 0; // Sets all 8 bits to 0
void loop()
{
if(nss.available() >= 3)
{

int bit = bitRead(vals[1], 0); // read bit 0
int bit = bitRead(vals[1], 1); // read bit 1
int bit = bitRead(vals[1], 2); // read bit 2
int bit = bitRead(vals[1], 3); // read bit 3
int bit = bitRead(vals[1], 4); // read bit 4
int bit = bitRead(vals[1], 5); // read bit 5
int bit = bitRead(vals[0], 0); // read bit 6
int bit = bitRead(vals[0], 1); // read bit 7

bitWrite(heartRate, 0, bitRead(vals[1], 0)); // Set bit 0
bitWrite(heartRate, 1, bitRead(vals[1], 1)); // Set bit 1
bitWrite(heartRate, 2, bitRead(vals[1], 2)); // Set bit 2
bitWrite(heartRate, 3, bitRead(vals[1], 3)); // Set bit 3
bitWrite(heartRate, 4, bitRead(vals[1], 4)); // Set bit 4
bitWrite(heartRate, 5, bitRead(vals[1], 5)); // Set bit 5
bitWrite(heartRate, 6, bitRead(vals[0], 0)); // Set bit 6
bitWrite(heartRate, 7, bitRead(vals[0], 1)); // Set bit 7

int bit = bitRead(vals[2], 0); // read bit 0
int bit = bitRead(vals[2], 1); // read bit 1
int bit = bitRead(vals[2], 2); // read bit 2
int bit = bitRead(vals[2], 3); // read bit 3
int bit = bitRead(vals[2], 4); // read bit 4
int bit = bitRead(vals[2], 5); // read bit 5
int bit = bitRead(vals[2], 6); // read bit 6
int bit = bitRead(vals[2], 7); // read bit 7
bitWrite(oxygenLevel, 0, bitRead(vals[2], 0); // Set bit 0
bitWrite(oxygenLevel, 1, bitRead(vals[2], 1); // Set bit 1
bitWrite(oxygenLevel, 2, bitRead(vals[2], 2); // Set bit 2
bitWrite(oxygenLevel, 3, bitRead(vals[2], 3); // Set bit 3
bitWrite(oxygenLevel, 4, bitRead(vals[2], 4); // Set bit 4
bitWrite(oxygenLevel, 5, bitRead(vals[2], 5); // Set bit 5
bitWrite(oxygenLevel, 6, bitRead(vals[2], 6); // Set bit 6
bitWrite(oxygenLevel, 7, bitRead(vals[2], 7); // Set bit 7
}
}