Архітектура МІС «ЕМСІМЕД»

В основі архітектури МІС «ЕМСІМЕД» лежить багаторівнева схема прикладних програм баз даних.


Сервер баз даних – Microsoft SQL 2000/2005 під управлінням ОС MS Windows 2003. Сама база зберігає дані системи, тригери, збережені процедури і SQL-запити, що забезпечують доступ до цих даних та їх цілісність

Виконання СOM+ модулів системи на COM+ сервері (під управлінням MS Windows 2000 або вище) забезпечується MS DTC-сервісом. Останній також керує SQL-транзакціями.

Архітектура системи представлена такими COM+ модулями:

  • диспетчер SQL-запитів забезпечує доступ до запитів, які зберігаються в БД, викликає SQL-сервер для їх виконання та передає результати у вигляді ADO Recordset запитуваному модулю;
  • прикладний сервіс «ЕМСІМЕД»виконує аутентифікацію користувача, підтримує сесію користувача і авторизацію при доступі до ресурсів системи, а також викликає диспетчер SQL-запитів.

Завдяки використанню COM+ вдається уникнути блокування транзакцій з боку сервера БД і забезпечувати рівень доступності до 99.995%.

Сокет-сервер системи реалізований як Windows-сервіс. Здійснюючи підтримку з'єднання з клієнтом в мережевому середовищі TCP/IP, він забезпечує отримання запитів та передачу даних між прикладним сервісом «ЕМСІМЕД» и клієнтською частиною. Також сокет-сервер може серіалізувати або десеріалізувати дані у форматі XML або ADTG і зашифрувати/дешифрувати трафік згідно проколу SSL. Окремо варто відзначити можливість моніторингу трафіку клієнтських з'єднань та ведення протоколу запитів.

Web-сервіс COM+ реалізований як WEB XML – сервіс ASP.NET. Він використовується для інтеграції із зовнішніми системами, такими як «1С: Підприємство», і забезпечує:


  • отримання запитів та передачу даних між HTTP-клієнтом і прикладним сервісом «ЕМСІМЕД»;
  • серіалізацію/десеріалізацію даних у формат XML;
  • підтримку сесії клієнта на Web-сервері.

На робочому місці співробітника ЛПЗ працює клієнтська версія «ЕМСІМЕД» и модуль оновлення версій. Клієнтська версія «ЕМСІМЕД» забезпечує користувача можливістю виконання всіх операцій по введенню даних в систему, їх первісній перевірці на допустимість і несуперечність, передачу їх на сервер, а також отриманню інформації з сервера даних та її поданню в зручному для перегляду та аналізу вигляді.

Підсистема з'єднання виконує:

  • підтримку з'єднання (у тому числі віддаленого) з сервером з'єднань «ЕМСІМЕД»;
  • серіалізацію/десеріалізацію даних;
  • шифрування/дешифрування трафіку;
  • примусове управління клієнтськими SQL-транзакціями.

Мобільний пристрій працює під ОС Windows Mobile 5.0 або вище. Встановлений на ньому MS SQL 2005 Mobile разом з локальною базою даних дозволяє проведення автономної роботи віддаленим користувачам за умови відсутності зв'язку з основним сервером даних. Синхронізація даних з основною БД виконується за запитом користувача.

Клієнтська програма для мобільного пристрою виконана у вигляді основного модуля – завантажувача і набору програмних модулів, оновлення яких може виконуватися окремо. Комунікації з Web-сервісом «ЕМСІМЕД» здійснюються по протоколу HTTP через з'єднання Wi-Fi або GPRS.

Якщо до комп'ютера підключено лабораторно-діагностичне обладнання і це обладнання здійснює обмін даними через COM-порт в певному форматі, то на такий комп'ютер може бути встановлений монітор лабораторних пристроїв разом із відповідними драйверами пристроїв. Драйвери представляють собою COM-об'єкти, які безпосередньо здійснюють комунікацію з обладнанням через інтерфейс RS-232, перетворюють передані їм дані у формат, спільний для всіх пристроїв, і передають їх системному монітору. Монітор лабораторних пристроїв діє як клієнт «ЕМСІМЕД», передаючи дані до серверу «ЕМСІМЕД» через сервер підключень.

На сервері даних DICOM (PACS) зберігається база даних DICOM (за винятком зображень) і працює MS SQL-сервер. Прикладний сервіс DICOM реалізований як Windows-сервіс, який виконує запити до БД DICOM та здійснює доступ до сховища зображень, розташованого на тому ж комп'ютері або як мережевий ресурс. Клієнт «ЕМСІМЕД» взаємодіє безпосередньо з DICOM-сервером «ЕМСІМЕД» або з іншим DICOM-сервером.

Бізнес-логіка системи розподілена на декількох рівнях і оптимізована з погляду мінімізації трафіку між клієнтськими модулями і сервером підключень, або web-сервером. Основна її частина реалізована у вигляді тригерів, збережених процедур і SQL-запитів, які виконуються на SQL-сервері.

Підсистема захисту «ЕМСІМЕД» може виконувати такі функції:

  • аутентифікацію користувачів при вході в систему за допомогою хешування пароля або методом Challenge-Response за допомогою клієнтських сертифікатів;
  • криптографічний захист інформаційного трафіку між сокет-сервером «ЕМСІМЕД» і клієнтською частиною програми;
  • зберігання особистих даних пацієнтів в БД в зашифрованому вигляді;
  • авторизований запуск прикладного сервісу «ЕМСІМЕД» адміністратором захисту;
  • генерація RSA-ключів і керування клієнтськими сертифікатами;
  • ведення захищеного журналу виконаних користувачем операцій;
  • розмежування повноважень користувачів та авторизація їх доступу до функцій системи згідно з повноваженнями.

Підсистема реалізована з використанням засобів захисту Aladdin eToken Pro, Alladin HASP HL і стандартних засобів Windows. Вона складається з набору екранних форм і функцій, які використовуються на рівних як клієнтської, так і серверної частинами системи «ЕМСІМЕД».

Існують технічні вимоги, що виставляються до обладнання, на якому буде встановлена МІС «ЕМСІМЕД» на підприємстві.