Zdalny dostęp i wymiana informacji to cecha, która staje się standardem w sprzęcie medycznym. Szczególnie wysokozaawansowane technologicznie aparaty pozwalają w coraz większym stopniu na korzystanie z dobrodziejstw -obecnych już praktycznie w większości ośrodków - lokalnych sieci komputerowych, bezprzewodowych i internetu.
W ramach finansowanego przez NCBiR projektu „Opracowanie metod i technologii zdalnego dostępu zapewniających integrację aparatów diagnostycznych i komputerowych systemów medycznych ze szpitalnymi systemami informatycznymi” opracowano w Instytucie Techniki i Aparatury Medycznej ITAM oprogramowanie służy tworzeniu interfejsów komunikacyjnych pomiędzy aplikacjami i aparatami medycznymi a szpitalnymi systemami informatycznymi (SSI – ang. HIS).
Przyjęte założenia i możliwe warunki działania pokazane są na schemacie poniżej.
Opracowane rozwiązanie ma strukturą modułową. Poniżej przedstawiono podstawowe informacje techniczne dotyczące opracowanych w ramach projektu rozwiązań.
Główne moduły
Wśród opracowanych modułów możemy wyróżnić:
- netcom – moduł zawierający klasy do obsługi komunikacji zgodnej z protokołem TCP/IP w oparciu o mechanizmy gniazd (ang. socket), dzięki którym możliwa jest realizacja transmisji danych pomiędzy aplikacjami typu klient/serwer,
- cdset – moduł – uniwersalna nakładka (ang. wrapper) na programowe sterowniki urządzeń diagnostycznych pozwalający na enkapsulację danych przechwytywanych z modułów we/wy i ich retransmisję w sieci komputerowej,
- messageParser – moduł pośredniczący w odbiorze i transmisji komunikatów pomiędzy SSI a modułami diagnostycznymi,
Zdalny dostęp do monitorowanych przebiegów biomedycznych:
Moduły cdset i netcom pozwalają na realizację zdalnego dostępu do monitorowanych przebiegów biomedycznych w trybie on-line jak i zdalny dostęp do zapisów archiwalnych. Ogólny algorytm zdalnej replikacji przebiegów biomedycznych został przedstawiony na poniższym diagramie.
Ramki komunikacyjne sterujące transmisją przebiegów sygnałów biomedycznych
Poniżej znajduje się wybrany do tego celu format ramek transmisji.
Ramki sterujące transmisją serwer <-> klient (KOM)
Długość danych (WORD) = 0
|
Rozkaz (WORD)
|
lub
Długość danych(WORD)
|
Rozkaz (WORD)
|
Dane (BYTE[Długość danych])
|
Długość danych:
Długość pola dane lub 0
Rozkaz:
Rozkaz
|
Kierunek
|
Kod
|
Dł. danych
|
Zawartość pola dane
|
START
|
serwer <- klient
|
2048
|
2
|
numer KTG
|
STOP
|
serwer <-> klient
|
2049
|
2
|
numer KTG
|
PAUZA
|
serwer <- klient
|
2050
|
2
|
numer KTG
|
WZNOW
|
serwer <- klient
|
2051
|
6
|
numer KTG, pozycja
|
BLAD
|
serwer -> klient
|
2052
|
4
|
numer KTG , kod błędu
|
LIMIT_POLACZEN
|
serwer -> klient
|
2053
|
0
|
|
START_OK
|
serwer -> klient
|
2054
|
2
|
numer KTG
|
WZNOW_OK
|
serwer -> klient
|
2055
|
2
|
numer KTG
|
Kody błędów:
Symbol
|
Kod
|
Interpretacja
|
BLAD_WZNOW
|
1
|
zarezerwowane do przyszłego wykorzystania
|
BLAD_START_NUMER
|
2
|
błędny numer pacjenta/stanowiska/badania
|
BLAD_ZMIAN_PAC
|
3
|
zakończono badanie, możliwa zmiana pacjenta
|
Wymiana komunikatów pomiędzy SSI a systemem diagnostycznym
Ogólny sposób działania modułu obsługi komunikatów opisuje przedstawiony diagram sekwencji. Prezentuje on przepływ i realizację pojedynczej transakcji pomiędzy SSI a modułem diagnostycznym. Przez transakcję rozumiemy przesłanie komunikatu pomiędzy SSI a modułem diagnostycznym.
Na diagramie pokazany jest sposób współpracy interfejsu z pozostałymi elementami systemu: SSI, aplikacją medyczną i bazą danych. W zależności od potrzeb i przetwarzanych danych współpraca ta może mieć różnych charakter. Na schemacie został przedstawiony jeden z możliwych modeli użycia biblioteki a poniżej algorytm realizacji obsługi zapytań z wykorzystaniem wyników przechowywanych w lokalnej bazie danych aplikacji medycznej.
Poniżej przedstawiono schemat blokowy procedur odpowiedzialnych za obsługę transakcji.
Pętla wątku głównego realizuje:
- cykliczne sprawdzenie czy są jakieś wiadomości do wysłania; jeśli tak to nawiązanie odpowiedniego połączenia wychodzącego i wysłanie wiadomości (ew. odebranie i zinterpretowanie odpowiedzi)
- sprawdzenie czy w systemie diagnostycznym są nowe wyniki gotowe do wysłania; jeśli tak skonstruowanie wiadomości z wynikami i dodanie jej do kolejki wiadomości do wysłania
Pętla obsługi przychodzących transakcji:
- oczekiwanie na nadejście połączenia przychodzącego,
- po nawiązaniu połączenia przychodzącego odebranie wiadomości oraz sprawdzenie czy składa się z poprawnych elementów,
- odczytanie atrybutów komunikatu oraz sprawdzenie jego poprawności składniowej,
- jeśli zajdzie konieczność, odesłanie potwierdzenia akceptacyjnego w ramach połączenia przychodzącego,
- wykonanie czynności związanych z typem komunikatu,
- jeśli zachodzi taka potrzeba, wygenerowanie odpowiedniego potwierdzenia aplikacyjnego i dodanie tak skonstruowanej wiadomości do kolejki wiadomości do wysłania.
Właścicielem praw do całośći opracowania powstałego na bazie projektu jest Instytut Techniki i Aparatury Medycznej ITAM w Zabrzu.
Wyniki projektu udostępniane będą wszystkim zainteresowanym podmiotom gospodarczym w oparciu o sprzedaż licencji.
W razie zainteresowania ofertą prosimy o kontakt z Zakładem Systemów i Technologii Informatycznych ITAM -tel. 32 271-60-13 wew. 121.
Na diagramie pokazany jest sposób współpracy interfejsu z pozostałymi elementami systemu: SSI, aplikacją medyczną i bazą danych. W zależności od potrzeb i przetwarzanych danych współpraca ta może mieć różnych charakter. Na schemacie został przedstawiony jeden z możliwych modeli użycia biblioteki a poniżej algorytm realizacji obsługi zapytań z wykorzystaniem wyników przechowywanych w lokalnej bazie danych aplikacji medycznej.
|