Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.


Оглавление

Исходники лежат в репозитории 2dr-laboratory-api в папке BARS (ссылка)

Информация

На момент создания страницы все актуальные изменения находятся в ветке release-2.1

Решение состоит из шести проектов:

Image Removed

ScriptGeneratorFhir

Небольшое приложение для генерации скриптов наполнения справочников из АПИ БАРС ЛИС (в настоящее время не актуален т.к. АПИ отключено)

Softrust.WebApi.LabsIntegration

Сервис, с контроллерами для взаимодействия МИС и БАРС ЛИС (не использовался). В данном сервисе использовался только запрос из TestController для получения FHIR пакета, который ушел в ЛИС

Softrust.WebApi.LabsIntegration.Library

Библиотека классов для расшаривания между проектами

Softrust.WebApi.LabsIntegration.Receiver

Фоновая служба для получения результатов. Выполняет периодический опрос наших баз данных: выполняет поиск отправленных направлений без результатов и запрашивает эти результаты в сервисе БАРС ЛИС. 

Основная логика находится в классе ResultReceiveBS:

Image Removed

Softrust.WebApi.LabsIntegration.Sender

Фоновая служба для отправки направлений в БАРС ЛИС. Выполняет периодический опрос наших баз данных: выполняет поиск новых неотправленных направлений и выполняет запрос отправки в БАРС ЛИС. 

Основная логика находится в классе DirectionSendBS:

Описание процесса синхронизации лаборатории

Получение справочника лабораторий от ЛИС

МИС получает от ЛИС справочник лабораторий путём выполнения GET запроса в сервис ЛИС

Запрос

Адрес запроса

GET: {{url}}/Laboratory

где url - Хост + путь 

Заголовки запроса

Заголовок

Значение

AuthorizationApiKey - ключ авторизации

Ответ сервера

В случае успешного выполнения сервер вернет ответ в формате JSON со следующими данными:


№ п/пНаименованиеТип данныхОписаниеОбязательное полеКомментарий
1

Guid

СтрокаУникальный идентификатор лаборатории в системе+
2

Name

СтрокаНаименование лаборатории-
3

Department

ОбъектОтделение к которому относится лаборатория+

3.1

OID

СтрокаОИД отделения по ФРМО+OID должен состоять из 13 сегментов, первый сегмент OID должен быть в диапазоне от 0 до 2.Следующие сегменты могут быть равны 0 или быть числами, начиная с 1
3.2

Code

СтрокаКод отделения +
3.3

Name

СтрокаНаименование отделения+


Блок кода
languageactionscript3
firstline1
titleПример в формате JSON
collapsetrue
[
  {
    "Guid": "1a23b456-789c-1d23-4e56-789f01234567",
    "Name": "Лаборатория 1",
    "Department":
     {
    	"guid": "0fe618ed-f577-45bc-a8b4-9b7d8141d75c",
    	"code": "1",
    	"name": "Клиническая лаборатория",
    	"oid": "1.2.643.5.1.13.13.12.2.31.11500.0.294005"
	 }
  },
  {
    "Guid": "2a34b567-890d-2e34-5f67-890g12345678",
    "Name": "Лаборатория 2",
    "Department":
     {
    	"guid": "0fe618ed-f577-45bc-a8b4-9b7d8141d75c",
    	"code": "1",
    	"name": "Клиническая лаборатория",
    	"oid": "1.2.649.5.1.13.13.12.2.31.11039.0.29"
	 }
  },
  ..........
]

Получение справочника услуг

После получения справочника лабораторий МИС получает от ЛИС справочник услуг по лабораториям путем выполнения GET запроса в сервису ЛИС

Запрос

Адрес запроса

GET: {{url}}/HealthCareService

где url - Хост + путь 

Заголовки запроса

Заголовок

Значение

AuthorizationApiKey - ключ авторизации

Параметры запроса

Параметр

Тип

Описание

По умолчанию

Обязательный

Комментарий

laboratoryGuidqueryИдентификатор ЛПУ
-

Если указан, то будут возвращены лаборатории по конкретной ЛПУ.

Ответ сервера

В случае успешного выполнения сервер вернет ответ в формате JSON со следующими данными:

Описание полей

№ п/п

Наименование

Тип данных

Описание

Обязательное поле

Комментарий

1CodeСтрокаКод услуги+согласно регионального справочника
2DescriptionСтрокаНаименование услуги

+



Блок кода
languageactionscript3
themeConfluence
titleПример в формате JSON
collapsetrue
 [
  {
    "Code": "Код услуги 1",
    "Description": "Описание услуги 1"
  },
  {
    "Code": "Код услуги 2",
    "Description": "Описание услуги 2"
  },
  {
    "Code": "Код услуги 3",
    "Description": "Описание услуги 3"
  },
  ........
]

Получение отделений, лабораторий и оказываемых лабораториями услуг в МИС

Получение отделений методом Получение списка отделений - API Docs - Confluence (softrust.ru)

Получение лаборатории методом Получение справочника лабораторий - API Docs - Confluence (softrust.ru)

Получение услуг методом Получение справочника медицинских услуг - API Docs - Confluence (softrust.ru)

Данные методы можно использовать в ЛИС для получения справочников МИС и предупреждения создания дублей. 

Информация
titleВажно

Для избежания дублей лабораторий при одновременной работе нескольких служб синхронизаций,  ЛПУ необходимо закрывать лаборатории в конкурирующей(старой) системе при переходе на новую

...