Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 35 Следующий »


1. Общие сведения

1.1. Операции (методы) электронного сервиса

Электронный http-сервис поиска доступных слотов записи на прием по подразделениям, обеспечивает возможность идентификации пациента по фамилии и дате рождения и вывода доступных слотов по подразделениям МО по времени в ОКАС и включает в себя методы:

МетодНазначение

Код: GetPatientsInfo

Наименование: Поиск пациента по фамилии и дате рождения

Передача данных пациента из МИС

Код: GetAvailableSlotsProxy

Наименование: Поиск доступных слотов записи на прием по подразделениям МО

Передача доступных слотов для записи на прием по подразделениям МО

1.2. Сценарии использования

Сервис работает в синхронном режиме. Сервис содержит два метода. С помощью первого метода ОКАС направляет запрос в центральную базу МИС, с указанием идентификационных данных – фамилия и дата рождения пациента, в ответ на запрос МИС отправляет ФИО, дату рождения, СНИЛС, пол, серию и номер полиса найденного пациента и особую отметку, если по входным данным, в МИС было найдено несколько пациентов, тогда пакет данных отправляется по каждому пациенту. Если пациент не был найден, выдается соответствующий статус ответа.

Второй метод направляет в центральную базу МИС входные параметры с уникальным идентификатором пациента, специальности и МО. В центральной базе МИС происходит проверка заполненности обязательных параметров и поиска пациента и МО. Далее сервис обращается к периферийной базе. В периферийной базе осуществляется поиск свободных слотов для записи на прием по подразделениям. и пациента по указанным свободные слоты для записи на прием найденного пациента по указанному подразделению МО. Сервис возвращает наименование подразделения, его адрес, код ОИД медицинской организации и перечень свободных дат для записи на прием.

В случае, если работа сервиса прервана с ошибкой, то в ответ приходит код ошибки с описанием.

1.3. Схема взаимодействия

В рамках взаимодействия ОКАС отправляет МИС строку - запрос и получает сообщение-ответ. Взаимодействие реализовано в синхронном режиме.

1.4. Связи с другими электронными сервисами

Данный сервис не имеет связей с другими сервисами.


2. Руководство пользователя

2.1. Метод "Поиск пациента по фамилии и дате рождения"

2.1.1. Общие сведения

Метод:GetPatientsInfo
Наименование:Поиск пациента по фамилии и дате рождения
Назначение:Передача данных пациента из МИС

Метод возвращает данные пациента из МИС, должен выполняться в ЦБ.


2.1.2. Описание входных параметров

Входные данные: «GetPatientsInfo»

Код параметра

Описание параметра

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

Тип данных

1

LastName

Фамилия пациента

+

строка

2

BOD

Дата рождения пациента

+

строка

Если длина фамилии в параметре LastName 4 и менее символов, то поиск производится по точному соответствию. Если более 3, то по условию "подобно &Фамилия%";


Пользователь, для запуска сервиса

Пользователь: OKAS_HTTP_User


2.1.3. Описание выходных данных

Выходные данные: «CreateRequestResponse»

Описание параметра

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

Тип данных

Комментарий

1

Статус ответа сервиса

+

строка

1 – есть данные;

2 – нет данных;

3 – ошибка.

2

Описание ошибки

+

строка


3

СтраховойНомерПФР

 

строка


4

Фамилия

 

строка


5

Имя

 

строка


6

Отчество

 

строка


7

ДатаРождения

 

дата


8

Пол

 

строка

1 – мужской;

2 – женский.

9

СерияПолиса

 

строка


10

НомерПолиса

 

строка


11

ОсобыеОтметки

 

строка

1 – есть полный теска;

0 – нет тески.


2.1.4. Контрольные примеры

Запрос на поиск пациента

http://1c-mr-cl01/central_database_test/hs/OKASDataExchange/GetPatientsInfo?LastName=Цыпк&BOD=1931-07-01


Ответ в случае успешной идентификации пациента

[
    {
        "СтраховойНомерПФР": "123-456-789 10",
        "Фамилия": "Цыпкина",
        "Имя": "ИмяПациента",
        "Отчество": "ОтчествоПациента",
        "ДатаРождения": "YYYY-MM-DDT00:00:00",
        "Пол": 2,
        "СерияПолиса": "",
        "НомерПолиса": "",
        "ОсобыеОтметки": 0
    }
]


Запрос на поиск пациента

http://1c-mr-cl01/central_database_test/hs/OKASDataExchange/GetPatientsInfo?LastName=Васи&BOD=1967-01-20


Ответ в случае, если найдено несколько пациентов в системе

[
    {
        "СтраховойНомерПФР": "122-534-997 02",
        "Фамилия": "Васильева",
        "Имя": "ИмяПациента",
        "Отчество": "ОтчествоПациента",
        "ДатаРождения": "YYYY-MM-DDT00:00:00",
        "Пол": 2,
        "СерияПолиса": "",
        "НомерПолиса": "",
        "ОсобыеОтметки": 1
    },
    {
        "СтраховойНомерПФР": "133-534-997 02",
        "Фамилия": "Васильева",
        "Имя": "ИмяПациента",
        "Отчество": "ОтчествоПациента",
        "ДатаРождения": "YYYY-MM-DDT00:00:00",
        "Пол": 2,
        "СерияПолиса": "",
        "НомерПолиса": "",
        "ОсобыеОтметки": 1
    },
    {
        "СтраховойНомерПФР": "144-815-658 70",
        "Фамилия": "Васильева",
        "Имя": "ИмяПациента",
        "Отчество": "ОтчествоПациента",
        "ДатаРождения": "YYYY-MM-DDT00:00:00",
        "Пол": 2,
        "СерияПолиса": "",
        "НомерПолиса": "",
        "ОсобыеОтметки": 0
    }
]


Запрос при указании некорректных параметров

http://1c-mr-cl01/central_database_test/hs/OKASDataExchange/GetPatientsInfo?LastName=Васи&BOD=1967-01-20


Ответ в случае, незаполненных обязательных параметров

" Не заполнен параметр 'Дата рождения (BOD)'; "

2.2. Метод "Поиск доступных слотов записи на прием по подразделениям МО"

2.2.1. Общие сведения

Метод:GetAvailableSlotsProxy
Наименование:Поиск доступных слотов записи на прием по подразделениям МО
Назначение:Передача доступных слотов для записи на прием по подразделениям МО


Принцип работы.:

Запрос поступает в центральную базу по сервису GetAvailableSlotsProxy, где выполняется следующее:

  • проверка на заполненность входных параметров
  • поиск пациента по УИД записи справочника "Картотека"
  • определяется направившая организация по ОДИ Направившей организации и производится поиск адреса публикации нужной базы.
  • далее, выполняется запрос к хттп-сервису периферийной МИС(GetAvailableSlots)

В периферийной МИС:

  • проверяется тот ли ОИД организации в данной базе;
  • производится поиск пациента по РМИС (передается из ЦБ, вместо УИД справочника картотека);
  • выполняется запрос из функции тмб_СервисЗаписьНаПрием.ПолучитьДоступныеЛПУРабочиеМестаСпециальности(СтруктураПараметров);
  • из полученного результата формируется список уникальных подразделений и дополняется данными в соответствии с требованиями задачи;
  • поле "код ОИД" подразделения заполняется из найденного подразделения, а если оно пусто, то происходит заполнение из вышестоящего по иерархии подразделения и т.д. (ФедеральныеВебСервисыЗаписьНаПрием.ПолучитьДанныеПодразделения)


2.2.2. Описание входных параметров
Входные данные: «GetAvailableSlotsProxy»

Код параметра

Описание параметра

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

Тип данных

Комментарий

1

PatientID

Идентификатор пациента

+

строка

УИД записи справочника "Картотека" в центральной БД

2

PositionID

ОИД специальности

+

строка

реквизит "ФедеральныйКод" справочника "Должности организаций"

3

OrganizationID

ОИД МО

+

строка

реквизит "КодOIDМедицинскойОрганизации" справочника "Организации"


2.2.3. Описание выходных данных
Выходные данные: «GetResultStatusResponse»

Описание параметра

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

Тип данных

Комментарий

1

Статус ответа сервиса

+

строка

1 – есть данные;

2 – нет данных;

3 – ошибка.

2

Описание ошибки

+

строка

Перечень ошибок:

Не заполнен параметр 'Идентификатор пациента (PatientID);

Не заполнен параметр 'OID должности (PositionID);

Не заполнен параметр 'OID организации (OrganizationID);

Не найдена организация с OID организации;

Не найден пациент с идентификатором;

Для организации не заполнен адрес адаптера;

Не найдены доступные специализации (в случае не найденных доступных слото).

3

НазваниеПодразделения

 

строка


4

АдресПодразделения

 

строка


5

КодОИД

 

строка


6

ВозможныеДатыЗаписи

 

таблица

Тип данных внутри таблицы – дата и время


2.2.4. Контрольные примеры

Запрос получения свободных слотов для записи на прием

http://1cmr.tyumbit.ru:34895/central_database_test_OKAS/hs/OKASDataExchange/GetAvailableSlotsProxy?PatientID=dc15d051-fdc7-11e7-93fd-005056ac4484&PositionID=45&OrganizationID=1.2.643.5.1.13.13.12.2.72.10795


Ответ в случае успешного поиска доступных слотов

[
{ "НазваниеПодразделения": "Педиатр.отд№1 Моск.Тр35а",
"АдресПодразделения": "625030, Тюменская обл, Тюмень г, Московский тракт ул, дом № 35А",
"КодОИД": "1.2.643.5.1.13.13.12.2.72.7317.0.76094",
"ВозможныеДатыЗаписи": [
"2021-01-13T00:00:00",
"2021-01-14T00:00:00",
"2021-01-15T00:00:00"
] },
{ "НазваниеПодразделения": "Педиатр.отд№2 Федюнин.5а",
"АдресПодразделения": "Тюменская обл, Тюмень г, Федюнинского ул, дом № 5А",
"КодОИД": "1.2.643.5.1.13.13.12.2.72.7317.0.76099",
"ВозможныеДатыЗаписи": [
"2021-01-15T00:00:00"
]} ]


В случае ошибки возвращается результат с кодом 400 и описанием ошибки

" Не заполнен параметр 'OID организации (OrganizationID)'; "

Возможные ошибки

Не заполнен параметр 'Идентификатор пациента (PatientID)
Не заполнен параметр 'OID должности (PositionID)
Не заполнен параметр 'OID организации (OrganizationID)
Не найдена организация с OID организации %1
Не найден пациент с идентификатором
Для организации %1 не заполнен адрес адаптера

Если доступные слоты по переданным параметрам не найдены, возникает ошибка:

"Не найдены доступные специализации"
  • Нет меток