Оглавление maxLevel 4 minLevel 3 style none
maxLevel | 4 |
---|---|
minLevel | 3 |
style | none |
...
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. Контрольные примеры
...
Блок кода |
---|
[ { "СтраховойНомерПФР": "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. Контрольные примеры
...
Блок кода |
---|
[ { "НазваниеПодразделения": "Педиатр.отд№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 не заполнен адрес адаптера |
Если доступные слоты по переданным параметрам не найдены, возникает ошибка:
Блок кода |
---|
"Не найдены доступные специализации" |