Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 184 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
184
Dung lượng
5,52 MB
Nội dung
Đại học Quốc gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA LÊ NGỌC SINH THIẾT KẾ PHẦN MỀM XỬ LÝ CÁC KẾT QUẢ XÉT NGHIỆM SINH HÓAVỚI DỮ LIỆU THU ĐƯỢC TỪ MÁY ĐO QUANG KẾ HUMALYZER-2000 QUA ĐƯỜNG TRUYỀN RS-232 Chuyên ngành: VẬT LÝ KỸ THUẬT LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 07 năm 2009 Deleted: Trang / 96 CƠNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Deleted: Cán hướng dẫn khoa học:TS.Huỳnh Quang Linh (Ghi rõ họ, tên, học hàm, học vị chữ ký) Deleted: Cán chấm nhận xét 1: PGS.TS Cẩn Văn Bé (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: PGS.TS Trần Minh Thái (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, Deleted: Deleted: ngày 12 tháng 09 năm 2009 Deleted: Deleted: Deleted: Luận văn tốt nghiệp Lê Ngọc Sinh Trang / 96 TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM KHOA-KHOA HỌC ỨNG DỤNG Độc Lập - Tự Do - Hạnh Phúc -oOo - TP HCM, ngày tháng 09 năm 2009 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: LÊ NGỌC SINH Phái: Nam Ngày, tháng, năm sinh: 24 - 09 - 1959 Nơi sinh: Đà lạt – Lâm đồng Chuyên ngành: VẬT LÝ KỸ THUẬT MSHV: 01207772 1- TÊN ĐỀ TÀI: THIẾT KẾ PHẦN MỀM XỬ LÝ CÁC KẾT QUẢ XÉT NGHIỆM SINH HÓA VỚI DỮ LIỆU THU ĐƯỢC TỪ MÁY ĐO QUANG KẾ HUMALYZER 2000 QUA ĐƯỜNG TRUYỀN RS-232 2- NHIỆM VỤ LUẬN VĂN: 1– Khảo sát qui trình hoạt động máy đo quang Humalyzer 2000 để thiết kế module phần mềm thực tự động việc kết nối thu nhận liệu từ máy đo …………………………………………………………………… – Khảo sát qui trình làm việc khoa xét nghiệm để thiết kế workflow ……………………………………………………………………………… … Luận văn tốt nghiệp Lê Ngọc Sinh Trang 4/96 – Phân tích thiết kế hệ thống dựa theo workflow để xây dựng hệ quản trị sở liệu quan hệ đáp ứng yêu cầu hoạt động thực tế …… Luận văn tốt nghiệp Lê Ngọc Sinh Trang / 96 – Thiết kế thi cơng phần mềm có đủ chức để xử lý giải yêu cầu nêu thông qua giao diện linh hoạt, dễ sử dụng, giao tiếp đơn giản có yếu tố tự động hóa ……………………………………………… Deleted: ……………………………… …………………… 3- NGÀY GIAO NHIỆM VỤ: 02/2009 Deleted: ……………………………… ………… 4- NGÀY HOÀN THÀNH NHIỆM VỤ: 30/07/2009 5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS HUỲNH QUANG LINH ……… Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) KHOA QL CHUYÊN NGÀNH (Họ tên chữ ký) Luận văn tốt nghiệp Lê Ngọc Sinh Trang / 96 LỜI CẢM ƠN Tôi xin chân thành cảm ơn quý Thầy, Cô chuyên ngành Vật lý kỹ thuật - khoa Khoa học ứng dụng – trường đại học Bách khoa TP Hồ chí Minh tận tình hướng dẫn giúp đỡ cho suốt thời gian theo học cao học làm luận văn tốt nghiệp Mặc dù biết lời cảm ơn tơi có nhiều sánh với công sức tận tâm mà thầy dạy bảo hướng dẫn cho thời gian qua Tôi xin ghi nhớ thầy TS.HUỲNH QUANG LINH người thầy tận tâm, nhà khoa học nghiêm túc để phấn đấu noi theo Tơi xin nói lời cảm ơn đặc biệt đến thầy PGS.TS TRẦN MINH THÁI người ln động viên giúp đỡ để tơi có thêm nghị lực hồn thành nhiệm vụ Xin cám ơn ban chủ nhiệm khoa, môn quý đồng nghiệp đại học Y Dược TP.HCH giúp đỡ, tạo điều kiện cho làm luận văn Xin cám ơn động viên, hy sinh thầm lặng hiền thê gia đình Xin cảm ơn quý bạn hữu, đồng môn giúp đỡ động viên tơi hồn thành luận văn Luận văn tốt nghiệp Lê Ngọc Sinh Trang / 96 TÓM TẮT LUẬN VĂN THẠC SĨ Hiện nay, nhu cầu số lượng chủng loại xét nghiệm sinh hoá định thực ngày tăng cao Do yêu cầu nâng cao hiệu công việc khoa xét nghiệm việc quản lý hồ sơ bệnh nhân, thu nhận, lưu trữ xử lý kết loại xét nghiệm, xuất phiếu trả lời kết xét nghiệm vv… có tính cấp thiết Từ u cầu luận văn thực việc khảo sát nghiên cứu: - Qui trình làm việc yêu cầu đặt khoa xét nghiệm sinh hóa thường qui - Nguyên lý, qui trình hoạt động vận hành thiết bị xét nghiệm nói chung máy đo quang Humalyzer 2000 nói riêng Trên sở đó, luận văn thực thiết kế xây dựng phần mềm phục vụ cho phân khoa xét nghiệm sinh hóa gồm chức sau: - Tự động thu nhận kết xét nghiệm sinh hóa thường qui từ máy đo quang Humalyzer 2000 máy tính qua cổng giao tiếp RS-232 - Tự động xuất phiếu kết xét nghiệm cho bệnh nhân từ sở liệu quản lý hồ sơ bệnh nhân - Thực thống kê phục vụ công tác kiểm tra chất lượng phòng xét nghiệm phục vụ nghiên cứu Hướng phát triển phần mềm mở rộng phạm vi áp dụng sở liệu khoa xét nghiệm góp phần xây dựng bệnh án điện tử cho toàn bệnh viện Luận văn tốt nghiệp Lê Ngọc Sinh Trang 8/96 ABSTRACT Nowadays, types and volume of biochemical testing in hospitals are increasing day by day The need of improving the efficiency of clinical laboratory faculty in patients’ profile management; in receiving, processing and archiving testing results; in printing of testing result report etc becomes more demanding Starting from the above-mentioned requirement, a study of operating workflow and principles of equipments used in a clinical laboratory, especially the Humalyzer 2000 spectrophotometer, has been performed Based on the above survey performance, author has designed and developed a software to facilitate operating process with Humalyser 2000, which composes of following functions: - Automatic data transferring from the Humalyzer 2000 apparatus to a computer via the RS-232 serial port - Automatic printing of testing result report using data captured in patient profile database - Statistical utilities serving quality control and statistics for research Software development orientation will enhance such application to all testing processes at clinical laboratories and contribute to establish electronic medical record project applied for the whole hospital Luận văn tốt nghiệp Lê Ngọc Sinh Trang 9/96 LỜI CAM ĐOAN Tác giả xin cam đoan toàn nội dung phần mềm liệu tác giả thực hiện, không vi phạm quyền chưa công bố báo cáo khoa học phương tiện thông tin khác Luận văn tốt nghiệp Lê Ngọc Sinh Trang 10 / 96 MỤC LỤC Deleted: 12 CHƯƠNG - PHẦN MỞ ĐẦU 13 1.1 Giới thiệu vấn đề 13 1.2 Mục tiêu nhiệm vụ luận văn 15 Deleted: 12 Deleted: 14 Deleted: 15 CHƯƠNG II - PHẦN TỔNG QUAN 16 2.1 Giới thiệu tổng quan hoạt động khoa xét nghiệm hệ thống chẩn đoán cận lâm sàng 16 2.2 Phần mở đầu hoá sinh 19 2.2.1 Lịch sử 19 2.2.2 Vai trị hố sinh 20 2.2.2.1 Đối với lâm sàng 21 2.2.2.2 Đối với việc chẩn đoán 21 2.2.2.3 Đối với việc đánh giá chức quan tiên lượng 22 2.2.2.4 Theo dõi kết điều trị trực tiếp phục vụ điều trị 22 2.2.3 2.3 Sử dụng kết xét nghiệm lâm sàng 22 Dịch thể nguyên liệu để làm xét nghiệm 23 2.3.1 Dịch thể 23 2.3.2 Các nguyên liệu 24 2.4 Các q trình chuyển hóa chất 24 2.4.1 Sự chuyển hoá sử dụng glucide thể 25 2.4.1.1 Sự vận chuyển glucose qua màng tế bào 25 2.4.1.2 Sự phosphoryl hóa glucose 25 2.4.1.3 Sự sử dụng glucose lượng 26 2.4.1.4 Sự sử dụng glucose để tổng hợp glycogen mỡ 26 2.4.1.5 Hiện tượng tân tạo đường từ protein lipid 26 2.4.2 Sự chuyển hoá sử dụng protein thể 27 2.4.2.1 Sự tổng hợp protein máu 27 2.4.2.2 Sự sử dụng protein huyết tương 27 Luận văn tốt nghiệp Lê Ngọc Sinh Deleted: 15 Deleted: 18 Deleted: 18 Deleted: 19 Deleted: 20 Deleted: 20 Deleted: 21 Deleted: 21 Deleted: 21 Deleted: 22 Deleted: 22 Deleted: 23 Deleted: 23 Deleted: 24 Deleted: 24 Deleted: 24 Deleted: 25 Deleted: 25 Deleted: 25 Deleted: 26 Deleted: 26 Deleted: 26 Luận văn tốt nghiệp Lê Ngọc Sinh title = "Analytes: " & sTest ColumnCount = ColumnLabelCount = Column = ColumnLabel = "colLabel" Refresh End With lblN.Caption = "N = " & n lblm.Caption = "m = " & Str(Math.Round(m / n, 2)) 'Format(m / n, "##.#") ' Tinh CV For i = To n tg_bp = tg_bp + (arrQC(i, 2) - (m / n)) ^ Next i s = Sqr(tg_bp / (n - 1)) cv = (s / (m / n)) * 100 lbSD.Caption = "SD = " + Str(Math.Round(s, 2)) lblCV.Caption = "CV = " & Str(Math.Round(cv, 2)) 'Format(cv, "##.#") & " %" End If cmdGo_Exit: rst.Close Exit Sub cmdGo_Err: ThongBao Err.Number & " - " & Err.Description Resume cmdGo_Exit End Sub ' -Private Sub Form_Load() With TestDat ConnectionString = cnnData CommandType = adCmdText CursorLocation = adUseClient CursorType = adOpenStatic LockType = adLockOptimistic Trang 74 / 88 Luận văn tốt nghiệp Lê Ngọc Sinh RecordSource = "Select tblTest.TestName, tblTest.ShortName, tblTest.UM From tblTest Order By TestID" Refresh End With With CmboTest Set RowSource = TestDat ListField = "TestName" BoundColumn = "ShortName" End With DtFDate.Value = Format(Now(), "Short Date") DtLDate.Value = Format(Now(), "Short Date") End Sub MÀN HÌNH KẾT NỐI Mục đích: Phục vụ cho việc nhận liệu từ máy đo Humalyzer 2000 vào máy tính Giao diện: Trang 75 / 88 Luận văn tốt nghiệp Lê Ngọc Sinh '********************************************************************* ' Pro Name: Humanlyser 2000 ' Date: 29/03/2009 '********************************************************************* Option Explicit Private Ret As Integer ' Scratch integer Private Temp As String ' Scratch string Private hDataFile As Integer ' Handle of open log file Private StartTime As Date ' Stores starting time for port timer Public sInput As String Private oldRow As Long 'Handle last row position Private curRow As Long 'Handle current row 'Private WithEvents Calls As CRateCall Private rsCustomerInfo As ADODB.Recordset Private Col1(), Col2(), Col3(), Col4(), Col5(), Col6(), Col7() Private Sub GetData(data As String) On Error GoTo Handler Dim i, iLenMax As Integer, ID As Long Dim strTmp As String, CRateResult As Boolean Dim iFields As Integer ' Filter/handle BACKSPACE characters Do i = InStr(data, Chr$(8)) If i Then If i = Then data = Mid$(data, i + 1) Else data = Left$(data, i - 2) & Mid$(data, i + 1) End If End If Loop While i ' Loai bo cac line feeds Do i = InStr(data, Chr$(10)) If i Then Trang 76 / 88 Luận văn tốt nghiệp Lê Ngọc Sinh data = Left$(data, i - 1) & Mid$(data, i + 1) End If Loop While i ' Thay tat ca cac ma Enter bang ma line feed i=1 Do i = InStr(i, data, Chr$(13)) If i Then data = Left$(data, i) & Chr$(10) & Mid$(data, i + 1) i=i+1 End If Loop While i '-PM cũ Thể hình = chuæi nhËn data sInput = sInput & data txtDisplay.Text = txtDisplay.Text & " " & sInput GetData_Exit: sInput = "" ' Call popMoCong_Click Exit Sub Handler: Resume Next End Sub Function GetDialinfo(St As String) As Integer 'Identify how many of column in each record was print out 'and put them in to aDialInfo() array On Error GoTo GetDialInfo_Err Dim iLen As Integer, i As Long Dim iNumFields As Integer i=1 St = Trim(St) iLen = Len(St) iNumFields = ReDim aDialInfo(MAXFIELDS) 'Reset giá trị cho biến mảng, MAXFIELD=12 phần tö Do While i Then bCancel = False bAnswer = False ThongBaoYNC ("Có thật muốn xóa khỏi danh sách?" & vbCrLf & "Click vào nút ®Ĩ quay l¹i.") If Not bCancel And bAnswer Then RemoveItem Row End If End If End With End Sub Private Sub cmdSetting_Click() Call popCaidat_Click End Sub Private Sub Command1_Click() GetData (txtDisplay.Text) End Sub Private Sub cmdStore_Click() txtDisplay.Visible = False DtFDate.Enabled = True CmboTest.Enabled = True DtFDate.SetFocus cmdStore.Enabled = False DoEvents If MSCom.PortOpen Then Call popMoCong_Click DataProcess (txtDisplay.Text) Trang 81 / 88 Luận văn tốt nghiệp Lê Ngọc Sinh txtDisplay.Text = "" End Sub Private Sub DtFDate_Change() 'Reset Test combo CmboTest.Text = "" Dim pDate As String pDate = Year(DtFDate.Value) & "/" & Month(DtFDate.Value) & "/" & Day(DtFDate.Value) Call FillListInfo(pDate, "*") End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 79 If Shift = Then 'If GetPermis Then Call popMoCong_Click 'End If End If Case 72 If Shift = Then Call tbar_ButtonClick(tbar.Buttons("Help")) End If Case 67 If Shift = Then Call tbar_ButtonClick(tbar.Buttons("Forward")) End If End Select End Sub Private Sub Form_Load() On Error GoTo frmload_Err Dim ComPort As String, Handshaking As String, Settings As String Dim i ' -Set path ' strPath = App.Path & "\" ' ' Set gOptions = New CCallROptions ' gOptions.GetInfo Me.BackColor = RGB(148, 170, 214) '200, 226, 177) '255, 253, 232) '210, 210, 210) '148, 170, 214) ' Me.Icon = LoadResPicture(107, 1) ' Call Form_Resize ' Show program icon on Status area 'i = Ico_OnStatusArea(Me.hwnd, Me.Icon) Call DrawTitle With TestDat ConnectionString = cnnData CommandType = adCmdText CursorLocation = adUseClient Trang 82 / 88 Luận văn tốt nghiệp Lê Ngọc Sinh CursorType = adOpenStatic LockType = adLockOptimistic RecordSource = "Select tblTest.TestName, tblTest.ShortName From tblTest Order By TestID" Refresh End With With CmboTest Set RowSource = TestDat ListField = "TestName" BoundColumn = "ShortName" End With ' lFirstime = False ' Set Application Title 'App.Title = Apptitle ' Display status on statusbar sbrStatus.Panels(4).Text = Format$(Date, "mmm, dd, yyyy") ' Center Form 'Me.Move (Screen.Width - Width) / 2, (Screen.Height - Height) / ' Load Registry Settings Settings = GetSetting(App.Title, "Properties", "Settings", "") If Settings "" Then MSCom.Settings = Settings Else ' lFirstime = True End If ComPort = GetSetting(App.Title, "Properties", "CommPort", "") If ComPort "" Then MSCom.CommPort = ComPort Else ' lFirstime = True End If Handshaking = GetSetting(App.Title, "Properties", "Handshaking", "") If Handshaking "" Then MSCom.Handshaking = Handshaking Else ' lFirstime = True End If ' ' ' ' ' '' ' Set data input mode MSCom.InputMode = comInputModeBinary ' Set menu unable popMoFile.Enabled = True popDongFile.Enabled = False popGUIVB.Enabled = False ' -Load current property settings 'LoadPropertySettings If Not lFirstime Then lFirstime = True Call popMoCong_Click Trang 83 / 88 Luận văn tốt nghiệp ' Lê Ngọc Sinh End If DtFDate.Value = Format(Now(), "Short Date") Call FillListInfo(Format(DtFDate.Value, "Short Date"), "*") frmload_Exit: Exit Sub frmload_Err: ThongBao Error$ Resume frmload_Exit 'On Error GoTo End Sub Private Sub Form_Resize() 'On Error Resume Next Dim iWidth As Long If Me.WindowState vbMinimized Then With txtDisplay iWidth = Me.ScaleWidth Width = iWidth Height = Me.ScaleHeight - tbar.Height - sbrStatus.Height - 740 Text = "" End With With MSFInfo iWidth = Me.ScaleWidth Width = iWidth Height = Me.ScaleHeight - tbar.Height - sbrStatus.Height - 740 sbrStatus.Panels(2).Width = Me.ScaleWidth sbrStatus.Panels(1).Width sbrStatus.Panels(3).Width - sbrStatus.Panels(4).Width ' Trõ width cña scrollbar iWidth = iWidth - 275 _ ColWidth(5) + ColWidth(7) + ColWidth(9)) End With End If End Sub Private Sub MSFInfo_Click() MSFInfo.Col = MSFInfo.ColSel = End Sub Private Sub popMoCong_Click() On Error Resume Next Dim OpenFlag MSCom.PortOpen = Not MSCom.PortOpen If Err Then ThongBao Error$ OpenFlag = MSCom.PortOpen Trang 84 / 88 - Luận văn tốt nghiệp Lê Ngọc Sinh MSCom.RThreshold = ' ' ' ' ' popMoCong.Checked = OpenFlag If MSCom.PortOpen Then sbrStatus.Panels(2).Text = "Setting: COM" & MSCom.CommPort & " (" & MSCom.Settings & ")" Else sbrStatus.Panels(2).Text = "Not Ready" 'StopTiming End If popMoCong.Checked = OpenFlag popDTREnable.Checked = OpenFlag MSCom.DTREnable = OpenFlag popRTSEnable.Checked = OpenFlag MSCom.RTSEnable = OpenFlag popGUIVB.Enabled = OpenFlag End Sub Private Sub FillListInfo(pDate As String, pType As String) On Error GoTo FillListInfo_Err Dim i As Long, RecNo As Long Dim j As Integer, sSql As String ' VÏ l¹i header cho l-íi DrawTitle sSql = "SELECT " & _ "tblCustomers.*, " & _ "IIf(tblCustomers.Sex,'Nam','Nữ') As Expr1 " & _ "FROM tblCustomers " sSql = sSql & "WHERE InvesDate=#" & pDate & "#" ' ORDER BY PatientID" If pType "*" And pType "" Then sSql = sSql & " And " & pType & "=True And (V" & pType & "='' OR IsNull(V" & pType & ")) ORDER BY PatientID" Else sSql = sSql & " ORDER BY PatientID" End If Set rsCustomerInfo = OpenADORset(sSql, 1) ' RecNo = RecNo = rsCustomerInfo.RecordCount cmdOpenPort.Enabled = False If RecNo > Then cmdOpenPort.Enabled = True rsCustomerInfo.MoveFirst With MSFInfo Visible = False Rows = RecNo + Row = For i = To RecNo 'FindItemDes (rsCustomerInfo.Fields("ItemID")) TextMatrix(i, 0) = i Trang 85 / 88 Luận văn tốt nghiệp Lê Ngọc Sinh TextMatrix(i, 1) = rsCustomerInfo.Fields("InvesID") TextMatrix(i, 2) = rsCustomerInfo.Fields("Name") TextMatrix(i, 3) = rsCustomerInfo.Fields("DOB") TextMatrix(i, 4) = rsCustomerInfo.Fields("Expr1") If CmboTest.BoundText "" Then TextMatrix(i, 5) = SSINz(rsCustomerInfo.Fields("V" & CmboTest.BoundText), "") End If TextMatrix(i, 6) = rsCustomerInfo.Fields("PatientID") ' Move next If Not rsCustomerInfo.EOF Then rsCustomerInfo.MoveNext Next i ' ' Set CellBackColor For i = To Rows - Row = i If i Mod = Then For j = To Cols - Col = j CellBackColor = RGB(210, 238, 231) '188, 228, 255) Next j End If ' Set Font VN For j = To Cols - If j = Or j = Then Col = j CellFontName = "VK Sans Serif" CellFontSize = 10 End If Next j Next i Visible = True '.SetFocus Row = Col = 'rsCustomerInfo.MoveFirst End With End If ' rsCustomerInfo.Close FillListInfo_Exit: Exit Sub FillListInfo_Err: MsgBox "Loi: " & Err.Description Resume FillListInfo_Exit End Sub Private Sub DrawTitle() Dim i ' Set MSFInfo properties With MSFInfo Visible = True Cols = Rows = Row = 'Maximize = 40,000 rows (RAM:64Mb) Trang 86 / 88 Luận văn tốt nghiệp '' '' 0, 0, 0) Lê Ngọc Sinh For i = To Cols - ' Set Width: MÃ - Tên - Đvt - ĐG - SL - TT ColWidth(i - 1) = Choose(i, 400, 1400, Width - (1800), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ' Set Alignment ColAlignment(i - 1) = Choose(i, 4, 4, 2, 4, 4, 4) '' ' Set Column Title '' TextMatrix(0, i - 1) = Choose(i, "", "MÃ Sô'", "Họ Tên", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "") Next i ' -STT Col = Text = "Stt" ' -ID Col = Text = "M· Sè" ' -Ho & Ten Col = Text = "Họ Tên" ' -Nam Sinh Col = Text = "N.Sinh" ' -Gioi tinh Col = Text = "G.TÝnh" ' -Gia tri Col = Text = "KÕt Qu¶" For i = To Col = i CellFontName = "VK Sans Serif" CellFontSize = CellFontBold = True CellAlignment = 'MSFInfo.CellForeColor = RGB(255, 0, 0) Next i End With End Sub Private Sub StoreData(pPatientID, pVal, pTest) On Error GoTo UpDate_Err Dim CnnADO As ADODB.Connection Dim sSql As String Dim rsGoods As ADODB.Recordset sSql = "SELECT " & _ "tblCustomers.* " & _ "FROM tblCustomers " & _ "WHERE (((tblCustomers.PatientID)=" & pPatientID & "))" Set CnnADO = New ADODB.Connection CnnADO.ConnectionString = cnnData CnnADO.Open Trang 87 / 88 Luận văn tốt nghiệp Lê Ngọc Sinh Set rsGoods = New ADODB.Recordset rsGoods.Open sSql, CnnADO, adOpenStatic, adLockOptimistic, adCmdText With rsGoods If RecordCount > Then MoveFirst Else Exit Sub End If Fields("V" & pTest) = pVal Update End With UpDate_Exit: Set rsGoods = Nothing CnnADO.Close Exit Sub UpDate_Err: Select Case Err Case Case Else ThongBao (Err.Number & ": " & Err.Description) End Select Resume UpDate_Exit End Sub Trang 88 / 88 ... TÀI: THIẾT KẾ PHẦN MỀM XỬ LÝ CÁC KẾT QUẢ XÉT NGHIỆM SINH HÓA VỚI DỮ LIỆU THU ĐƯỢC TỪ MÁY ĐO QUANG KẾ HUMALYZER 2000 QUA ĐƯỜNG TRUYỀN RS- 232 2- NHIỆM VỤ LUẬN VĂN: 1– Khảo sát qui trình hoạt động máy. .. động thu nhận kết xét nghiệm sinh hóa thường qui từ máy đo quang Humalyzer 2000 máy tính qua cổng giao tiếp RS- 232 - Tự động xuất phiếu kết xét nghiệm cho bệnh nhân từ sở liệu quản lý hồ sơ bệnh... Các xét nghiệm sinh hoá thường qui thực phương pháp đo Deleted: hóa quang phổ, máy đo quang phổ hấp thu sử dụng để đọc kết xét nghiệm gồm hai loại: - Quang kế (photometer) - Quang phổ kế (spectrophotometer)