|
|
|
|
|
|
взаимодействие с реестром
нормативно-справочной информации
в сфере здравоохранения
МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ
|
|
Листов
|
|
|
|
содержание
ОБЩИЕ ПОЛОЖЕНИЯ 3
1.Область применения документа 3
2.Краткие сведения о Реестре НСИ 3
Порядок информационного взаимодействия с реестром НСИ 4
3.ПРЕДОСТАВЛЕНИЕ ИНФОРМАЦИИ ДЛЯ РУЧНОГО ОБНОВЛЕНИЯ 4
Добавление нового справочника 4
Обновление существующего справочника 5
4.ПРЕДОСТАВЛЕНИЕ ИНФОРМАЦИИ ЧЕРЕЗ ВЕБ-СЕРВИС 5
Содержание архива 6
Структура веб-сервиса 6
Методы работы с сервисом 6
Структура выходного массива при динамической типизации 8
Описание ошибок 9
Структура упорядоченного xml-файла (XSL-преобразования) 10
ПОРЯДОК ДЕЙСТВИЙ ПРИ АВАРИЙНЫХ СИТУАЦИЯХ 13
5.Порядок обращения в службу технической поддержки 13
6.Создание снимков экрана – «скриншотов» 13
ОБЩИЕ ПОЛОЖЕНИЯ
1.Область применения документа
Методические материалы предназначены для ИТ-специалистов, осуществляющих разработку подсистем Единой государственной информационной системы в сфере здравоохранения (далее – подсистемы ЕГИСЗ) и их интеграцию с Реестром НСИ с целью получения и публикации нормативно-справочной информации (далее – НСИ).
2.Краткие сведения о Реестре НСИ
Сервис ИПС предназначен для обеспечения следующих процессов:
обеспечение учета, систематизации и управления нормативно-справочной информацией, применяемой в сфере здравоохранения;
организация упорядоченного хранения и предоставления единой точки доступа к НСИ организациям сферы здравоохранения и внешним организациям;
мониторинг и управление НСИ;
обеспечение возможности использования данных НСИ, при формировании форм учетно-отчетной документации;
прием, учет и хранение данных НСИ от организаций, ответственных за ведение НСИ;
обеспечение поддержки версионности обрабатываемой НСИ;
централизованное хранение НСИ;
обеспечение информационной безопасности.
Порядок информационного взаимодействия с реестром НСИ
Реестр НСИ предлагает две формы предоставления информации: в виде информации для ручного обновления, с описанием и данными справочника; либо в виде веб-сервиса, работающего по протоколу SOAP (Simple Object Access Protocol).
3.ПРЕДОСТАВЛЕНИЕ ИНФОРМАЦИИ ДЛЯ РУЧНОГО ОБНОВЛЕНИЯ
Информацию для ручного обновления необходимо предоставлять в виде архива.
Добавление нового справочника
Для добавления нового справочника архив должен содержать информацию о справочнике, его структуре и набор данных. В архиве должен находится документ Word, хранящий следующую форму:
Название справочника: Полное и краткое названия
Описание справочника: Краткое описание содержащейся в справочнике информации
Код справочника: Если имеется, кодовое обозначение справочника
Группа справочника: Главная категория справочника
Ответственная организация: Название организации, ведущей справочник
Уровень доступности справочника: Общедоступный/доступный после проверки
Периодичность обновления справочника: интервал регулярных обновлений справочника для информирования пользователей; «никогда», если справочник не обновляется
В документе также требуется в виде таблицы указать названия полей справочника и тип, хранящихся в них данных, например:
Название поля
|
Код поля
|
Тип данных поля
|
Примечание
|
Идентификатор записи
|
ID
|
Числовое
|
…
|
Название записи
|
NAME
|
Текстовое (24 симв.)
|
…
|
…
|
…
|
…
|
…
|
|
|
|
|
Помимо файла с описанием справочника в архиве необходимо приложить документ Excel, содержащий данные справочника. Данные должны соответствовать структуре, описанной в таблице выше. Первой строкой необходимо перечислить коды полей. Каждая строка с данными справочника должна занимать одну строку в таблице Excel. У каждой строки данных должно быть хотя бы одно поле, уникально идентифицирующее её.
Следует помнить, что на одном листе в таблице Excel могут быть размещены только 65 535 строк; если в справочнике больше данных, их следует разбить по нескольким листам.
Пример таблицы:
ID
|
NAME
|
…
|
|
1
|
Первая запись
|
…
|
|
2
|
Запись номер 2
|
…
|
|
…
|
…
|
…
|
|
|
|
|
|
Обновление существующего справочника
Для обновления существующего справочника архив должен содержать информацию об обновляемом справочнике, позволяющую однозначного идентифицировать его в Реестре НСИ, а также набор изменённых данных. В архиве должен находится документ Word, хранящий следующую форму:
Название справочника: Полное или краткое название
Код справочника: Кодовое обозначение справочника в Реестре НСИ
Группа справочника: Категория справочника
Если в информации о справочнике изменились какие-либо поля, их следует указать отдельно в соответствии с формой в пункте . Также следует помнить, что структура справочника изменяться не может.
Помимо файла с описанием справочника в архиве необходимо приложить документ Excel, содержащий набор изменённых данных справочника. Вид таблицы аналогичен таблице из пункта , за исключением дополнительного столбца OPER, содержащего литеру операции, совершённой над данными (i – добавление, d – удаление, u – изменение).
Пример таблицы:
ID
|
NAME
|
…
|
|
OPER
|
1
|
Запись номер 1
|
…
|
|
u
|
2
|
Запись номер 2
|
…
|
|
d
|
3
|
Запись номер 3
|
…
|
|
i
|
…
|
…
|
…
|
|
|
|
|
|
|
|
4.ПРЕДОСТАВЛЕНИЕ ИНФОРМАЦИИ ЧЕРЕЗ ВЕБ-СЕРВИС
Первоначальную информацию необходимо предоставить в виде архива. Вся дальнейшая работа будет организована в автоматическом и полуавтоматическом режимах за счёт возможностей предоставляемого веб-сервиса.
Содержание архива
В архиве должен находиться документ Word, содержащий информацию, описанную в пункте . Помимо этой информации следует также указать адрес веб-сервиса:
Адрес веб-сервиса: адрес веб-сервиса в сети Интернет
Структура веб-сервиса
Предоставляемый веб-сервис должен работать по протоколу SOAP и иметь функции для получения информации о наличии новой версии, получения структуры справочника, получения полной версии справочника и получения набора изменений с указанной версии.
При выгрузке полной версии справочника набор данных должен быть подобен примеру таблицы Excel из пункта ; при выгрузке набора изменений — из пункта .
Доступно две точки входа:
Динамическая типизация (http://nsi.rosminzdrav.ru/wsdl/server.wsdl)
Возвращает многомерный массив (см. п. ), подходящий для разбора на языках программирования, не имеющих строгой типизации. Допускает использование XSL-преобразований (см. п. ).
Строгая типизация (http://nsi.rosminzdrav.ru/wsdl/service.v2.wsdl)
Возвращает объект типа Map, имитирующий работу ассоциативного массива (имеет строковый ключ, строковое значение и детей типа Map). Подходит для разбора на ЯП со строгой типизацией.
Набор методов и их параметров независим от точки входа.
Методы работы с сервисом
getRefbookList ( userKey )
Возвращает список справочников, на которые подписан пользователь. В случае отсутствия информации о подписках возвращается ошибка.
Входные данные
userKey – уникальный идентификатор пользователя;
Выходные данные
Многомерный массив/ объект Map.
getVersionList ( userKey, refbookCode )
Возвращает список версий выбранного справочника. В случае отсутствия информации о подписке возвращается ошибка.
Входные данные
userKey – уникальный идентификатор пользователя;
refbookCode – кодовое наименование справочника;
Выходные данные
Многомерный массив/ объект Map.
getRefbook ( userKey, refbookCode, version )
Возвращает выбранную версию справочника. В случае отсутствия версии или отсутствия информации о подписке возвращается ошибка.
Входные данные
userKey – уникальный идентификатор пользователя;
refbookCode – кодовое наименование справочника;
version – номер версии справочника;
Выходные данные
Многомерный массив/ объект Map.
getRefbookParts ( userKey, refbookCode, version )
Возвращает число частей выбранной версии справочника. Одна часть содержит 500 записей. В случае отсутствия версии или отсутствия информации о подписке возвращается ошибка.
Входные данные
userKey – уникальный идентификатор пользователя;
refbookCode – кодовое наименование справочника;
version – номер версии справочника;
Выходные данные
Многомерный массив/ объект Map.
getRefbookPartial ( userKey, refbookCode, version, partNumber )
Возвращает указанную часть выбранной версии справочника. В случае некорректного указания части, отсутствия версии или отсутствия информации о подписке возвращается ошибка.
Входные данные
userKey – уникальный идентификатор пользователя;
refbookCode – кодовое наименование справочника;
version – номер версии справочника;
partNumber – порядковый номер части справочника, начиная с 1;
Выходные данные
Многомерный массив/ объект Map.
getRefbookUpdate ( userKey, refbookCode, userVersion, newVersion )
Возвращает изменения между двумя версиями справочника. Если опустить конечную версию, будет использована последняя версия. Если опустить начальную версию, будет использована информация о версии пользователя, сохранённая на сервере. В случае отсутствия изменений или отсутствия информации о подписке возвращается ошибка.
Входные данные
userKey – уникальный идентификатор пользователя;
refbookCode – кодовое наименование справочника;
userVersion – начальный номер версии справочника, номер версии пользователя;
newVersion – конечный номер версии справочника, последняя версия;
Выходные данные
Многомерный массив/ объект Map.
Структура выходного массива при динамической типизации
Выходными данными является массив. В формате XML он выглядит как набор элементов типа item с неограниченными уровнями вложенности. Один элемент :Элемент: выглядит так:
ключ
значение
Если у элемента есть дочерние записи, они помещаются внутрь тега value:
ключ
значение
<:Подэлемент1:>
<:Подэлемент2:>
...
Описание ошибок
Если у корневого элемента значение тега key равно "errors", в теге value будут содержаться код и текст ошибки.
Код ошибки выглядит как ##x####, где # — цифра. Первая часть кода отвечает за номер группы ошибок, вторая — за номер ошибки в группе.
В данный момент существуют 4 группы ошибок:
01 Общая ошибка
0001 - Неизвестная ошибка
0002 - Указаны не все переменные
02 Ошибка БД
0001 - Невозможно подключиться к серверу
0002 - Запрос не вернул данных
03 Ошибка справочника
0001 - Справочник не найден
0002 - Справочник не изменялся
04 Ошибка пользователя
0001 - Авторизоваться не удалось
0002 - Отсутствуют подписки
Все остальные корневые элементы — ожидаемый ответ.
Ключём элемента является порядковый номер строки ответа, значения варьируются:
getRefbookList
S_CODE строка
S_NAME строка
S_DESCRIPTION строка
getVersionList
S_VERSION строка формата #.#[.#], где # - число
V_DATE дата формата dd.mm.yyyy
getRefbook
поля справочника, описаны в инструкции, получаемой при подписке
getRefbookParts
partsAmount число
getRefbookPartial
поля справочника, описаны в инструкции, получаемой при подписке
getRefbookUpdate
поля справочника, описаны в инструкции, получаемой при подписке
OPER литера операции (i - insert, u - update, d - delete)
Структура упорядоченного xml-файла (XSL-преобразования)
Существует два варианта структуры xml-файла, получаемого из Реестра НСИ. Для файлов, получаемых в архиве, а также для всех методов сервиса, кроме метода getRefbookList, используется одна общая структура (листинг 1). Отдельные элементы структуры могут присутствовать или отсутствовать в зависимости от вызываемого запроса. Блок с ошибками может присутствовать в любом запросе.
Листинг 1
Текст ошибки
...
Название справочника
Количество частей справочника
...
Записи -->
value1
value2
...
...
При выгрузке списка справочников методом getRefbookList структура несколько отличается (листинг 2).
Листинг 2
Текст ошибки
...
Код справочника
Название справочника
Описание справочника
...
ПОРЯДОК ДЕЙСТВИЙ ПРИ АВАРИЙНЫХ СИТУАЦИЯХ
5.Порядок обращения в службу технической поддержки
В случае возникновения аварийных ситуаций, связанных с ЕСИАиА, вы можете обратиться в службу технической поддержки пользователей.
При обращении в службу технической поддержки пользователей сообщите сотруднику службы следующие сведения:
название Системы, по поводу которой вы обращаетесь;
ФИО;
субъект Российской Федерации;
организация;
контактный телефон;
адрес электронной почты (если есть);
ваш вопрос/предложение/замечание/сообщение об ошибке.
6.Создание снимков экрана – «скриншотов»
При обращении в службу технической поддержки пользователей может возникнуть необходимость в снимке экрана с отображением Системы. Для этого выполните следующие действия:
сделайте копию экрана с ошибкой, нажав клавишу «PrintScreen» на клавиатуре;
создайте документ Microsoft Word;
добавьте при помощи контекстного меню изображение с ошибкой в документ;
под изображением напишите комментарий, описывающий действия, в результате которых возникла ошибка;
сохраните и отправьте на электронную почту технической поддержке созданный документ.
|