Xây dựng chương trình mô phỏng quá trình điều khiển & hiển thị các thông số sinh học

LỜI NÓI ĐẦU Ngày nay, với sự phát triển mạnh mẽ của khoa học kĩ thuật, đã có rất nhiều phát minh ứng dụng vào thực tiễn nhằm phục vụ tốt hơn cho đời sống con người. Với công nghệ hiện đại, các phát minh, sáng chế đã có những thành tựu to lớn, thiết thực trong mọi lĩnh vực của đời sống xã hội. Đặc biệt, việc ứng dụng khoa học kĩ thuật hiện đại trong lĩnh vực y tế đã tạo một bước đột phá trong việc hỗ trợ chẩn đoán và điều trị của bác sĩ, nhất là đối với các bệnh hiểm nghèo. Càng ngày, các trang

doc126 trang | Chia sẻ: huyen82 | Lượt xem: 1590 | Lượt tải: 2download
Tóm tắt tài liệu Xây dựng chương trình mô phỏng quá trình điều khiển & hiển thị các thông số sinh học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
thiết bị y tế hiện đại càng khẳng định được tầm quan trọng, và là một phần không thể thiếu trong các bệnh viện. Qua quá trình thực tập ở Công Ty Nipon cung cấp trang thiết bị y tế trên thị trường Việt Nam cùng với việc tìm hiểu và thấy rõ tầm quan trọng của thiết bị theo dõi hiện nay. Vì vậy, tôi đã quyết định chọn thiết bị theo dõi bệnh nhân “Monitoring” Ngoài mục đích bổ sung kiến thức cho bản thân thì tôi có xây dựng chương trình mô phỏng quá trình điều khiển và hiển thị tín hiệu sinh học nhằm giới thiệu bước đầu về các loại dạng sóng của các tín hiệu sinh học và ứng dụng trong giảng dạy các môn chuyên nghành. Cuối cùng tôi xin chân thành cảm ơn thầy giáo ThS. Vũ Duy Hải, cùng các thầy cô trong bộ môn Công nghệ điện tử, Thầy Hiền trưởng phòng kĩ thuật bệnh viện Hữu Nghị Hà Nội, chú Phạm Quốc Trọng giám đốc kĩ thuật công ty Nipon đã giúp đỡ tôi trong quá trình thực hiện đồ án. Xin chân thành cảm ơn các thầy cô giáo trong bộ môn điện tử y sinh đã tạo mọi điều kiện, nhiệt tình giúp đỡ tôi trong quá trình học tập và thực hiện đồ án này. TÓM TẮT ĐỒ ÁN Với nội dung đồ án là: “Xây dựng chương trình mô phỏng quá trình điều khiển và hiển thị các thông số sinh học”.Mục đích chính của đồ án là khai thác thiết bị theo dõi bệnh nhân để tìm hiểu nguyên lý hoạt động chung của các loại thiết bị theo dõi bệnh nhân và mô phỏng các tín hiệu sinh học: điện tim, SpO2, nhịp thở và hiển thị các thông số điện tim, huyết áp không can thiệp bằng phần mềm lập trình Visual Basic 6.0. Về cơ cấu nội dung đồ án được chia thành các chương: Chương 1: Phân loại và chức năng của các thiết bị theo dõi bệnh nhân. Chương 2: Nghiên cứ phương pháp đo các thông số sinh học Chương 3: Xây dựng chương trình THE SUMMARY OF THE DESIGN Which the contents of the design is: “ the construction of simulating program process of controlling and displaying parameters of biological using to monitor”. The main purpose of the design is studying common principle of monitors and simulating signals of biological: ECG signal, SpO2 signal, Respiration signal and display parameters of ECG, NIBP, Respiration, % SpO2, by the programming software Visual Basic 6.0. For structure of the contents of the design is devided into chapters following: Chapter One: Classification and function of monitor Chapter Two: Study measure method parameters of biological Chapter Three: Building program MỤC LỤC CÁC TỪ VIẾT TĂT SỬ DỤNG Từ viết tắt Giải thích Nghĩa tiếng việt ECG Electrocardiogram Điện tâm đồ CVP Central Venous Pressure Áp suất tĩnh mạch chính NIBP Non-invasive Blood Pressure Áp suất không can thiệp DC Direct Current Dòng điện một chiều AC Alternating Current Dòng điện xoay chiều FET Field – Effect Transistor Transistor trường CMRR Common Mode Repress Ratio Tỉ số nén mode chung EMG ElectroMyograph Điện cơ đồ Hb Hemoglobin Hemoglobin HHb Deoxigenhemoglobin Hemoglobin không mang ôxi CO Cardio Output Cung lượng tim IBP Invasive Blood Pressure Huyết áp can thiệp HR Heart Rate Nhịp tim PR Pulse Rate Nhịp mạch CPU Central Processor Unit Bộ vi xử lý trung tâm LCD Liquid – Crystal Display Màn hình hiển thị tinh thể lỏng RGB Red Green Blue BPF Band Pass Filter Bộ lọc thông dải A/D Analog/digital Tương tự/ số TEMP Temperature Nhiệt độ BP Blood Pressure Áp suất RESP Respiration Nhịp thở EEG ElectroEncephalograph Điện não đồ AV Atrioventricular Node Nút nhĩ thất UPS Uninterruptile Power Supply Bộ lưu điện PWTT Pulse Wave Transit Time Thời gian truyền sóng xung DANH SÁCH HÌNH VẼ SỬ DỤNG Hình 1.1. Thiết bị theo dõi đặt tại giường 10 Hình 1.2. Loạn nhịp tâm thất sớm (VPC) 11 Hình 1.3. Một số thiết bị theo dõi hiện đại ngày nay 12 Hình 1.4. Hình một máy theo dõi bệnh nhân đặt tại giường 13 Hình1.5. Mạng kết nối cáp 14 Hình 1.6. mạng kết nối vô tuyến với dùng bộ truyền tín hiệu ZB – 800P 14 Hình 1.7: sơ đồ khối tổng quát hệ thống theo dõi bệnh nhân nối dây 16 Hình 1.8: sơ đồ khối tổng quát của một hệ thống theo dõi trung tâm 19 Hình 1.9. Màn hình hiển thị các thông số theo dõi của một thiết bị theo dõi bệnh nhân 22 Hình 2.1 : Sơ đồ khối máy theo dõi bệnh nhân tại giường 27 Hình 2.2 : Sơ đồ mạch khối ECG/RESP 28 Hình 2.3 : Sơ đồ nguyên lý của khối SpO2 29 Hình 2.4: Sơ đồ nguyên lý hoạt động của khối IBP 29 Hình 2.5: Sơ đồ nguyên lý hoạt động của khối NIBP 30 Hình 2.6: Sơ đồ nguyên lý của khối hiển thị 31 Hình 2.7. mạch bơm Diot 33 Hình 2.8. sơ đồ khối một máy theo dõi nhịp tim trung bình 34 Hình 2.9. Nguyên lý chuyển đổi tần số sang điện áp đẻ theo dõi nhịp tim tức thì 35 Hình 2.10. sơ đồ khối một máy Cardiotachometer dựa trên bộ lọc so sánh 36 Hình 2.11. Ảnh cấy cảm biến trực tiếp vào động mạch 38 Hình 2.12. Sơ đồ mạch điện dùng đo huyết áp tâm thu và tâm trương 38 Hình 2.13. Dạng sóng tín hiệu thu được đo theo phương pháp Korotkoff và 40 dao động kế. 40 Hình2.14.phương pháp đo huyết áp gián tiếp theo Rheographic 41 Hình 2.15. các khối chính trong thiết bị đo huyết áp siêu âm 43 Hình 2.16. sơ đồ khối chi tiết đo nhiệt độ hiển thị số trực tiếp 45 Hình 2.17. Nguyên lý phương pháp đo trở kháng phổi (hai điện cực) 46 Hình 2.18. Nồng độ CO2 khi hít vào và thở ra 48 Hình 2.19. Sơ đồ khối của quá trình phân tích khí CO2 trong hơi thở 49 Hình 2.20. Các đạo trình chuẩn 50 Hình 2.21.Các đạo trình chi đơn cực 50 Hình 2.22. Các đạo trình trước ngực 50 Hình 2.23. : Điện tim 12 kênh ghi 51 Hình 2.24. Điện tim 6 kênh ghi 51 Hình2.25 : Điện tim 3 kênh ghi 52 Hình 2.26 : Điện tim 3 kênh ghi + 1 nhịp tim chuẩn 52 Hình2.27. Sơ đồ khối của việc thu nhận và xử lý tín hiệu ECG 53 Hình 2.28 : Tín hiệu điện tim đặc trưng 56 Hình2.29 : a) Nhiễu tần số 50Hz; b) nhiễu điện cơ trong tín hiệu ECG 57 Hình 2.30 : Nhiễu do cơ thể dịch chuyển, điện cực hô hấp bị tuột 57 Hình 2.31 : Nhiễu do hoạt động mạnh ( kiểm tra dây đất, điều kiện điện cực) 57 Hình 2.32 : Mạch khuếch đại vi sai gồm 3 bộ khuếch đại thuật toán 58 Hình 2.33 : Mạch điều khiển chân phải để tối thiểu hóa nhiễu mode chung 58 Hình 2.34: Ví dụ về sự giảm nhiễu trong thiết kế một hê thống đa tầng 59 Hình 2.35 : Sự sắp xếp của các tầng 59 Hình 2.36: Sơ đồ mạch bên trong của INA 118 60 Hình 2.37: Ví dụ đơn giản về mạch lọc thông cao Sallen-Key 2 cực 60 Hình 2.38: Đáp ứng tần số của bộ khuếch đại điện tim 61 Hình 2.39 : Mô phỏng kết quả kiểm tra 62 Hình 2.40. Sơ đồ khối xử lý tín hiệu của Pulse Oximetor 63 Hình2.41. Đặc tuyến về sự hấp thụ ánh sáng của Hemoglobin 64 Hình 2.42. Mối quan hệ giữa biên độ sóng với sự hấp thụ ánh sáng 64 Hình 2.43. Hình sự hấp thụ ánh sáng hồng ngoại của máu tĩnh mạch, mô, xương và da 64 Hình 2.44 : Sự hấp thụ ánh sáng tương đối của mô 65 Hình 2.45: Mối quan hệ giữa nồng độ oxi và sự hấp thụ ánh sáng đỏ và ánh sáng 65 hồng ngoại 65 Hình 2.46. Sự đo Oxi trong ống với một dung kế (phải) và phương pháp sử dụng tính toán đo thể tích 67 Hình 2.47: Phương pháp pha loãng nhiệt (a), và đường cong đặc trưng (b) 71 Hình 2.48: Đường cong pha loãng bị che khuất bởi sự quay vòng (a), và đồ thị bán thuật toán loga của bờ dốc (b). 73 Hình 3.1: Tín hiệu ECG điển hình 74 Hình 3.2: Tạo dạng sóng QRS 76 Hình 3.3: Tạo dạng sóng P 77 Hình 3.4 :Dạng sóng SpO2 80 Hình 3.5: Vị trí đặt điện cực và biên độ dạng sóng của chúng 81 Hình 3.6: Dạng sóng nhịp thở 82 Hình 3.7: Cấu trúc của chương trình 84 Hình 3.8. Giao diện chính của chương trình mô phỏng 85 Hình 3.9. Menu con Exit kết thúc chương trình 85 Hình 3.10. các menu con mô phỏng tín hiệu 85 Hình 3.11. Giao diện chương trình mô phỏng ECG 86 Hình 3.12. Tín hiệu mô phỏng đạo trình II (a) và V (b) 86 Hình 3.13. Dạng sóng mô phỏng tín hiệu nhịp thở 87 Hình 3.14. Form SpO2 87 Hình 3.15. Form NIBP 88 Hình 3.16. form about 89 Hình 3.17: Mối quan hệ PWTT với tín hiệu ECG và SpO2 90 CHƯƠNG 1: PHÂN LOẠI VÀ CHỨC NĂNG CỦA THIẾT BỊ THEO DÕI BỆNH NHÂN 1.1. Tầm quan trọng của thiết bị theo dõi bệnh nhân Thiết bị theo dõi bệnh nhân có thể đánh giá định lượng các biến số sinh lý quan trọng của bệnh nhân trong các giai đoạn nguy kịch của các chức năng sinh học, phục vụ cho mục đích chẩn đoán, nghiên cứu cần phải biết các giá trị thực hay xu hướng biến đổi của chúng. Các hệ thống theo dõi bệnh nhân có thể được sử dụng để đo liên tục hay tại những quãng thời gian nhất định một chách tự động giá trị của các thông số sinh lý quan trọng của bệnh nhân. Những bệnh nhân ốm rất nặng, bệnh nhân đang hồi phục sau mổ hoặc bị đột quỵ tim thường được để ở phòng chăm sóc đặc biệt, ở đó các biểu hiện sống của họ được theo dõi liên tục bằng cách sử dụng các thiết bị theo dõi này. Mục tiêu lâu dài của việc theo dõi bệnh nhân nhân được giải thích rõ ràng bởi Gardner (1972) là để giảm tỉ lệ tử vong và sự phát triển của bệnh tật bằng cách: Tổ chức và hiển thị thông tin ở một dạng có ý nghĩa để cải thiện việc theo dõi bệnh nhân Liên kết các thông số phức tạp để minh chứng rõ ràng các vấn đề lâm sàng Xử lý dữ liệu để đặt báo động khi các tình trạng không bình thường phát triển Cung cấp thông tin dựa trên các dữ liệu được tự động hóa đối với việc trị liệu Đảm bảo sự chăm sóc tốt hơn với số lượng nhân viên y tế ít hơn. Koster(1978) đã phát biểu rằng trong quá trình phẫu thuật bệnh nhân bị mất đi một số các cơ chế phản ứng tự nhiên, những cơ chế này bình thường khôi phục lại những bất bình thường trong trạng thái vật lý của người bệnh hay cảnh báo những người xung quanh. Những chỉ thị hay báo động mà bệnh nhân không thể tự đưa ra được sẽ do các thiết bị theo dõi bệnh nhân đưa ra. Ngoài ra rất nhiều khi quá trình phẫu thuật kéo dài vài giờ đồng hồ, trong một khoảng thời gian dài như vậy bác sĩ phẫu thuật và bác sĩ gây mê khó có thể duy trì một mối liên hệ mạt thiết với các biểu hiện sống của bệnh nhân và cùng một lúc phải chú ý đến việc gây mê, phẫu thuật, liệu pháp dịch và các chi tiết khác cũng rất cần thiết trong bối cảnh đó. Hơn nữa khi một bệnh nhân được nối với các thiết bị hỗ trợ sự sống tức là máy tim, phổi, máy giúp thở, sự hoạt động chính xác của các máy đócũng cần được theo dõi. Do đó một thiết bị theo dõi bệnh nhân thông báo cho bác sỹ phẫu thuật và bác sỹ gây mê biết về tình trạng củ bệnh nhân tốt hơn. Với các hệ thống theo dõi bệnh nhân, các rủi ro thường có trong phẫu thuật đã được giảm đi một cách đáng kể do cac biến chứng có thể được phát hiện kịp thời trước khi chúng trở thành nguy hiểm và các biện pháp thích hợp sẽ được áp dụng đúng lúc. Sự lựa chọn các thông số phù hợp có chứa lượng thông tin cao là một trong những vần đề thường gặp trong việc theo dõi bệnh nhân. Mặc dù vậy, người ta thừa nhận là việc theo dõi bệnh nhân là việc theo dõi các chức năng sinh học sau đây là cần thiết: tín hiệu điện tim(ECG), nhịp tim(tức thời hay trung bình), nhịp mạch, huyết áp( huyết áp động mạch gián tiếp, huyết áp động mạch trực tiếp hay huyết áp tĩnh mạch), nhiệt độ cơ thể và nhịp hô hấp. Ngoài các thông số chính trên, các thông số như điện não(EEG), nồng độ oxy trong máu(SpO2), và thể tích hô hấp cũng cần theo dõi trong một số trường hợp đặc biệt. 1.2. Khái niệm về thiết bị theo dõi bệnh nhân Thiết bị theo dõi bệnh nhân ( thường gọi là Bedside Monitor) là một thiết bị có chức năng theo dõi sức khỏe bệnh nhân thông qua thu nhận và xử lý liên tục các thông số sống quan trọng của bệnh nhân như: ECG, huyết áp, nhịp thở, nhiệt độ cơ thể, nồng độ bão hòa ôxy trong máu SpO2,… các dữ liệu này được hiển thị liên tục trên màn hình đặt ở giường bệnh nhân. Hình 1.1. Thiết bị theo dõi đặt tại giường Hệ thống theo dõi bệnh nhân ( thường là Patient Monitoring system) là một hệ thống gồm nhiều thiết bị theo dõi bệnh nhân được kết nối với một trạm trung tâm để có thể đồng thời theo dõi tình trạng sức khỏe của nhiều bệnh nhân trong bệnh viện. 1.3. Sự phát triển của thiết bị theo dõi Quá trình phát triển của thiết bị theo dõi bệnh nhân gắn liền với sự phát triển của khoa học kĩ thuật cũng như yêu cầu ngày càng cao trong công tác chăm sóc sức khỏe của bệnh nhân, đặc biệt trong mấy thập niên trở lại đây. Cơ sở của hệ thống theo dõi bệnh nhân chính là sự phát triển của quá trình thu nhận dữ liệu sinh học của bệnh nhân bắt đầu từ thế kỉ 17. Bắt đầu một thiết bị theo dõi bệnh nhân chỉ hiển thị một thông số đó là tín hiệu điện tim ( ECG), sau đó là 2 thông số là tín hiệu điện tim và huyết áp. Cùng với sự phát triển của khoa học kĩ thuật, các thiết bị theo dõi ngày càng được đổi mới để đáp ứng yêu cầu ngày càng cao của công việc chăm sóc sức khỏe cộng đồng. Từ thiết bị ghi đo hai thông số đã tăng lên thành bốn thông số: tín hiệu điện tim(ECG), nhịp mạch(HR), nhiệt độ(TEMP), huyết áp gián tiếp ( NIBP). Sau đó là sáu thông số: tín hiệu điện tim(ECG), nhịp mạch(HR), nhiệt độ(TEMP), huyết áp gián tiếp(NIBP), huyết áp trực tiếp(IBP), và nồng độ bão hòa oxi trong máu SpO2. Bất kì một sự bất thường nào xảy ra đối với tim thì đều được gọi là triệu chứng loạn tim. Các bệnh nhân phải được khôi phục lại trạng thái bình thường ngay nếu không sẽ có nguy cơ bị nhồi máu cơ tim có thể tránh được nguy hiểm cho người bệnh nếu phát hiện và điều trị kịp thời. Các triệu chứng loạn tim chủ yếu là nhồi máu cơ tim. Các thông tin chẩn đoán thu được từ việc quan sát tín hiệu điện tim được chia ra làm 2 lớp: là lớp hình thái, chủ yếu dựa vào dạng sóng của tín hiệu điện tim để miêu tả trạng thái hoạt động của cơ tim và lớp nhịp điệu, có liên quan tới vị trí và các nhịp đập nhanh của tim quá trình truyền xung lực của tim qua hệ thống dẫn. Hình 1.2. Loạn nhịp tâm thất sớm (VPC) Đôi khi sự kích thích được tập trung vào tâm thất, các xung lực không truyền đến các điểm AV mà đi tới các phần khác trải đều trên các tâm thất. Khoảng QRS sẽ trở nên rộng hơn và làm cho các tâm thất bị lệch nhịp đập, do đó mỗi nhịp đập lệch sẽ là một nhịp tạo các vị trí bất thường trong tim và thường là một VPC sớm: xuất hiện sớm hơn các nhịp khác. Các nhịp đập lệch vị trí của tâm thất sẽ làm xuất hiện sự khử cực bất thường trong tim, tín hiệu điện tim sẽ hiển thị lên một trạng thái QRS bất bình thường và thông thường thể hiện với sự tăng rõ ràng về chiều rộng và thay đổi mạnh về biên độ. Như hiện nay, để phát hiện ra các triệu chứng loạn tim thì phải thực hiện theo dõi thường xuyên các hiện tượng bất thường, phân tích các tín hiệu liên tục. Đối với các bệnh nhân xuất hiện các PVC liên tục từng khoảng ngắn của các sợi cơ cũng phải luôn được theo dõi thường xuyên bởi vì nếu chỉ lấy mẫu trong các khoảng như là các tín hiệu điện tim thì có thể sẽ bị mắc lỗi. Đòi hỏi một sự theo dõi liên tục 24/24 giờ trong ngày. Đây là khoảng thời gian chăm sóc liên tục cho bệnh nhân và rất khó khăn trong việc theo dõi dài này. Các máy oxylo hiển thị số thực hiện việc duy trì các dạng sóng liên tục trên màn hình trong khoảng thời gian dài trước khi bị mờ đi dễ dàng hơn các loại khác. Các bác sỹ và y tá được huấn luyện đặc biệt về việc nhận biết các PVC và các bất thường khác của tim. Các thiết bị này cũng phải có chức năng tự động phát hiện và báo hiệu các tín hiệu bất thường về tim của bệnh nhân khi mà chúng xảy ra.Chúng báo động để cho các nhân viên y tá biết để có các biện pháp kịp thời hành động cứu chữa. Các thiết bị này gọi là các monitor theo dõi bệnh nhân. Hiện nay các loại thiết bị theo dõi bệnh nhân đã có thể ghi đo tới 10 thông số, các thông số có thể được hiển thị dưới dạng sóng và số liệu, với các màu sắc khác nhau cho phép đánh giá được toàn diện và khách quan. Việc xử lý dữ liệu áp dụng các thuật toán tối ưu hơn, hệ thống phát hiện cảnh báo được trang bị hoàn hảo. Giao diện với thiết bị có thể nhấn trực tiếp trên màn hình cảm ứng, thông tin theo dõi bệnh nhân không chỉ được hiển thị ở cạnh giường bệnh nhân mà còn giao diện với các trạm trung tâm. Hình 1.3. Một số thiết bị theo dõi hiện đại ngày nay 1.4. Phân loại thiết bị theo dõi bệnh nhân Ngày nay có rất nhiều loại máy theo dõi bệnh nhân được sử dụng rộng rãi trong các bệnh viện. Tùy vào nhu cầu, cơ sở vật chất và tài chính mà các bệnh viện chọn cho mình một lọa phù hợp nhất. Để hệ thống hóa chúng ta có thể phân loại các máy theo dõi bệnh nhân như sau: 1.4.1. Thiết bị theo dõi bệnh nhân tại giường (Bedside Monitor) Loại máy này thường được đặt ngay đầu giường hay cạnh giường bệnh nhân. Mỗi máy chỉ theo dõi các thông số sinh lý cho một bệnh nhân trong một khoảng thời gian xác định. Hình 1.4. Hình một máy theo dõi bệnh nhân đặt tại giường Tùy thuộc vào khả năng kết nối của máy này mà chia ra thành hai loại nhỏ hơn: Không kết nối được với máy trung tâm Những máy theo dõi loại bệnh nhân tại giường loại này không có cổng ra hoặc máy phát sóng để kết nối vào mạng trung tâm. Kết nối được với máy trung tâm Những máy này có khả năng truyền thông tin về máy trung tâm để theo dõi, lưu trữ và phân tích. Hầu hết các máy theo dõi bệnh nhân tại giường hiện nay đểu có chức năng này (thường để phần tự chọn). Khi người sử dụng có nhu cầu nối mạng với máy trung tâm thì chỉ cần lắp thêm một card mạng hoặc là lắp thêm một bộ phát sóng ( transmitter). Có 2 kiểu kết nối với máy trung tâm là: * Kết nối hữu tuyến Kiểu kết nối này dùng dây cáp để nối máy theo dõi bệnh nhân tại giường với máy trung tâm. Tương tự như một mạng máy tính nội bộ Hình1.5. Mạng kết nối cáp * Kết nối vô tuyến Kiẻu kết nối này thì mỗi máy theo dõi bệnh nhân tại giường có một khối phát sóng ( transmitter) với dải tần số xác định và sóng sẽ được khối thu của máy trung tâm thu nhận. Hình 1.6. mạng kết nối vô tuyến với dùng bộ truyền tín hiệu ZB – 800P 1.4.2. Thiết bị theo dõi trung tâm ( Central Monitor) Loại máy này thường được đặt ở phòng của y tá trực, một máy có thể theo dõi, phân tích, xử lý, và lưu trữ thông tin đồng thời cho nhiều bệnh nhân. Có thể phân máy theo dõi trung tâm ra làm 2 loại nhỏ theo cách kết nối mạng của chúng. Mạng hữu tuyến Trong mạng này máy trung tâm kết nối với các máy theo dõi bệnh nhân tại giường thông qua các đường cáp. Mạng vô tuyến Trong mạng này máy trung tâm kết nối với các máy theo dõi bệnh nhân tại giường hay các hộp transmitter rời thông qua bộ thu - phát sóng. Hộp Transmitter rời là hộp gắn lên người bệnh nhân để thu trực tiếp các thông số sinh lý của bệnh nhân và sau đó phát tới máy trung tâm mà không cần tới máy theo dõi bệnh nhân tại giường với transmitter gần trong máy theo dõi bệnh nhân tại giường là một bảng mạch gắn trong máy chỉ có nhiệm vụ phát tín hiệu tới máy trung tâm. 1.5. Hệ thống thiết bị theo dõi bệnh nhân Một hệ thống theo dõi bệnh nhân là một hệ thống các thiết bị theo dõi bệnh nhân được kết nối với một trạm theo dõi trung tâm qua hệ thống không dây dẫn hoặc anten. Hệ thống này có thể theo dõi đồng thời được rất nhiều bệnh nhân ( từ vài bệnh nhân đến vài trăm bệnh nhân) trong một bệnh viện. Chức năng chính của hệ thống theo dõi bệnh nhân là theo dõi và hiển thị liên tục các thông số sống của bệnh nhân trên màn hình và phát ra các cảnh báo khi xảy ra các điều kiện không an toàn. Ngoài ra hệ thống còn có các chức năng phụ khác như thiết lập các thông số theo dõi và giới hạn báo động, nhập và trả viện, ghi và lưu trữ các dữ liệu của bệnh nhân, các biểu đồ xu hướng và báo động. 1.5.1. Hệ thống theo dõi hữu tuyến (dùng dây) Hệ thống theo dõi hữu tuyến là hệ thống theo dõi các bệnh nhân từ các thiết bị theo dõi bệnh nhân tại giường gửi đến một trạm theo dõi trung tâm theo một đường cáp nối cố định. Hình 1.7 đưa ra sơ đồ khối tổng quát của việc kết nối các thiết bị theo dõi tại giường với trạm trung tâm bằng các đường cáp nối. Các thiết bị theo dõi bệnh nhân tại giường được kết nối với trạm theo dõi trung tâm thông qua hệ thống cáp đồng trục. Cách kết nối hệ thống hữu tuyến này tương tự như cách kết nối một mạng máy tính nội bộ. Cho nên, việc truyền dữ liệu qua hệ thống cáp có độ chính xác và bảo mật cao. Hình 1.7: sơ đồ khối tổng quát hệ thống theo dõi bệnh nhân nối dây 1.5.1.1. Trạm theo dõi trung tâm a) Chức năng của trạm theo dõi trung tâm Chức năng chính của trạm theo dõi trung tâm là hiển thị thông tin bệnh nhân và nhận các báo động từ các thiết bị theo dõi bệnh nhân tại giường. Dữ liệu của tất cả các bệnh nhân trong hệ thống đều có thể hiển thị ở trạm trung tâm. Người sử dụng có thể lựa chọn một thiết bị theo dõi bệnh nhân theo dõi để hiển thị thông tin của mình. Thông thường, tại một thời điểm ở trạm trung tâm chỉ hiển thị được thông tin của một bệnh nhân. Dữ liệu được hiển thị ở trạm trung tâm cũng giống với dữ liệu hiển thị trên thiết bị theo dõi bệnh nhân tại giường. Việc cài đặt theo dõi cũng giống với quá trình nhận và trả bệnh nhân, không thể thực hiện từ trạm trung tâm mà phải thực hiện tại mỗi thiết bị theo dõi bệnh nhân tại giường. Tuy nhiên đối với các hệ thống theo dõi bệnh nhân hai chiều thị trạm theo dõi trung tâm còn có thể điều khiển các thiết bị theo dõi bệnh nhân tại giường để thực hiện việc đo huyết áp và đo các thông số từ xa. b) Các t hành phần chính của trạm theo dõi trung tâm Trạm theo dõi trung tâm thông thường gồm có máy tính, màn hình hiển thị , bàn phím, chuột, máy in, bộ lưu điện UPS… Máy tính Là thành phần chính của trạm theo dõi trung tâm. Dữ liệu của bệnh nhân từ các thiết bị theo dõi bệnh nhân tại giường sẽ được xử lý bởi máy tính và hiển thị trên màn hình trung tâm. Máy tính hoạt động như một máy tính cá nhân thông thường. Màn hình hiển thị Thường sử dụng màn hình touch – screen hiển thị màu. Với loại màn hình này có thể chạm tay lên màn hình để khởi động và điều khiển các chức năng của hệ thống theo dõi bệnh nhân. Bộ lưu điện UPS ( Uninterruptible Power Supply) Được sử dụng để cung cấp nguồn điện cho máy tính và của trạm theo dõi trung tâm nếu như nguồn điện chính bị mất. Nguồn UPS này sẽ cung cấp đủ năng lượng để trạm theo dõi trung tâm có thời gian để tắt và tiến hành các sắp xếp khác đối với việc theo dõi bệnh nhân. . Các thiết bị theo dõi bệnh nhân tại giường Các thiết bị theo dõi bệnh nhân tại giường được sử dụng ở đây thường là các thiết bị theo dõi riêng lẻ. Tuy nhiên có thể kết nối được vào mạng theo dõi thì có thêm chức năng khác để phù hợp với hoạt động của mạng. 1.5.2. Hệ thống theo dõi vô tuyến (không dây) Khác với hệ thống theo dõi hữu tuyến, các hệ thống theo dõi vô tuyến không sử dụng dây nối để kết nối các thành phân thiết bị theo dõi bệnh nhân tại giường mà thực hiện thu phát theo kiểu dùng sóng vô tuyến. Các thiết bị theo dõi bệnh nhân của hệ thống không dây sẽ giao tiếp thông tin với trạm theo dõi trung tâm thông qua một dải giới hạn các tần số radio. Các thông số sống cần theo dõi của bệnh nhân sẽ được thu nhận và xử lý tại mỗi thiết bị theo dõi bệnh nhân tại giường, sau đó các dữ liệu bệnh nhân được điều biến FM và truyền tới trạm theo dõi trung tâm bởi bộ thu phát radio. Trước khi hiển thị và phân tích trên thiết bị theo dõi, nó phải được giải mã để tách sóng trộn cao tần ra để khôi phục lại tín hiệu ban đầu. Hệ thống này gồm 2 loại: hệ thống theo dõi vô tuyến cố định và di động. Hệ thống theo dõi vô tuyến cố định Là hệ thống sử dụng sóng radio định tuyến để kết nối. Không giống như mạng không dây di động khác, chúng sử dụng một anten cố định với các trùm sóng hội tụ hẹp. Hệ thống không dây cố định có thể được sử dụng cho hầu hết các lĩnh vực mà một hệ thống cáp nối có thể thực hiện được như: kết nối internet tốc độ cao, kết nối TV vệ tinh, kết nối mạng Lan không dây… Kỹ thuật có thể mang các tần số radio lớn hơn, băng thông rộng hơn dẫn tới có thể mang nhiều thông tin hơn và sử dụng các anten nhỏ hơn. Hệ thống theo dõi vô tuyến di động Là hệ thống mà các thiết bị của nó thường dùng pin để người sử dụng thiết bị có thể di chuyển trong một phạm vi cho phép nào đó. Chúng thường sử dụng ở văn phòng, nhà, bệnh viện hay trên các phương tiên giao thông. Những thiết bị này hoạt động thông qua các sóng siêu cao tần và sóng radio. 1.5.2.3. Sơ đồ khối của hệ thống Với hệ thống này, việc thu nhận và xử lý tín hiệu các thông số sống của bệnh nhân sẽ được thực hiện tại mỗi thiết bị theo dõi bệnh nhân tại giường. Sau đó, dữ liệu này sẽ được truyền tới trạm theo dõi trung tâm để hiển thị, cho phép một trạm theo dõi trung tâm có thể theo dõi đồng thời được vài chục bệnh nhân từ xa. Khi một thông số theo dõi của bệnh nhân vượt quá các giới hạn cài đặt tại mỗi thiết bị theo dõi bệnh nhân tại giường, khi đó sẽ có báo động âm thanh và thông báo trên màn hình của thiết bị theo dõi bệnh nhân tại giường đó. Đồng thời báo động này sẽ được chỉ ra bằng thông báo âm thanh tại trạm theo dõi trung tâm. Hình 1.8 đưa ra sơ đồ khối tổng quát của một hệ thống theo dõi trung tâm vô tuyến. Hình 1.8: sơ đồ khối tổng quát của một hệ thống theo dõi trung tâm Chức năng của các khối Truyền thông dữ liệu trong hệ thống Hệ thống theo dõi không dây sẽ truyền thông tin thông qua sóng radio bằng 2 phương thức: tần số cố định hoặc dải phổ rộng. Cả hai phương thức này đều hoạt động ở dải tần số vài trăm MHz. Nếu hệ thống theo dõi bệnh nhân không dây được sử dụng gần các hệ thống hoặc các thiết bị điện khác có thể gây ra hiện tượng nhiễu cho các thiết bị khác và chính nó. Hệ thống sử dụng dải phổ rộng sẽ hoạt động ở các tần số riêng tại các thời điểm cụ thể. Một phương thức truyền thông duy nhất được phối hợp và điều khiển việc truyền thông giữa bộ thu phát của trạm theo dõi trung tâm và các bộ thu phát của các thiết bị theo dõi bệnh nhân tại giường. Trạm theo dõi trung tâm có các chương trình thu nhân và xử lý dữ liệu được lập trình sẵn với các bộ nhận biết của tất cả các bộ thu nhận của các thiết bị theo dõi bệnh nhân tại giường đã cài đặt. Hệ thống sử dụng tần số cố định sẽ hoạt động ở một tần số cố định được thiết lập trước. Một tần số cố định cho mỗi bộ thu phát được lựa chọn khi cài đặt và sử dụng để truyền tất cả dữ liệu nó nhận được. Mỗi hệ thống này sẽ có một tần số được ấn định để truyền dữ liệu. Việc thiết kế chính xác các tần số sẽ chống hiện tượng nhiễu với các thiết bị gần kề. Nếu một trong các tần số sử dụng của hệ thống này không ổn định thị trạm theo dõi trung tâm sẽ loại bỏ tần số này khỏi bộ tần số sử dụng của hệ thống và thay thế bằng một tần số khác, đồng thời thiết lập lại các kết nối thông tin. Khi một bộ thu phát radio bị di chuyển hay thay đổi thì thông tin nhân dạng thiết bị mới phải được nhập vào hoặc thay đổi trong máy tính của trạm theo dõi trung tâm. Trạm theo dõi trung tâm sẽ gửi các yêu cầu dữ liệu thông qua bộ thu phát radio. Mỗi bộ thu phát phát radio sẽ có một thời gian ấn định sẵn để đáp ứng sau khi nhận được yêu cầu về dữ liệu từ trạm theo dõi trung tâm. Ngay sau khi trạm theo dõi trung tâm được vận hành, nó sẽ thiết lập các kết nối vơi tất cả các bộ thu phát của các thiết bị theo dõi bệnh nhân tại giường. Máy tính sẽ xác định tần số và khe thời gian đáp ứng tần số cho mỗi bộ thu phát radio. Khi một bộ thu phát của thiết bị theo dõi bệnh nhân tại giường nhận được một yêu cầu dữ liệu từ trạm theo dõi trung tâm, nó sẽ đáp ứng với bộ xác nhận tần số duy nhất của nó và gửi dữ liệu bệnh nhân được thu nhân bới các thiết bị theo dõi bệnh nhân tại giường tới trạm theo dõi trung tâm. Bộ thu phát radio của trạm theo dõi trung tâm Tại trạm theo dõi trung tâm, một bộ thu phát trung tâm trong máy tính được sử dụng để truyền thông với tất cả các bộ thu phát đã được cài đặt tại các thiết bị theo dõi bệnh nhân tại giường trong hệ thống. Bộ thu phát trung tâm sẽ ứng dụng việc thu nhân đa dạng và sử dụng, mỗi anten đôi cho 2 kênh nhận. Bộ thu phát radio của thiết bị theo dõi bệnh nhân tại giường Mỗi một thiết bị theo dõi bệnh nhân tại giường sẽ có một bộ thu phát radio từ xa với số ID duy nhất. Dữ liệu bệnh nhân được thu nhận và lưu trữ tại mỗi thiết bị theo dõi bệnh nhân tại giường sẽ được chuyển đến bộ thu phát radio từ xa của trạm trung tâm từ cổng giao tiếp dữ liệu nối tiếp đằng sau mỗi thiết bị theo dõi bệnh nhân tại giường hoặc thông qua một cáp dẫn. Dữ liệu được định dạng theo khuôn dạng EIA – 232. Sau đó bộ thu phát radio của thiết bị theo dõi bệnh nhân tại giường sẽ truyền các dữ liệu của bệnh nhân cùng với các tín hiệu về trạng thái hoạt động của thiết bị theo dõi bệnh nhân tại giường, các thiết lập giới hạn báo động tới trạm theo dõi trung tâm để hiển thị và xử lý. Máy tính Là một trong những thành phần quan trọng của hệ thống theo dõi bệnh nhân không dây. Máy tính này giống như một máy tính thông thường với cấu hình tiêu chuẩn như sau: - Bộ vi xử lý Intel Pentium III tốc độ lớn hơn hoặc bằng 500MHz. - Ổ cứng có dung lượng lớn hơn hoặc bằng 20GB. - SDRAM lớn hơn hoặc bằng 126MB. - Ổ mềm 3.5inch. - Video Board. - Nguồn điện sử dụng 115/230V, 50/60Hz. 1.6. Các chức năng của thiết bị theo dõi bệnh nhân tại giường 1.6.1. Theo dõi các thông số sống của bệnh nhân Các thiết bị theo dõi bệnh nhân có chức năng thu nhận, kiểm tra, xử lý, hiển thị và lưu trữ các thông số sống của bệnh nhân thường xuyên, liên tục dể trợ giúp cho các bác sỹ, y tá nắm được tình trạng hiện thời của bệnh nhân. 1.6.2. Hiển thị các dạng sóng và các thông số Một vài thông số sống cần phải hiển thị dạng sóng liên tục trên màn hình như: sóng điện tim ECG, độ bão hòa ôxy SpO2, CO2… Thiết bị theo dõi bệnh nhân sẽ hiển thị giá trị tức thời của các thông số như nhiệt độ, nhịp tim, nhịp thở… của bệnh nhân. Khi cáp nối, điện cực bị tuột, các cảm biến hay đầu dò bị hỏng. Thiết bị theo dõi bệnh nhân sẽ báo động bằng các thông báo trên màn hình hay âm thanh. Hình 1.9. Màn hình hiển thị các thông số theo dõi của một thiết bị theo dõi bệnh nhân 1.6.3. Tốc độ lấy mẫu các thông số sống Thiết bị theo dõi bệnh nhân mặc định thời gian lấy mẫu ( khoảng thời gian giữa 2 lần đo các thông số sống) cho mỗi thông số sống. Tuy nhiên có thể thay đổi các giá trị này trong một khoảng giá trị min – max. Và khi kết thúc quá trình theo dõi một bệnh nhân thì thiết bị theo dõi sẽ tự động lấy lại các giá trị mặc định ban đầu. 1.6.4. Nhập và trả bệnh nhân Để kích hoạt các báo động và việc thu nhận các dữ liệu bệnh nhân thì bệnh nhân phải được kết nối với thiết bị theo dõi. Việc nhập bệnh nhân bao gồm các trình tự: Kết nối các đầu dò, cảm biến và các điện cực với bệnh nhân. Sau đó nhập tên, độ tuổi bệnh nhân. Các cáp phải được kết nối trước khi nhập tên, độ tuổi bệnh nhân bởi vì việc theo doic các thông số sống của bệnh nhân chỉ b._.ắt đầu khi các cáp được kết nối. Thiết bị theo dõi bệnh nhân sẽ lưu trữ các thông tin về tên, tuổi của bệnh nhân đến tận khi trả bệnh nhân. Khi việc theo dõi các thông số bệnh nhân không còn cần thiết nữa, thì quá trình trả bệnh nhân được thực hiện. Ngay sau đó, các giá trị mặc định của Thiết bị theo dõi bệnh nhân sẽ được thiết lập lại. Các cáp bệnh nhân phải được tháo ra trước khi quá trình trả bệnh nhân được hoàn thành. Sau khi đã hoàn tất việc theo dõi một bệnh nhân, việc kết nối lại các cáp bệnh nhân thiết bị theo dõi sẽ tự khởi động lại quá trình theo dõi dữ liệu bệnh nhân. 1.6.5. Tạm dừng và kích hoạt quá trình theo dõi bệnh nhân Chức năng này cho phép bệnh nhân có thể được tháo bỏ tạm thời khỏi Thiết bị theo dõi bệnh nhân mà không phải tiến hành quá trình trả bệnh nhân. Chức năng tạm dừng sẽ tạm thời dùng việc thu nhận, hiển thị dữ liệu và các báo động. Khi kích hoạt lại quá trình theo dõi thi quá trình theo dõi bệnh nhân được tiến hành bình thường. 1.6.6. Báo động Báo động thông minh Quá trình báo động sẽ không được kích hoạt cho đến tận khi Thiết bị theo dõi bệnh nhân phát hiện các dữ liệu sinh học thu được từ bệnh nhân. Cho phép khi quá trình nhập bệnh nhân và kết nối các cáp bệnh nhân được thực hiện mà không bị phiền hà bời các chuông báo động. Nếu trong quá trình theo dõi mà muốn bổ xung thêm một thông số sống mới cần theo dõi, ví dụ như huyết áp xâm nhập thì việc xử lý báo động cho tín hiệu này sẽ không được kích hoạt cho đến khi dữ liệu sinh học của tín hiệu này được phát hiện. Các loại báo động Thông thường, Thiết bị theo dõi bệnh nhân sẽ báo động bằng âm thanh, ánh sáng hay các thông báo hiển thị trên màn hình khi xảy ra các trường hợp: Các thông số sống đo được ngoài giới hạn an toàn, cao quá hoặc thấp quá Loạn nhịp Tuột điện cực Nhiễu Các dạng sóng không đúng Tín hiệu sóng yếu Nguồn yếu Môi trường làm việc không đảm bảo: nhiệt độ, độ ẩm Các báo động được chia làm 2 loại: Báo động trạng thái bệnh nhân Báo động trạng thái hệ thống Thiết bị theo dõi bệnh nhân đáp ứng khác nhau với từng loại báo động, các loại báo động về trạng thái bệnh nhân luôn được ưu tiên hơn so với các báo động trạng thái hệ thống. Khi có một báo động trạng thái hệ thống xảy ra một âm thanh có âm lượng nhỏ và một thông báo nhấp nháy sẽ hiển thị. Chức năng tắt báo động Chức năng này cho phép báo động hiện thời bị tắt trong một khoảng thời gian (thường 60s) và sẽ có thông báo “ Silenced” hiển thị trên màn hình. Trong khoảng thởi gian đó, nếu xuất hiện một báo động ở mức bằng hoặc hơn báo động hiện tại thì chức năng này bị hủy bỏ. Điều chỉnh âm lượng báo động Giá trị âm thanh báo động được điều chỉnh trong một khoảng giá trị. Một giá trị chuẩn sẽ được mặc định cho hệ thống, khi bệnh nhân được tháo ra giá trị mặc định sẽ được lấy lại. 1.6.7. Các giới hạn an toàn Tất cả các thông số đều có các giới hạn an toàn và chúng có thể được hiển thị cùng với đơn vị đo và mức báo động hiện tại của chúng và chúng có đang được theo dõi hau không. Người sử dụng có thể thay đổi các giới hạn an toàn này cho phù hợp với từng bệnh nhân và mức giới hạn của chúng sẽ được ấn định lại. Tất cả các giới hạn mặc định sẽ được lấy lại sau khi bệnh nhân được tháo ra. Tại bất cứ thời điểm nào các giá trị mặc định của Thiết bị theo dõi bệnh nhân cũng có thể lấy lại. 1.7. Chức năng của thiết bị theo dõi trung tâm Chức năng chính của thiết bị theo dõi trung tâm là hiển thị thông tin bệnh nhân và nhận các báo động từ các thiết bị theo dõi bệnh nhân tại giường. Dữ liệu của tất cả các bệnh nhân trong hệ thống đều có thể hiển thị ở thiết bị theo dõi trung tâm. Bình thường, tại một thời điểm ở thiết bị theo dõi trung tâm chỉ hiển thị được thông tin của một bệnh nhân. Dữ liệu được hiển thị ở thiết bị theo dõi trung tâm cũng giống với dữ liệu hiển thị trên thiết bị theo dõi bệnh nhân tại giường. Việc cài đặt theo dõi cũng giống với quá trình nhận và trả bệnh nhân, không thể thực hiện từ thiết bị theo dõi trung tâm mà phải thực hiện tại mỗi thiết bị theo dõi bệnh nhân tại giường. Tuy nhiên đối với các hệ thống theo dõi bệnh nhân hai chiều thị thiết bị theo dõi trung tâm còn có thể điều khiển các thiết bị theo dõi bệnh nhân tại giường để thực hiện việc đo huyết áp và đo các thông số từ xa. 1.8. Kết luận chương 1 Tóm lại trong chương 1 nêu các khái niệm cơ bản về thiết bị theo dõi bệnh nhân, lịch sử phát triển, mục đích sử dụng, dựa vào nhu cầu, cơ sở vật chất và tài chính mà hệ thống hóa phân loại các máy theo dõi bệnh nhân thành nhiều loại: như máy theo dõi bệnh nhân tại giường loại này được phân loại máy có kết nối với trung tâm và máy không kết nối với trung tâm, thứ 2 là máy theo dõi trung tâm có kết nối hữu tuyến và vô tuyến và các chức năng chính của một Thiết bị theo dõi bệnh nhân. Đồng thời phân loại cấu trúc của một hệ thống theo dõi gồm hệ thống theo dõi hữu tuyến và hệ thống theo dõi vô tuyến. Từ những hiểu biết tổng bộ về thiết bị theo dõi sau đó ta bắt đầu đi sâu tìm hiểu cấu trúc cơ bản của một thiết bị theo dõi bệnh nhân đặt tại giường, cách đo và các thông số đo như được trình bày trong chương 2 tiếp theo đây. CHƯƠNG 2: NGHIÊN CỨU PHƯƠNG PHÁP ĐO CÁC THÔNG SỐ SINH HỌC 2.1. Sơ đồ khối Các thiết bị theo dõi tại giường có các cấu hình khác nhau phụ thuộc vào các nhà sản xuất. Chúng được thiết kế để theo dõi các thông số khác nhau nhưng đặc tính chung giữa tất cả các máy đó là khả năng theo dõi liên tục và cung cáp sự hiển thị rõ nét đường sóng ECG và nhịp tim. Một số thiết bị còn bao gồm khả năng theo dõi áp suất, nhiệt độ, nhịp thở, nồng độ oxi bão hòa SpO2, … Sự xuất hiện của các máy vi tính đã đánh dấu sự mở đầu của một hướng phát triển cơ bản mới trong các hệ thống theo dõi bệnh nhân. Những hệ thống như vậy có một khối CPU chính có khả năng tổng hợp, ghi nhận bản chất của nguồn tín hiệu và xử lý chúng một cách thích hợp. Phần cứng chịu trách nhiệm cho việc phân tích tín hiệu sinh lý, hiển thị thông tin và tương tác với người sử dụng trên thực tế là một tập hợp các khối phần sụn được thực hiện dưới chương trình vi tính. Phần sụn đem lại cho hệ thống tính chất của nó các công tắc, nút, núm xoay,và đồng hồ đo được thay thế bằng màn hình sờ ( cảm ứng). Hình 2.1 minh họa sơ đồ khối của chung của một thiết bị theo dõi bệnh nhân tại giường. Trong đó: ECG: Electrocardiogram – điện tâm đồ RESP: Respiration – hô hấp SpO2: Nồng độ Oxi trong máu BP: Blood Pressure – huyết áp TEMP: Temperature – nhiệt độ NIBP: Non-Invasive Blood Pressure – huyết áp gián tiếp Khối dầu vào gồm có ba khối chính là khối ECG/RESP, khối SpO2/BP/TEMP, khối NIBP. Hình 2.1 : Sơ đồ khối máy theo dõi bệnh nhân tại giường 2.1.1.Khối ECG/RESP: Thực hiện đo một kênh tín hiệu ECG và đường sóng hô hấp( RESP) hình(2.2). Các mạch trở kháng cao và các bộ hãm khí bảo vệ các bộ khuếch đại đầu vào khỏi sốc tim và các tín hiệu nhiễu tần sô cao từ các điện cực gắn trên người bệnh nhân. Các mạch đầu vào của khối này được cách ly với các mạch còn lại bằng các bộ nối quang và máy biến thế. Khối này nhận một kênh tín hiệu ECG từ các đạo trình 3 điện cực hoặc 5 điện cực. Phụ thuộc vào cài đặt phần mềm mà bộ chọn đạo trình ở khối này chọn đạo trình phù hợp từ 3 đến 5 điện cực đặt trên người bệnh nhân. Mạch xử lý đường sóng hô hấp có khả năng đo trở kháng của các tín hiệu đầu vào. Sự thay đổi trở kháng của các tín hiệu đầu vào gây ra sự thay đổi điện áp của tín hiệu đầu ra và dựa vào sự thay đổi điện áp này máy tính ra số nhịp thở của bệnh nhân. Hình 2.2 : Sơ đồ mạch khối ECG/RESP 2.1.2.Khối SpO2/BP/TEMP: Khối này được dùng để đo một kênh đường sóng huyết áp, một kênh đường sóng nhiệt độ và giá trị của SpO2. Các mạch đầu vào trên bảng này được cách ly khỏi các mạch còn lại bằng các bộ nối quang và máy biến thế. Thường ở trên khối này có một công tắc ngầm dùng để cài đặt các thông số cần đo trong khối. Trong mạch xử lý nhiệt độ, tín hiệu đầu vào từ các thermistor được lọc qua bộ lọc thông thấp để loại bỏ nhiễu tần sô cao. Bộ ghép kênh sau đó sử dụng đồng thời điện áp tham chiếu 270C, điện áp định cỡ cho 370C và tín hiệu nhiệt độ cơ thể từ các thermistor. Trong mạch xử lý huyết áp(hình 2.4) bộ kích thích điều khiển hoạt động của đầu đo huyết áp. Những tín hiệu đầu vào từ transducer được khuếch đại và sau đó được lọc qua bộ lọc thông thấp. Mạch xử lý SpO2 (hình 2.3) bao gồm 3 mạch nhỏ: mạch điều khiển LED, mạch phát điện ID đầu đo, và mạch xử lý tín hiệu đầu vào. Mạch điều khiển LED điều khiển hoạt động của LED ở trong đầu đo. Mạch phát hiện ID đầu đo tìm dạng và sự hiện diện của đầu đo. Trong mạch xử lý tín hiệu đầu vào, tín hiệu đầu vào từ photodiode được khuếch đại và được lọc qua bộ lọc thông thấp. Trong quá trình này, một phần tín hiệu khi không dò được ánh sáng đượcgiữ lại như đường gốc của tín hiệu. Hình 2.3 : Sơ đồ nguyên lý của khối SpO2 Hình 2.4: Sơ đồ nguyên lý hoạt động của khối IBP 2.1.3.Khối NIBP: Sau khi tín hiệu nhận từ đầu đo huyết áp, khối này khuếch đại các tín hiệu đầu vào rồi sau đó cho qua các bộ lọc và đau vào bộ ghép kênh. Các tín hiệu từ bộ ghép kênh sau đó được đưa vào bảng mạch mẹ để xử lý tiếp. Trong khối này có một bộ điều khiển van an toàn để kiểm tra trạng thái của van an toàn. Van an toàn được thiết kế sao cho nó tự động làm giảm bớt áp suất của Cuff khi áp suất này vượt quá 300mmHg. Van này giúp bảo vệ bệnh nhân trong trường hợp mạch an toàn không dừng tăng áp suất của cuff khi áp suất đã đạt đến 300mmHg (hình 2.5). Hình 2.5: Sơ đồ nguyên lý hoạt động của khối NIBP 2.1.4.Khối xử lý trung tâm CPU: Là bộ phận trung tâm xử lý các thông tin nhận được từ các modul khác gửi tới. Xử lý trung tâm sẽ lưu trữ các dữ liệu và lệnh trong thiết bị để thực hiện xử lý dữ liệu. Khối xử lý trung tâm của thiết bị bao gồm hạt nhân là bộ vi xử lý. Bộ vi xử lý này với các vi mạch phụ trợ tạo ra bus hệ thống, trong đó có bus dữ liệu , bus địa chỉ và bus điều khiển. Trong khối xử lý trung tâm phải có bộ nhớ ROM. ROM là một phần quan trọng trong thiết bị, nó thường được nhà sản xuất ghi sẵn nội dung. Ngoài ra còn có bộ nhớ chính với dung lượng đủ lớn để chứa các lệnh xử lý, đó là bộ nhớ RAM. Các câu lệnh của chương trình được đưa vào bộ nhớ bằng quá trình ghi bộ nhớ. Khi có yêu cầu thì bộ vi xử lý sẽ đọc những lệnh từ bộ nhớ. 2.1.5. Khối bộ nhớ Khối này có chức năng lưu trữ các biểu đồ khuynh hướng, danh sách các thống số lớn, triệu chứng loạn nhịp, các ttrạng thái theo dõi cho mỗi thông số và các cài đặt báo động… sau khi tắt nguồn khoảng 30 phút hoặc nhiều hơn. Khi thiết bị theo dõi bệnh nhân tại giường được bật lại sau khoảng thời gian 30 phút tắt nguồn, CPU chính sẽ coi như dữ liệu sao lưu bị phá hủy và sẽ khởi tạo lại chúng. Khối bộ nhớ sao lưu các dữ liệu về trạng thái cài đặt hệ thống, cài đặt báo động gốc sau khi tắt nguồn. Ắc quy của máy sẽ cho phép IC đồng bộ thời gian cập nhật thời gian và ngày tháng khi tắt nguồn. 2.1.6. Khối màn hình hiển thị Có chức năng hiển thị các dữ liệu trên màn hình giao tiếp với bác sĩ và bệnh nhân, có các DRAM và SRAM để hiển thị dạng sóng, dữ liệu hình ảnh, số liệu số học, hiện nay còn có thể hiện thị cho LCD và monitor RGB bên ngoài. Khi bộ sử lý hiển thị đồ họa chuyên dụng nhận được lệnh điều khiển hiển thị từ bộ vi xử lý trung tâm, khối hiển thị sẽ truy cập vào các bộ nhớ để lấy các dữ liệu hiển thị và sắp xếp các dữ liệu hiển thị cho các tín hiệu ra RGB. Từ màn hình hiển thị người sử dụng có thể thiết lập các cài đặt ban đầu, đọc các thông số để chẩn đoán cho bệnh nhân một cách dễ dàng ( hình 2.6). Hình 2.6: Sơ đồ nguyên lý của khối hiển thị Hiện nay, các máy theo dõi còn có màn hình theo dõi là màn hình cảm ứng (touch – screen) được điều khiển bởi bộ xi xử lý chuyên dụng. Khi chạmtay vào một điểm trên màn hình , dữ liệu tại vị trí chạm sẽ được gửi tới bộ vi xử lý trung tâm thông qua bộ vi điều khiển màn hình touch-screen theo kiểu giao tiếp tuần tự. 2.1.7.Khối máy in Khối có chức năng in dữ liệu khi cần thiết. Khi theo dõi điện tim bệnh nhân có phát hiện loạn nhịp theo dõi trên màn hình, bộ xử lý trung tâm nhận được lệnh thì truy lục vào bộ nhớ để in dữ liệu cần. 2.1.8. Khối cổng ra nối mạng hữu tuyến, và Khối transmitter và anten Khối này là hai khối tùy chọn, có chức năng kết nối với các thiết bị theo dõi khác và các monitor trung tâm thông qua bộ thu phát hoặc nối mạng hữu tuyến. Hiện nay, hầu hết các thiết bị monitor theo dõi đều có 2 khối chức năng này để lập thành một hệ thống theo dõi bệnh nhân. Các thông số ghi đo của máy theo dõi bệnh nhân 2.2 - Phép đo nhịp tim(HR) Nhịp tim được xác định là số lần tim đập trong một phút. Việc theo dõi nhịp tim là để xác định xem là tim đập nhanh hay chậm. nhịp tim lấy được từ sự khuếch đại xung ECG và đo bằng cách lấy trung bình hay khoảng thời gian tức thì giữa 2 đỉnh R liền nhau. Dải đo từ 0-300 nhịp/phút. Các điện cực ECG ngực hay chi được sử dụng là các cảm biến. Đo nhịp tim gồm có phép đo trung bình, phép đo tức thì 2.2.1.Phép đo trung bình: Dựa trên cơ sở chuyển đổi mỗi đỉnh sóng R của ECG thành một xung có biên độ và thời gian cố định và sau đó xác định dòng trung bình từ những xung đó. Chúng kết hợp mạch được thiết kế một cách đặc biệt để chuyển đổi tần số sang điện áp để hiển thị nhịp tim trung bình theo đơn vị nhịp/ phút. Mạch trung bình thông thường được sử dụng để chuyển đổi tần số sang điện áp để hiển thị hịp tim trung bình là mạch “bơm điot” minh họa trong hình 2.7. Nếu một tụ C được nạp đầy bằng một xung có biên độ điện áp V, thì điện tích được giữ trong nó với một xung là: q = CV (2.1) Nếu có N xung trong một khoảng thời gian t, sao cho mỗi xung nạp một lượng điện tích q lên tụ, sau đó tổng điện tích là: Q = Nq = NCV (2.2) Do đó dòng trung bình trong chu kì t là (2.3) Phương trình cho thấy dòng trung bình tỷ lệ thuận với số xung trong một đơn vị thời gian. Vì vậy, một đồng hồ đo dòng có thể được định cỡ để đưa ra kết quả đọc trực tiếp nhịp tim trung bình theo nhịp/phút. Hình 2.7. mạch bơm Diot Khi một xung dương có biên độ V được đưa vào đầu vào của mạch, tụ C1 sẽ được nạp đến C1V thông qua diot D1, diot này sẽ dẫn và tạo ra một điện trở không đáng kể. Do đó, sự nạp tụ sẽ do hằng số thời gian R1C1 khống chế, và hằng số này nhỏ hơn rất nhiều chiều rộng của xung đầu vào. Khi xung đầu vào chuyển thành 0, cathode của D2 là âm V vôn so với anode, do đó điot D2 phân cực thuận và bắt đầu dẫn điện. Tụ C1 sau đó phóng điện qua diot D2, đồng hồ đo và các điện trở R1, R2. Tụ C2 được sử dụng để trung bình hóa dòng qua đồng hồ đo và do đó nó phải lớn hơn nhiều so với tụ C1. Mạch được sắp xếp sao cho tụ C1 phóng điện hoàn toàn trước khi xung tiếp theo xuất hiện tại đầu vào. Một xung khác có độ lớn V lại một lần nữa nạp một điện tích q, sau đó lại được bơm qua đồng hồ đo khi xung đầu vào quay lại bằng 0. Nếu dòng trung bình itb chạy qua một điện trở R2 ( điện trở đồng hồ đo chỉ thị), thì điện áp của tụ là: e = C.V.f.R2 (2.4) Mối liên hệ này là đúng hcỉ khi e có một tỉ lệ nhở so với V. Tính tuyến tính 0.1% có thể đạt được bằng cách sử dụng V = 150V và e = 1V. Nhưng cách này không thực tế đối với hầu hết các mạch. Do đó một số dạng biến đổi được thực hiện để có được một điện áp đầu ra có mối quan hệ tuyến tính với tần số. Sơ đồ khối của một dụng cụ đo nhịp tim trung bình đọc trực tiếp được mô tả trong hình 2.8. Xung ECG nhận được từ các điện cực được khuếch đại tại một bộ tiền khuếch đại tới mức có thể vận hành mạch kích hoạt Schmidt. Bộ kích hoạt Schmidt chuyển đổi mỗi sóng R thành một xung hình chữ nhật, sau đó được lầy vi phân trong một bộ vi phân RC để mạng lại các xung đỉnh nhọn cho việc kích hoạt Monostable Multivibrator. Đầu ra của bộ Multivibrator này bao gồm các xung đồng dạng có cùng một biên độ và thời gian đi tới bộ tích phân ( mạch bơm diot), mạch này tạo ra một dòng tỉ lệ thuận với tần số đầu vào. Hình 2.8. sơ đồ khối một máy theo dõi nhịp tim trung bình Burbage mô tả một dụng cụ đo nhịp tim trung bình sử dụng bộ lọc thông thập đa phản hồi với một bộ khuếch đại thuật toán như một phần tử hoạt động để đạt được sự tích phân mong muốn và chuyển đổi một dãy các xung thành một điện áp tương ứng. 2.2.2.Phép đo tức thì: Nhịp tim tức thì giúp cho viếc phát hiện ra sự rối loạn nhịp và cho phép theo dõi kịp thời các trường hợp tim mạch khẩn cấp khi chúng mới chớm xuất hiện. Hình 2.9 cho thấy nguyên lý của một dạng dụng cụ đo nhịp tim tức thì. Nó cung cấp đầu ra ổn định giữa các xung, biểu diễn tần số tức thì giữa hai xung trước. Điện áp đầu ra giữa R2 và R3 tỉ lệ với tần số xung của R1 và R2 tức là tỉ lệ với 1/T1. Đầu ra giữa R3 và R4 tỉ lệ với 1/T2, nếu nhịp tim trở nên thấp hơn ( với T4>T3) và xung không xuất hiện tại thời điểm thời gian bằng T3 sau R4, đầu ra bắt đầu giảm và hiệu chỉnh thành giá trị mới. Kỹ thuật này có ưu điểm là thiết kế đơn giản nhưng nó không cho ra đầu ra tuyến tính cho một dải tần số rộng. Một kỹ thuật khác được dùng rộng rãi cho việc đo nhịp tim tức thì bao gồm 2 tụ, một được sử dụng như tụ đo thời gian và tụ kia được sử dụng như một tụ bộ nhớ. Hoạt động phụ thuộc vào việc nạp tụ đo theo chu kì thời gian giữa hai quãng thời gian cuối, trong khi đó “tụ bộ nhớ” hiển thị giá trị được lưu trữ tương ứngvới quãng thời gian giữa hai quãng thời gian cuối. Ở đây đầu ra không tuyến tính. Cisek (1972) đưa ra một thiết kế cho một Cardiotachometer xung – xung tuyến tính sử dụng kĩ thuật này. Trong mạch của ông mạch đo thời gian được nạp theo hàm hypecbol giã hai xung liên tục tạo ra giá trị điện áp cuối, có quan hệ tuyến tính với tần số xung tức thời. Hình 2.9. Nguyên lý chuyển đổi tần số sang điện áp đẻ theo dõi nhịp tim tức thì Hình 2.10. là sơ đồ khối của một Cardiotachometer. ECG được lấy mẫu trong mỗi bước 2ms. Sự chuyển tiếp nhanh của các thành phần biên độ cao được làm suy yếu đi băng một bộ hạn chế tỉ lệ xoay, bộ này làm giảm biên độ nhiễu do máy tạo nhịp tim gây ra và làm giảm khả năng tính những nhiễu này thành các nhịp đập của tim. Hai mẫu 2ms gần nhau được lấy trung bình và kết quả là một chuỗi mẫu 4ms được tạo ra. Để loại bỏ những thành phần tần số cao không cần thiết của tín hiệu, người ta dùng một bộ lọc Butterworth xung phản hồi không giới hạn tần số 30Hz. Bộ lọc này cho ra các mẫu 8ms trong quá trình hoạt động. Bất kì một sóng DC nào cuối cùng cũng phải qua một bộ lọc so sánh QRS, bộ dò nhịp đập nhận biết các tổ hợp QRS trong các giá trị của đường điện tim đang được ghi. Nếu giá trị này vượt quá giá trị ngưỡng thì một nhịp tim được đếm. Ngưỡng này được hiệu chỉnh tự động phụ thuộc vào giá trị của biên độ sóng QRS và khoảng thời gian giữa các tổ hợp QRS. Tiếp theo mỗi nhịp đập là chu kì ức chế 200ms được đưa vào, trong qua trình dó không có nhịp tim nào được nhận ra. Điều này làm giảm khả năng sóng T được tính nhầm. Chu kì ức chế cũng được duy trì biến đổi như một phương trình nghích đảo giới hạn nhịp tim trên với các giới hạn nhịp tim cao thấp hơn thi chu kì ức chế dài hơn. Hình 2.10. sơ đồ khối một máy Cardiotachometer dựa trên bộ lọc so sánh 2.3- Phép đo nhịp mạch Nhịp mạch được xác định là số lần máu được đẩy vào trong động mạch. Theo dõi thông số nhịp mạch là để biết xem tim có đẩy được máu đi lên động mạch hay không. Để đo nhịp mạch người ta sử dụng một transducer điện quang thích hợp để đặt lên ngón tay hay dái tai. Tín hiệu từ tế bào quang học được khuếch đại và được lọc và khoảng thời gian được đo giữa hai xung liên tục. Dải đo từ 0-250bpm. Theo dõi xung ngoại vi có ích hơn và độc lập hơn so với việc tính nhịp tim từ đường điện tim trong trường hợp tắc tim bởi vì nó có thể ngay lập tức chỉ ra sự ngừng lưu thông máu trong các chi. Thêm vào đó các Transducer điện quang rất dễ dùng so với ba điện cực điện tim. Biên độ của tín hiệu thu được bằng phương pháp này cũng đủ lớn để so sánh với tín hiệu điện tim và do đó nó cho ra tỉ lệ tín hiệu – nhiễu tốt hơn. Tuy nhiên, kĩ thuật này chịu ảnh hưởng khá lớn của các tác nhân nhiễu do chuyển động. 2.4- Phép đo huyết áp Huyết áp là một thông số phổ biến và hiệu quả nhất trong y tế để thực hành sinh lý. Thực hiện xác định giá trị lớn nhất và giá trị nhỏ nhất của áp suất máu trong mỗi chu kì nhịp tim, bổ xung thêm thông tin về các thông số sinh lý, hỗ trợ cho việc chẩn đoán để đánh giá điều kiện củ mạch máu và một vài khía cạnh về hoạt động của tim. Có nhiều phương phương pháp đo huyết áp khác nhau, nhưng phân ra làm 2 loại: đo huyết áp theo phương pháp trực tiếp và đo huyết áp theo phương pháp gián tiếp. Các giá trị áp suất trong hệ thống chức năng được chỉ ra: - Hệ thống động mạch 30 – 300mmHg - Hệ thống tĩnh mạch 5 – 15mmHg - Hệ thống phổi 6 – 25mmHg 2.4.1.Đo huyết áp theo phương pháp trực tiếp IBP: Là phương pháp đo chính xác nhất vì cảm biến được cấy trực tiếp vào động mạch của cơ thể (như trong hình 2.11). Phương pháp này chỉ áp dụng khi cần độ chính xác cao đáp ứng cho yêu cầu theo dõi liên tục của hệ thống theo dõi. Phương pháp này cho phép đo huyết áp trong các vùng sâu mà phương pháp đo gián tiếp không đo được. Trong phương pháp đo trực tiếp người ta sử dụng các loại ống thông có gắn cảm biến để đưa vào trong động mạch hoặc tĩnh mạch đế vùng quan tâm. Có hai loại ống thông được sử dụng, một loại có cảm biến được gắn ở đầu ống và thực hiện chuyển đổi áp lực của máu thành tín hiệu điện. Một loại khác là ống chứa đầy chất lỏng, áp lực máu sẽ được truyền đến đầu dò thông qua chất lỏng trong ống. Sau đó đầu dò sẽ chuyển đổi sang các tín hiệu điện tương ứng. Các tín hiệu điện này sau đó được khuếch đại và hiển thị hoặc là ghi lai để xem xét. Trong phương pháp đo này trước khi đưa các ống thông vào trong mạch máu phải được tiệt trùng trước. Hình 2.11. Ảnh cấy cảm biến trực tiếp vào động mạch Hình 2.12. mô tả sơ đồ mạch điện thông dụng cho việc xử lý tín hiệu điện thu được từ các đầu dò. Đầu dò được kích thích với điện áp DC 5V, các tín hiệu điện tương ứng với áp suất của động mạch được đưa tới bộ khuếch đại. các bộ khuếch đại này tương tự như các bộ khuếch đại trong các máy ghi điện tim. Việc kích thích cho các đầu dò được lấy từ bộ khuếch đại điều khiển cầu Wien qua bộ biến đổi cách ly. Hệ số khuếch đại của bộ khuếch đại được điều chỉnh theo độ nhạy của đầu dò. Sau khi qua bộ lọc RF, tín hiệu được đưa qua bộ giải điều chế để lọc bỏ sóng mang để thu được tín hiệu cần thiết. Hình 2.12. Sơ đồ mạch điện dùng đo huyết áp tâm thu và tâm trương Trong khi đo ở tâm thu, mạch đo áp suất tâm thu hoạt động. Khi các xung mạch xuất hiện ở A, diot D3 và tụ C3 điều khiển tín hiệu vào để đưa ra giá trị của tâm thu. Thời gian phóng nạp của R3C3 được lựa chọn theo một bộ phát nhỏ được hiển thị trên đồng hồ M1. Giá trị áp suất tâm trương được hiển thị một cách gián tiếp. Một mạch chốt bao gồm tụ C1 và diot D1 được sử dụng để cân bằng giá trị điện áp đỉnh đỉnh của xung mạch. Giá trị điện áp này được xác định trên R1, diot D2 và tụ C2 điều khiển giá trị tín hiệu xung mạch. Giá trị áp suất tâm trương được hiển thị trên đồng hồ M2 để chỉ ra sự khác nhau giữa đỉnh áp suất tâm thu và áp suất của xung mạch. Việc đo áp suất tĩnh mạch chính CVP (central Venous Pressure) được thực hiện với kĩ thuật ống dẫn đặc biệt. Các đầu dò với độ nhạy cao được đưa vào trong tĩnh mạch để đo áp suất máu. Tuy nhiên các đầu dò không thể gắn trực tiếp lên đầu của ống và không thể thay đổi vị trí của ống trong khi đo. Việc đo áp suất tĩnh mạch chính thường được đo từ một ống dẫn định vị cao cấp, các ống dẫn này thường dài từ 25 – 30cm. 2.4.2.Đo huyết áp theo phương pháp gián tiếp NIBP: Kĩ thuật này dùng để xác định áp suất của máu tại tâm thu và tâm trương bằng cách cuốn quanh cánh tay để lấy áp lực của động mạch. Phương pháp này được thực hiện bằng cách cuốn quanh cánh tay một túi chịu áp lực, sau đó dùng bóng hơi để bơm hơi vào túi đến một giá trị nhất đinh. Cho giảm dần áp suất trong túi một cách đều đặn, tới khi nào có máu chảy trong động mạch thì đó là giá trị áp suất tâm thu, tiếp tục giảm dần áp suất trong túi đến khi máu chảy bình thường thì giá trị đó là áp suất tâm trương. Nhưng vấn đề xác định ngưỡng của hai áp suất trên là rất khó, mà theo cách trên là rất thủ công thực hiện bằng tay, kết quả phụ thuộc nhiều vào khả năng của y tá. Nên từ đó đã tìm ra các phương pháp đo hoàn toàn tự động có thể thực hiện trên máy: 2.4.2.1.Tự động đo huyết áp sử dụng phương pháp KorotKoff Phương pháp này thực hiện giống như khi làm bằng tay nhưng có thêm cảm biến âm được đặt vào túi khí để thu các âm thanh Korokoff. Các âm thanh này qua chất áp điện sẽ được chuyển đổi thành các tín hiệu điện tương ứng. Sau đó các tín hiệu này được khuếch đại và truyền đi qua các bộ lọc thông dải để loại bỏ nhiễu. Từ các tín hiệu thu được người ta xác định được áp suất tâm thu và tâm trương tương ứng. Quá trình diễn ra trong khoảng thời gian từ 2-5s. Hình 2.13. Dạng sóng tín hiệu thu được đo theo phương pháp Korotkoff và dao động kế. 2.4.2.2.Tự động đo huyết áp sử dụng phương pháp dịch pha Dựa vào sự xuất hiện mạch tại thời điểm tâm thu và biến mất tại thời điểm tâm trương. Xác định tức thì các giá trị áp suất tâm trương và tâm thu. Để thực hiện được điều đó, người ta sắp xếp trên túi khí gồm 3 túi con hoặc là 3 ngăng con được bơm cao hơn áp suất suất tâm thu khoảng 30 mmHg. Một trong các tui đó được gọi là túi tâm thu, hai túi còn lại được gọi là túi tâm trương. Gía trị áp suất tâm thu được xác định bằng cách cảm nhận mạch máu đầu tiên đi qua các túi tâm trương. Còn giá trị áp suất tâm trương được xác định bằng cách phát hiện ra khi tín hiệu từ các túi tâm trương không còn bị dịch pha so với nhau nữa. 2.4.2.3.Tự động đo huyết áp sử dụng phương pháp Rheographic Dựa vào sự thay đổi trở kháng tại 2 điểm dưới sức ép của túi khí để xác định áp suất tâm trương thay cho việc dựa vào sự dịch pha mạch máu ở phương pháp trên. Hình 2.14. mô tả cách đặt điện cực để đo huyết áp trong phương pháp này. Ba điện cực gắn trên túi khí được đặt áp sát vào da trên cánh tay của bệnh nhân. Việc tiếp xúc tốt sẽ làm giảm trở kháng tiếp xúc giữa điện cực và da. Điệc cực B hoạt động như là một điện cực chính được đặt ở giữa túi khí, các điện cực A và C được gắn ở hai bên điện cực B. Một nguồn xoay chiều tần số cao cơ 100KHz được đưa vào cực A và C, khi thực hiện đo trở kháng giữa điện cực bất kì dưới áp lực của túi khí thì nó sẽ đưa ra giá trị tương ứng của các nhịp đập trong mạch. Do đó các xung mạch có thể được nhận biết và đưa đi khuếch đại. Khi túi khí được bơm lên tới khoảng giá trị của áp suất tâm thu thì không có một xung mạch nào được nhân biết bởi điện cực A. Xung mạch sẽ xuất hiện khi áp suất của túi khí giảm xuống dưới mức áp suất tâm thu. Sự xuất hiện cảu xung thứ nhất sẽ tạo ra một tín hiệu điện để đánh dấu giá trị của áp suất tâm thu trên áp kế. Khi áp suấttúi khí giảm và nằm trong khoảng giữa áp suất tâm thu và áp suất tâm trương thì các tín hiệu này sẽ không được điện cực A và C nhận biết, do dòng máu bị ngăn cản bởi túi khí làm cho các xung xuất hiện tại A trễ hơn sơ với xung xuất hiện tại C. Khi áp suất túi khí giảm xuống giá trị áp suất tâm trương thì dòng máu không còn bị cản trở và các tín hiệu này sẽ biến mất. Một tín hiệu chính xuất hiện và áp suất của tâm trương được hiển thị trên áp kế. Hình2.14.phương pháp đo huyết áp gián tiếp theo Rheographic 2.4.2.4.Tự động đo huyết áp theo phương pháp dao động kế Dựa trên phương pháp dao động kế hoặc là không thâm nhập tự động xác định huyết áp của động mạch. Thiết bị này cũng thực hiện theo lối truyền thống là dùng túi khí bơm căng và cho giảm dần áp lực. Khi cho áp lực của túi khí giảm đi thì áp suất của động mạch được xác định tai thời điẻm áp lực của túi khí là thấp nhất, tại đó biên độ của dao động kế là lớn nhất. Túi khí được tăng áp lực bởi một ống có chốt và áp suất được theo dõi bằng một ống khác có gắn cảm biến áp lực đặt trong đó. Hoạt động của thiết bị được điều khiển bởi vi xử lý họ 4040. Việc phát hiện áp lực động mạch được dựa vào hai dao động ký. Thiết bị này có thể đạt được hệ số tương quan là 0.98 trong viêc xác định áp suất của động mạch. 2.4.2.5.Tự động đo huyết áp sử dụng phương pháp hiệu ứng siêu âm Doppler Các Monitor tự động đo huyết áp cũng được thiết kế dựa vào siêu âm và sự vận động của thành mạch. Các bộ logic điều khiển được tổ hợp trong thiết bị thực hiện phân tích các tín hiệu thu được từ sự vận động của thành mạch để xác định áp suất tâm thu và tâm trương và cho hiển thị giá trị tương ứng. Hiệu ứng dích tần Doppler được xác định như sau: (2.5) Trong đó: ∆f: tần số Doppler (Hz) vt: tốc độ truyền âm( m/s) λc: bước sóng (m) Đối với thiết bị đo huyết áp thì động mạch ở cánh tay được sử dụng vì ở đó sóng siêu âm sẽ phản xạ tốt. Sự vận động của mạch sẽ tạo ra dịch chuyển tần số Doppler, (2.6) Trong đó: λc: bước sóng của siêu âm trong môi trường (m); vc: vận tốc sóng truyền âm trong môi trường (m/s cỡ 1480m/s); fc: tần số của sóng siêu âm trong môi trường ( 2MHz). Từ đó ta có: (2.7) Và tần số Doppler là: (2.8) Do đo ta thấy tần số Doppler ∆f phụ thuộc vào vận tốc của sóng siêu âm trong môi trường. Để xác định tần số Doppler phải xác định theo sự vận động của thành mạch. Sự vận động của thành mạch được xác định vào cỡ 5.10-3 m và lặp lại trong khoảng thời gian ∆t = 0.1s. Từ tốc độ của thành mạch được xác định là: (2.9) Thay vào biểu thức tính tần số Doppler ta được: ∆f = 2.7x10-3vt x 50 x 10-3 =135Hz (2.10) Các thiết bị sử dụng nguyên lý dịch tần siêu âm Doppler để đo huyết áp đều dựa vào việc xác định tần số dịch chuyển của các sóng phản hồi lại từ sự vận động của thành mạch. Mặt khác các thiết bị đo huyết áp loại này phải lọc bỏ đi các tần số cao và các tần thấp từ các tín hiệu phản hồi lại khi gặp sự vận động của thành mạch. Sơ đồ khối của các thiết bị loại này được mô tả trong hình 2.15. gồm 4 khối chính. Tại cùng một thời điểm các tín hiệu điều khiển từ hệ thống con được phát tới khối RF và hệ thống Audio con với tần số sóng mang là 2Mhz. Tại đó chúng được đưa tới các đầu dò trong túi khí, các đầu dò thực hiện chuyển đổi năng lượng của sóng RF sang dạng năng lượng của sóng siêu âm và cho đi qua tay của bệnh nhân. Áp suất trong túi khí được kiểm tra bởi hệ thống điều khiển con và khí áp suất đạt đến khoảng định trước thì quá trình bơm được dừng lại. Tại thời điểm này, các mạch audio tr._.tion, 1977. [10] Leslie A. Geddes, “Biomedical Engineering HandBook”, chapter 72, cardiac output Measurement, Purdue University. [11] Christopher M. Tenedero, Mary Anne D. Rây, and Luis G. Sison, Ph.D, Design and implementation of a single – channel ECG amplifier with DSP post-processing in Matlab, Instrumentation, Robotics, and Controls laboratory University of the Philippines, Diliman, Quezon City. [12] Spencer Kee, “Biomedical Technology and devices Handbook, section 5, Interventional Disease Treatment”, chapter 22, Anesthisia/ Monitoring Devices, M.D Anderson Cancer Center. [13] MATLAB The Language of Technical Computing, The Mathworks. [14] GS. Trần Đỗ Thịnh, BS. Trần Văn Đồng, Hướng dẫn đọc điện tim, Nhà xuất bản y học, Hà Nội, 1998. PHỤ LỤC Mã nguồn chương trình mô phỏng tín hiệu ‘ Form MO_PHONG Private Sub mnuFile_About_Click() Form1.Show End Sub Private Sub mnuFile_Exit_Click() End End Sub Private Sub mnuIimitate_ECG_Click() frmECG.Show frmECG.Width = 8055 frmECG.Height = 5745 End Sub Private Sub mnuIimitate_NIBD_Click() frmNIBP.Show frmNIBP.Width = 7830 frmNIBP.Height = 5025 End Sub Private Sub mnuIimitate_SpO2_Click() frmSpO2.Show frmSpO2.Width = 7170 frmSpO2.Height = 5130 End Sub ‘ Form ECG Const pi = 3.14159265 Const l = 1 Const f = 0.03 'Dieu tan so cua song EKG Const f_v = 0.01 'Dieu tan so cua song EKG_V Const ds = 1800 'Dieu chinh vi tri cua song EKG Const ds_v = 800 'Dieu chinh vi tri cua song EKG_V Const ds_nt = 1000 'Dieu chinh vi tri cua song nhip tho Const dr_nt = 600 'Dieu chinh bien do cua song nhip tho Dim val_speed As Integer Dim dr As Integer 'Dieu chinh bien do cua song EKG Dim f_nt As Single 'Dieu tan so cua song nhip tho Dim cal_td As Integer, cal_td_v As Integer, cal_td_nt As Integer Dim xp_v As Integer, xq_v As Integer, xqrs_v As Integer, xs_v As Integer, xt_v As Integer, xu_v As Integer Dim xp As Integer, xq As Integer, xqrs As Integer, xs As Integer, xt As Integer, xu As Integer Private Function song_p(ByVal x As Single) As Single Dim a As Single, b As Single, p1 As Single, p2 As Single, harm1 As Single Dim i As Integer, n As Integer a = 0.25 x = x + (1 / 1.8) b = 3 n = 100 p1 = 1 / l p2 = 0 For i = 1 To n harm1 = (((Sin((pi / (2 * b)) * (b - (2 * i)))) / (b - (2 * i)) + (Sin((pi / (2 * b)) * (b + (2 * i)))) / (b + (2 * i))) * (2 / pi)) * Cos((i * pi * x) / l) p2 = p2 + harm1 Next song_p = a * (p1 + p2) End Function Private Function song_p_v(ByVal x As Single) As Single Dim a As Single, b As Single, p1 As Single, p2 As Single, harm1 As Single Dim i As Integer, n As Integer a = 0.14 x = x + 0.16 b = (2 * l) / 0.09 n = 100 p1 = 1 / l p2 = 0 For i = 1 To n harm1 = (((Sin((pi / (2 * b)) * (b - (2 * i)))) / (b - (2 * i)) + (Sin((pi / (2 * b)) * (b + (2 * i)))) / (b + (2 * i))) * (2 / pi)) * Cos((i * pi * x) / l) p2 = p2 + harm1 Next song_p_v = a * (p1 + p2) End Function Private Function song_q(ByVal x As Single) As Single Dim a As Single, b As Single, q1 As Single, q2 As Single, harm5 As Single Dim i As Integer, n As Integer x = x + l / 6 a = 0.025 b = 15 n = 100 q1 = (a / (2 * b)) * (2 - b) q2 = 0 For i = 1 To n harm5 = (((2 * b * a) / (i * i * pi * pi)) * (1 - Cos((i * pi) / b))) * Cos((i * pi * x) / l) q2 = q2 + harm5 Next song_q = -1 * (q1 + q2) End Function Private Function song_qrs(ByVal x As Single) As Single Dim a As Single, b As Single, qrs1 As Single, qrs2 As Single, harm As Single Dim i As Integer, n As Integer a = 1 b = 5 n = 100 qrs1 = (a / (2 * b)) * (2 - b) qrs2 = 0 For i = 1 To n harm = (((2 * b * a) / (i * i * pi * pi)) * (1 - Cos((i * pi) / b))) * Cos((i * pi * x) / l) qrs2 = qrs2 + harm Next song_qrs = qrs1 + qrs2 End Function Private Function song_qrs_v(ByVal x As Single) As Single Dim a As Single, b As Single, qrs1 As Single, qrs2 As Single, harm As Single Dim i As Integer, n As Integer a = 0.3 b = (2 * l) / 0.066 n = 100 qrs1 = (a / (2 * b)) * (2 - b) qrs2 = 0 For i = 1 To n harm = (((2 * b * a) / (i * i * pi * pi)) * (1 - Cos((i * pi) / b))) * Cos((i * pi * x) / l) qrs2 = qrs2 + harm Next song_qrs_v = qrs1 + qrs2 End Function Private Function song_s(ByVal x As Single) As Single Dim a As Single, b As Single, s1 As Single, s2 As Single, harm3 As Single Dim i As Integer, n As Integer x = x - l / 6 a = 0.25 b = 15 n = 100 s1 = (a / (2 * b)) * (2 - b) s2 = 0 For i = 1 To n harm3 = (((2 * b * a) / (i * i * pi * pi)) * (1 - Cos((i * pi) / b))) * Cos((i * pi * x) / l) s2 = s2 + harm3 Next song_s = -1 * (s1 + s2) End Function Private Function song_s_v(ByVal x As Single) As Single Dim a As Single, b As Single, s1 As Single, s2 As Single, harm3 As Single Dim i As Integer, n As Integer x = x - 0.09 a = 0.75 b = (2 * l) / 0.11 n = 100 s1 = (a / (2 * b)) * (2 - b) s2 = 0 For i = 1 To n harm3 = (((2 * b * a) / (i * i * pi * pi)) * (1 - Cos((i * pi) / b))) * Cos((i * pi * x) / l) s2 = s2 + harm3 Next song_s_v = -1 * (s1 + s2) End Function Private Function song_t(ByVal x As Single) As Single Dim a As Single, b As Single, t1 As Single, t2 As Single, harm2 As Single Dim i As Integer, n As Integer a = 0.35 x = x - (1 / 1.8) b = 7 n = 20 t1 = 1 / l t2 = 0 For i = 1 To n harm2 = (((Sin((pi / (2 * b)) * (b - (2 * i)))) / (b - (2 * i)) + (Sin((pi / (2 * b)) * (b + (2 * i)))) / (b + (2 * i))) * (2 / pi)) * Cos((i * pi * x) / l) t2 = t2 + harm2 Next song_t = a * (t1 + t2) End Function Private Function song_t_v(ByVal x As Single) As Single Dim a As Single, b As Single, t1 As Single, t2 As Single, harm2 As Single Dim i As Integer, n As Integer a = 0.2 x = x - 0.2 - 0.045 b = (2 * l) / 0.142 n = 100 t1 = 1 / l t2 = 0 For i = 1 To n harm2 = (((Sin((pi / (2 * b)) * (b - (2 * i)))) / (b - (2 * i)) + (Sin((pi / (2 * b)) * (b + (2 * i)))) / (b + (2 * i))) * (2 / pi)) * Cos((i * pi * x) / l) t2 = t2 + harm2 Next song_t_v = a * (t1 + t2) End Function Private Function song_u(ByVal x As Single) As Single Dim a As Single, b As Single, u1 As Single, u2 As Single, harm4 As Single Dim i As Integer, n As Integer a = 0.03 x = x - (1 / 1.1) b = 21 n = 100 u1 = 1 / l u2 = 0 For i = 1 To n harm4 = (((Sin((pi / (2 * b)) * (b - (2 * i)))) / (b - (2 * i)) + (Sin((pi / (2 * b)) * (b + (2 * i)))) / (b + (2 * i))) * (2 / pi)) * Cos((i * pi * x) / l) u2 = u2 + harm4 Next song_u = a * (u1 + u2) End Function Private Sub draw_ekg(ByVal sample As Integer) Dim k As Single Dim x As Single Dim td As Integer Dim i As Integer Dim check As Boolean k = ds - xp td = sample check = False Picture1.ForeColor = &H80000005 Picture1.Line (10, 1)-(10, Picture1.ScaleHeight) 'Ve song EKG tu trai qua phai Do While (check = False) x = 0.01 'Ve song p While Round(x, 2) < 2 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) 'Xoa truoc khi ve Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds - dr * song_p(Round(x, 2))) 'Ve song End If k = ds - dr * song_p(Round(x, 2)) x = Round(x, 2) + f If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 3.5 'Ve song q While Round(x, 2) < 3.92 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds - xq - dr * song_q(Round(x, 2))) End If k = ds - xq - dr * song_q(Round(x, 2)) x = Round(x, 2) + f If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 5.8 'Ve song r While Round(x, 2) < 6.22 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds - xqrs - dr * song_qrs(Round(x, 2))) End If k = ds - xqrs - dr * song_qrs(Round(x, 2)) x = Round(x, 2) + f If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 8.1 'Ve song s While Round(x, 2) < 8.27 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds - xs - dr * song_s(Round(x, 2))) End If k = ds - xs - dr * song_s(Round(x, 2)) x = Round(x, 2) + f If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 9.07 'Ve song t While Round(x, 2) < 11.2 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds - xt - dr * song_t(Round(x, 2))) End If k = ds - xt - dr * song_t(Round(x, 2)) x = Round(x, 2) + f If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 12.9 'Ve song u While Round(x, 2) < 13.1 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds - xu - dr * song_u(Round(x, 2))) End If k = ds - xu - dr * song_u(Round(x, 2)) x = Round(x, 2) + f If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend Loop k = ds - xp td = sample 'Ve song EKG tu phai qua trai Do While (td > 0) x = 13.09 'Ve song u While Round(x, 2) >= 12.9 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds - xu - dr * song_u(Round(x, 2))) End If k = ds - xu - dr * song_u(Round(x, 2)) x = Round(x, 2) - f If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 11.19 'Ve song t While Round(x, 2) >= 9.07 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds - xt - dr * song_t(Round(x, 2))) End If k = ds - xt - dr * song_t(Round(x, 2)) x = Round(x, 2) - f If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 8.26 'Ve song s While Round(x, 2) >= 8.1 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds - xs - dr * song_s(Round(x, 2))) End If k = ds - xs - dr * song_s(Round(x, 2)) x = x - f If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 6.21 'Ve song r While Round(x, 2) >= 5.8 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds - xqrs - dr * song_qrs(Round(x, 2))) End If k = ds - xqrs - dr * song_qrs(Round(x, 2)) x = Round(x, 2) - f If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 3.91 'Ve song q While Round(x, 2) >= 3.5 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds - xq - dr * song_q(Round(x, 2))) End If k = ds - xq - dr * song_q(Round(x, 2)) x = Round(x, 2) - f If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 1.99 'Ve song p While Round(x, 2) >= 0.01 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds - dr * song_p(Round(x, 2))) End If k = ds - dr * song_p(Round(x, 2)) x = Round(x, 2) - f If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend Loop End Sub Private Sub draw_ekg_v(ByVal sample As Integer) Dim k As Single Dim x As Single Dim td As Integer Dim i As Integer Dim check As Boolean k = ds_v - xp_v td = sample check = False Picture1.ForeColor = &H80000005 Picture1.Line (td, 1)-(td, Picture1.ScaleHeight) Picture1.Line (td + 10, 1)-(td + 10, Picture1.ScaleHeight) 'Ve song EKG_V tu trai qua phai Do While (check = False) x = 1.65 'Ve song p While Round(x, 2) < 2 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) 'Xoa truoc khi ve Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds_v - dr * song_p_v(Round(x, 2))) 'Ve song End If k = ds_v - dr * song_p_v(Round(x, 2)) x = Round(x, 2) + f_v If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 3.7 'Ve song q While Round(x, 2) < 3.92 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds_v - xq_v - dr * song_q(Round(x, 2))) End If k = ds_v - xq_v - dr * song_q(Round(x, 2)) x = Round(x, 2) + f_v If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 5.97 'Ve song r While Round(x, 2) < 6.04 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds_v - xqrs_v - dr * song_qrs_v(Round(x, 2))) End If k = ds_v - xqrs_v - dr * song_qrs_v(Round(x, 2)) x = Round(x, 2) + f_v If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 8.02 'Ve song s While Round(x, 2) < 8.15 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds_v - xs_v - dr * song_s_v(Round(x, 2))) End If k = ds_v - xs_v - dr * song_s_v(Round(x, 2)) x = Round(x, 2) + f_v If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 10 'Ve song t While Round(x, 2) < 10.5 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds_v - xt_v - dr * song_t_v(Round(x, 2))) End If k = ds_v - xt_v - dr * song_t_v(Round(x, 2)) x = Round(x, 2) + f_v If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 12.9 'Ve song u While Round(x, 2) < 13.1 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td + 10, ds_v - xu_v - dr * song_u(Round(x, 2))) End If k = ds_v - xu_v - dr * song_u(Round(x, 2)) x = Round(x, 2) + f_v If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend Loop k = ds_v - xp_v td = sample 'Ve song EKG_V tu phai qua trai Do While (td > 0) x = 13.09 'Ve song u While Round(x, 2) >= 12.9 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds_v - xu_v - dr * song_u(Round(x, 2))) End If k = ds_v - xu_v - dr * song_u(Round(x, 2)) x = Round(x, 2) - f_v If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 10.49 'Ve song t While Round(x, 2) >= 10 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds_v - xt_v - dr * song_t_v(Round(x, 2))) End If k = ds_v - xt_v - dr * song_t_v(Round(x, 2)) x = Round(x, 2) - f_v If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 8.14 'Ve song s While Round(x, 2) >= 8.02 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds_v - xs_v - dr * song_s_v(Round(x, 2))) End If k = ds_v - xs_v - dr * song_s_v(Round(x, 2)) x = x - f If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 6.03 'Ve song r While Round(x, 2) >= 5.97 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds_v - xqrs_v - dr * song_qrs_v(Round(x, 2))) End If k = ds_v - xqrs_v - dr * song_qrs_v(Round(x, 2)) x = Round(x, 2) - f_v If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 3.91 'Ve song q While Round(x, 2) >= 3.7 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds_v - xq_v - dr * song_q(Round(x, 2))) End If k = ds_v - xq_v - dr * song_q(Round(x, 2)) x = Round(x, 2) - f_v If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 1.99 'Ve song p While Round(x, 2) >= 1.65 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &H8000000D Picture1.Line (td, k)-(td - 10, ds_v - dr * song_p_v(Round(x, 2))) End If k = ds_v - dr * song_p_v(Round(x, 2)) x = Round(x, 2) - f_v If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend Loop End Sub Private Sub nhip_tho(ByVal sample As Integer) Dim k As Single Dim x As Single Dim td As Integer Dim i As Integer Dim check As Boolean td = sample check = False Picture2.ForeColor = &H80000005 Picture2.Line (td, 1)-(td, Picture2.ScaleHeight) Picture2.Line (td + 10, 1)-(td + 10, Picture2.ScaleHeight) Do While (check = False) x = 0 k = ds_nt While Round(x, 2) < 2 * pi If td 0 Then Picture2.ForeColor = &H80000005 Picture2.Line (td + 20, 1)-(td + 20, Picture2.ScaleHeight) 'Xoa truoc khi ve Picture2.ForeColor = &HFF Picture2.Line (td, k)-(td + 10, ds_nt - dr_nt * (Sin(Round(x, 2)))) 'Ve song End If k = ds_nt - dr_nt * (Sin(Round(x, 2))) x = Round(x, 2) + f_nt If td + 10 > Picture2.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend Picture2.Line (td, k)-(td, ds_nt) Loop td = sample Do While (td > 0) x = 2 * pi k = ds_nt While Round(x, 2) > 0 If td Picture2.ScaleWidth Then Picture2.ForeColor = &H80000005 Picture2.Line (td - 20, 1)-(td - 20, Picture2.ScaleHeight) 'Xoa truoc khi ve Picture2.ForeColor = &HFF Picture2.Line (td, k)-(td - 10, ds_nt - dr_nt * (Sin(Round(x, 2)))) End If k = ds_nt - dr_nt * (Sin(Round(x, 2))) x = Round(x, 2) - f_nt If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend Picture2.Line (td, k)-(td, ds_nt) Loop End Sub Private Sub Command1_Click() Unload Me End Sub Private Sub Command2_Click() If val_speed > 0 Then val_speed = val_speed - 1 Text5.Text = val_speed * 10 + 10 & " mm/s" Timer1.Interval = val_speed * 20 + 1 End If End Sub Private Sub Command7_Click() If val_speed < 4 Then val_speed = val_speed + 1 Text5.Text = val_speed * 10 + 10 & " mm/s" Timer1.Interval = val_speed * 20 + 1 End If End Sub Private Sub Command3_Click() If Text4.Text = "50 Hz" Then Text4.Text = "60 Hz" Else Text4.Text = "50 Hz" End If End Sub Private Sub Command4_Click() If f_nt < 0.07 Then f_nt = f_nt + 0.01 cal_td_nt = calculate_td_nt Text3.Text = Round(f_nt * 100 - 3) * 10 End If End Sub Private Sub Command5_Click() If f_nt > 0.05 Then f_nt = f_nt - 0.01 cal_td_nt = calculate_td_nt Text3.Text = Round(f_nt * 100 - 3) * 10 End If End Sub Private Sub Command6_Click() If (Text2.Text = "II") Then Text2.Text = "V" Else Text2.Text = "II" End If End Sub Private Sub Form_Load() dr = 1500 f_nt = 0.06 val_speed = 2 change End Sub Private Sub change() cal_td = calculate_td cal_td_v = calculate_td_v cal_td_nt = calculate_td_nt xp = dr * song_p(0.01) xq = xp - dr * song_q(3.5) xqrs = xp - dr * song_qrs(5) xs = xp - dr * song_s(7.5) xt = xp - dr * song_t(9.5) xu = xp - dr * song_u(12) xp_v = dr * song_p_v(1.65) xq_v = xp_v - dr * song_q(3.5) xqrs_v = xp_v - dr * song_qrs_v(5.5) xs_v = xp_v - dr * song_s_v(7.8) xt_v = xp_v - dr * song_t_v(9.8) xu_v = xp_v - dr * song_u(12.5) End Sub Private Sub Slider2_Change() dr = 500 * Slider2.Value change End Sub Private Sub Timer1_Timer() Static tdd As Integer If Text2.Text = "II" Then draw_ekg (tdd) If tdd >= cal_td Then tdd = cal_td / 10 Else tdd = tdd + cal_td / 10 End If Else draw_ekg_v (tdd) If tdd >= cal_td_v Then tdd = cal_td_v / 10 Else tdd = tdd + cal_td_v / 10 End If End If End Sub Private Sub Timer2_Timer() Static tdd As Integer nhip_tho (tdd) If tdd >= cal_td_nt Then tdd = cal_td_nt / 10 Else tdd = tdd + cal_td_nt / 10 End If End Sub Private Function calculate_td() As Integer Dim m As Integer Dim x As Single x = 0.01 While Round(x, 2) < 2 x = Round(x, 2) + f m = m + 1 Wend x = 3.5 While Round(x, 2) < 3.92 x = Round(x, 2) + f m = m + 1 Wend x = 5.8 While Round(x, 2) < 6.22 x = Round(x, 2) + f m = m + 1 Wend x = 8.1 While Round(x, 2) < 8.27 x = Round(x, 2) + f m = m + 1 Wend x = 9.07 While Round(x, 2) < 11.2 x = Round(x, 2) + f m = m + 1 Wend x = 12.9 While Round(x, 2) < 13.1 x = Round(x, 2) + f m = m + 1 Wend calculate_td = 10 * m End Function Private Function calculate_td_v() As Integer Dim m As Integer Dim x As Single x = 1.65 While Round(x, 2) < 2 x = Round(x, 2) + f_v m = m + 1 Wend x = 3.7 While Round(x, 2) < 3.92 x = Round(x, 2) + f_v m = m + 1 Wend x = 5.97 While Round(x, 2) < 6.04 x = Round(x, 2) + f_v m = m + 1 Wend x = 8.02 While Round(x, 2) < 8.15 x = Round(x, 2) + f_v m = m + 1 Wend x = 10 While Round(x, 2) < 10.5 x = Round(x, 2) + f_v m = m + 1 Wend x = 12.9 While Round(x, 2) < 13.1 x = Round(x, 2) + f_v m = m + 1 Wend calculate_td_v = 10 * m End Function Private Function calculate_td_nt() As Integer Dim m As Integer Dim x As Single x = 0 While Round(x, 2) < 2 * pi x = Round(x, 2) + f_nt m = m + 1 Wend calculate_td_nt = 10 * m End Function Private Sub Timer3_Timer() Randomize Text1.Text = 80 + Int((4 * Rnd)) End Sub ‘ Form SpO2 Const pi = 3.14159265 Const l = 1 Const f = 0.01 'Dieu tan so cua song Const ds = 2500 'Dieu chinh vi tri cua song Const dr = 4000 'Dieu chinh bien do cua song Dim xt As Integer, xu As Integer Dim cal_td As Integer Private Sub Form_Load() ProgressBar1.Orientation = ccOrientationVertical xt = dr * song_t(1) xu = xt - dr * song_u(6) cal_td = calculate_td End Sub Private Sub Timer1_Timer() Static tdd As Integer draw_SpO2 (tdd) If tdd >= cal_td Then tdd = cal_td / 10 Else tdd = tdd + cal_td / 10 End If End Sub Private Sub Timer2_Timer() Randomize Text1.Text = 78 + Int((4 * Rnd)) Randomize Text2.Text = 97 + Int((3 * Rnd)) ProgressBar1.Value = Val(Text2.Text) - 95 End Sub Private Function song_t(ByVal x As Single) As Single Dim a As Single, b As Single, t1 As Single, t2 As Single, harm2 As Single Dim i As Integer, n As Integer a = 0.25 x = x - 0.15 - 0.045 b = (2 * l) / 0.45 n = 100 t1 = 1 / l t2 = 0 For i = 1 To n harm2 = (((Sin((pi / (2 * b)) * (b - (2 * i)))) / (b - (2 * i)) + (Sin((pi / (2 * b)) * (b + (2 * i)))) / (b + (2 * i))) * (2 / pi)) * Cos((i * pi * x) / l) t2 = t2 + harm2 Next song_t = a * (t1 + t2) End Function Private Function song_u(ByVal x As Single) As Single Dim a As Single, b As Single, u1 As Single, u2 As Single, harm4 As Single Dim i As Integer, n As Integer a = 0.08 x = x - 0.433 b = (2 * l) / 0.35 n = 100 u1 = 1 / l u2 = 0 For i = 1 To n harm4 = (((Sin((pi / (2 * b)) * (b - (2 * i)))) / (b - (2 * i)) + (Sin((pi / (2 * b)) * (b + (2 * i)))) / (b + (2 * i))) * (2 / pi)) * Cos((i * pi * x) / l) u2 = u2 + harm4 Next song_u = a * (u1 + u2) End Function Private Sub draw_SpO2(ByVal sample As Integer) Dim k As Single Dim x As Single Dim td As Integer Dim i As Integer Dim check As Boolean k = ds - xt td = sample check = False Picture1.ForeColor = &H80000005 Picture1.Line (td, 1)-(td, Picture1.ScaleHeight) Picture1.Line (td + 10, 1)-(td + 10, Picture1.ScaleHeight) 'Ve song tu trai qua phai Do While (check = False) x = 1.9 'Ve song t While Round(x, 2) < 2.37 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) 'Xoa truoc khi ve Picture1.ForeColor = &HFF80FF Picture1.Line (td, k)-(td + 10, ds - dr * song_t(Round(x, 2))) 'Ve song End If k = ds - dr * song_t(Round(x, 2)) x = Round(x, 2) + f If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend If (check = True) Then Exit Do x = 6.43 'Ve song u While Round(x, 2) < 6.75 If td 0 Then Picture1.ForeColor = &H80000005 Picture1.Line (td + 20, 1)-(td + 20, Picture1.ScaleHeight) Picture1.ForeColor = &HFF80FF Picture1.Line (td, k)-(td + 10, ds - xu - dr * song_u(Round(x, 2))) End If k = ds - xu - dr * song_u(Round(x, 2)) x = Round(x, 2) + f If td + 10 > Picture1.ScaleWidth Then check = True Else td = td + 10 End If If (check = True) Then Exit Do Wend Loop k = ds - xt td = sample 'Ve song tu phai qua trai Do While (td > 0) x = 6.74 'Ve song u While Round(x, 2) >= 6.43 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &HFF80FF Picture1.Line (td, k)-(td - 10, ds - xu - dr * song_u(Round(x, 2))) End If k = ds - xu - dr * song_u(Round(x, 2)) x = Round(x, 2) - f If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend x = 2.36 'Ve song t While Round(x, 2) >= 1.9 If td Picture1.ScaleWidth Then Picture1.ForeColor = &H80000005 Picture1.Line (td - 20, 1)-(td - 20, Picture1.ScaleHeight) Picture1.ForeColor = &HFF80FF Picture1.Line (td, k)-(td - 10, ds - dr * song_t(Round(x, 2))) End If k = ds - dr * song_t(Round(x, 2)) x = Round(x, 2) - f If td - 10 < 0 Then Exit Sub Else td = td - 10 End If Wend Loop End Sub Private Function calculate_td() As Integer Dim m As Integer Dim x As Single x = 1.9 While Round(x, 2) < 2.37 x = Round(x, 2) + f m = m + 1 Wend x = 6.43 While Round(x, 2) < 6.75 x = Round(x, 2) + f m = m + 1 Wend calculate_td = 10 * m End Function ‘ Form NIBP Dim val_cycle As Byte Dim val_Pump As Byte Private Sub Command1_Click() If Label_Status.Caption = "IDLE" Then Select Case val_cycle Case 0: Label10.Caption = "Manual" val_cycle = 1 Case 1: Label10.Caption = "1min" val_cycle = 2 Case 2: Label10.Caption = "2min" val_cycle = 3 Case 3: Label10.Caption = "3min" val_cycle = 4 Case 4: Label10.Caption = "4min" val_cycle = 5 Case 5: Label10.Caption = "5min" val_cycle = 6 Case 6: Label10.Caption = "10min" val_cycle = 7 Case 7: Label10.Caption = "15min" val_cycle = 8 Case 8: Label10.Caption = "30min" val_cycle = 0 End Select End If End Sub Private Sub Command10_Click() If Label_Status.Caption = "IDLE" Then Select Case val_Pump Case 0: Label14.Caption = "100mHg" val_Pump = 1 Case 1: Label14.Caption = "120mHg" val_Pump = 2 Case 2: Label14.Caption = "140mHg" val_Pump = 3 Case 3: Label14.Caption = "160mHg" val_Pump = 4 Case 4: Label14.Caption = "180mHg" val_Pump = 0 End Select End If End Sub Private Sub Command2_Click() Label_Status.Caption = "IDLE" End Sub Private Sub Command3_Click() Label_Status.Caption = "MEASURE" End Sub Private Sub Command4_Click() Unload Me End Sub Private Sub Command9_Click() If Label_Status.Caption = "IDLE" Then If Label12.Caption = "Neonate" Then Label12.Caption = "Adult" Else Label12.Caption = "Neonate" End If End If End Sub Private Sub Form_Load() val_cycle = 1 val_Pump = 1 End Sub Private Sub Timer1_Timer() Randomize Text1.Text = 115 + Int((3 * Rnd)) Randomize Text2.Text = 75 + Int((3 * Rnd)) Text3.Text = Round((2 * Val(Text2.Text) + Val(Text1.Text)) / 3) Randomize Text4.Text = 80 + Int((3 * Rnd)) End Sub ._.

Các file đính kèm theo tài liệu này:

  • docDAN305.doc
Tài liệu liên quan