Архитектура медицинской информационной системы «ЕМСИМЕД»
В основе архитектуры МИС «ЭМСИМЕД» лежит многоуровневая схема прикладных программ баз данных.
Сервер баз данных — 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. Она состоит из набора экранных форм и функций, которые используются на равных как клиентской, так и серверной частями системы «ЭМСИМЕД».
Существуют технические требования, выставляемые к оборудованию, на котором будет установлена МИС «ЭМСИМЕД» в предприятии.