СПАРМ — различия между версиями
Admin (обсуждение | вклад) (→Основное) |
Admin (обсуждение | вклад) (→Для программистов) |
||
| Строка 42: | Строка 42: | ||
Пошаговый алгоритм отправки сообщения: | Пошаговый алгоритм отправки сообщения: | ||
| − | 1. Регистрация пробы - с помощью функции mm.send_notify триггер mm.labreg_sparm_queue_tr_ai посылает сообщение сервису о необходимости формирования и отправки заявки на лабораторное исследование. | + | 1. Регистрация пробы - с помощью функции mm.send_notify триггер mm.labreg_sparm_queue_tr_ai посылает сообщение сервису о необходимости формирования и отправки заявки на лабораторное исследование. При этом заполняется временная таблица очереди mm.sparm_queue |
| − | |||
| − | 2. Сервис получает сообщение из триггера. Сервис с помощью функции mm.sparm_get_hl7 формирует сообщение и отправляет сообщение в СП.АРМ. | + | 2. Сервис получает сообщение из триггера. Сервис с помощью функции mm.sparm_get_hl7 формирует сообщение и отправляет сообщение в СП.АРМ. Компоненты Делфи для отправки HL7 сообщений можно найти тут svn/IBIS/trunk/FENIX/HL7SenderListener |
| − | |||
| − | 3. СП.АРМ получает сообщение-заявку. Посылает обратный ответ (АСК-уведомление) о факте принятия заявки. | + | 3. СП.АРМ получает сообщение-заявку. Посылает обратный ответ (АСК-уведомление) о факте принятия заявки. Сервис получает АСК-уведомление. В случае ошибки в сообщении помечает данное сообщение как ошибочное (поле status = 3 таблица очереди mm.sparm_queue). Если ошибки в сообщении нет, то сообщение автоматически уходит в архив (mm.sparm_archive). Запись из очереди также автоматически удаляется. |
| − | |||
| − | |||
| − | 4. После обработки анализа СП.АРМ посылает сервису сообщение с результатами анализа. | + | 4. После обработки анализа СП.АРМ посылает сервису сообщение с результатами анализа. Сервис принимает сообщение, отсылает обратное АСК-уведомление о факте приема, парсит принятое сообщение и записывает результаты в нашу базу данных, при этом в архивной таблице сохраняется текстовая информация данного сообщения. |
| − | |||
Версия 13:54, 1 февраля 2016
Содержание
Интеграция с лабораторной системой компании СП.АРМ (http://www.sparm.com/)
Примерный регламент взаимодействия прописан в Файл:Reglament sparm.doc
Настройка
Основная настройка
Производится через таблицу системных настроек (mm.adj). Все настройки, связанные с этим регламентом сопряжения объединены в таблице секцией SPARM. Они следующие (с примерами):
- Адрес сервиса СП.АРМ (здесь указан тестовый сервис, для каждого объекта(ЛПУ) он может быть свой)
"section" = "SPARM", "key" = "SPARM_IP", "value" = "94.72.41.82", "note" = "IP-адрес сервиса".
- Порт сервиса СП.АРМ (здесь указан тестовый сервис, для каждого объекта(ЛПУ) он может быть свой)
"section" = "SPARM", "key" = "SPARM_PORT", "value" = "6661", "note" = "Порт сервиса"
Настройка соответствия лабораторных тестов
Производится через стандартную настройку соответствий (Администратор - закладка "База данных" - кнопка "Соответствия") - это справочник СПАРМ.Тесты.
Тесты, предоставленные Сургутской поликлиникой № 1:
Реализация
Основное
Взаимодействие между системами (МИС3 и лабораторной системой СП.АРМ) происходит посредством отправки и приема HL7 сообщений. Из МИС3 в момент регистрации пробы формируется HL7 сообщение с заявкой и необходимой информацией об исследовании и отправляется в СП.АРМ. Там сообщение обрабатывается и посылается обратное сообщение (так называемое ACK-уведомление) о факте приема этого конкретного сообщения(заявки). Далее по результатам работы лаборатории в МИС3 из СП.АРМ отправляется HL7 сообщение с результатами анализа. По факту приема сообщения от СП.АРМ в базу данных МИС3 сохраняются необходимые данные, а также ставится отметка о том, что данное лабораторное назначение выполнено. За процесс отправки и приема сообщений отвечает сервис МИС3, который функционирует как служба. Исходники сервиса можно найти по svn/IBIS/trunk/ER3/Source/Integration/SPARM После компиляции проекта, скомпилированный экзешник необходимо проинсталлировать в системе (sparm.exe -install).
Рядом с экзешником должен находиться файл настроек Sparm.ini следующего содержания:
[Postgresql]
server=95.174.103.205
port=9432
database=mis3
Для программистов
Пошаговый алгоритм отправки сообщения:
1. Регистрация пробы - с помощью функции mm.send_notify триггер mm.labreg_sparm_queue_tr_ai посылает сообщение сервису о необходимости формирования и отправки заявки на лабораторное исследование. При этом заполняется временная таблица очереди mm.sparm_queue
2. Сервис получает сообщение из триггера. Сервис с помощью функции mm.sparm_get_hl7 формирует сообщение и отправляет сообщение в СП.АРМ. Компоненты Делфи для отправки HL7 сообщений можно найти тут svn/IBIS/trunk/FENIX/HL7SenderListener
3. СП.АРМ получает сообщение-заявку. Посылает обратный ответ (АСК-уведомление) о факте принятия заявки. Сервис получает АСК-уведомление. В случае ошибки в сообщении помечает данное сообщение как ошибочное (поле status = 3 таблица очереди mm.sparm_queue). Если ошибки в сообщении нет, то сообщение автоматически уходит в архив (mm.sparm_archive). Запись из очереди также автоматически удаляется.
4. После обработки анализа СП.АРМ посылает сервису сообщение с результатами анализа. Сервис принимает сообщение, отсылает обратное АСК-уведомление о факте приема, парсит принятое сообщение и записывает результаты в нашу базу данных, при этом в архивной таблице сохраняется текстовая информация данного сообщения.