Quản lý thiết bị. Mở rộng MIS tới các thiết bị

Quản lý thiết bị. Mở rộng MIS tới các thiết bị
Một trung tâm y tế tự động sử dụng nhiều thiết bị khác nhau, hoạt động của chúng phải được điều khiển bởi hệ thống thông tin y tế (MIS), cũng như các thiết bị không nhận lệnh nhưng phải truyền kết quả làm việc đến MIS. Tuy nhiên, tất cả các thiết bị đều có các tùy chọn kết nối khác nhau (USB, RS-232, Ethernet, v.v.) và cách tương tác với chúng. Hầu như không thể hỗ trợ tất cả chúng trong MIS, vì vậy lớp phần mềm DeviceManager (DM) đã được phát triển, cung cấp một giao diện duy nhất cho MIS để phân công nhiệm vụ cho thiết bị và thu kết quả.

Quản lý thiết bị. Mở rộng MIS tới các thiết bị
Để tăng khả năng chịu lỗi của hệ thống, DM được chia thành một bộ chương trình đặt trên máy tính của trung tâm y tế. DM được chia thành một chương trình chính và một bộ plugin tương tác với một thiết bị cụ thể và gửi dữ liệu đến MIS. Hình bên dưới hiển thị cấu trúc tương tác tổng quát với DeviceManager, MIS và các thiết bị.

Quản lý thiết bị. Mở rộng MIS tới các thiết bị
Cấu trúc tương tác giữa MIS và DeviceManager hiển thị 3 tùy chọn plug-in:

  1. Plugin không nhận bất kỳ dữ liệu nào từ MIS và gửi dữ liệu được chuyển đổi thành định dạng mà thiết bị có thể hiểu được (tương ứng với loại thiết bị 3 trong hình trên).
  2. Plugin nhận một tác vụ ngắn (về thời gian thực hiện) từ MIS, ví dụ: in trên máy in hoặc quét hình ảnh, thực thi nó và gửi kết quả theo yêu cầu (tương ứng với loại thiết bị 1 trong hình trên ).
  3. Ví dụ: plugin nhận một nhiệm vụ dài hạn từ MIS để tiến hành khảo sát hoặc đo lường các chỉ số và để phản hồi sẽ gửi trạng thái chấp nhận nhiệm vụ (nhiệm vụ có thể bị từ chối nếu có lỗi trong yêu cầu). Sau khi hoàn thành nhiệm vụ, kết quả được chuyển đổi thành định dạng dễ hiểu đối với MIS và tải lên các giao diện tương ứng với loại của chúng (tương ứng với loại thiết bị 2 trong hình trên).

Chương trình DM chính khởi động, khởi chạy, khởi động lại trong trường hợp dừng (sự cố) bất ngờ và chấm dứt tất cả các plugin khi tắt máy. Thành phần của các plugin trên mỗi máy tính là khác nhau, chỉ những plugin cần thiết mới được khởi chạy, được chỉ định trong cài đặt.

Mỗi plugin là một chương trình độc lập tương tác với chương trình chính. Định nghĩa này của plugin cho phép hoạt động ổn định hơn do tính độc lập của tất cả các phiên bản plugin và phần đầu trong việc xử lý lỗi (nếu xảy ra lỗi nghiêm trọng khiến plugin bị lỗi thì điều này sẽ không ảnh hưởng đến các plugin và phần đầu khác) . Một plugin cho phép bạn làm việc với các thiết bị cùng loại (thường là cùng một kiểu máy), trong khi một số plugin chỉ có thể tương tác với một thiết bị, trong khi những plugin khác có thể tương tác với một số thiết bị. Để kết nối nhiều thiết bị cùng loại với một DM, hãy khởi chạy một số phiên bản của cùng một plugin.

Quản lý thiết bị. Mở rộng MIS tới các thiết bị
Bộ công cụ Qt được sử dụng để phát triển DM vì nó cho phép chúng tôi tách khỏi một hệ điều hành cụ thể trong hầu hết các trường hợp. Điều này giúp có thể hỗ trợ hoạt động với các máy tính chạy Windows, Linux và MacOS, cũng như các thiết bị bo mạch đơn Raspberry. Hạn chế duy nhất trong việc lựa chọn hệ điều hành khi phát triển plugin là tính sẵn có của trình điều khiển và/hoặc phần mềm đặc biệt cho một thiết bị cụ thể.

Tương tác giữa các plugin và phần đầu xảy ra thông qua QLocalSocket hoạt động liên tục với tên của một phiên bản plugin cụ thể, theo giao thức mà chúng tôi đã tạo. Việc triển khai giao thức liên lạc ở cả hai bên được thiết kế như một thư viện động, giúp các công ty khác có thể phát triển một số plugin mà không tiết lộ đầy đủ sự tương tác với người đứng đầu. Logic bên trong của ổ cắm cục bộ cho phép đầu tìm hiểu ngay về sự cố rơi bằng cách sử dụng tín hiệu ngắt kết nối. Khi tín hiệu như vậy được kích hoạt, plugin có vấn đề sẽ được khởi động lại, điều này cho phép bạn xử lý các tình huống quan trọng một cách dễ dàng hơn.

Người ta đã quyết định xây dựng sự tương tác giữa MIS và DM dựa trên giao thức HTTP, vì MIS hoạt động trên máy chủ Web, giúp gửi và nhận yêu cầu bằng giao thức này dễ dàng hơn. Cũng có thể phân biệt các vấn đề có thể phát sinh khi cài đặt hoặc thực hiện tác vụ với thiết bị dựa trên mã phản hồi.

Trong các bài viết sau, sử dụng ví dụ về một số phòng trung tâm chẩn đoán, hoạt động của DM và một số plug-in sẽ được xem xét.

Nguồn: www.habr.com

Thêm một lời nhận xét