СПАРМ — различия между версиями

Материал из ИбисоПедии
Перейти к: навигация, поиск
(Основное)
(Для программистов)
Строка 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
  При этом заполняется временная таблица очереди mm.sparm_queue
 
  
2. Сервис получает сообщение из триггера. Сервис с помощью функции mm.sparm_get_hl7 формирует сообщение и отправляет сообщение в СП.АРМ.
+
2. Сервис получает сообщение из триггера. Сервис с помощью функции mm.sparm_get_hl7 формирует сообщение и отправляет сообщение в СП.АРМ. Компоненты Делфи для отправки HL7 сообщений можно найти тут svn/IBIS/trunk/FENIX/HL7SenderListener
  Компоненты Делфи для отправки HL7 сообщений можно найти тут svn/IBIS/trunk/FENIX/HL7SenderListener
 
  
3. СП.АРМ получает сообщение-заявку. Посылает обратный ответ (АСК-уведомление) о факте принятия заявки.
+
3. СП.АРМ получает сообщение-заявку. Посылает обратный ответ (АСК-уведомление) о факте принятия заявки. Сервис получает АСК-уведомление. В случае ошибки в сообщении помечает данное сообщение как ошибочное (поле status = 3 таблица очереди mm.sparm_queue). Если ошибки в сообщении нет, то сообщение автоматически уходит в архив (mm.sparm_archive). Запись из очереди также автоматически удаляется.
  Сервис получает АСК-уведомление. В случае ошибки в сообщении помечает данное сообщение как ошибочное (поле 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:

Файл:SG1 KDL.doc

Файл:SG1 BAK.doc

Реализация

Основное

Взаимодействие между системами (МИС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. После обработки анализа СП.АРМ посылает сервису сообщение с результатами анализа. Сервис принимает сообщение, отсылает обратное АСК-уведомление о факте приема, парсит принятое сообщение и записывает результаты в нашу базу данных, при этом в архивной таблице сохраняется текстовая информация данного сообщения.