Оглавление |
---|
Исходники лежат в репозитории 2dr-laboratory-api в папке BARS (ссылка)
Информация |
---|
На момент создания страницы все актуальные изменения находятся в ветке release-2.1 |
Решение состоит из шести проектов:
ScriptGeneratorFhir
Небольшое приложение для генерации скриптов наполнения справочников из АПИ БАРС ЛИС (в настоящее время не актуален т.к. АПИ отключено)
Softrust.WebApi.LabsIntegration
Сервис, с контроллерами для взаимодействия МИС и БАРС ЛИС (не использовался). В данном сервисе использовался только запрос из TestController для получения FHIR пакета, который ушел в ЛИС
Softrust.WebApi.LabsIntegration.Library
Библиотека классов для расшаривания между проектами
Softrust.WebApi.LabsIntegration.Receiver
Фоновая служба для получения результатов. Выполняет периодический опрос наших баз данных: выполняет поиск отправленных направлений без результатов и запрашивает эти результаты в сервисе БАРС ЛИС.
Основная логика находится в классе ResultReceiveBS:
Softrust.WebApi.LabsIntegration.Sender
Фоновая служба для отправки направлений в БАРС ЛИС. Выполняет периодический опрос наших баз данных: выполняет поиск новых неотправленных направлений и выполняет запрос отправки в БАРС ЛИС.
Основная логика находится в классе DirectionSendBS:
Описание процесса синхронизации лаборатории
Получение справочника лабораторий от ЛИС
МИС получает от ЛИС справочник лабораторий путём выполнения GET запроса в сервис ЛИС
Запрос
Адрес запроса
GET: {{url}}/Laboratory |
где url - Хост + путь
Заголовки запроса
Заголовок | Значение |
---|---|
Authorization | ApiKey - ключ авторизации |
Ответ сервера
В случае успешного выполнения сервер вернет ответ в формате JSON со следующими данными:
№ п/п | Наименование | Тип данных | Описание | Обязательное поле | Комментарий |
---|---|---|---|---|---|
1 | Guid | Строка | Уникальный идентификатор лаборатории в системе | + | |
2 | Name | Строка | Наименование лаборатории | - | |
3 | Department | Объект | Отделение к которому относится лаборатория | + | |
3.1 | OID | Строка | ОИД отделения по ФРМО | + | OID должен состоять из 13 сегментов, первый сегмент OID должен быть в диапазоне от 0 до 2.Следующие сегменты могут быть равны 0 или быть числами, начиная с 1 |
3.2 | Code | Строка | Код отделения | + | |
3.3 | Name | Строка | Наименование отделения | + |
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
[
{
"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 - Хост + путь
Заголовки запроса
Заголовок | Значение |
---|---|
Authorization | ApiKey - ключ авторизации |
Параметры запроса
Параметр | Тип | Описание | По умолчанию | Обязательный | Комментарий |
---|---|---|---|---|---|
laboratoryGuid | query | Идентификатор ЛПУ | - | Если указан, то будут возвращены лаборатории по конкретной ЛПУ. |
Ответ сервера
В случае успешного выполнения сервер вернет ответ в формате JSON со следующими данными:
Описание полей
№ п/п | Наименование | Тип данных | Описание | Обязательное поле | Комментарий |
---|---|---|---|---|---|
1 | Code | Строка | Код услуги | + | согласно регионального справочника |
2 | Description | Строка | Наименование услуги | + |
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
[
{
"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)
Данные методы можно использовать в ЛИС для получения справочников МИС и предупреждения создания дублей.
Информация | ||
---|---|---|
| ||
Для избежания дублей лабораторий при одновременной работе нескольких служб синхронизаций, ЛПУ необходимо закрывать лаборатории в конкурирующей(старой) системе при переходе на новую |
...