Aygıt Yöneticisi. MIS'i cihazlara genişletin

Aygıt Yöneticisi. MIS'i cihazlara genişletin
Otomatik bir tıp merkezi, çalışması bir tıbbi bilgi sistemi (MIS) tarafından kontrol edilmesi gereken birçok farklı cihazın yanı sıra komutları kabul etmeyen ancak çalışmalarının sonuçlarını MIS'e iletmesi gereken cihazlar kullanır. Ancak tüm cihazların farklı bağlantı seçenekleri (USB, RS-232, Ethernet vb.) ve onlarla etkileşim kurma yolları vardır. Bunların hepsini MIS'te desteklemek neredeyse imkansızdır, bu nedenle MIS'in cihazlara görev ataması ve sonuçları elde etmesi için tek bir arayüz sağlayan DeviceManager (DM) yazılım katmanı geliştirildi.

Aygıt Yöneticisi. MIS'i cihazlara genişletin
Sistemin hata toleransını arttırmak için DM, tıp merkezindeki bilgisayarlarda bulunan bir dizi programa bölündü. DM, bir ana programa ve belirli bir cihazla etkileşime giren ve MIS'e veri gönderen bir dizi eklentiye bölünmüştür. Aşağıdaki şekil DeviceManager, MIS ve cihazlarla etkileşimin genelleştirilmiş yapısını göstermektedir.

Aygıt Yöneticisi. MIS'i cihazlara genişletin
MIS ve DeviceManager arasındaki etkileşimin yapısı, eklentiler için 3 seçenek gösterir:

  1. Eklenti, MIS'ten herhangi bir veri almaz ve cihaz tarafından anlaşılabilecek bir formata dönüştürülmüş verileri gönderir (yukarıdaki şekildeki cihaz tipi 3'e karşılık gelir).
  2. Eklenti, MIS'ten kısa (yürütme süresi açısından) bir görev alır, örneğin bir yazıcıya yazdırmak veya bir görüntüyü taramak, bunu yürütür ve isteğe yanıt olarak sonucu gönderir (yukarıdaki şekildeki cihaz tipi 1'e karşılık gelir) ).
  3. Eklenti, MIS'den örneğin bir anket yürütmek veya göstergeleri ölçmek gibi uzun vadeli bir görev alır ve yanıt olarak görev kabul durumunu gönderir (talepte bir hata varsa görev reddedilebilir). Görev tamamlandıktan sonra sonuçlar MIS için anlaşılabilir bir formata dönüştürülür ve türlerine karşılık gelen arayüzlere yüklenir (yukarıdaki şekildeki cihaz tipi 2'ye karşılık gelir).

Ana DM programı beklenmedik bir durma (çökme) durumunda başlar, başlatılır, yeniden başlatılır ve kapatıldığında tüm eklentileri sonlandırır. Her bilgisayardaki eklentilerin bileşimi farklıdır; yalnızca ayarlarda belirtilen gerekli olanlar başlatılır.

Her eklenti, ana programla etkileşime giren bağımsız bir programdır. Bir eklentinin bu tanımı, tüm eklenti örneklerinin ve hata yönetimi açısından başlığın bağımsızlığı nedeniyle daha kararlı çalışmaya izin verir (eklentinin çökmesine neden olan kritik bir hata meydana gelirse, bu diğer eklentileri ve kafayı etkilemez) . Bir eklenti, tek türdeki (genellikle aynı model) cihazlarla çalışmanıza izin verirken, bazı eklentiler yalnızca bir cihazla etkileşime girebilirken diğerleri birkaç cihazla etkileşime girebilir. Aynı türden birden fazla cihazı tek bir DM'ye bağlamak için aynı eklentinin birkaç örneğini başlatın.

Aygıt Yöneticisi. MIS'i cihazlara genişletin
Qt araç seti DM'yi geliştirmek için kullanıldı çünkü çoğu durumda belirli bir işletim sisteminden soyutlama yapmamıza olanak tanıyor. Bu, Windows, Linux ve MacOS tabanlı bilgisayarların yanı sıra Raspberry tek kartlı cihazlarla çalışmayı desteklemeyi mümkün kıldı. Eklentiler geliştirirken işletim sistemi seçmenin tek sınırlaması, belirli bir cihaz için sürücülerin ve/veya özel yazılımın bulunmasıdır.

Eklentiler ile başlık arasındaki etkileşim, oluşturduğumuz protokole göre, belirli bir eklenti örneğinin adı ile sürekli aktif olan bir QLocalSocket aracılığıyla gerçekleşir. İletişim protokolünün her iki tarafta uygulanması dinamik bir kütüphane olarak tasarlandı ve bu, kafa ile etkileşimi tam olarak ortaya çıkarmadan diğer şirketler tarafından bazı eklentilerin geliştirilmesine olanak sağladı. Yerel soketin dahili mantığı, kafanın bir bağlantı kopma sinyali kullanarak düşüşü anında öğrenmesini sağlar. Böyle bir sinyal tetiklendiğinde sorunlu eklenti yeniden başlatılır ve bu da kritik durumları daha acısız bir şekilde ele almanızı sağlar.

MIS bir Web sunucusu üzerinde çalıştığından, bu protokolü kullanarak istek gönderip almayı kolaylaştırdığından, MIS ve DM arasındaki etkileşimin HTTP protokolüne dayalı olarak oluşturulmasına karar verildi. Cihazlarla görev ayarlarken veya gerçekleştirirken ortaya çıkabilecek sorunları yanıt kodlarına göre ayırt etmek de mümkün.

İlerleyen yazılarda çeşitli teşhis merkezi odaları örneği kullanılarak DM ve bazı eklentilerin işleyişi incelenecektir.

Kaynak: habr.com

Yorum ekle