Recordarray.Clear(Recordarray, 0, 36) 'bytes 0 - 8 used for patient details Recordarray(0) = CByte(dtDob.Text.Substring(0, 1)) << 4 Recordarray(0) = Recordarray(0) Xor CByte(dtDob.Text.Substring(1, 1)) Recordarray(1) = CByte(dtDob.Text.Substring(2, 1)) << 4 Recordarray(1) = Recordarray(1) Xor CByte(dtDob.Text.Substring(3, 1)) Recordarray(2) = CByte(dtDob.Text.Substring(4, 1)) << 4 Recordarray(2) = Recordarray(2) Xor CByte(dtDob.Text.Substring(5, 1)) Recordarray(3) = Asc(cbGender.Text) Recordarray(4) = CByte(dtTest.Text.Substring(0, 1)) << 4 Recordarray(4) = Recordarray(4) Xor CByte(dtTest.Text.Substring(1, 1)) Recordarray(5) = CByte(dtTest.Text.Substring(2, 1)) << 4 Recordarray(5) = Recordarray(5) Xor CByte(dtTest.Text.Substring(3, 1)) Recordarray(6) = CByte(dtTest.Text.Substring(4, 1)) << 4 Recordarray(6) = Recordarray(6) Xor CByte(dtTest.Text.Substring(5, 1)) Recordarray(7) = CByte(dtTestTime.Text.Substring(0, 1)) << 4 Recordarray(7) = Recordarray(7) Xor CByte(dtTestTime.Text.Substring(1, 1)) Recordarray(8) = CByte(dtTestTime.Text.Substring(2, 1)) << 4 Recordarray(8) = Recordarray(8) Xor CByte(dtTestTime.Text.Substring(3, 1)) 'bytes 9 to 14 used for vital signs Recordarray(9) = CByte(tbTemp.Text.Substring(0, 2)) ' this byte will store the decimal for the temp string AND the Ph string Try Recordarray(10) = CByte(tbTemp.Text.Substring(3, 1)) << 4 Catch Recordarray(10) = 0 End Try Recordarray(11) = CByte(tbHeart.Text) Recordarray(12) = CByte(tbSystolic.Text) Recordarray(13) = CByte(tbDiastolic.Text) Recordarray(14) = CByte(tbResp.Text) 'bytes 15 to 19 for electrolytes and metabolites Recordarray(15) = CByte(tbSodium.Text) Recordarray(16) = CByte(tbPotassium.Text.Substring(0, 1)) << 4 Try Recordarray(16) = Recordarray(16) Xor CByte(tbPotassium.Text.Substring(2, 1)) Catch End Try Recordarray(17) = CByte(tbChloride.Text) Recordarray(18) = CByte(tbUrea.Text.Substring(0, 1)) << 4 Try Recordarray(18) = Recordarray(18) Xor CByte(tbUrea.Text.Substring(2, 1)) Catch End Try Recordarray(19) = CByte(tbCreatinine.Text) 'bytes 20 to 23 for acid and base Recordarray(20) = CByte(tbPh.Text.Substring(0, 1)) << 4 Try Recordarray(20) = Recordarray(20) Xor CByte(tbPh.Text.Substring(2, 1)) Catch End Try Try Recordarray(10) = Recordarray(10) Xor CByte(tbPh.Text.Substring(3, 1)) Catch End Try Recordarray(21) = CByte(CInt((tbBase.Text) + 11)) Recordarray(22) = CByte(tbH.Text) Recordarray(23) = CByte(tbOxygen.Text) 'bytes 24 to 29 for liver function Recordarray(24) = CByte(tbAlbumin.Text) Recordarray(25) = CByte(tbBilirubin.Text) Recordarray(26) = CByte(tbALT.Text) Recordarray(27) = CByte(tbALP.Text) Recordarray(28) = CByte(tbGGT.Text) Recordarray(29) = CByte(tbAST.Text) 'bytes 30 to 31 for lipids Recordarray(30) = CByte(tbTrig.Text) Recordarray(31) = CByte(tbCholesterol.Text.Substring(0, 1)) << 4 Try Recordarray(31) = Recordarray(31) Xor CByte(tbCholesterol.Text.Substring(2, 1)) Catch End Try 'bytes 32 to 34 for haematology Recordarray(32) = CByte(tbHaem.Text.Substring(0, 1)) << 4 Try Recordarray(32) = Recordarray(32) Xor CByte(tbHaem.Text.Substring(2, 1)) Catch End Try Recordarray(33) = CByte(tbRBC.Text.Substring(0, 1)) << 4 Try Recordarray(33) = Recordarray(33) Xor CByte(tbRBC.Text.Substring(2, 1)) Catch End Try Recordarray(34) = CByte(tbWBC.Text.Substring(0, 1)) << 4 Try Recordarray(34) = Recordarray(34) Xor CByte(tbWBC.Text.Substring(2, 1)) Catch End Try End Sub