Действующий
Второй ответ посылается после прикладной обработки исходного сообщения "по существу" и называется подтверждением прикладной обработки. В подтверждении прикладной обработки указывается код, по которому можно определить, обработано исходное сообщение или в обработке отказано и по какой причине. Для вопросительных транзакций в случае успешной обработки возвращается ответ на запрос, содержащий запрошенные сведения или информацию о том, что запрошенная информация отсутствует. Подтверждение прикладной обработки формирует ЦС ЕРЗ. В качестве описательных транзакций в ИС ЕРЗ выступают транзакции изменения данных о застрахованных лицах. В дальнейшем такие транзакции будем называть транзакциями изменения данных в ЕРЗ.
Вопросительные сообщения (запросы) посылаются в том случае, когда ТФОМС для выполнения той или иной функции требуется информация о застрахованном лице, которой он не располагает, но может получить из ЦС ЕРЗ.
Для формирования сообщений используется XML-кодирование с кодовой страницей Windows-1251. Каждой группе событий, информация о которых передаётся в информационных сообщениях или запрашивается в сообщениях запроса, соответствует определённая структура сообщений. Для каждой структуры сообщений используется отдельная xml-схема. От имени структуры сообщения образуются имена файлов xml-схем и имена корневых элементов соответствующих сообщений. Например, если сообщение имеет структуру ADT_A01, то корневой элемент этого сообщения имеет имя , а сама структура описывается xml-схемой, хранящейся в файле ADT_A01.xsd.
Сегменты сообщений составляются из полей, в которых передаются конкретные элементы информации. Каждое поле имеет логическое имя, в котором кратко обозначено общее назначение поля. Имена полей используются только при описании сегментов сообщений. При формировании и интерпретации сообщений поля определяются по их порядковому номеру в сегменте. В связи с этим при XML-кодировании для передачи значения поля в состав элемента, соответствующего сегменту, включается элемент, имя которого составляется из имени сегмента и порядкового номера поля, разделённых точкой.
Сегмент с именем BHS ("Заголовок пакета сообщений"), в который вложено поле N 11 ("Идентификатор пакета"). Значение поля - GUID 1903ED97-F5C4-41C5-8035-C6606A9BD7C2.
Значениями полей могут быть данные определённых типов. Типы данных бывают простыми и составными (комплексными). Значение простого типа данных состоит из атомарного значения, на которое могут быть наложены ограничения. Значения комплексных типов данных состоят из компонентов, которые, так же, как и поля сегментов, имеют имена, использующиеся при описании типов данных. При XML-кодировании значение каждого компонента комплексного типа указывается в xml-элементе, имя которого составляется из имени типа данных и порядкового номера компонента, разделённых точкой.
Поле сегмента BHS с порядковым номером 6 ("Учреждение-получатель пакета") заполнено значением, имеющим тип данных HD ("Иерархический идентификатор"), который, в свою очередь, имеет три компонента.
Компоненты комплексных типов данных также могут иметь комплексный тип. По отношению к значению поля компоненты таких вложенных типов данных называются субкомпонентами.
Поле сегмента PID ("Идентификация застрахованного лица") с порядковым номером 5 ("Фамилия, имя, отчество застрахованного лица") имеет комплексный тип данных XPN ("Фамилия, имя, отчество"), в котором заполнены четыре компонента: 1 -й ("Фамилия"), 2-й ("Имя"), 3-й ("Отчество") и 7-й ("Тип ФИО"; в данном случае указан тип L (Legal) - "ФИО, официально признанные в настоящий момент"). 1-й компонент типа данных XPN имеет комплексный тип FN ("Фамилия"), из которого используется только первый компонент (первый субкомпонент первого компонента поля PID.5).
Имя сегмента или группа сегментов, взятые в фигурные скобки { }, означают возможность повторения сегмента или группы сегментов.
Имя сегмента или группа сегментов, взятые в квадратные скобки [ ], означают необязательность сегмента или группы сегментов.
Обязательные для заполнения поля сегментов помечены значением Да в столбце "Обяз. поле". Имена таких полей выделены жирным шрифтом.
Некоторые поля являются обязательными при определённых условиях. Такие поля также выделены жирным шрифтом и дополнительно помечены в столбце "Обяз. поле." значением Усл (т.е. условно-обязательное). Условие, при котором заполнение данного поля является обязательным, указывается в столбце "Указания по заполнению".
Компоненты и субкомпоненты, обязательные для заполнения, помечены значением Да в столбцах "Обяз. кмп" ("Обяз. субкомп.") и выделены жирным шрифтом. Обязательность компонента для необязательного поля означает, что если поле включено в состав сегмента, то оно должно включать в себя обязательный компонент. Аналогичное замечание верно и для обязательных субкомпонентов необязательных компонентов.
другое число, если поле может повторяться и описываемое значение должно быть в экземпляре поля с указанным порядковым номером,
Если столбца "Экз." в описании сегмента нет, то это означает, что в сегменте нет повторяющихся полей.
Описание правил обработки полей и ошибок форматно-логического контроля указаны после каждой таблицы с описанием правил заполнения сегмента.
Взаимодействие прикладных систем в ИС ОМС осуществляется пакетными файлами, каждый из которых включает в себя несколько сообщений. Для пакетов также используется XML-кодирование.
В настоящем разделе описана структура пакетного файла и входящих в него сегментов заголовка и конца пакета.
Элементы | Описание |
<тип пакета> | Корневой элемент пакетного XML-файла - первая строка файла |
Заголовок пакета | |
[{ | --- Нуль или более сообщений |
... | --- Сегменты сообщения |
}] | --- Конец сообщения |
Сегмент конца пакета | |
тип пакета> | Последняя строка файла |
В каждый пакет должны включаться сообщения только одной версии протокола, которая считается версией протокола пакета. Версия протокола пакета должна быть указана в качестве значения атрибута oms:version. Если версия протокола пакета не указана, то считается, что в пакет включены сообщения версии 3.0.